/* ============================================================
   Au Coin du Feu — styles du site
   Les jetons viennent de css/tokens.css. Ici : les classes de mise
   en page et de composants, écrites une fois et réutilisées par
   toutes les pages. Aucun style en ligne, aucun framework.
   ============================================================ */

/* ---------- mise en page ---------- */
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.wrap--wide{max-width:var(--container-wide)}
.sec{padding:var(--space-9) 0}
.sec--tight{padding:var(--space-8) 0}
.sec--page{background:var(--surface-page)}
.sec--white{background:var(--white)}
.sec--dark{background:var(--ink-950);color:#fff}
.sec--gradient{background:var(--gradient-hearth-dark);color:#fff}
.sec--wash{background:var(--surface-flame-wash)}
.sec--dark h1,.sec--dark h2,.sec--dark h3,.sec--gradient h1,.sec--gradient h2,.sec--gradient h3{color:#fff}
.stack{display:flex;flex-direction:column}
.row{display:flex;align-items:center;flex-wrap:wrap}
.row--gap3{gap:var(--space-3)}
.row--gap5{gap:var(--space-5)}.row--gap6{gap:var(--space-6)}.overlay__box .row{align-items:flex-start}
.row--between{justify-content:space-between}
.grid{display:grid;gap:var(--space-5)}
.grid--2{grid-template-columns:1fr 1fr}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--split{grid-template-columns:1.05fr 1fr;gap:var(--space-8);align-items:center}
.grid--split-end{grid-template-columns:1.1fr 1fr;gap:var(--space-8);align-items:end}
.grid--gap4{gap:var(--space-4)}
.grid--gap7{gap:var(--space-7)}
.lead{font-family:var(--font-ui);font-size:var(--text-md);color:var(--ink-600);max-width:56ch}
.muted{color:var(--ink-500)}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.mt3{margin-top:var(--space-3)}.mt5{margin-top:var(--space-5)}.mt6{margin-top:var(--space-6)}.mt7{margin-top:var(--space-7)}
.mb0{margin-bottom:0}.mb5{margin-bottom:var(--space-5)}.mb6{margin-bottom:var(--space-6)}.mb7{margin-bottom:var(--space-7)}
.sec--dark p,.sec--gradient p{color:rgba(255,255,255,.72)}
.hero-title{font-size:var(--text-4xl);margin:16px 0 20px}

/* ---------- boutons (reprend components/forms/Button.jsx) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--control-h-md);padding:0 24px;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);border-radius:var(--radius-pill);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;line-height:1;text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),color var(--dur-fast)}
.btn:active{transform:translateY(1px)}
.btn--sm{height:var(--control-h-sm);padding:0 16px;font-size:var(--text-sm)}
.btn--lg{height:var(--control-h-lg);padding:0 32px;font-size:var(--text-md)}
.btn--primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--glow-flame)}
.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-primary-contrast);box-shadow:var(--glow-flame-strong)}
.btn--flame{background:var(--gradient-flame-h);background-origin:border-box;color:var(--white);box-shadow:var(--glow-flame)}
.btn--flame:hover{color:var(--white);box-shadow:var(--glow-flame-strong)}
.btn--secondary{background:transparent;color:var(--ink-950);border-color:var(--ink-950)}
.btn--secondary:hover{background:var(--ink-950);color:var(--white)}
.btn--ghost{background:transparent;color:var(--flame-ember)}
.btn--ghost:hover{background:var(--flame-amber-050);color:var(--flame-ember)}
.sec--dark .btn--secondary,.sec--gradient .btn--secondary{color:#fff;border-color:rgba(255,255,255,.55)}
.sec--dark .btn--secondary:hover,.sec--gradient .btn--secondary:hover{background:#fff;color:var(--ink-950)}
.btn svg{flex-shrink:0}

/* lien fléché : la navigation est un lien, pas un bouton */
.alink{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:var(--text-sm);color:var(--flame-ember);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--flame-amber);background:none;border:0;padding:0;cursor:pointer}
.alink svg{transition:transform .18s var(--ease-out)}
.alink:hover svg{transform:translateX(3px)}
.alink--dark{color:#fff;text-decoration-color:rgba(255,255,255,.45)}
.alink--dark:hover{color:#fff}

/* ---------- en-tête ---------- */
.hdr{position:sticky;top:0;z-index:100;background:#FDFAF5;border-bottom:1px solid var(--border-subtle)}
.hdr__row{max-width:var(--container-wide);margin:0 auto;padding:0 var(--gutter);min-height:76px;display:flex;align-items:center;gap:var(--space-5)}
.hdr__logo{display:flex;align-items:center;flex-shrink:0}
.hdr__logo img{height:50px;width:auto;display:block}
.hdr__nav{display:flex;gap:var(--space-5);margin-left:var(--space-4)}
.hdr__nav a{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--ink-600)}
.hdr__nav a:hover{color:var(--ink-950)}
.hdr__nav a[aria-current="page"]{font-weight:var(--fw-bold);color:var(--ink-950)}
.hdr__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}
.hdr__af{display:flex;align-items:center;gap:7px;font-family:var(--font-ui);font-weight:800;font-size:var(--text-sm);color:var(--flame-ember);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:7px 13px;white-space:nowrap}
.hdr__af b{color:var(--flame-orange);font-weight:800}
.hdr__tel{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--ink-700);font-family:var(--font-ui);font-weight:var(--fw-bold)}
.hdr__tel svg{color:var(--flame-ember)}
.icon-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;cursor:pointer;color:var(--ink-800);flex-shrink:0}
.icon-btn--tel{color:var(--flame-ember)}
.hdr__burger{display:none}
.hdr__menu{display:none;position:absolute;top:100%;left:0;right:0;background:#FDFAF5;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);padding:6px var(--gutter) 14px}
.hdr__menu.is-open{display:block}
.hdr__menu a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--ink-800)}
.hdr__menu a[aria-current="page"]{font-weight:var(--fw-bold);color:var(--flame-ember)}
.hdr__menu a.hdr__menu-af{border-bottom:0;gap:7px;font-size:var(--text-sm);font-weight:800;color:var(--flame-ember)}
.hdr__menu a.hdr__menu-af b{color:var(--flame-orange)}

