/* =========================================================
   HELI AIR EVENTS - PAGE CONTACT
   Polices :
     - Titres (H1 a H6) : "Montserrat", sans-serif (600/700/800)
     - Texte courant     : "Open Sans", sans-serif (400/600)
     - Taglines script    : "Dancing Script", cursive (700)
   Couleurs : voir variables ci-dessous (communiquees a part).
========================================================= */

.heliaircontact-page {
	--hac-navy: #0B1F3A;
	--hac-navy-deep: #081527;
	--hac-red: #C41230;
	--hac-red-dark: #9E0F27;
	--hac-bg-light: #F3F6F9;
	--hac-white: #FFFFFF;
	--hac-text: #1B2530;
	--hac-text-light: #5C6B7A;
	--hac-border: #E1E8EE;

	--hac-font-title: "Montserrat", Arial, sans-serif;
	--hac-font-body: "Open Sans", Arial, sans-serif;
	--hac-font-script: "Dancing Script", cursive;

	font-family: var(--hac-font-body);
	color: var(--hac-text);
	line-height: 1.5;
}

.heliaircontact-page * { box-sizing: border-box; }

.heliaircontact-page h1,
.heliaircontact-page h2,
.heliaircontact-page h3 {
	font-family: var(--hac-font-title);
	color: var(--hac-navy);
	line-height: 1.2;
	margin: 0 0 .5em;
}
.heliaircontact-page h1 { font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.heliaircontact-page h2 { font-size: 1.15rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; display: flex; align-items: center; gap: .6em; }
.heliaircontact-page h3 { font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; display: flex; align-items: center; gap: .6em; }
.heliaircontact-page p { margin: 0 0 1em; color: var(--hac-text-light); }

.heliaircontact-dash { display: inline-block; width: 22px; height: 3px; background: var(--hac-red); }

.heliaircontact-eyebrow {
	display: inline-block;
	font-family: var(--hac-font-title);
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--hac-white);
	margin-bottom: .8em;
}

/* --------- boutons --------- */
.heliaircontact-btn {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	font-family: var(--hac-font-title);
	font-weight: 700;
	font-size: .85rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	text-decoration: none;
	padding: .9em 1.8em;
	border-radius: 4px;
	transition: opacity .2s ease;
}
.heliaircontact-btn:hover { opacity: .85; }
.heliaircontact-btn--red { background: var(--hac-red); color: var(--hac-white); }
.heliaircontact-btn--navy { background: var(--hac-navy); color: var(--hac-white); }

/* --------- placeholders (helper partage, styles specifiques a cette page) --------- */
.heliaircontact-page .heliair-placeholder {
	border-color: var(--hac-red);
	color: var(--hac-navy);
	font-family: var(--hac-font-body);
}

/* =========================================================
   HERO + NAV
========================================================= */
.heliaircontact-hero { position: relative; min-height: 620px; background-position: center; background-size: cover; display: flex; }
.heliaircontact-hero__placeholder-inline { position: absolute; inset: 0; border-radius: 0; }
.heliaircontact-hero__overlay {
	position: relative;
	z-index: 1;
	width: 100%;
	display: flex;
	flex-direction: column;
	background: linear-gradient(180deg, rgba(8,21,39,.75) 0%, rgba(8,21,39,.35) 35%, rgba(8,21,39,.55) 100%);
}

.heliaircontact-nav { display: flex; align-items: center; gap: 2em; padding: 1.2em 3em; }
.heliaircontact-nav__logo { display: flex; align-items: center; gap: .8em; text-decoration: none; flex-shrink: 0; }
.heliaircontact-nav__logo img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.heliaircontact-nav__logo .heliair-placeholder { width: 60px; height: 60px; border-radius: 50%; font-size: .5rem; padding: .2em; }
.heliaircontact-nav__baseline { color: var(--hac-white); font-size: .78rem; line-height: 1.3; }
.heliaircontact-nav__menu { margin-left: 1em; }
.heliaircontact-nav__list { display: flex; gap: 1.6em; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.heliaircontact-nav__list a {
	font-family: var(--hac-font-title);
	font-weight: 600;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--hac-white);
	text-decoration: none;
	padding-bottom: .3em;
	border-bottom: 2px solid transparent;
}
.heliaircontact-nav__list a.is-active,
.heliaircontact-nav__list a:hover { border-bottom-color: var(--hac-red); }
.heliaircontact-nav .heliaircontact-btn { margin-left: auto; }

