/* Local Leads — thème enfant : typographie, header/footer, ossature globale.
   Les couleurs (--llt-primary / --llt-accent) sont injectées dynamiquement
   par functions.php depuis Site de Leads > Réglages. */

body {
	font-family: var(--llt-font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
	color: var(--llt-ink, #14201C);
	line-height: 1.55;
}

h1, h2, h3, h4, .site-title a {
	font-family: 'Poppins', var(--llt-font, sans-serif);
	font-weight: 700;
	letter-spacing: -0.01em;
}

a { color: var(--llt-primary, #0E6E4F); }

/* ---------- Header ----------
   Ciblage de .site-header (classe native Hello Elementor, présente
   aussi bien dans son ancienne structure que dans la structure
   "dynamic-header" plus récente) plutôt que d'une classe custom : ce
   CSS s'applique donc quelle que soit la version de Hello Elementor
   installée chez le client, sans dépendre d'un template-part précis. */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: #fff;
	border-bottom: 1px solid var(--llt-border, #E1E9E5);
}
.site-header .header-inner,
.site-header > div:first-child {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 18px 28px; padding: 16px 24px; max-width: 1160px; margin: 0 auto;
}
.site-header .site-title a,
.site-header .site-title {
	font-size: 1.3rem; text-decoration: none; color: var(--llt-ink, #14201C); font-family: 'Poppins', sans-serif; font-weight: 700;
}
.site-header .site-description { display: none; }
.site-header .site-navigation > ul,
.site-header .site-navigation-dropdown > ul {
	list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; flex-wrap: wrap;
}
.site-header .site-navigation a {
	text-decoration: none; color: var(--llt-ink, #14201C); font-weight: 600; font-size: .95rem;
}
.site-header .site-navigation a:hover { color: var(--llt-primary, #0E6E4F); }
.site-header .site-navigation-dropdown a {
	text-decoration: none; color: var(--llt-ink, #14201C); font-weight: 600; font-size: .95rem;
}
/*
 * Pas de display:none ici sur .site-navigation-dropdown /
 * .site-navigation-toggle-holder (menu mobile "hamburger") ni de
 * media query masquant .site-navigation "à la main" : c'est Hello
 * Elementor lui-même (CSS + JS compilés du thème parent, réellement
 * chargés sur un vrai site — contrairement au sandbox de dev où ces
 * fichiers compilés sont absents) qui gère déjà correctement
 * l'affichage desktop/mobile et le bouton hamburger. Un ancien
 * réglage ici masquait ces deux éléments en permanence pour
 * contourner un souci purement lié au sandbox (nav dupliquée et non
 * stylée faute de CSS compilé) — mais sur un vrai site, ça supprime
 * entièrement le menu mobile, hamburger inclus. Voir le journal de
 * bord du projet pour le détail.
 */

/* ---------- Footer ---------- */
.llt-site-footer { background: var(--llt-ink, #14201C); color: #E7ECE9; padding: 56px 0 0; margin-top: 60px; }
.llt-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; }
.llt-footer-col h4 { color: #fff; font-size: .95rem; margin: 0 0 14px; }
.llt-footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.llt-footer-col a { color: #C7D2CD; text-decoration: none; font-size: .92rem; }
.llt-footer-col a:hover { color: #fff; }
.llt-footer-brand-name { color: #fff; font-size: 1.15rem; display: block; margin-bottom: 10px; }
.llt-footer-brand p { color: #B7C4BE; font-size: .9rem; }
.llt-footer-btn { display: inline-block; margin-top: 6px; }
.llt-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 18px 0; margin-top: 10px; }
.llt-footer-bottom p { color: #8FA098; font-size: .78rem; margin: 0; }

@media (max-width: 900px) {
	.llt-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.llt-footer-grid { grid-template-columns: 1fr; }
}

/* ---------- Elementor content width harmony ---------- */
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1160px;
}