/* bandeau offre */
.promo{background:var(--ink-950);color:#fff}
.promo__in{max-width:var(--container-wide);margin:0 auto;padding:11px var(--gutter);display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap;font-family:var(--font-ui);font-size:var(--text-sm)}
.promo__dot{width:7px;height:7px;border-radius:50%;background:var(--flame-gold);flex-shrink:0}
.promo b{font-weight:var(--fw-bold)}
.promo span{color:rgba(255,255,255,.6)}
.promo a{color:var(--flame-gold);font-weight:var(--fw-bold);display:inline-flex;align-items:center;gap:6px}
.promo a:hover{color:var(--flame-amber)}

/* ---------- pied de page ---------- */
.ftr{background:var(--gradient-hearth-dark);color:#fff}
.ftr__in{max-width:var(--container-wide);margin:0 auto;padding:var(--space-9) var(--gutter) var(--space-6)}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:var(--space-7)}
.ftr img{height:74px;width:auto;margin-bottom:16px;display:block}
.ftr p{color:rgba(255,255,255,.65);font-family:var(--font-ui);font-size:var(--text-sm);max-width:300px;line-height:1.6}
.ftr__brands{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.ftr__brands span{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:4px 10px}
.ftr__t{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--flame-gold);margin-bottom:14px}
.ftr__col{display:flex;flex-direction:column;gap:10px}
.ftr__col a,.ftr__info span{color:rgba(255,255,255,.7);font-family:var(--font-ui);font-size:var(--text-sm)}
.ftr__col a:hover{color:#fff}
.ftr__info{display:flex;flex-direction:column;gap:10px}
.ftr__info span{display:flex;gap:8px}
.ftr__info svg{flex-shrink:0;margin-top:2px}
.ftr__base{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font-family:var(--font-ui);font-size:var(--text-sm);color:rgba(255,255,255,.68)}
.ftr__base a{color:rgba(255,255,255,.68);text-decoration:underline;text-underline-offset:3px}
.ftr__base a:hover{color:#fff}

/* badge ouvert / fermé */
.badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-bold);border-radius:var(--radius-pill);padding:6px 14px;background:var(--white);color:var(--ink-800);box-shadow:var(--shadow-sm);width:fit-content}
.badge__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-300);flex-shrink:0}
.badge.is-open .badge__dot{background:#2E9E5B}
.badge__detail{font-weight:var(--fw-regular);color:var(--ink-500)}
.badge--dark{background:rgba(255,255,255,.08);color:#fff}
.badge--dark .badge__detail{color:rgba(255,255,255,.6)}
.badge__note{display:block;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--flame-ember);margin-top:6px}

/* ---------- cartes ---------- */
.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}
.card--flat{box-shadow:none;border:1px solid var(--border-subtle)}
.card h3{font-family:var(--font-serif);margin:0 0 8px}
.card p{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600);line-height:1.6;margin:0}
.tile{display:flex;gap:var(--space-5);align-items:flex-start}
.tile__icon{width:46px;height:46px;border-radius:var(--radius-md);background:var(--flame-amber-050);color:var(--flame-ember);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.checks li{display:flex;gap:10px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600);line-height:1.5}
.checks svg{color:var(--flame-amber);flex-shrink:0;margin-top:1px}
.sec--dark .checks li{color:rgba(255,255,255,.75)}
.info{display:flex;gap:10px;align-items:flex-start;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600)}
.info svg{color:var(--flame-ember);flex-shrink:0;margin-top:1px}
.info strong{color:var(--ink-950)}
.sec--dark .info,.sec--gradient .info{color:rgba(255,255,255,.8)}
.sec--dark .info svg,.sec--gradient .info svg{color:var(--flame-gold)}
.figure{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.figure img{width:100%;height:100%;object-fit:cover;display:block}
.figure--ratio{aspect-ratio:4/3}
.figure--soft{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}

/* ---------- chiffres ---------- */
.stat__v{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--flame-gold);line-height:1}
.stat__l{font-family:var(--font-ui);font-size:var(--text-sm);color:rgba(255,255,255,.55);margin-top:6px}

