/* ==========================================================================
   LJD Core · lejustedegre.fr
   Identité : anneau bleu/orange (froid/chaud), Bricolage Grotesque + Figtree,
   encre #0E1B2C, appel à l'action orange #F76B15 avec texte encre, bleu #1F5BD8.
   ========================================================================== */

:root {
	--ljd-encre: #0E1B2C;
	--ljd-gris: #4A5566;
	--ljd-texte2: #3A4556;
	--ljd-trait: #DCE2EA;
	--ljd-trait2: #E3E8EF;
	--ljd-trait3: #EEF1F5;
	--ljd-fond: #F2F5F9;
	--ljd-bleu: #1F5BD8;
	--ljd-bleu-fonce: #16439F;
	--ljd-bleu-doux: #E8EFFC;
	--ljd-bleu-trait: #D5E1F8;
	--ljd-orange: #F76B15;
	--ljd-orange-doux: #FFF1E7;
	--ljd-orange-texte: #B34708;
	--ljd-nuit-texte: #C9D2DE;
	--ljd-nuit-gris: #9FB0C4;
	--ljd-ciel: #8FB1F2;
	--ljd-titre: 'Bricolage Grotesque', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--ljd-police: 'Figtree', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--ljd-marge: clamp(16px, 4vw, 32px);
	--ljd-section: clamp(56px, 7vw, 96px);
	--ljd-ombre: 0 1px 2px rgba(14, 27, 44, .06), 0 24px 48px -20px rgba(14, 27, 44, .25);
}

/* ── Base ─────────────────────────────────────────────────────────── */

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