.heliaircontact-hero__content { padding: 2em 3em; max-width: 640px; }
.heliaircontact-hero__content h1 { color: var(--hac-white); }
.heliaircontact-hero__subtitle { color: white !important; font-size: 1rem; }
.heliaircontact-hero__list { list-style: none; margin: 0 0 1.5em; padding: 0; border-left: 2px solid var(--hac-red); }
.heliaircontact-hero__list li { color: var(--hac-white); font-family: var(--hac-font-title); font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; padding: .2em 1em; }

.heliaircontact-hero__script {
	font-family: var(--hac-font-script);
	font-weight: 700;
	color: var(--hac-white);
	font-size: 1.3rem;
	line-height: 1.3;
}
.heliaircontact-hero__script--top { position: absolute; top: 6em; right: 3em; text-align: right; max-width: 260px; z-index: 2; }
.heliaircontact-hero__caption {
	position: absolute;
	bottom: 1.5em;
	right: 2em;
	color: var(--hac-white);
	font-family: var(--hac-font-title);
	font-weight: 700;
	letter-spacing: .1em;
	font-size: .8rem;
	z-index: 2;
}

/* =========================================================
   COLONNES PRINCIPALES
========================================================= */
.heliaircontact-main {
	display: grid;
	grid-template-columns: 1fr 1.3fr 1fr;
	gap: 2em;
	padding: 3em;
	align-items: start;
}
.heliaircontact-col { background: var(--hac-bg-light); border-radius: 8px; padding: 2em; }
.heliaircontact-col--form { background: var(--hac-white); box-shadow: 0 4px 24px rgba(11,31,58,.08); }

.heliaircontact-info { display: flex; gap: 1em; margin-bottom: 1.4em; }
.heliaircontact-info .dashicons { color: var(--hac-red); font-size: 1.3rem; flex-shrink: 0; }
.heliaircontact-info strong { display: block; color: var(--hac-navy); font-family: var(--hac-font-title); font-size: .92rem; }
.heliaircontact-info p { margin: .2em 0 0; font-size: .85rem; }
.heliaircontact-info a { color: var(--hac-navy); font-weight: 600; text-decoration: none; }

.heliaircontact-social { display: flex; gap: .8em; margin: 1.5em 0 2em; }
.heliaircontact-social a {
	width: 38px; height: 38px; border-radius: 50%;
	background: var(--hac-navy); color: var(--hac-white);
	display: flex; align-items: center; justify-content: center;
	text-decoration: none;
}