/* ---------- fiche produit / catalogue ---------- */
.pcard{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.pcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.pcard__img{display:block;position:relative;aspect-ratio:1/1;background:var(--ink-100)}
.pcard__img img{width:100%;height:100%;object-fit:cover;display:block}
.pcard__flag{position:absolute;top:10px;left:10px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);padding:5px 11px;background:var(--ink-950);color:#fff}
.pcard__body{padding:var(--space-5);display:flex;flex-direction:column;gap:10px;flex:1}
.pcard__brand{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400)}
.pcard__name{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink-950);margin:0}
.pcard__blurb{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600);line-height:1.5;margin:0}
.tags{display:flex;gap:6px;flex-wrap:wrap}
/* étiquettes : reprend components/data-display/Badge.jsx */
.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;border-radius:var(--radius-pill);padding:4px 12px;background:var(--ink-100);color:var(--ink-700)}
.tag--success{background:var(--success-bg);color:var(--success)}
.tag--info{background:var(--info-bg);color:var(--info)}
.tag--neutral{background:var(--ink-100);color:var(--ink-700)}
.tag--cat{background:var(--ink-100);color:var(--ink-700)}
.sec--dark .tag--neutral,.sec--dark .tag--cat{background:rgba(255,255,255,.12);color:#fff}
.sec--dark .tag--flag{background:var(--white);color:var(--ink-950)}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px}
.selbtn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:800;border-radius:var(--radius-pill);padding:7px 12px;border:1px solid var(--border-strong);background:transparent;color:var(--ink-700);cursor:pointer}
.selbtn.is-on{background:var(--ink-950);color:#fff;border-color:transparent}
.selbtn--dark{border-color:var(--ink-600);color:#fff}
.selbtn--dark.is-on{background:var(--white);color:var(--ink-950)}

/* filtres */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.chip{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-bold);border-radius:var(--radius-pill);padding:9px 16px;border:1px solid var(--border-subtle);background:var(--white);color:var(--ink-700);cursor:pointer}
.chip.is-on{background:var(--ink-950);color:#fff;border-color:var(--ink-950)}
.filters select{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-bold);border-radius:var(--radius-pill);padding:9px 16px;border:1px solid var(--border-subtle);background:var(--white);color:var(--ink-700);cursor:pointer}
.empty{text-align:center;padding:var(--space-8) 0}

/* pastille / barre de sélection */
.sel{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:900;width:max-content;max-width:calc(100vw - 40px);display:none;flex-direction:column;align-items:stretch}
.sel.is-active{display:flex}
.sel__list{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);margin-bottom:10px;max-height:46vh;overflow-y:auto;display:none}
.sel.is-open .sel__list{display:block}
.sel__item{display:flex;align-items:center;gap:12px;padding:8px 4px}
.sel__item img{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0}
.sel__item a{flex:1;min-width:0;display:flex;align-items:center;gap:12px}
.sel__item strong{display:block;font-family:var(--font-ui);font-weight:700;font-size:var(--text-sm);color:var(--ink-950)}
.sel__item em{display:block;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-400);font-style:normal}
.sel__rm{background:none;border:0;cursor:pointer;color:var(--ink-400);padding:6px;line-height:0}
.sel__clear{background:none;border:0;cursor:pointer;padding:8px 4px 2px;font-family:var(--font-ui);font-weight:700;font-size:var(--text-sm);color:var(--ink-400)}
.sel__bar{background:var(--ink-950);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);padding:10px 10px 10px 20px;display:flex;align-items:center;gap:var(--space-4)}
.sel__toggle{background:none;border:0;cursor:pointer;padding:0;display:flex;align-items:center;gap:10px;font-family:var(--font-ui);font-weight:700;font-size:var(--text-sm);color:#fff;flex:1;text-align:left}
.sel__n{min-width:24px;height:24px;border-radius:50%;background:var(--flame-ember);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm)}
.sel__fab{display:none}