body.ljd {
	font-family: var(--ljd-police);
	font-size: 17px;
	line-height: 1.55;
	color: var(--ljd-encre);
	background: #FFFFFF;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
.ljd .site, .ljd .site-content, .ljd .container, .ljd .inside-article { background: #FFFFFF; }
.ljd a { color: var(--ljd-bleu); }
.ljd a:hover, .ljd a:focus { color: var(--ljd-bleu-fonce); }
.ljd :focus-visible { outline: 3px solid var(--ljd-bleu); outline-offset: 2px; border-radius: 4px; }
.ljd .ljd-ico, .ljd .ljd-anneau { display: inline-block; flex-shrink: 0; vertical-align: middle; }
.ljd [hidden] { display: none !important; }
.ljd-wrap { max-width: 1200px; margin-inline: auto; padding-inline: var(--ljd-marge); box-sizing: border-box; }
.ljd-sans-lien { cursor: default; }

/* Remise à zéro des marges de GeneratePress dans nos composants. */
.ljd :where(.ljd-s, .ljd-hero, .ljd-band, .ljd-f, .ljd-quiz, .ljd-carte-devis, .ljd-pied, .ljd-legal, .ljd-mobilebar, .ljd-echelle,
	.ljd-essentiel, .ljd-sommaire, .ljd-encart, .ljd-auteur, .ljd-liees, .ljd-tableau, .ljd-faq)
	:where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, table, fieldset, legend) { margin: 0; }
.ljd :where(.ljd-s, .ljd-hero, .ljd-f, .ljd-quiz, .ljd-carte-devis) :where(ul, ol) { padding: 0; list-style: none; }
.ljd :where(.ljd-checks, .ljd-etapes, .ljd-etapes-num) { margin-left: 0; margin-right: 0; padding: 0; list-style: none; }

/* ── Bandeau d'information ────────────────────────────────────────── */

.ljd-topbar { background: var(--ljd-encre); color: #FFFFFF; font-size: 13px; line-height: 1.4; }
.ljd-topbar__in { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; align-items: center; padding-block: 8px; }
.ljd-topbar p { margin: 0; display: flex; align-items: center; gap: 8px; }
.ljd .ljd-topbar a, .ljd .ljd-topbar a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }

/* ── En-tête (GeneratePress) ──────────────────────────────────────── */

.ljd .site-header { background: #FFFFFF; border-bottom: 1px solid var(--ljd-trait2); }
.ljd .inside-header.grid-container, .ljd .inside-header { max-width: 1200px; padding: 14px var(--ljd-marge); }
.ljd .site-branding .main-title, .ljd .main-title.ljd-logo { margin: 0; font-size: inherit; line-height: 1; }
.ljd .ljd-logo a, .ljd a.ljd-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ljd-encre); text-decoration: none; }
.ljd .ljd-logo__nom { font-family: var(--ljd-titre); font-size: 21px; font-weight: 800; letter-spacing: -0.02em; line-height: 1; white-space: nowrap; }
@media (min-width: 769px) {
	.ljd.nav-float-right #site-navigation { margin-left: 20px; flex: 1 1 auto; min-width: 0; }
}
.ljd .main-navigation, .ljd .main-navigation ul ul { background: transparent; }
.ljd .main-navigation .inside-navigation { justify-content: space-between; gap: 12px; }
.ljd .main-navigation .main-nav ul li a {
	font-size: 15px; font-weight: 600; color: var(--ljd-encre);
	line-height: 44px; padding-left: 12px; padding-right: 12px; border-radius: 10px;
}
.ljd .main-navigation .main-nav ul li:hover > a,
.ljd .main-navigation .main-nav ul li:focus-within > a,
.ljd .main-navigation .main-nav ul li[class*="current-menu-"] > a { color: var(--ljd-encre); background: var(--ljd-fond); }
.ljd .main-navigation .main-nav ul ul { background: #FFFFFF; border: 1px solid var(--ljd-trait2); border-radius: 12px; box-shadow: var(--ljd-ombre); padding: 6px; }
.ljd .main-navigation .menu-bar-items { margin-left: auto; }
.ljd .menu-toggle .mobile-menu { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ljd button.menu-toggle { color: var(--ljd-encre); padding: 0 10px; line-height: 44px; }
.ljd button.menu-toggle .gp-icon svg { width: 24px; height: 24px; }

/* ── Boutons ──────────────────────────────────────────────────────── */

.ljd .ljd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 0 26px; border: 0; border-radius: 12px; box-sizing: border-box;
	font-family: var(--ljd-police); font-size: 17px; font-weight: 700; line-height: 1.2;
	text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}
.ljd .ljd-btn--cta, .ljd .ljd-btn--cta:visited { background: var(--ljd-orange); color: var(--ljd-encre); }
.ljd .ljd-btn--cta:hover, .ljd .ljd-btn--cta:focus { background: #E85D0A; color: var(--ljd-encre); }
.ljd .ljd-btn--cta:active { transform: translateY(1px); }
.ljd .ljd-btn--menu { min-height: 46px; padding: 0 18px; font-size: 15px; }
.ljd .ljd-btn--bloc { display: flex; width: 100%; min-height: 52px; padding: 0 20px; }
.ljd .ljd-btn--lg { min-height: 56px; padding: 0 28px; font-size: 18px; }

/* ── Sections ─────────────────────────────────────────────────────── */

.ljd .entry-content > .ljd-s { margin: 0; }
.ljd-s { background: #FFFFFF; }
.ljd-s--doux { background: var(--ljd-fond); }
.ljd-s--nuit { background: var(--ljd-encre); color: #FFFFFF; }
.ljd-s--trait { border-bottom: 1px solid var(--ljd-trait2); }
.ljd-s__in { max-width: 1200px; margin-inline: auto; padding: var(--ljd-section) var(--ljd-marge); box-sizing: border-box; display: flex; flex-direction: column; gap: 40px; }
.ljd-s__in--etroit { max-width: 900px; }
.ljd-s__in--centre { align-items: center; text-align: center; gap: 20px; }
.ljd-s__in--duo { flex-direction: row; flex-wrap: wrap; gap: 56px; align-items: center; }
.ljd-s__in--duo.is-haut { align-items: flex-start; }
.ljd-s__in--compact { padding-block: 56px; gap: 18px; }
.ljd-col { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.ljd-col--large { flex-basis: 520px; }
.ljd-col--etroite { flex-basis: 320px; gap: 16px; }
.ljd-tete { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }

.ljd .ljd-surtitre { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ljd-bleu); line-height: 1.4; }
.ljd .ljd-s--nuit .ljd-surtitre { color: var(--ljd-ciel); }
.ljd .ljd-h1 {
	font-family: var(--ljd-titre); font-size: clamp(36px, 4.4vw, 58px); line-height: 1.02;
	letter-spacing: -0.03em; font-weight: 800; color: var(--ljd-encre); text-wrap: balance;
}
.ljd .ljd-h1--ville { font-size: clamp(34px, 4.2vw, 54px); line-height: 1.03; }
.ljd .ljd-h1 em { font-style: normal; color: var(--ljd-orange-texte); }
.ljd .ljd-h2 {
	font-family: var(--ljd-titre); font-size: clamp(28px, 3.2vw, 42px); line-height: 1.08;
	letter-spacing: -0.022em; font-weight: 800; color: var(--ljd-encre); text-wrap: balance;
}
.ljd .ljd-h2--m { font-size: clamp(28px, 3.2vw, 40px); }
.ljd .ljd-h2--s { font-size: clamp(26px, 2.8vw, 34px); line-height: 1.1; }
.ljd .ljd-h2--xs { font-size: 26px; line-height: 1.15; }
.ljd .ljd-s--nuit .ljd-h2 { color: #FFFFFF; }
.ljd .ljd-chapo { font-size: 19px; line-height: 1.55; color: var(--ljd-gris); max-width: 580px; }
.ljd .ljd-texte { font-size: 18px; line-height: 1.6; color: var(--ljd-gris); }
.ljd .ljd-s--nuit .ljd-texte { color: var(--ljd-nuit-texte); }
.ljd .ljd-fin { font-size: 14px; line-height: 1.5; color: var(--ljd-gris); }
.ljd .ljd-fin--15 { font-size: 15px; }
.ljd .ljd-s--nuit .ljd-fin { color: var(--ljd-nuit-gris); }
.ljd .ljd-lien-fort { font-weight: 700; color: var(--ljd-bleu); align-self: flex-start; }

/* ── Héros (accueil et villes) ────────────────────────────────────── */

.ljd-hero { position: relative; overflow: hidden; background: var(--ljd-fond); border-bottom: 1px solid var(--ljd-trait2); }
.ljd-hero__deco { position: absolute; left: -200px; bottom: -260px; width: 560px; height: 560px; pointer-events: none; }
.ljd-hero__in {
	position: relative; max-width: 1200px; margin-inline: auto; box-sizing: border-box;
	padding: clamp(32px, 5vw, 64px) var(--ljd-marge) clamp(40px, 6vw, 88px);
	display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start;
}
.ljd-hero--ville .ljd-hero__in { padding-top: 28px; padding-bottom: clamp(40px, 6vw, 80px); }
.ljd-hero__texte { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 24px; padding-top: 8px; }
.ljd-hero--ville .ljd-hero__texte { gap: 22px; padding-top: 0; }
.ljd-hero__form { flex: 1 1 380px; max-width: 480px; min-width: 0; scroll-margin-top: 24px; }
.ljd-hero__note { font-size: 14px; color: var(--ljd-gris); }

.ljd .ljd-checks { display: flex; flex-direction: column; gap: 12px; }
.ljd .ljd-checks li { display: flex; gap: 12px; align-items: flex-start; }
.ljd-checks__puce {
	display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-top: 1px;
	border-radius: 99px; background: #FFFFFF; border: 1px solid var(--ljd-bleu-trait); color: var(--ljd-bleu); flex-shrink: 0;
}

/* ── Engagements ──────────────────────────────────────────────────── */

.ljd-engagements { max-width: 1200px; margin-inline: auto; padding: 28px var(--ljd-marge); box-sizing: border-box; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 24px; }
.ljd-engagement { display: flex; gap: 14px; align-items: flex-start; }
.ljd-engagement > div { display: flex; flex-direction: column; gap: 2px; }
.ljd-engagement strong { font-size: 16px; line-height: 1.3; }
.ljd-engagement span { font-size: 14px; line-height: 1.45; color: var(--ljd-gris); }
.ljd-pastille-ico { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--ljd-bleu-doux); color: var(--ljd-bleu); flex-shrink: 0; }
.ljd-pastille-ico--40 { width: 40px; height: 40px; }
.ljd-pastille-ico--52 { width: 52px; height: 52px; border-radius: 14px; }
.ljd-pastille-ico--chaud { background: var(--ljd-orange-doux); color: var(--ljd-orange-texte); }

/* ── Étapes « Comment ça marche » ─────────────────────────────────── */

.ljd .ljd-etapes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px; }
.ljd .ljd-etapes li { display: flex; flex-direction: column; gap: 12px; padding: 28px; border: 1px solid var(--ljd-trait2); border-radius: 20px; background: #FFFFFF; }
.ljd-etapes__num { font-family: var(--ljd-titre); font-size: 48px; font-weight: 800; line-height: 1; color: var(--ljd-orange-texte); }
.ljd .ljd-h3 { font-family: var(--ljd-titre); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; color: var(--ljd-encre); }
.ljd .ljd-h3--23 { font-size: 23px; }
.ljd .ljd-h3--20 { font-size: 20px; }
.ljd .ljd-h3--21 { font-size: 21px; }
.ljd-gris { color: var(--ljd-gris); }

/* ── Liste de différences ─────────────────────────────────────────── */

.ljd-diff { background: #FFFFFF; border: 1px solid var(--ljd-trait2); border-radius: 22px; padding: 8px 28px; box-sizing: border-box; display: flex; flex-direction: column; }
.ljd-diff__ligne { display: flex; gap: 16px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--ljd-trait3); }
.ljd-diff__ligne:last-child { border-bottom: 0; }
.ljd-diff__ligne > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ljd-diff__ligne span { font-size: 14px; color: var(--ljd-gris); }
.ljd-diff__ligne strong { font-size: 18px; line-height: 1.35; }

/* ── Cartes d'équipement ──────────────────────────────────────────── */

.ljd-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 20px; }
.ljd-carte { display: flex; flex-direction: column; gap: 16px; padding: 28px; border: 1px solid var(--ljd-trait2); border-radius: 20px; background: #FFFFFF; }
.ljd-carte p { color: var(--ljd-gris); }
.ljd-tag { align-self: flex-start; display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 99px; font-size: 14px; font-weight: 600; line-height: 1.3; }
.ljd-tag--oui { background: var(--ljd-bleu-doux); color: var(--ljd-bleu-fonce); }
.ljd-tag--non { background: var(--ljd-trait3); color: var(--ljd-gris); }
.ljd-tag--rge { padding: 5px 10px; font-size: 13px; background: var(--ljd-bleu-doux); color: var(--ljd-bleu-fonce); }
.ljd .ljd-carte__lien { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--ljd-bleu); text-decoration: none; }
.ljd .ljd-carte__lien.ljd-sans-lien { color: var(--ljd-gris); font-weight: 600; }

/* ── Section nuit : la zone du juste degré ────────────────────────── */

.ljd .ljd-s--nuit a:not(.ljd-btn) { color: #FFFFFF; font-weight: 600; text-underline-offset: 4px; }
.ljd-s__in--duo > .ljd-diff { flex: 1 1 520px; min-width: 0; }
.ljd-s__in--duo > .ljd-faq { flex: 1 1 560px; min-width: 0; }
.ljd-s__in--duo > .ljd-col:first-child.ljd-col--380 { flex-basis: 380px; }
.ljd-encadre-nuit { padding: 14px 16px; border-radius: 14px; background: rgba(255, 255, 255, .07); font-size: 15px; line-height: 1.5; color: #E6EBF2; }
.ljd-liens-nuit { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.ljd-liens-nuit .ljd-sans-lien { color: var(--ljd-nuit-texte); font-weight: 600; }

.ljd-echelle { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ljd-echelle__zone, .ljd-echelle__barres, .ljd-echelle__degres, .ljd-echelle__reperes { display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 4px; }
.ljd-echelle__zone-titre { grid-column: 4 / 12; text-align: center; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #FFFFFF; }
.ljd-echelle__accolade { grid-column: 4 / 12; height: 10px; border: 2px solid #FFFFFF; border-bottom: 0; border-radius: 8px 8px 0 0; }
.ljd-echelle__case { height: 64px; border-radius: 8px; }
.ljd-echelle__degre { text-align: center; font-size: 12px; font-weight: 600; color: var(--ljd-nuit-gris); font-variant-numeric: tabular-nums; }
.ljd-echelle__degre.is-dans { color: #FFFFFF; }
.ljd-echelle__reperes { margin-top: 6px; }
.ljd-echelle__reperes .is-froid { grid-column: 1 / 4; font-size: 13px; color: var(--ljd-ciel); }
.ljd-echelle__reperes .is-hiver { grid-column: 4 / 8; font-size: 14px; color: #FFFFFF; }
.ljd-echelle__reperes .is-ete { grid-column: 8 / 12; text-align: right; font-size: 14px; color: #FFFFFF; }
.ljd-echelle__reperes .is-chaud { grid-column: 12 / 14; text-align: right; font-size: 13px; color: #F9A56E; }
.ljd-echelle figcaption { margin-top: 8px; font-size: 13px; color: var(--ljd-nuit-gris); }

/* ── Tableaux ─────────────────────────────────────────────────────── */

.ljd-tableau { border: 1px solid var(--ljd-trait2); border-radius: 20px; overflow: hidden; background: #FFFFFF; }
.ljd-tableau--16 { border-radius: 16px; }
.ljd .ljd-tableau table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 16px; }
.ljd .ljd-tableau caption { caption-side: top; text-align: left; padding: 18px 20px 8px; font-weight: 700; font-size: 17px; }
.ljd .ljd-tableau th, .ljd .ljd-tableau td { border: 0; border-bottom: 1px solid var(--ljd-trait3); padding: 14px 20px; text-align: left; vertical-align: middle; }
.ljd .ljd-tableau thead th { font-size: 13px; font-weight: 600; color: var(--ljd-gris); padding-top: 12px; padding-bottom: 12px; border-bottom-color: var(--ljd-trait2); }
.ljd .ljd-tableau tbody tr:last-child td, .ljd .ljd-tableau tbody tr:last-child th { border-bottom: 0; }
.ljd .ljd-tableau .is-droite { text-align: right; }
.ljd .ljd-tableau .is-montant { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ljd .ljd-tableau .is-attente { color: var(--ljd-gris); }
.ljd .ljd-tableau .is-non { text-align: right; font-weight: 600; color: var(--ljd-gris); }
.ljd-categorie { display: flex; align-items: center; gap: 10px; }
.ljd-pastille { width: 12px; height: 12px; border-radius: 99px; flex-shrink: 0; }
.ljd-pastille--bleu { background: #1F5BD8; }
.ljd-pastille--jaune { background: #E0A800; }
.ljd-pastille--violet { background: #7A4FD6; }
.ljd-pastille--rose { background: #D94C8A; }
.ljd-pastille--gris { background: #AAB4C3; }

/* ── Installateurs partenaires ────────────────────────────────────── */

.ljd-partenaires { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 20px; }
.ljd-partenaires--duo { grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); }
.ljd-partenaire { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--ljd-trait2); border-radius: 20px; overflow: hidden; }
.ljd-partenaire--ligne { flex-direction: row; flex-wrap: wrap; }
.ljd-photo {
	height: 170px; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box;
	background: repeating-linear-gradient(135deg, #EEF1F5 0 12px, #F6F8FA 12px 24px); color: var(--ljd-gris); font-size: 14px; text-align: center;
}
.ljd-partenaire--ligne .ljd-photo { flex: 1 1 180px; height: auto; min-height: 180px; }
.ljd-partenaire__corps { padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.ljd-partenaire--ligne .ljd-partenaire__corps { flex: 2 1 240px; min-width: 0; }
.ljd-partenaire__info { font-size: 15px; color: var(--ljd-gris); }
.ljd-partenaire__verif { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.ljd-partenaire__verif .ljd-ico { color: var(--ljd-bleu); }

/* ── Avis (emplacements) ──────────────────────────────────────────── */

.ljd-avis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px; }
.ljd .ljd-avis figure { padding: 24px; border: 2px dashed #CBD3DE; border-radius: 20px; display: flex; flex-direction: column; gap: 12px; color: var(--ljd-gris); font-size: 15px; }
.ljd .ljd-avis blockquote { padding: 0; border: 0; font-size: inherit; font-style: normal; }
.ljd .ljd-avis figcaption { font-size: 14px; }

/* ── Questions fréquentes ─────────────────────────────────────────── */

.ljd-faq { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--ljd-trait2); border-radius: 20px; padding: 4px 24px; box-sizing: border-box; }
.ljd-faq--nu { background: transparent; border: 0; border-radius: 0; padding: 0; }
.ljd-faq details { border-bottom: 1px solid var(--ljd-trait3); }
.ljd-faq--nu details { border-bottom-color: var(--ljd-trait); }
.ljd-faq details:last-child { border-bottom: 0; }
.ljd-faq summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0;
	cursor: pointer; list-style: none; font-weight: 700; font-size: 17px; line-height: 1.4;
}
.ljd-faq summary::-webkit-details-marker { display: none; }
.ljd-faq summary .ljd-ico { transition: transform .2s ease; }
.ljd-faq details[open] summary .ljd-ico { transform: rotate(45deg); }
.ljd .ljd-faq details > p { margin: 0 0 18px; color: var(--ljd-gris); }
.ljd .ljd-faq--guide summary { padding: 16px 0; font-size: 17px; }
.ljd .ljd-faq--guide details > p { margin-bottom: 16px; color: var(--ljd-texte2); }

/* ── Appel final ──────────────────────────────────────────────────── */

.ljd-final .ljd-h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.05; letter-spacing: -0.025em; }
.ljd-final--ville .ljd-h2 { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.06; }
.ljd-final .ljd-texte { max-width: 560px; }

/* ── Bandeau de titre des pages ───────────────────────────────────── */

.ljd-band { background: var(--ljd-fond); border-bottom: 1px solid var(--ljd-trait2); }
.ljd-band__in { padding-top: 28px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 18px; }
.ljd .ljd-band__titre {
	max-width: 860px; font-family: var(--ljd-titre); font-size: clamp(34px, 4vw, 52px); line-height: 1.05;
	letter-spacing: -0.028em; font-weight: 800; color: var(--ljd-encre); text-wrap: balance;
}
.ljd-fil ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--ljd-gris); }
.ljd-fil li { display: inline-flex; align-items: center; gap: 6px; }
.ljd-fil li + li::before { content: '›'; color: var(--ljd-gris); }
.ljd .ljd-fil a { color: var(--ljd-gris); }
.ljd-fil [aria-current] { color: var(--ljd-encre); }
.ljd-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; font-size: 14px; color: var(--ljd-gris); }
.ljd-byline__auteur { display: flex; align-items: center; gap: 10px; }
.ljd-byline strong { color: var(--ljd-encre); }
.ljd-avatar { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 99px; background: var(--ljd-encre); color: #FFFFFF; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.ljd-avatar--48 { width: 48px; height: 48px; font-size: 18px; }

/* ── Guides : contenu ─────────────────────────────────────────────── */

.ljd-gabarit-guide .site-content { padding-top: 40px; padding-bottom: 88px; }
.ljd-gabarit-guide .entry-content { font-size: 17px; line-height: 1.6; }
.ljd-gabarit-guide .entry-content > * { margin-top: 0; margin-bottom: 16px; }
.ljd-gabarit-guide .entry-content > :first-child { margin-top: 0; }
.ljd-gabarit-guide .entry-content > p,
.ljd-gabarit-guide .entry-content > ul,
.ljd-gabarit-guide .entry-content > ol { color: var(--ljd-texte2); }
.ljd-gabarit-guide .entry-content > ul, .ljd-gabarit-guide .entry-content > ol { padding-left: 1.3em; margin-left: 0; }
.ljd-gabarit-guide .entry-content > h2 {
	margin-top: 44px; font-family: var(--ljd-titre); font-size: clamp(26px, 2.6vw, 32px); line-height: 1.15;
	letter-spacing: -0.02em; font-weight: 800; color: var(--ljd-encre); scroll-margin-top: 24px;
}
.ljd-gabarit-guide .entry-content > h3 { margin-top: 28px; margin-bottom: 12px; font-family: var(--ljd-titre); font-size: 22px; font-weight: 700; line-height: 1.25; }
.ljd-gabarit-guide .entry-content > .ljd-bloc { margin-top: 44px; margin-bottom: 44px; }
.ljd-gabarit-guide .entry-content > .ljd-bloc:first-child { margin-top: 0; }
.ljd-gabarit-guide .entry-content > .ljd-sources { font-size: 14px; color: var(--ljd-gris); }

.ljd-essentiel { border-radius: 20px; background: var(--ljd-orange-doux); padding: 24px 28px; display: flex; flex-direction: column; gap: 14px; }
.ljd .ljd-essentiel__titre { font-family: var(--ljd-titre); font-size: 20px; font-weight: 800; letter-spacing: -0.01em; }
.ljd .ljd-essentiel dl { display: flex; flex-direction: column; gap: 12px; font-size: 16px; margin: 0; }
.ljd-essentiel dl > div { display: flex; flex-wrap: wrap; gap: 2px 16px; }
.ljd .ljd-essentiel dt { flex: 0 0 110px; font-weight: 700; }
.ljd .ljd-essentiel dd { margin: 0; flex: 1 1 300px; color: var(--ljd-texte2); }

.ljd-sommaire { border: 1px solid var(--ljd-trait2); border-radius: 16px; padding: 20px 24px; display: flex; flex-direction: column; gap: 10px; }
.ljd .ljd-sommaire__titre { font-weight: 700; margin: 0; }
.ljd .ljd-sommaire ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 16px; list-style: decimal; }

.ljd-encart { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding: 24px 28px; border-radius: 20px; background: var(--ljd-encre); color: #FFFFFF; }
.ljd-encart > div { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ljd-encart strong { font-family: var(--ljd-titre); font-size: 21px; line-height: 1.25; }
.ljd-encart span { font-size: 15px; color: var(--ljd-nuit-texte); }
.ljd .ljd-encart .ljd-btn { min-height: 52px; padding: 0 22px; font-size: 16px; }

.ljd .ljd-etapes-num { display: flex; flex-direction: column; gap: 16px; }
.ljd .ljd-etapes-num li { display: flex; gap: 14px; align-items: flex-start; }
.ljd-etapes-num__n { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 99px; background: var(--ljd-encre); color: #FFFFFF; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.ljd-etapes-num li > div { display: flex; flex-direction: column; gap: 2px; }
.ljd-etapes-num li span { color: var(--ljd-texte2); }

.ljd-auteur { display: flex; gap: 16px; align-items: flex-start; padding: 24px; border-radius: 20px; border: 1px solid var(--ljd-trait2); }
.ljd-auteur > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ljd-auteur strong { font-size: 17px; }
.ljd .ljd-auteur p { font-size: 15px; color: var(--ljd-texte2); }
.ljd .ljd-auteur p.ljd-fin { font-size: 14px; color: var(--ljd-gris); }
.ljd-auteur a, .ljd-auteur .ljd-sans-lien { font-size: 15px; font-weight: 600; }

.ljd-liees { display: flex; flex-direction: column; gap: 14px; }
.ljd .ljd-liees__titre { font-family: var(--ljd-titre); font-size: 20px; font-weight: 800; }
.ljd-liees__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.ljd .ljd-liee { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 16px; border: 1px solid var(--ljd-trait2); color: var(--ljd-encre); text-decoration: none; }
.ljd a.ljd-liee:hover { border-color: var(--ljd-bleu); color: var(--ljd-encre); }
.ljd-liee strong { font-size: 16px; }
.ljd-liee span { font-size: 14px; color: var(--ljd-gris); }

/* Questionnaire de compatibilité */
.ljd-quiz { border: 1px solid var(--ljd-trait2); border-radius: 20px; padding: 8px 24px 24px; display: flex; flex-direction: column; }
.ljd-quiz__q { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 16px 0; border-bottom: 1px solid var(--ljd-trait3); }
.ljd .ljd-quiz__q p { flex: 1 1 320px; font-weight: 600; font-size: 16px; line-height: 1.45; color: var(--ljd-encre); }
.ljd-quiz__choix { display: flex; gap: 8px; }
.ljd .ljd-quiz__attente { margin-top: 16px; font-size: 15px; color: var(--ljd-gris); }
.ljd-quiz__ok { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 18px; border-radius: 14px; background: var(--ljd-bleu-doux); }
.ljd-quiz__ok > div { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ljd-quiz__ok strong, .ljd-quiz__conseil strong { font-size: 17px; }
.ljd-quiz__ok span, .ljd-quiz__conseil span { font-size: 15px; color: var(--ljd-texte2); }
.ljd .ljd-quiz__ok .ljd-btn { min-height: 48px; padding: 0 20px; font-size: 16px; }
.ljd-quiz__conseil { margin-top: 16px; padding: 18px; border-radius: 14px; background: var(--ljd-orange-doux); display: flex; flex-direction: column; gap: 4px; }

/* Petits boutons de choix (Oui / Non) */
.ljd button.ljd-choix-mini {
	all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
	min-width: 72px; min-height: 44px; padding: 0 16px; border-radius: 10px; border: 2px solid var(--ljd-trait);
	background: #FFFFFF; font-family: var(--ljd-police); font-size: 15px; font-weight: 600; color: var(--ljd-encre); cursor: pointer;
}
.ljd button.ljd-choix-mini:hover { border-color: #AAB4C3; }
.ljd button.ljd-choix-mini[aria-pressed="true"] { border-color: var(--ljd-orange); background: var(--ljd-orange-doux); }
.ljd button.ljd-choix-mini:focus-visible { outline: 3px solid var(--ljd-bleu); outline-offset: 2px; }

/* ── Guides : barre latérale et encart de devis ───────────────────── */

.ljd-gabarit-guide .is-right-sidebar .inside-right-sidebar { height: 100%; }
.ljd .sidebar .ljd-carte-devis { margin-bottom: 0; }
.ljd-carte-devis {
	position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; padding: 24px;
	border-radius: 20px; background: #FFFFFF; border: 1px solid var(--ljd-trait); box-shadow: 0 24px 48px -24px rgba(14, 27, 44, .25);
	scroll-margin-top: 24px;
}
.admin-bar .ljd-carte-devis { top: 56px; }
.ljd .ljd-carte-devis__titre { font-family: var(--ljd-titre); font-size: 21px; font-weight: 800; line-height: 1.2; color: var(--ljd-encre); }
.ljd .ljd-carte-devis__meta { margin-top: 4px; font-size: 14px; color: var(--ljd-gris); }
.ljd-carte-devis__form { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ljd-carte-devis__form label { font-size: 14px; font-weight: 600; }
.ljd .ljd-carte-devis__form input[type="text"] {
	width: 100%; height: 52px; margin-bottom: 10px; padding: 0 14px; box-sizing: border-box; border: 2px solid var(--ljd-trait);
	border-radius: 12px; background: #FFFFFF; color: var(--ljd-encre); font-family: var(--ljd-police); font-size: 18px; letter-spacing: .06em;
}
.ljd .ljd-carte-devis__form input[type="text"]:focus { border-color: var(--ljd-bleu); outline: none; }
.ljd .ljd-carte-devis__points { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.ljd .ljd-carte-devis__points li { display: flex; gap: 8px; align-items: flex-start; }
.ljd .ljd-carte-devis__points .ljd-ico { color: var(--ljd-bleu); margin-top: 2px; }
.ljd .ljd-carte-devis__pied { border-top: 1px solid var(--ljd-trait3); padding-top: 14px; font-size: 13px; color: var(--ljd-gris); }

.ljd-mobilebar { display: none; }

/* ── Villes ───────────────────────────────────────────────────────── */

.ljd-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 16px; }
.ljd-chiffre { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 20px; background: #FFFFFF; border: 1px solid var(--ljd-trait2); }
.ljd-chiffre__valeur { font-family: var(--ljd-titre); font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; }
.ljd-chiffre__valeur.is-attente { color: var(--ljd-gris); }
.ljd-chiffre__libelle { font-size: 16px; font-weight: 600; }
.ljd-chiffre__source { font-size: 13px; color: var(--ljd-gris); }

.ljd-savoir { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 20px; }
.ljd-savoir__carte { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: 20px; border: 1px solid var(--ljd-trait2); }
.ljd .ljd-savoir__carte p { font-size: 15px; color: var(--ljd-gris); }

.ljd .ljd-liste-aides { padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--ljd-trait2); font-size: 16px; }
.ljd .ljd-liste-aides .is-attente { color: var(--ljd-gris); }
.ljd .ljd-col .ljd-btn { align-self: flex-start; }
.ljd .ljd-col--prix { flex-basis: 460px; gap: 16px; }

.ljd-pastilles { display: flex; flex-wrap: wrap; gap: 10px; }
.ljd .ljd-pastilles > * { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 99px; border: 1px solid var(--ljd-trait); color: var(--ljd-encre); text-decoration: none; font-weight: 600; font-size: 15px; box-sizing: border-box; }
.ljd .ljd-pastilles a:hover { border-color: var(--ljd-bleu); color: var(--ljd-encre); }
.ljd .ljd-pastilles .ljd-sans-lien { color: var(--ljd-gris); }

/* ── Formulaire en étapes ─────────────────────────────────────────── */

.ljd-f {
	font-family: var(--ljd-police); color: var(--ljd-encre); background: #FFFFFF; border: 1px solid var(--ljd-trait);
	border-radius: 20px; box-shadow: var(--ljd-ombre); box-sizing: border-box; width: 100%; overflow: hidden;
	display: flex; flex-direction: column; font-size: 16px; line-height: 1.5; min-height: 560px;
}
.ljd-f.is-pret { min-height: 0; }
.ljd-f *, .ljd-f *::before, .ljd-f *::after { box-sizing: border-box; }
.ljd-f__tete { padding: 20px 24px 16px; display: flex; flex-direction: column; gap: 14px; border-bottom: 1px solid var(--ljd-trait3); }
.ljd-f__tete-ligne { display: flex; align-items: baseline; justify-content: space-between; gap: 4px 12px; flex-wrap: wrap; }
.ljd .ljd-f__titre { font-family: var(--ljd-titre); font-size: 21px; font-weight: 800; letter-spacing: -0.015em; line-height: 1.2; }
.ljd .ljd-f__meta { font-size: 13px; color: var(--ljd-gris); }
.ljd-f__progres { display: flex; flex-direction: column; gap: 8px; }
.ljd-f__progres-txt { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--ljd-gris); }
.ljd-f__progres-txt strong { font-weight: 600; color: var(--ljd-encre); }
.ljd-f__barre { height: 6px; background: #E8EDF3; border-radius: 99px; overflow: hidden; }
.ljd-f__barre span { display: block; height: 6px; background: var(--ljd-orange); border-radius: 99px; transition: width .25s ease; }
.ljd .ljd-f__demo { margin: 0; padding: 10px 24px; background: var(--ljd-orange-doux); color: var(--ljd-orange-texte); font-size: 13px; font-weight: 600; line-height: 1.4; border-bottom: 1px solid #FBDCC6; }
.ljd .ljd-f__noscript { padding: 20px 24px; font-size: 15px; color: var(--ljd-gris); }
.ljd-f__corps { padding: 20px 24px 4px; display: flex; flex-direction: column; gap: 16px; }
.ljd-f__corps--20 { gap: 20px; }
.ljd-f__corps--18 { gap: 18px; }
.ljd-f__corps--fin { padding: 22px 24px 24px; gap: 20px; }
.ljd-f__entete { display: flex; flex-direction: column; gap: 4px; }
.ljd .ljd-f__q { font-family: var(--ljd-titre); font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; color: var(--ljd-encre); outline: none; }
.ljd .ljd-f__q--texte { font-family: var(--ljd-police); font-size: 15px; font-weight: 400; letter-spacing: 0; line-height: 1.45; }
.ljd .ljd-f__aide { font-size: 14px; color: var(--ljd-gris); }
.ljd .ljd-f fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.ljd .ljd-f legend { padding: 0; margin: 0 0 10px; font-size: 14px; font-weight: 600; }

.ljd-f__projets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 10px; }
.ljd-f__liste { display: flex; flex-direction: column; gap: 8px; }
.ljd-f__rangee { display: flex; flex-wrap: wrap; gap: 8px; }

.ljd-f button.ljd-choix {
	all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 12px; width: 100%;
	min-height: 52px; padding: 10px 16px; border: 2px solid var(--ljd-trait); background: #FFFFFF; border-radius: 12px;
	font-family: var(--ljd-police); font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--ljd-encre); text-align: left;
	transition: border-color .12s ease, background-color .12s ease;
}
.ljd-f button.ljd-choix:hover { border-color: #AAB4C3; }
.ljd-f button.ljd-choix[aria-pressed="true"] { border-color: var(--ljd-orange); background: var(--ljd-orange-doux); }
.ljd-f button.ljd-choix:focus-visible { outline: 3px solid var(--ljd-bleu); outline-offset: 2px; }
.ljd-f button.ljd-choix--radio { justify-content: space-between; }
.ljd-f .ljd-f__rangee button.ljd-choix { flex: 1 1 140px; justify-content: center; text-align: center; }
.ljd-f button.ljd-choix--projet { min-height: 76px; padding: 12px; gap: 10px; border-radius: 14px; }
.ljd-f button.ljd-choix--projet .ljd-f__ico { width: 40px; height: 40px; }
.ljd-f__libelles strong { -webkit-hyphens: auto; hyphens: auto; }
.ljd-f button.ljd-choix--revenu { min-height: 56px; padding: 10px 14px; }
.ljd-f__ico { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; background: var(--ljd-bleu-doux); color: var(--ljd-bleu); }
.ljd-f__ico--chaud { background: var(--ljd-orange-doux); color: var(--ljd-orange-texte); }
.ljd-f__ico--neutre { background: var(--ljd-trait3); color: var(--ljd-gris); }
.ljd-f__libelles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ljd-f__libelles strong { font-weight: 700; font-size: 16px; line-height: 1.25; }
.ljd-f__libelles small { font-size: 13px; font-weight: 400; color: var(--ljd-gris); line-height: 1.35; }
.ljd-f button.ljd-choix--revenu .ljd-f__libelles strong { font-weight: 600; font-size: 15px; line-height: 1.3; }
.ljd-f__radio { width: 20px; height: 20px; flex-shrink: 0; border-radius: 99px; border: 2px solid #AAB4C3; background: #FFFFFF; }
.ljd-f button[aria-pressed="true"] .ljd-f__radio { border-color: var(--ljd-orange); background: var(--ljd-orange); box-shadow: inset 0 0 0 3px #FFFFFF; }
.ljd-f__point { width: 14px; height: 14px; border-radius: 99px; flex-shrink: 0; }

.ljd .ljd-f__note { padding: 12px 14px; border-radius: 12px; background: var(--ljd-fond); font-size: 14px; color: var(--ljd-gris); }
.ljd .ljd-f__note--13 { font-size: 13px; line-height: 1.45; }
.ljd-f__champ { display: flex; flex-direction: column; gap: 6px; }
.ljd-f__champ--8 { gap: 8px; }
.ljd-f__champs { display: flex; flex-direction: column; gap: 12px; }
.ljd-f__champ label { font-size: 14px; font-weight: 600; }
.ljd-f__champ label small { font-size: 14px; font-weight: 400; color: var(--ljd-gris); }
.ljd .ljd-f input[type="text"], .ljd .ljd-f input[type="tel"], .ljd .ljd-f input[type="email"] {
	width: 100%; max-width: none; height: 52px; margin: 0; padding: 0 14px; border: 2px solid var(--ljd-trait); border-radius: 12px;
	background: #FFFFFF; color: var(--ljd-encre); font-family: var(--ljd-police); font-size: 17px; box-shadow: none;
}
.ljd .ljd-f input:focus { border-color: var(--ljd-bleu); outline: none; }
.ljd .ljd-f input.ljd-f__cp { height: 56px; padding: 0 16px; font-size: 20px; letter-spacing: .08em; }
.ljd .ljd-f input.ljd-f__cp.is-ok { border-color: var(--ljd-bleu); }
.ljd .ljd-f input.ljd-f__cp.is-hors { border-color: var(--ljd-orange); }
.ljd .ljd-f input.ljd-f__otp { height: 62px; padding: 0 16px; font-size: 28px; font-weight: 700; letter-spacing: .45em; text-align: center; font-variant-numeric: tabular-nums; }
.ljd-f__zone-ok { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 14px; background: var(--ljd-bleu-doux); font-size: 15px; line-height: 1.45; }
.ljd-f__zone-ok .ljd-ico { color: var(--ljd-bleu); margin-top: 1px; }
.ljd-f__zone-hors { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 14px; background: var(--ljd-orange-doux); font-size: 15px; line-height: 1.45; }
.ljd .ljd-f__zone-hors a { font-size: 14px; font-weight: 600; color: var(--ljd-bleu-fonce); }
.ljd-f__prevenir { display: flex; flex-direction: column; gap: 6px; }
.ljd-f__prevenir label { font-size: 13px; font-weight: 600; }
.ljd-f__prevenir-ligne { display: flex; gap: 8px; }
.ljd .ljd-f .ljd-f__prevenir input[type="email"] { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0 12px; border-radius: 10px; font-size: 15px; }
.ljd-f button.ljd-f__bouton-nuit {
	all: unset; box-sizing: border-box; cursor: pointer; height: 46px; padding: 0 16px; border-radius: 10px; background: var(--ljd-encre);
	color: #FFFFFF; font-family: var(--ljd-police); font-weight: 700; font-size: 14px; white-space: nowrap; display: inline-flex; align-items: center;
}
.ljd-f button.ljd-f__bouton-nuit:focus-visible { outline: 3px solid var(--ljd-bleu); outline-offset: 2px; }

.ljd-f__installateurs { padding: 16px; border-radius: 14px; background: var(--ljd-fond); display: flex; flex-direction: column; gap: 12px; }
.ljd-f__installateurs > p { font-size: 14px; font-weight: 700; }
.ljd-f__installateur { display: flex; gap: 12px; align-items: flex-start; }
.ljd-f__installateur-ico { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: #FFFFFF; border: 1px solid var(--ljd-trait); color: var(--ljd-bleu); flex-shrink: 0; }
.ljd-f__installateur > div { display: flex; flex-direction: column; min-width: 0; }
.ljd-f__installateur strong { font-weight: 700; font-size: 15px; line-height: 1.35; }
.ljd-f__installateur span { font-size: 13px; color: var(--ljd-gris); line-height: 1.4; }
.ljd .ljd-f__installateurs .ljd-f__verif { font-size: 12px; color: var(--ljd-gris); font-weight: 400; }
.ljd-f__accord { display: flex; gap: 12px; align-items: flex-start; }
.ljd .ljd-f__accord input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--ljd-orange); flex-shrink: 0; }
.ljd-f__accord label { font-size: 14px; line-height: 1.45; color: var(--ljd-encre); }
.ljd-f__liens { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; }
.ljd-f__sms { display: flex; gap: 12px; align-items: center; }
.ljd .ljd-f__sms p { font-size: 15px; line-height: 1.45; }
.ljd-f__actions-txt { display: flex; flex-wrap: wrap; gap: 4px 20px; font-size: 14px; }
.ljd-f button.ljd-f__lien {
	all: unset; box-sizing: border-box; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center;
	font-family: var(--ljd-police); font-size: 14px; font-weight: 600; color: var(--ljd-bleu); text-decoration: underline; text-underline-offset: 3px;
}
.ljd-f button.ljd-f__lien[disabled] { color: #6B7686; font-weight: 400; text-decoration: none; cursor: not-allowed; }
.ljd-f button.ljd-f__lien:focus-visible { outline: 3px solid var(--ljd-bleu); outline-offset: 2px; }
.ljd-f__passer { align-self: flex-start; }

.ljd-f__merci { display: flex; gap: 14px; align-items: center; }
.ljd-f__merci-ico { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 99px; background: var(--ljd-bleu); color: #FFFFFF; flex-shrink: 0; }
.ljd-f__merci > div { display: flex; flex-direction: column; min-width: 0; }
.ljd .ljd-f__merci p { font-size: 14px; color: var(--ljd-gris); }
.ljd .ljd-f__merci p.ljd-f__q { font-size: 22px; color: var(--ljd-encre); }
.ljd .ljd-f__suite { display: flex; flex-direction: column; gap: 14px; }
.ljd .ljd-f__suite li { display: flex; gap: 12px; align-items: flex-start; }
.ljd-f__suite-n { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 99px; background: var(--ljd-orange-doux); color: var(--ljd-orange-texte); font-weight: 700; font-size: 14px; flex-shrink: 0; }
.ljd-f__suite li > div { display: flex; flex-direction: column; min-width: 0; }
.ljd-f__suite strong { font-size: 15px; line-height: 1.35; }
.ljd-f__suite span { font-size: 14px; color: var(--ljd-gris); }
.ljd-f__estimation { border: 1px solid var(--ljd-trait); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.ljd .ljd-f__estimation > p:first-child { font-size: 14px; font-weight: 700; }
.ljd-f__estimation-ligne { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.ljd-f__estimation-ligne strong, .ljd-f__estimation-ligne em { text-align: right; }
.ljd-f__estimation-ligne em { font-style: normal; color: var(--ljd-gris); }
.ljd .ljd-f__estimation .ljd-f__petit { font-size: 12px; color: var(--ljd-gris); }
.ljd-f__preparer { display: flex; flex-direction: column; gap: 8px; }
.ljd .ljd-f__preparer > p { font-size: 14px; font-weight: 700; }
.ljd .ljd-f .ljd-f__preparer ul { padding: 0 0 0 18px; list-style: disc; font-size: 14px; color: var(--ljd-gris); display: flex; flex-direction: column; gap: 4px; }

.ljd-f__nav { padding: 16px 24px 0; display: flex; gap: 10px; align-items: center; }
.ljd-f button.ljd-f__retour {
	all: unset; box-sizing: border-box; cursor: pointer; width: 52px; height: 52px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
	border: 2px solid var(--ljd-trait); background: #FFFFFF; border-radius: 12px; color: var(--ljd-encre);
}
.ljd-f button.ljd-f__suivant {
	all: unset; box-sizing: border-box; cursor: pointer; flex: 1 1 auto; height: 52px; display: flex; align-items: center; justify-content: center; gap: 8px;
	padding: 0 16px; border-radius: 12px; background: var(--ljd-orange); color: var(--ljd-encre);
	font-family: var(--ljd-police); font-size: 17px; font-weight: 700;
}
.ljd-f button.ljd-f__suivant:hover { background: #E85D0A; }
.ljd-f button.ljd-f__suivant[aria-disabled="true"] { background: #E8EDF3; color: #6B7686; cursor: not-allowed; }
.ljd-f button.ljd-f__retour:focus-visible, .ljd-f button.ljd-f__suivant:focus-visible { outline: 3px solid var(--ljd-bleu); outline-offset: 2px; }
.ljd-f__rassurer { padding: 14px 24px 20px; display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.4; color: var(--ljd-gris); }
.ljd-f__rassurer .ljd-ico { margin-top: 1px; }

/* ── Pied de page ─────────────────────────────────────────────────── */

.ljd .site-footer { background: var(--ljd-encre); color: var(--ljd-nuit-texte); }
.ljd-pied { font-size: 15px; line-height: 1.5; }
.ljd-pied__grille { padding-top: 56px; padding-bottom: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 32px 24px; }
.ljd-pied__marque { display: flex; flex-direction: column; gap: 14px; }
.ljd .ljd-pied .ljd-logo, .ljd .ljd-pied .ljd-logo:hover { color: #FFFFFF; }
.ljd .ljd-pied .ljd-logo__nom { font-size: 20px; }
.ljd .ljd-pied__slogan { font-size: 15px; color: #FFFFFF; }
.ljd .ljd-pied__note { font-size: 13px; color: var(--ljd-nuit-gris); }
.ljd .ljd-pied__titre { margin: 0 0 14px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #FFFFFF; }
.ljd .ljd-pied ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ljd .ljd-pied a { color: var(--ljd-nuit-texte); text-decoration: none; }
.ljd .ljd-pied a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
.ljd .ljd-pied .ljd-sans-lien { color: var(--ljd-nuit-texte); opacity: .72; }
.ljd .site-info { background: var(--ljd-encre); color: var(--ljd-nuit-gris); text-align: left; font-size: 13px; }
.ljd .inside-site-info { max-width: 1200px; margin-inline: auto; padding: 0 var(--ljd-marge) 28px; box-sizing: border-box; }
.ljd .copyright-bar { width: 100%; }
.ljd-legal { border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; color: var(--ljd-nuit-gris); }
.ljd .ljd-legal a, .ljd .ljd-legal a:hover { color: var(--ljd-nuit-gris); }
.ljd .ljd-legal .ljd-sans-lien { opacity: .72; }

/* ── Mobile ───────────────────────────────────────────────────────── */

@media (max-width: 768px) {
	.ljd .inside-header.grid-container, .ljd .inside-header { padding: 8px 8px 8px 16px; }
	.ljd .ljd-logo__nom { font-size: 18px; }
	.ljd .ljd-logo .ljd-anneau { width: 26px; height: 26px; }
	.ljd .ljd-btn--menu { display: none; }
	.ljd .main-navigation.toggled .main-nav ul li a { line-height: 48px; }
	.ljd .main-navigation.toggled .main-nav { padding-bottom: 8px; }
	.ljd-topbar__in { padding-block: 6px; }
	.ljd-topbar a { display: none; }

	.ljd-hero__in { gap: 28px; }
	.ljd-hero__texte { gap: 16px; }
	.ljd-hero__deco { display: none; }
	.ljd-hero .ljd-chapo { font-size: 17px; }
	.ljd .ljd-f__q { font-size: 20px; }
	.ljd-f__tete, .ljd-f__corps, .ljd-f__nav, .ljd-f__rassurer { padding-left: 18px; padding-right: 18px; }
	.ljd .ljd-f__demo { padding-left: 18px; padding-right: 18px; }

	.ljd-diff { padding: 4px 20px; }
	.ljd-echelle__case { height: 48px; }
	.ljd-echelle__degre { font-size: 11px; }
	.ljd-echelle__zone-titre { font-size: 11px; }
	.ljd-echelle__reperes .is-froid, .ljd-echelle__reperes .is-chaud { font-size: 12px; }
	.ljd-echelle__reperes .is-hiver, .ljd-echelle__reperes .is-ete { font-size: 13px; }

	.ljd:not(.full-width-content) .site-content { padding-left: 16px; padding-right: 16px; }
	.ljd-gabarit-guide .site-content { padding-top: 24px; padding-bottom: 40px; }
	.ljd-gabarit-guide .is-right-sidebar { margin-top: 24px; }
	.ljd-carte-devis { position: static; }
	.ljd-essentiel { padding: 18px; }
	.ljd-encart { padding: 20px; }
	.ljd-quiz { padding: 4px 18px 18px; }

	.ljd-mobilebar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; align-items: center; gap: 12px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #FFFFFF; border-top: 1px solid var(--ljd-trait2);
		box-shadow: 0 -8px 24px rgba(14, 27, 44, .08);
	}
	.ljd-mobilebar > span { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
	.ljd-mobilebar strong { font-size: 15px; }
	.ljd-mobilebar small { font-size: 13px; color: var(--ljd-gris); }
	.ljd .ljd-mobilebar .ljd-btn { min-height: 48px; padding: 0 18px; font-size: 16px; }
	.ljd-gabarit-guide .site-footer { padding-bottom: 76px; }
}

@media (max-width: 480px) {
	.ljd .ljd-btn { white-space: normal; text-align: center; }
	.ljd-s__in--duo { gap: 32px; }
	.ljd .ljd-tableau th, .ljd .ljd-tableau td { padding-left: 14px; padding-right: 14px; }
	.ljd-faq { padding: 4px 18px; }
}
