/*!
 * LIBRWAY – thème enfant : mise en forme du contenu Elementor qui n'a pas de réglage natif,
 * et mode sombre automatique. Valeurs reprises de la maquette LIBRWAY Light (4 novembre 2026).
 *
 * Les couleurs utilisent les couleurs globales d'Elementor (--e-global-color-…) : les changer dans
 * Elementor > Réglages du site > Couleurs globales met tout le site à jour.
 */

/* ------------------------------------------------------------ base */
/* Astra réduit la taille de base à 93,75 % : la maquette utilise la taille du navigateur (16 px). */
html:root { font-size: 100%; }
body.lw-site { background: var(--e-global-color-lwbg, #FFFFFF); color: var(--e-global-color-text, #344B59); font: 400 1.03rem/1.55 Arial, Helvetica, sans-serif; }
body.lw-site h1, body.lw-site h2, body.lw-site h3 { text-wrap: balance; }
body.lw-site .elementor-heading-title, body.lw-site .elementor-widget-text-editor p { margin: 0; }
body.lw-site .elementor-widget-text-editor p + p { margin-top: .8em; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body.lw-site .lw-section { scroll-margin-top: 72px; }
/* Pages Elementor pleine largeur : pas de marges Astra autour du contenu. */
.lw-site.elementor-template-full-width .site-content > .ast-container,
body.lw-site .site-content > .ast-container:has(> .elementor) { max-width: 100%; padding: 0; display: block; }

/* ------------------------------------------------------------ en-tête (modèle « LIBRWAY – En-tête ») */
body.lw-site .lw-header-bar { background: color-mix(in srgb, var(--e-global-color-lwbg, #FFFFFF) 92%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body.lw-site .lw-header-bar, body.lw-site .lw-header-bar > .e-con-inner { position: relative; }
body.lw-site .lw-header-bar .elementor-widget-librway-header, body.lw-site .lw-header-bar .lw-header { position: static; }
body.lw-site .lw-header-bar .lw-mnav { left: 0; right: 0; padding-inline: clamp(16px, 4vw, 32px); }
body.lw-site .lw-header-bar .lw-mnav > * { max-width: 1016px; margin-inline: auto; }
body.lw-site .lw-header-bar > .e-con-inner { padding-block: 0; }

/* ------------------------------------------------------------ titres et chapeaux */
body.lw-site .lw-lead { max-width: 68ch !important; }
body.lw-site .lw-head { max-width: 860px !important; }
body.lw-site .lw-head--c { margin-inline: auto; text-align: center; }
body.lw-site .lw-head--c .lw-lead { margin-inline: auto; }
body.lw-site .lw-arrow .elementor-heading-title a { text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
body.lw-site .lw-arrow .elementor-heading-title a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ------------------------------------------------------------ bandes sombres et accroche */
body.lw-site .lw-hero { background: radial-gradient(1200px 600px at 85% 10%, color-mix(in srgb, var(--e-global-color-primary, #0072AE) 35%, transparent), transparent 60%), linear-gradient(180deg, var(--e-global-color-lwband, #142C3C), var(--e-global-color-lwband2, #0E2130)) !important; }
body.lw-site .lw-hero h1 em { font-style: italic; color: var(--e-global-color-accent, #9BBBE3); }
body.lw-site .lw-hero-tel a { color: var(--e-global-color-lwbandfg, #FFFFFF); font-weight: 700; text-decoration: none; white-space: nowrap; border-bottom: 1px solid rgba(255, 255, 255, .16); }
body.lw-site .lw-hero-tel a:hover { border-color: var(--e-global-color-lwbandfg, #FFFFFF); color: var(--e-global-color-lwbandfg, #FFFFFF); }
body.lw-site .lw-dcard { background: color-mix(in srgb, var(--e-global-color-lwbandfg, #FFFFFF) 7%, transparent); border: 1px solid rgba(255, 255, 255, .16); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
body.lw-site .lw-dcard .lw-px { border-top-color: rgba(255, 255, 255, .16) !important; }
body.lw-site .lw-gift { align-self: flex-start; width: auto !important; }
body.lw-site .lw-gift .elementor-icon-list-items { display: inline-flex; background: color-mix(in srgb, var(--e-global-color-accent, #9BBBE3) 22%, transparent); border-radius: 999px; padding: 7px 14px; }
body.lw-site .lw-gift .elementor-icon-list-text { font-size: .92rem; }
body.lw-site .lw-strip { margin-top: clamp(40px, 6vw, 64px); padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .16); }
body.lw-site .lw-strip .elementor-icon-list-items { row-gap: 10px; }
body.lw-site .lw-band .elementor-button:focus-visible { outline-color: var(--e-global-color-lwbandfg, #FFFFFF); }

/* ------------------------------------------------------------ listes à coches et à flèches */
body.lw-site .lw-list .elementor-icon-list-item { align-items: flex-start !important; }
body.lw-site .lw-list .elementor-icon-list-icon { padding-top: .32em; }
body.lw-site .lw-list .elementor-icon-list-text b { color: var(--e-global-color-secondary, #142C3C); }
body.lw-site .lw-list--check .elementor-icon-list-icon { width: 20px; }
body.lw-site .lw-list--arrow .elementor-icon-list-icon { width: 22px; }
body.lw-site .lw-svc .lw-list { margin: 2px 0 4px; max-width: 58ch !important; }
body.lw-site .lw-svc-p, body.lw-site .lw-key { max-width: 58ch !important; }
body.lw-site .lw-svc-p p { text-wrap: pretty; }
body.lw-site .lw-ic .elementor-icon svg { stroke: currentColor; }
body.lw-site .lw-gift .elementor-icon-list-icon svg, body.lw-site .lw-ok-list .elementor-icon-list-icon svg { stroke: currentColor; fill: none !important; }
body.lw-site .lw-gift .elementor-icon-list-icon { color: var(--e-global-color-accent, #9BBBE3); }
body.lw-site .lw-ok-list .elementor-icon-list-icon { color: var(--e-global-color-lwok, #236448); }
body.lw-site .lw-ok-list .elementor-icon-list-text b { color: var(--e-global-color-lwok, #236448); }

/* ------------------------------------------------------------ cartes, étapes, tarifs */
body.lw-site .lw-aud-vtc .elementor-heading-title { line-height: 1.3; }
body.lw-site .lw-aud-vtc-h .elementor-heading-title { font-size: clamp(1.25rem, 2vw, 1.45rem) !important; }
body.lw-site .lw-dsteps { list-style: none; margin: 0; padding: 0; }
body.lw-site .lw-big .elementor-heading-title small, body.lw-site .lw-amt .elementor-heading-title small { font: 400 .95rem Arial, Helvetica, sans-serif; color: var(--e-global-color-lwmuted, #5A6E7B); letter-spacing: 0; }
body.lw-site .lw-amt .elementor-heading-title small { font-size: .85rem; }
body.lw-site .lw-amt .elementor-heading-title { font-variant-numeric: tabular-nums; }
body.lw-site .lw-amt--s .elementor-heading-title { font-size: 1.4rem !important; }
body.lw-site .lw-pline-t .elementor-heading-title { font-size: .95rem !important; }
body.lw-site .lw-pcol .elementor-widget-button { align-self: flex-start; }
body.lw-site .lw-pcol--main { position: relative; }
body.lw-site .lw-pfine { max-width: 80ch !important; }
body.lw-site .lw-legend3 .elementor-icon-list-items { justify-content: center; row-gap: 8px; }

/* ------------------------------------------------------------ FAQ (accordéon Elementor) */
body.lw-site .lw-faq { max-width: 780px !important; width: 100%; margin-inline: auto; align-self: center; }
body.lw-site .lw-faq .e-n-accordion { display: grid; gap: 10px; }
body.lw-site .lw-faq .e-n-accordion-item { background: var(--e-global-color-lwsurface, #FFFFFF); border: 1px solid var(--e-global-color-lwline, #D7E1E7); border-radius: 12px; padding: 6px 22px; }
body.lw-site .lw-faq .e-n-accordion-item[open] { padding-bottom: 18px; }
body.lw-site .lw-faq .e-n-accordion-item-title { border: 0 !important; padding: 0 !important; min-height: 52px; background: transparent !important; justify-content: space-between !important; gap: 16px; }
body.lw-site .lw-faq .e-n-accordion-item-title-text { font: 700 1.03rem/1.4 Arial, Helvetica, sans-serif !important; color: var(--e-global-color-secondary, #142C3C) !important; }
body.lw-site .lw-faq .e-n-accordion-item-title-icon svg { fill: var(--e-global-color-primary, #0072AE) !important; width: 14px; height: 14px; }
body.lw-site .lw-faq .e-n-accordion-item > .e-con { border: 0 !important; padding: 0 !important; background: transparent !important; }
body.lw-site .lw-faq .e-n-accordion-item > .e-con p { max-width: 64ch; }
@media (max-width: 520px) { body.lw-site .lw-faq .e-n-accordion-item { padding: 4px 16px; }}

/* ------------------------------------------------------------ contact */
body.lw-site .lw-telcard { border-left: 4px solid var(--e-global-color-primary, #0072AE) !important; }
body.lw-site .lw-tel-big .elementor-heading-title a { text-decoration: none; white-space: nowrap; color: inherit; }
body.lw-site .lw-tel-big .elementor-heading-title a:hover { color: var(--e-global-color-primary, #0072AE); }
body.lw-site .lw-mails { margin: 0; display: grid; gap: 8px; font-size: .95rem; }
body.lw-site .lw-mails div { display: grid; grid-template-columns: 130px 1fr; gap: 10px; align-items: baseline; }
body.lw-site .lw-mails dt { color: var(--e-global-color-lwmuted, #5A6E7B); font-size: .85rem; font-weight: 400; margin: 0; }
body.lw-site .lw-mails dd { margin: 0; min-width: 0; }
body.lw-site .lw-mails a { color: var(--e-global-color-primary, #0072AE); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
body.lw-site .lw-mails a:hover { text-decoration: underline; }
@media (max-width: 420px) { body.lw-site .lw-mails div { grid-template-columns: 1fr; gap: 0; }}
body.lw-site .lw-coords { width: 100%; }

/* ------------------------------------------------------------ pied de page et mentions légales */
body.lw-site .lw-footer { font-size: .85rem; color: var(--e-global-color-lwmuted, #5A6E7B); }
body.lw-site .lw-legal .e-n-accordion-item { border-top: 1px solid var(--e-global-color-lwline, #D7E1E7); padding: 4px 0; background: transparent; }
body.lw-site .lw-legal .e-n-accordion-item[open] { padding-bottom: 8px; }
body.lw-site .lw-legal .e-n-accordion-item-title { border: 0 !important; padding: 0 !important; min-height: 44px; background: transparent !important; justify-content: space-between !important; }
body.lw-site .lw-legal .e-n-accordion-item-title-text { font: 700 .85rem/1.4 Arial, Helvetica, sans-serif !important; color: var(--e-global-color-secondary, #142C3C) !important; }
body.lw-site .lw-legal .e-n-accordion-item-title-icon svg { fill: var(--e-global-color-primary, #0072AE) !important; width: 12px; height: 12px; }
body.lw-site .lw-legal .e-n-accordion-item > .e-con { border: 0 !important; padding: 0 !important; background: transparent !important; }
body.lw-site .lw-legal dl { margin: 6px 0 0; display: grid; gap: 8px; }
body.lw-site .lw-legal dl div { display: grid; grid-template-columns: 220px 1fr; gap: 12px; }
body.lw-site .lw-legal dt { color: var(--e-global-color-secondary, #142C3C); font-weight: 700; }
body.lw-site .lw-legal dd { margin: 0; max-width: 80ch; }
body.lw-site .lw-legal a { color: var(--e-global-color-primary, #0072AE); font-weight: 700; }
body.lw-site .lw-policy { display: grid; gap: 8px; padding-top: 4px; }
body.lw-site .lw-policy h3 { font: 700 .95rem/1.35 Arial, Helvetica, sans-serif; color: var(--e-global-color-secondary, #142C3C); margin: 10px 0 0; }
body.lw-site .lw-policy p, body.lw-site .lw-policy li { max-width: 80ch; margin: 0; }
body.lw-site .lw-policy ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
body.lw-site .lw-policy .upd { font-style: italic; }
@media (max-width: 620px) { body.lw-site .lw-legal dl div { grid-template-columns: 1fr; gap: 2px; }}

/* ------------------------------------------------------------ mode sombre automatique (préférence du système) */
@media (prefers-color-scheme: dark) {
	body.lw-site[class*="elementor-kit-"] {
		--e-global-color-primary: #7CA4D7; --e-global-color-secondary: #F1F5F8; --e-global-color-text: #D5DFE6; --e-global-color-accent: #9BBBE3;
		--e-global-color-lwbg: #0C1822; --e-global-color-lwpaper: #0F1F2B; --e-global-color-lwsurface: #132634; --e-global-color-lwalt: #1A3142;
		--e-global-color-lwmuted: #9FB2BF; --e-global-color-lwline: #27404F; --e-global-color-lwcontrol: #6F8797; --e-global-color-lwbrandhov: #9BBBE3;
		--e-global-color-lwbrandink: #0C1822; --e-global-color-lwsoft: #7CA4D7; --e-global-color-lwband: #081219; --e-global-color-lwband2: #050C11;
		--e-global-color-lwbandfg: #F1F5F8; --e-global-color-lwbandmut: #9FB2BF; --e-global-color-lwok: #6CC59A; --e-global-color-lwokbg: #12301F;
		--e-global-color-lwtodo: #E3B45C; --e-global-color-lwerr: #F08A90; --e-global-color-lwerrbg: #3A1A1D; --e-global-color-lwinfobg: #132E44;
		color-scheme: dark;
	}
	body.lw-site { background: var(--e-global-color-lwbg); }
	body.lw-site .lw-band { --lw-band-line: rgba(255, 255, 255, .14); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Icônes des piliers : pas d'espace de ligne sous le pictogramme. */
body.lw-site .lw-ic .elementor-icon-wrapper { line-height: 0; }