/* ---------- étapes ---------- */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);align-items:start}
.step{background:none;border:0;padding:0;cursor:pointer;text-align:center}
.step__n{display:flex;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--white);color:var(--flame-ember);align-items:center;justify-content:center;font-family:var(--font-serif);font-size:var(--text-lg);font-weight:700;box-shadow:var(--shadow-sm);transition:background .2s var(--ease-out),color .2s var(--ease-out)}
.step.is-on .step__n{background:var(--gradient-flame-h);color:#fff}
.step__t{display:block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:800;line-height:1.35;color:var(--ink-700)}
.step.is-on .step__t{color:var(--ink-950)}
.steps__d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease-out)}
.steps__d.is-open{grid-template-rows:1fr}
.steps__d>div{overflow:hidden}
.steps__d p{margin:var(--space-5) 0 0;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5) var(--space-6);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink-600);line-height:1.6;opacity:0;transition:opacity .2s var(--ease-out)}
.steps__d.is-open p{opacity:1}

/* ---------- avis ---------- */
.revs{column-count:3;column-gap:var(--space-5)}
.rev{break-inside:avoid;background:var(--white);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm)}
.rev.is-hidden{display:none}
.rev__top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.rev__av{width:38px;height:38px;border-radius:50%;background:var(--flame-amber-050);color:var(--flame-ember);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:800;font-size:15px;flex-shrink:0}
.rev__who{min-width:0}
.rev__who strong{display:block;font-family:var(--font-ui);font-weight:700;font-size:var(--text-sm);color:var(--ink-950)}
.rev__who span{display:block;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-400)}
.rev__stars{margin-left:auto;display:flex;gap:2px;color:var(--flame-amber)}
.rev p{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600);line-height:1.6}
.score{display:flex;align-items:center;gap:var(--space-4);background:var(--white);border-radius:var(--radius-lg);padding:14px 22px;box-shadow:var(--shadow-sm);width:fit-content}
.score__v{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--ink-950);line-height:1}
.score__s{display:flex;gap:2px;color:var(--flame-amber)}
.score__c{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-500);margin-top:4px}
#avis-plus{display:none}

/* ---------- formulaire ---------- */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:var(--space-4)}
.field>span{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.field>span i{color:var(--flame-ember);font-style:normal}
.field input,.field textarea,.field select{font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink-900);background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;width:100%}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--flame-amber);outline-offset:1px;border-color:transparent}
.field textarea{min-height:130px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600);line-height:1.55;margin-bottom:var(--space-5)}
.consent input{margin-top:3px;accent-color:var(--flame-ember);width:18px;height:18px;flex-shrink:0}
.formnote{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-500);line-height:1.55;margin:0}
.formnote a{color:var(--flame-ember);font-weight:700}
.alert{border-radius:var(--radius-md);padding:12px 16px;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.55;margin-bottom:var(--space-4);display:none}
.alert.is-on{display:block}
.alert--err{border:1px solid var(--flame-red);color:var(--flame-red);background:var(--flame-amber-050)}
.alert--ok{border:1px solid #2E9E5B;color:#1F7443;background:#EFF9F2}

/* ---------- divers ---------- */
.brandwall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);align-items:center}
.brandwall img{max-width:100%;height:auto;max-height:38px;object-fit:contain;opacity:.82;display:block;margin:0 auto}
.crumb{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.45);font-family:var(--font-ui);font-size:var(--text-sm);margin-bottom:var(--space-5)}
.crumb a{color:rgba(255,255,255,.65)}
.crumb a:hover{color:#fff}
.crumb strong{color:#fff;font-weight:var(--fw-semibold)}
.overlay{position:relative;overflow:hidden;padding:var(--space-9) 0}
.overlay>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,13,.94) 0%,rgba(20,16,13,.78) 55%,rgba(20,16,13,.45) 100%)}
.overlay .wrap{position:relative}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.gallery div{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--shadow-sm)}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.offer{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.offer__top{background:var(--gradient-flame-h);color:#fff;padding:var(--space-5) var(--space-6)}
.offer__top h3{color:#fff;margin:0;font-family:var(--font-serif)}
.offer__b{padding:var(--space-6)}
.offer__when{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.legal h2{font-size:var(--text-xl);margin:var(--space-7) 0 var(--space-4)}
.legal p{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-600);line-height:1.7}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--gutter);top:8px;z-index:200;background:var(--white);padding:10px 16px;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg)}

