/* ============================================================
   LA BOUSSOLE — PAGE CONTACT (LOT C · Partie 2)
   En-tête navy, blocs coordonnées compacts, formulaire sécurisé,
   section lieu réutilisée (lbs_venue_map_section).
   Chargé uniquement sur templates/page-contact.php.
   ============================================================ */

/* ------------------------------------------------------------
   1 · EN-TÊTE NAVY (système A-bis/A-ter)
   ------------------------------------------------------------ */
.lbs-contact-hero {
	padding: var(--lbs-space-4xl) 0;
	background: linear-gradient(135deg, var(--lbs-primary) 0%, var(--lbs-primary-royal) 100%);
	color: var(--lbs-white);
}
.lbs-contact-hero h1 { color: var(--lbs-white); max-width: 720px; }
.lbs-contact-hero-intro {
	color: rgba(255, 255, 255, 0.72);
	max-width: 620px; font-size: var(--lbs-fs-body-lg);
}
@media (max-width: 768px) {
	.lbs-contact-hero { padding: var(--lbs-space-2xl) 0; }
}

/* ------------------------------------------------------------
   2 · COORDONNÉES — grille de cartes compactes
   (mêmes classes que la home ; rendu identique).
   ------------------------------------------------------------ */
.lbs-maps-grid {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: var(--lbs-space-xl);
	align-items: stretch;
}
.lbs-map-card {
	display: flex; flex-direction: column; gap: var(--lbs-space-sm);
}
.lbs-map-card .lbs-map-block { flex: 1; height: 100%; }
.lbs-map-card h4 {
	font-family: var(--lbs-font-heading);
	font-size: var(--lbs-fs-body); letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--lbs-blue-accent);
	margin: 0;
}
/* LOT F · P0 + LOT G · D — section Coordonnées (SIÈGE + BUREAU) : deux cartes
   de MÊME HAUTEUR, côte à côte (grid 1fr 1fr, align stretch), iframe réduit. */
#coordonnees .lbs-maps-grid { grid-template-columns: 1fr 1fr; max-width: 1000px; margin: 0 auto; }
#coordonnees .lbs-map-card iframe { width: 100%; height: 220px; min-height: 0; }
#coordonnees .lbs-map-address {
	margin: var(--lbs-space-sm) 0 0;
	font-weight: var(--lbs-fw-medium); color: var(--lbs-primary);
	line-height: var(--lbs-lh-body);
}
#coordonnees .lbs-map-phone {
	margin: var(--lbs-space-xs) 0 0;
	font-size: var(--lbs-fs-body); font-weight: var(--lbs-fw-semibold);
	color: var(--lbs-blue-accent); letter-spacing: 0.02em;
}

/* ------------------------------------------------------------
   3 · CONTACT — panel navy + carte formulaire
   (valeurs identiques à home-premium.css §10).
   ------------------------------------------------------------ */
.lbs-contact-grid {
	display: grid; grid-template-columns: 45fr 55fr;
	gap: clamp(2rem, 4vw, 3.5rem); align-items: stretch;
}
.lbs-contact-info {
	background: linear-gradient(160deg, var(--lbs-primary) 0%, var(--lbs-primary-royal) 100%);
	border-radius: var(--lbs-radius-xl);
	padding: clamp(2rem, 4vw, 3rem);
	color: var(--lbs-white);
	display: flex; flex-direction: column;
}
.lbs-contact-info .lbs-eyebrow { color: var(--lbs-accent); }
.lbs-contact-info h2 { color: var(--lbs-white); }
.lbs-contact-info > p { color: rgba(255, 255, 255, 0.78); }
.lbs-contact-cards { display: flex; flex-direction: column; gap: var(--lbs-space-md); margin-top: auto; }
.lbs-contact-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--lbs-radius-md);
	padding: var(--lbs-space-lg);
}
.lbs-contact-card h4 {
	font-family: var(--lbs-font-heading);
	color: var(--lbs-white); font-size: var(--lbs-fs-body);
	letter-spacing: 0.12em; text-transform: uppercase;
	margin: 0 0 var(--lbs-space-sm);
}
.lbs-contact-card p { color: rgba(255, 255, 255, 0.82); margin: 0 0 var(--lbs-space-xs); }
.lbs-contact-card p:last-child { margin-bottom: 0; }

.lbs-contact-form-card {
	background: var(--lbs-white);
	border-radius: var(--lbs-radius-xl);
	box-shadow: var(--lbs-shadow-card);
	padding: clamp(1.75rem, 3vw, 2.5rem);
}
.lbs-form-title { text-align: left; }

/* ------------------------------------------------------------
   4 · RESPONSIVE
   ------------------------------------------------------------ */
@media (max-width: 1024px) {
	.lbs-contact-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
	.lbs-maps-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
}

@media (max-width: 768px) {
	.lbs-form-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	.lbs-contact-info { padding: var(--lbs-space-xl); }
	.lbs-contact-form-card { padding: var(--lbs-space-xl); }
}

/* ------------------------------------------------------------
   5 · REDUCED MOTION
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.lbs-contact-card { transition: none; }
}