.heliaircontact-person { border-top: 1px solid var(--hac-border); padding-top: 1.5em; }
.heliaircontact-person__row { display: flex; align-items: center; gap: 1em; margin: 1em 0; }
.heliaircontact-person__photo { width: 70px; height: 70px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.heliaircontact-person__photo .heliair-img,
.heliaircontact-person__photo .heliair-placeholder { border-radius: 50%; font-size: .5rem; padding: .2em; }
.heliaircontact-person__row div { display: flex; flex-direction: column; }
.heliaircontact-person__row strong { color: var(--hac-navy); font-family: var(--hac-font-title); }
.heliaircontact-person__row span { font-size: .82rem; color: var(--hac-text-light); }
.heliaircontact-script { font-family: var(--hac-font-script); font-weight: 700; color: var(--hac-navy); font-size: 1.2rem; }

/* --------- formulaire --------- */
.heliaircontact-form-placeholder {
	border: 2px dashed var(--hac-red);
	border-radius: 6px;
	padding: 3em 1em;
	text-align: center;
	color: var(--hac-text-light);
	background: var(--hac-bg-light);
}
.heliaircontact-form-placeholder code { display: inline-block; margin-top: .5em; color: var(--hac-red); }

/* Styles prets pour Forminator une fois le shortcode en place */
.heliaircontact-col--form .forminator-row { margin-bottom: 1em; }
.heliaircontact-col--form .forminator-field label { font-family: var(--hac-font-title); font-weight: 600; font-size: .82rem; color: var(--hac-navy); }
.heliaircontact-col--form .forminator-input,
.heliaircontact-col--form textarea.forminator-textarea {
	width: 100%;
	border: 1px solid var(--hac-border);
	border-radius: 4px;
	padding: .8em .9em;
	font-family: var(--hac-font-body);
	font-size: .9rem;
}
.heliaircontact-col--form .forminator-button-submit {
	background: var(--hac-red);
	color: var(--hac-white);
	font-family: var(--hac-font-title);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	border: none;
	border-radius: 4px;
	padding: .9em 1.8em;
	width: 100%;
	cursor: pointer;
}

/* --------- colonne experiences --------- */
.heliaircontact-exp__photo { position: relative; border-radius: 8px; overflow: hidden; margin-bottom: 1.5em; }
.heliaircontact-exp__photo .heliair-img,
.heliaircontact-exp__photo .heliair-placeholder { aspect-ratio: 500/600; }
.heliaircontact-exp__photo .heliaircontact-hero__script { position: absolute; bottom: 1em; left: 1em; right: 1em; }
.heliaircontact-exp__list { list-style: none; margin: 0 0 1.5em; padding: 0; display: flex; flex-direction: column; gap: 1em; }
.heliaircontact-exp__list li { display: flex; gap: 1em; align-items: flex-start; }
.heliaircontact-exp__list .dashicons,
.heliaircontact-exp__list [class*="fa-"] { color: var(--hac-red); font-size: 1.3rem; flex-shrink: 0; margin-top: .1em; }
.heliaircontact-exp__list strong { display: block; color: var(--hac-navy); font-family: var(--hac-font-title); font-size: .88rem; text-transform: uppercase; }
.heliaircontact-exp__list p { margin: .2em 0 0; font-size: .82rem; }
.heliaircontact-quote { font-family: var(--hac-font-script); font-weight: 700; color: var(--hac-navy); font-size: 1.3rem; border-top: 1px solid var(--hac-border); padding-top: 1em; }

/* =========================================================
   CARTE + BASE
========================================================= */
.heliaircontact-locate { display: grid; grid-template-columns: 1fr 1.6fr; gap: 2em; padding: 0 3em 3em; }
.heliaircontact-map__frame { aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; margin-bottom: 1em; }
.heliaircontact-map__frame iframe { width: 100%; height: 100%; }
.heliaircontact-map__frame .heliair-placeholder { height: 100%; }

.heliaircontact-base__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1em; }
.heliaircontact-base__grid figure { margin: 0; }
.heliaircontact-base__grid .heliair-img,
.heliaircontact-base__grid .heliair-placeholder { aspect-ratio: 600/450; border-radius: 8px; }
.heliaircontact-base__grid figcaption { font-size: .82rem; color: var(--hac-text-light); margin-top: .6em; }

/* =========================================================
   BANDEAU FINAL
========================================================= */
.heliaircontact-closing { position: relative; min-height: 380px; background-position: center; background-size: cover; display: flex; align-items: flex-end; }
.heliaircontact-closing__placeholder-inline { position: absolute; inset: 0; border-radius: 0; }
.heliaircontact-closing__overlay {
	position: relative;
	z-index: 1;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.5em;
	padding: 2.5em 3em;
	background: linear-gradient(0deg, rgba(8,21,39,.75) 0%, rgba(8,21,39,.15) 100%);
}
.heliaircontact-closing__words { list-style: none; margin: 0; padding: 0; border-left: 3px solid var(--hac-red); }
.heliaircontact-closing__words li { color: var(--hac-white); font-family: var(--hac-font-title); font-weight: 700; text-transform: uppercase; letter-spacing: .15em; font-size: 1.1rem; padding: .1em 1em; }

/* =========================================================
   FOOTER
========================================================= */
.heliaircontact-footer {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1em;
	padding: 1.2em 3em;
	background: var(--hac-navy-deep);
	color: rgba(255,255,255,.6);
	font-size: .78rem;
}
.heliaircontact-footer nav { display: flex; gap: 1.5em; }
.heliaircontact-footer a { color: rgba(255,255,255,.6); text-decoration: none; }

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1100px) {
	.heliaircontact-main { grid-template-columns: 1fr; }
	.heliaircontact-locate { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
	.heliaircontact-nav,
	.heliaircontact-hero__content,
	.heliaircontact-main,
	.heliaircontact-locate,
	.heliaircontact-closing__overlay,
	.heliaircontact-footer { padding-left: 1.2em; padding-right: 1.2em; }
	.heliaircontact-nav { flex-wrap: wrap; }
	.heliaircontact-nav__menu { order: 3; width: 100%; }
	.heliaircontact-base__grid { grid-template-columns: 1fr; }
	.heliaircontact-hero__script--top { position: static; margin: 1em 3em; max-width: none; }
}