/* ============================================================
   Adaptations écran — 1120 (en-tête compact) · 1024 · 700 · 400
   ============================================================ */
@media (max-width:1120px){
  .hdr__logo img{height:44px}
  .hdr__nav{margin-left:0;gap:var(--space-4)}
  .hdr__af{display:none}
  .hdr__tel{display:none}
  .hdr__tel--icon{display:flex}
}
@media (min-width:1121px){.hdr__tel--icon{display:none}}
@media (max-width:1024px){
  .grid--4,.ftr__grid{grid-template-columns:1fr 1fr}
  .grid--split,.grid--split-end{grid-template-columns:1fr;gap:var(--space-7)}
  .brandwall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .revs{column-count:2}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){.grid--3{grid-template-columns:1fr 1fr}}
@media (max-width:880px){
  .hdr__row{min-height:64px;gap:10px}
  .hdr__logo img{height:38px}
  .hdr__nav{display:none}
  .hdr__burger{display:flex}
  .hdr__actions{gap:8px}
  .btn__long{display:none}
  .hdr .btn--sm{min-height:44px}
  a[href^="tel:"]:not(.hdr__tel),a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}
  .ftr__col a{display:inline-flex;align-items:center;min-height:40px}
}
@media (min-width:881px){.btn__short{display:none}}
@media (max-width:700px){
  :root{--gutter:20px;--text-4xl:2.05rem;--text-3xl:1.75rem;--text-2xl:1.45rem;--text-xl:1.3rem;--space-9:52px;--space-8:40px;--space-7:32px}
  .grid--2,.grid--3,.grid--4,.ftr__grid,.steps,.gallery{grid-template-columns:1fr}
  .revs{column-count:1}
  .brandwall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .figure--ratio{aspect-ratio:3/2}
  .overlay__scrim{background:linear-gradient(180deg,rgba(20,16,13,.82) 0%,rgba(20,16,13,.94) 70%)}
  #avis-plus{display:inline-flex}
  .rev.is-extra{display:none}
  .revs.is-all .rev.is-extra{display:block}
  /* pastille ronde : la barre pleine largeur mangerait le bas de l'écran */
  .sel{left:12px;right:12px;bottom:14px;transform:none;width:auto;max-width:none;align-items:flex-end}
  .sel__bar{display:none}
  .sel.is-open{align-items:stretch}
  .sel.is-open .sel__bar{display:flex}
  .sel__fab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:62px;height:62px;border:0;border-radius:50%;background:var(--gradient-flame-h);box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;padding:0}
  .sel.is-open .sel__fab{display:none}
  .sel__fab b{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:700;line-height:1}
  .sel__fab span{font-family:var(--font-ui);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
}
@media (max-width:400px){
  :root{--gutter:16px;--text-4xl:1.85rem}
  .hdr__logo img{height:34px}
  .brandwall{grid-template-columns:1fr 1fr}
}
@media print{.hdr,.ftr,.promo,.sel{display:none}}

/* ---------- classes ajoutées pour les pages statiques ---------- */
.hero-facts{padding-top:var(--space-5);border-top:1px solid var(--border-subtle);align-items:flex-start;gap:var(--space-6)}
.hero-facts .star{color:var(--flame-amber);display:inline-flex}
.row--end{align-items:flex-end}
.row--cta{gap:var(--space-6);align-items:center}
.stats{display:flex;gap:var(--space-7)}
.stack--gap4{gap:var(--space-4)}
.proof{display:flex;gap:var(--space-5);align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-6)}
.proof__icon{width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-md);background:var(--gradient-flame-h);color:#fff;display:flex;align-items:center;justify-content:center}
.proof__t{font-family:var(--font-ui);font-weight:800;font-size:var(--text-md);color:#fff;margin-bottom:4px}
.proof__t--light{color:var(--ink-950)}
.proof__d{font-family:var(--font-ui);font-size:var(--text-sm);color:rgba(255,255,255,.6);line-height:1.5}
.card__sub{color:var(--flame-ember)!important;font-weight:700;margin-bottom:20px!important}
.overlay__box{max-width:560px}
.overlay__box h2{color:#fff}
.overlay__box p{color:rgba(255,255,255,.75);font-family:var(--font-ui);line-height:1.65}
.mb3{margin-bottom:10px}
.pcard__name a{color:inherit}
.pcard__name a:hover{color:var(--flame-ember)}
@media (max-width:700px){.hero-facts{gap:var(--space-5)}.stats{gap:var(--space-6)}}

/* ---------- catalogue & fiche produit ---------- */
.h1sub{color:rgba(255,255,255,.5);font-weight:400}
.minis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.mini{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;color:inherit}
.mini:hover{box-shadow:var(--shadow-lg);color:inherit}
.mini img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.mini span{padding:var(--space-4);display:block}
.mini strong{display:block;font-family:var(--font-ui);font-weight:700;font-size:var(--text-sm);color:var(--ink-950);margin-bottom:4px}
.mini em{display:block;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-500);font-style:normal;line-height:1.45}
@media (max-width:1024px){.minis{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.minis{grid-template-columns:1fr 1fr}}

/* ---------- page services ---------- */
.sec--topline{border-top:1px solid var(--border-subtle)}
.zone__ico{color:var(--flame-ember);flex-shrink:0;margin-top:1px;display:inline-flex}
.card__foot{border-top:1px solid var(--border-subtle);padding-top:var(--space-4);margin-top:var(--space-4);display:flex;gap:var(--space-3);flex-wrap:wrap}
.card--accent{padding:var(--space-7);border-top:3px solid var(--flame-amber)}
.card--accent h3{font-size:var(--text-xl);margin:0 0 12px}
.card--accent p{font-size:var(--text-base);line-height:1.65}
.tile__icon--lg{width:60px;height:60px;margin-bottom:var(--space-5)}
.tile__icon--sm{width:42px;height:42px;margin-bottom:12px}
.strip{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.strip__ico{color:var(--ink-400);flex-shrink:0;display:inline-flex}
.strip__txt{flex:1;min-width:260px;margin:0;font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink-600);line-height:1.6}
.strip__txt strong{color:var(--ink-950);font-weight:800}
.stack--gap3{gap:var(--space-3)}
.proof--sm{padding:var(--space-5);align-items:flex-start}
.proof__gold{color:var(--flame-gold);flex-shrink:0;margin-top:2px;display:inline-flex}
.card--mini{padding:var(--space-5)}
.mini__t{font-family:var(--font-ui);font-weight:800;font-size:var(--text-sm);color:var(--ink-950);margin-bottom:5px}
.mini__d{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-500);line-height:1.5}

/* ---------- page showroom ---------- */
.grid--split-rev{grid-template-columns:1fr 1.05fr}
.fact{display:flex;gap:12px;align-items:flex-start}
.fact__i{color:var(--flame-ember);flex-shrink:0;margin-top:2px;display:inline-flex}
.fact__l{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);margin-bottom:3px}
.fact__v{font-family:var(--font-ui);color:var(--ink-800);font-weight:600;line-height:1.5}
.fact__v .badge{margin-top:5px}
.row--brands{gap:var(--space-7)}
.brands__t{font-family:var(--font-ui);font-weight:800;font-size:var(--text-sm);color:var(--ink-950);white-space:nowrap}
.brands__wall{flex:1;min-width:340px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.brands__wall span{display:flex;align-items:center;justify-content:center;height:44px;flex:1 1 90px}
.brands__wall img{max-height:38px;max-width:100%;width:auto;object-fit:contain;opacity:.8}
.tile__ember{color:var(--flame-ember);flex-shrink:0;margin-top:2px;display:inline-flex}
.mini__t--md{font-size:var(--text-base)}
.shots{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-4)}
.shots__a{aspect-ratio:16/10}
.shots__b{height:100%}
.shots img{width:100%;height:100%;object-fit:cover;display:block}
.shot{display:block;color:inherit}
.shot .alink{margin-top:8px}
@media (max-width:1024px){.grid--split-rev{grid-template-columns:1fr}.shots{grid-template-columns:1fr}.shots__a,.shots__b{aspect-ratio:16/10;height:auto}}
@media (max-width:700px){.brands__wall{min-width:0;gap:var(--space-4)}}

/* ---------- page offres ---------- */
.offres{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.offres--solo{grid-template-columns:minmax(0,560px)}
.offre{position:relative;overflow:hidden;background:linear-gradient(178deg,#2a1f16 0%,#1d1611 54%,#120c08 100%);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-7)}
.offre__glow{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 120%,rgba(245,145,32,.28),transparent 68%);pointer-events:none}
.offre__in{position:relative}
.offre__top{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-5);flex-wrap:wrap}
.offre__kind{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--flame-gold)}
.offre__when{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:3px 12px}
.offre__t{font-family:var(--font-serif);font-size:var(--text-2xl);color:#fff;margin:0 0 8px}
.offre__lead{font-family:var(--font-ui);font-size:var(--text-md);color:rgba(255,255,255,.7);margin:0 0 var(--space-6);line-height:1.55}
.offre__perks{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--space-6);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12)}
.offre__perk{display:flex;align-items:baseline;gap:12px}
.offre__big{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:700;color:var(--flame-gold);flex-shrink:0}
.offre__perk span:last-child{font-family:var(--font-ui);font-size:var(--text-base);color:rgba(255,255,255,.82)}
.offre__foot{padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12)}
.offres__note{font-family:var(--font-ui);font-size:var(--text-sm);color:rgba(255,255,255,.5);margin:var(--space-5) 0 0}
@media (max-width:700px){.offres,.offres--solo{grid-template-columns:1fr}}

/* ---------- page contact ---------- */
.grid--form{grid-template-columns:1fr 1.1fr;gap:var(--space-8);align-items:start}
.fact__sub{margin:-20px 0 20px;padding-left:32px}
.hours__t{display:flex;align-items:center;gap:8px;font-family:var(--font-serif);font-weight:600;color:var(--ink-950)}
.hours__row{display:flex;justify-content:space-between;padding:5px 0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-800)}
.hours__row span:last-child{font-weight:700}
.hours__row.is-closed{color:var(--ink-400)}
.muted--sm{font-family:var(--font-ui);font-size:var(--text-sm);margin-top:3px}
.btn--full{width:100%}
.sel__list--inline{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3);background:none;box-shadow:none;padding:0;max-height:none;overflow:visible}
.sel__list--inline .sel__item{background:var(--surface-page);border-radius:var(--radius-md);padding:7px}
@media (max-width:1024px){.grid--form{grid-template-columns:1fr}}

.wrap--doc{max-width:820px}
.legal section{margin-bottom:var(--space-7)}
.legal h2{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-950);margin:0 0 14px}
.legal p{margin:0 0 12px}
.row--center{justify-content:center}
.card__h2{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-950);margin:0 0 12px}
.card--accent .card__h2{font-size:var(--text-xl)}

/* Les attributs width/height des images réservent la place au chargement,
   mais imposeraient leur largeur intrinsèque : width:auto laisse le rapport
   se recalculer à partir de la hauteur fixée en CSS. */
.brandwall img,.brands__wall img{height:38px;width:auto;max-width:100%;object-fit:contain}
.hdr__logo img,.ftr img{max-width:100%}
@media (max-width:1120px){.hdr__logo img{height:44px;width:auto}}
@media (max-width:880px){.hdr__logo img{height:38px;width:auto}}
@media (max-width:400px){.hdr__logo img{height:34px;width:auto}}

/* ---------- correctifs de rendu (retours de relecture) ---------- */
/* (4) .checks impose margin:0 et écrasait .mb6 : on rétablit l'espace
   avant le lien « Voir les poêles à … » */
.checks.mb6{margin-bottom:var(--space-6)}
/* (5) Bandeau photo « Passez nous voir » : icônes dorées, texte blanc,
   comme dans la maquette — sur photo, l'ambre manquait de contraste. */
.overlay .info{color:rgba(255,255,255,.8)}
.overlay .info svg{color:var(--flame-gold)}
.overlay .info strong{color:#fff}
/* (8) Page Contact : numéros et e-mail de la même couleur que l'adresse.
   La règle générique a{color:var(--link)} les faisait ressortir en orange. */
.fact a,.afrow a{color:var(--ink-800);font-weight:600}
.fact a:hover{color:var(--flame-ember)}

/* ---------- comparatif bois / granulés, dépliable ---------- */
.gtop{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-8);align-items:end}
.guide{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;gap:var(--space-4);align-items:flex-start}
.guide__ico{color:var(--flame-ember);flex-shrink:0;margin-top:2px;display:inline-flex}
.guide__t{font-family:var(--font-ui);font-weight:var(--fw-extra);font-size:var(--text-base);color:var(--ink-950);margin:0 0 4px}
.guide__s{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-500);line-height:1.55;margin:0 0 10px}
.guide__q{appearance:none;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:var(--text-sm);color:var(--flame-ember)}
.guide__chev{display:inline-flex;transition:transform .2s var(--ease-out)}
.guide__q.is-open .guide__chev{transform:rotate(-90deg)}
.guide__p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease-out)}
.guide__p.is-open{grid-template-rows:1fr}
.guide__p>.guide__in{overflow:hidden}
.choix{background:var(--surface-flame-wash);border-radius:var(--radius-lg);padding:var(--space-6);margin-top:var(--space-5)}
.choix__col{background:var(--white);border-radius:var(--radius-md);padding:var(--space-5)}
.choix__col h3{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink-950);margin:0 0 4px}
.choix__sub{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--flame-ember);font-weight:var(--fw-bold);margin:0 0 16px}
.choix__col .checks{margin:0 0 18px}
.choix__cta{appearance:none;border:0;background:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:var(--text-sm);color:var(--flame-ember)}
.choix__cta svg{transition:transform .18s var(--ease-out)}
.choix__cta:hover svg{transform:translateX(3px)}
.choix__note{text-align:center;margin:var(--space-5) 0 0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-500)}
.filters--row{justify-content:space-between;padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}
.filters__cats{display:flex;flex-wrap:wrap;gap:8px}
.filters__sel{display:flex;gap:10px;align-items:center}
.sec--flush{padding-top:0;padding-bottom:var(--space-7)}
@media (max-width:900px){.gtop{grid-template-columns:1fr;gap:var(--space-6)}}
@media (max-width:700px){.choix{padding:var(--space-5)}.filters--row{gap:var(--space-4)}}

/* ---------- fiche produit : un seul bloc sombre ---------- */
.grid--fiche{grid-template-columns:1fr 1.15fr;gap:var(--space-8);align-items:start}
.grid--fiche .figure img{width:100%;height:auto;display:block}
.fiche__lead{font-family:var(--font-ui);font-size:var(--text-md);color:rgba(255,255,255,.78);line-height:1.6;margin:0 0 var(--space-6)}
.checks--dark li{color:rgba(255,255,255,.78)}
.checks--dark svg{color:var(--flame-gold)}
.fiche__note{font-family:var(--font-ui);font-size:var(--text-sm);color:rgba(255,255,255,.6);line-height:1.6;margin:0;padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12)}
.fiche__note .alink{margin-left:6px}
.sec--dark .selbtn--dark:hover{background:rgba(255,255,255,.1)}
@media (max-width:1024px){.grid--fiche{grid-template-columns:1fr;gap:var(--space-6)}}

/* Logo de certification dans la carte « La maison » */
.proof__logo{flex-shrink:0;width:96px;background:var(--white);border-radius:var(--radius-md);padding:10px 8px;display:flex;align-items:center;justify-content:center}
.proof__logo img{width:100%;height:auto;display:block}
/* l'accroche ne doit pas coller aux logos de marques */
.card>p.mb6{margin-bottom:var(--space-6)}
@media (max-width:700px){.proof__logo{width:88px}}

.ftr__soc{display:flex;gap:10px;margin-top:var(--space-4)}
.ftr__soc a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);transition:background .15s,color .15s}
.ftr__soc a:hover{background:var(--flame-ember);color:#fff}

.soc{display:flex;gap:8px;margin-top:4px}
.soc a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--flame-amber-050);color:var(--flame-ember);transition:background .15s,color .15s}
.soc a:hover{background:var(--flame-ember);color:#fff}
