/* Socle CSS du patron site-affiliation.
   Tout ce qui fait l'apparence vit dans :root ci-dessous : couleurs, polices,
   echelle typographique, espacements, rayons, traits. Changer ces valeurs
   reskinne le site entier.

   Deux regles, et le reskin tient :
   1. aucun hex en dur dans un composant ;
   2. aucune taille, aucun espacement, aucun rayon hors des echelles.
   `python <skill>/scripts/verifier-design.py <site>` verifie les deux. */

/* Polices hebergees sur le site (19/10/2026) : fichiers Google Fonts (Archivo v25,
   Source Sans 3 v20) dans /assets/polices/, plus de requete vers Google.
   Les deux fichiers latin sont precharges dans le <head>. Les faces « repli »
   recalent Arial sur les metriques des vraies polices : le texte ne saute pas
   quand la police arrive (CLS). latin-ext AVANT latin : les plages se recouvrent
   (œ, ı) et la derniere face declaree gagne ; dans l'autre ordre, chaque page
   avec un « œ » telecharge aussi les fichiers latin-ext (150 Ko). */
@font-face{font-family:'Archivo';font-style:normal;font-weight:700 900;font-stretch:75% 100%;font-display:swap;
  src:url(/assets/polices/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700 900;font-stretch:75% 100%;font-display:swap;
  src:url(/assets/polices/archivo-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/polices/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/polices/source-sans-3-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Metriques calculees avec fontTools (Archivo instancie a wdth 82 / wght 800 contre Arial Bold) */
@font-face{font-family:'Archivo repli';font-weight:700 900;src:local('Arial Bold'),local('Arial-BoldMT');
  size-adjust:87.83%;ascent-override:99.96%;descent-override:23.91%;line-gap-override:0%}
@font-face{font-family:'Source Sans 3 repli';font-weight:400 500;src:local('Arial'),local('ArialMT');
  size-adjust:93.47%;ascent-override:109.56%;descent-override:42.8%;line-gap-override:0%}
@font-face{font-family:'Source Sans 3 repli';font-weight:600 700;src:local('Arial Bold'),local('Arial-BoldMT');
  size-adjust:92.55%;ascent-override:110.65%;descent-override:43.22%;line-gap-override:0%}

:root{
  /* Polices â€” a changer par site (voir references/design.md) */
  --police-titre:'Archivo','Archivo repli','Arial Narrow',system-ui,sans-serif;
  --police-texte:'Source Sans 3','Source Sans 3 repli',system-ui,sans-serif;
  --police-mono:'Archivo','Archivo repli','Arial Narrow',system-ui,sans-serif;  /* grands chiffres : mÃªme famille que les titres */

  /* Echelle typographique â€” 12 paliers, et il n'en existe pas d'autre.
     Une page qui melange 12px, 12.5px et 13px n'a pas l'air riche, elle a
     l'air imprecise : l'oeil lit le desordre avant de lire le texte.
     Aucun composant n'ecrit une taille en dur, tous passent par ces variables. */
  --t-3xs:12px;   /* mentions legales, credits photo, badges */
  --t-2xs:13px;   /* metadonnees, etiquettes */
  --t-xs:14px;    /* texte dense : cellules de tableau, specs */
  --t-sm:15px;    /* texte secondaire, cartes */
  --t-md:16px;    /* corps de texte suivi */
  --t-lg:19px;    /* chapo, H3, resume citable */
  --t-xl:24px;    /* nom de marque, gros prix */
  --t-2xl:28px;   /* H2 en mobile, H1 en mobile */
  --t-3xl:32px;   /* H2 */
  --t-4xl:40px;   /* prix vedette, H1 d'article */
  --t-5xl:46px;   /* H1 d'accueil */
  --t-6xl:64px;   /* display : chiffres du podium */
  --taille-emoji:100px;  /* le glyphe du bandeau : une image, pas du texte */

  /* Espacement â€” grille de 4. Toute valeur est un multiple de 4, sans exception.
     Pas de variables ici volontairement : la regle est arithmetique, et
     `--e-9:40px` n'apprend rien de plus que `40px`. C'est verifier-design.py
     qui tient la grille. Les paliers ci-dessous servent de reperes de rythme. */
  --e-1:4px; --e-2:8px; --e-3:12px; --e-4:16px; --e-5:20px; --e-6:24px;
  --e-7:32px; --e-8:48px; --e-9:64px; --e-10:96px;

  /* Rayons â€” 3 pas plus la pilule. C'est le levier de temperament le plus
     rapide : tout a 0 donne un site tranchant, tout a --r-lg un site rond. */
  --r-sm:8px; --r-md:16px; --r-lg:28px; --r-rond:999px;

  /* Traits et ombres */
  --trait:0px;        /* bordure structurante : header, cartes */
  --trait-fin:1px;    /* filets, separateurs */
  --ombre-1:0 1px 2px rgba(22,26,23,.06), 0 4px 14px rgba(22,26,23,.06);
  --ombre-2:0 2px 6px rgba(22,26,23,.08), 0 16px 40px rgba(22,26,23,.10);

  /* Lecture */
  --interligne:1.65;  /* corps de texte */
  --interligne-t:1.1; /* titres */
  --mesure:68ch;      /* largeur maximale d'une colonne de texte suivi */

  /* Palette â€” a changer par site. Tous les composants s'y adaptent. */
  --fond:#f3f2ee;
  --fond-2:#e7e6df;
  --blanc:#ffffff;
  --encre:#1f2420;
  --encre-2:#323a34;
  --encre-3:#161a17;
  --texte-2:#4a514b;
  --texte-3:#5a615a;   /* 4.91:1 sur --fond : les metadonnees restent lisibles */
  --texte-4:#858b84;   /* 3.73:1 : reserve au decoratif et aux placeholders */
  --bordure:#878b84;
  --accent:#c2410c;
  --accent-fonce:#9a330a;
  --accent-clair:#ea6a2c;
  --or:#d9a441;
  --or-2:#b8862c;
  --or-clair:#f4e6c6;
  --secondaire:#2f5d3a;
  --secondaire-2:#55745a;
  /* Ã‰maux de kamado : un aplat par chapitre de l'accueil (charte Â« Ã‰maux Â», 14/10) */
  --email-rouge:#6b2a24;  /* rouge Ã©mail cuit, adouci le 14/10 (#a8261d jugÃ© trop agressif) */
  --email-vert:#1f4d38;
  --email-bleu:#1d2b45;
  --email-charbon:#151819;
  --email-creme:#e9e2d3;
  --email-clair:#f3efe6;
  --secondaire-clair:#dfe9dc;
}

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--fond);
  font-family:var(--police-texte);
  color:var(--encre);
}

a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-fonce)}
::selection{background:var(--or)}

img{max-width:100%}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes steam{0%{transform:translateY(4px) scaleX(.8);opacity:0}25%{opacity:.5}100%{transform:translateY(-52px) scaleX(1.5);opacity:0}}
@keyframes emberPulse{0%,100%{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes marquee{to{transform:translateX(-50%)}}

.page{min-height:100vh;display:flex;flex-direction:column}
.main{flex:1}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

.header{
  position:sticky;top:0;z-index:50;
  background:var(--fond);
  border-bottom:3px solid var(--encre);
  padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
}
.brand{display:flex;align-items:center;gap:8px;cursor:pointer}
.brand img{width:60px;height:60px;object-fit:contain}
.brand-name{
  font-family:var(--police-titre);font-size:var(--t-xl);letter-spacing:.01em;
  text-transform:uppercase;color:var(--accent);line-height:1;
}
.brand-name span{color:var(--secondaire)}
.brand:hover .brand-name{color:var(--accent)}

.nav{display:flex;gap:8px;align-items:center}
.nav a{
  font-size:var(--t-xs);font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;color:var(--encre);padding:4px 8px;
}
.nav a:hover{color:var(--accent)}
.nav .nav-cta{
  background:var(--accent);color:var(--blanc);font-size:var(--t-2xs);font-weight:700;
  padding:8px 16px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.02em;
}
.nav .nav-cta:hover{background:var(--accent-fonce);color:var(--blanc)}

.nav-toggle{
  display:none;background:var(--encre);color:var(--or);border:0;border-radius:var(--r-sm);
  padding:8px 12px;font-size:var(--t-md);line-height:1;cursor:pointer;
}

.nav-drop{position:relative}
.nav-drop-t{
  display:inline-flex;align-items:center;gap:4px;background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;color:var(--encre);padding:4px 8px;
}
.nav-drop-t:hover,.nav-drop-t[aria-expanded="true"]{color:var(--accent)}
.nav-drop-car{font-size:var(--t-3xs);line-height:1;transition:transform .18s ease}
.nav-drop-t[aria-expanded="true"] .nav-drop-car{transform:rotate(180deg)}

.nav-drop-p{
  position:absolute;top:calc(100% + 12px);right:0;z-index:60;
  background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);padding:8px;
}
.nav-drop-p[hidden]{display:none}
.nav .nav-drop-p a::after{display:none}
.nav-drop-p::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}

.ndp-2col{
  position:relative;display:grid;grid-template-columns:156px 186px;column-gap:26px;
  grid-template-rows:repeat(30,auto);
  align-content:start;
}
.ndp-group{display:contents}
.ndp-brand{grid-column:1;align-self:start}
.ndp-2col::after{
  content:"";position:absolute;top:0;bottom:0;left:169px;
  width:2px;background:rgba(44,36,32,.12);
}
.nav .ndp-brand{display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:var(--r-sm)}
.ndp-brand img{width:22px;height:22px;object-fit:contain;border-radius:var(--r-sm);flex:none}
.ndp-brand b{
  font-size:var(--t-2xs);font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;color:var(--encre);line-height:1.2;
}
.ndp-arrow{margin-left:auto;font-size:var(--t-xs);line-height:1;color:var(--bordure)}
.nav .ndp-brand:hover,.nav .ndp-brand.is-on{background:var(--fond)}
.nav .ndp-brand:hover b,.nav .ndp-brand.is-on b{color:var(--accent)}
.nav .ndp-brand:hover .ndp-arrow,.nav .ndp-brand.is-on .ndp-arrow{color:var(--accent)}

.ndp-pane{grid-column:2;grid-row:1 / -1;display:none}
.ndp-pane.is-on{display:block}
.ndp-pane-t{
  font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.09em;
  color:var(--texte-4);padding:4px 8px 8px;
}
.nav .ndp-item{
  display:block;padding:4px 8px;border-radius:var(--r-sm);font-size:var(--t-2xs);font-weight:600;
  text-transform:none;letter-spacing:0;color:var(--texte-2);line-height:1.35;
}
.nav .ndp-item:hover{background:var(--fond);color:var(--accent)}
.nav .ndp-all{
  display:block;margin-top:4px;padding:4px 8px;font-size:var(--t-3xs);font-weight:700;
  text-transform:none;letter-spacing:0;color:var(--accent);
}
.nav .ndp-all:hover{text-decoration:underline;text-underline-offset:2px}

.hero{position:relative;overflow:hidden;background:var(--encre-3)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.92) 0%,rgba(20,15,12,.82) 34%,rgba(20,15,12,.35) 56%,rgba(20,15,12,0) 74%)}
.hero-inner{
  position:relative;max-width:1080px;margin:0 auto;padding:64px 24px;
  min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
.hero-copy{max-width:500px}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-3xs);font-weight:600;color:var(--fond-2);margin-bottom:16px}
.hero-kicker .stars{color:var(--or-2);letter-spacing:1px}
.hero h1{
  font-family:var(--police-titre);font-size:var(--t-5xl);line-height:.96;margin:0 0 16px;
  text-transform:uppercase;letter-spacing:.005em;color:var(--blanc);
}
.hero h1 em{font-style:normal;color:var(--accent-clair)}
.hero p{font-size:var(--t-sm);line-height:1.55;color:var(--bordure);margin:0 0 24px;max-width:440px}

.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:46px;line-height:0}
.hero-wave svg{display:block;width:100%;height:100%}

.btn{display:inline-block;font-weight:700;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;border:0}
.btn-red{background:var(--accent);color:var(--blanc);font-size:var(--t-xs);padding:12px 24px;box-shadow:0 10px 26px -10px rgba(192,57,43,.8)}
.btn-red:hover{background:var(--accent-fonce);color:var(--blanc)}
.btn-yellow{background:var(--or);color:var(--encre);font-size:var(--t-xs);padding:12px 24px}
.btn-yellow:hover{background:var(--or-2);color:var(--encre)}

.section{max-width:1080px;margin:0 auto;padding:44px 24px 20px}
.section-podium{scroll-margin-top:80px}
.eyebrow{font-size:var(--t-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--secondaire);margin-bottom:8px}
.h-center{text-align:center;margin-bottom:30px}
.h2{font-family:var(--police-titre);font-size:var(--t-3xl);text-transform:uppercase;margin:0;letter-spacing:.01em}
.h2-sm{font-family:var(--police-titre);font-size:var(--t-2xl);text-transform:uppercase;margin:0}

.podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:16px;align-items:end}

.pod{border-radius:var(--r-md);padding:20px}
.pod-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pod-num{font-family:var(--police-titre);font-size:var(--t-sm);width:30px;height:30px;line-height:30px;text-align:center;border-radius:var(--r-sm)}
.pod-label{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.pod-shot{height:120px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden}
.pod-shot span{font-family:var(--police-mono);font-size:var(--t-3xs)}
.pod-shot img{width:100%;height:100%;object-fit:contain;background:var(--blanc)}
.pod-name{font-weight:700;font-size:var(--t-sm);margin-bottom:6px}
.pod-meta{font-size:var(--t-2xs);margin-bottom:14px}
.pod-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pod-price{font-family:var(--police-titre);font-size:var(--t-xl)}
.pod-btn{font-weight:700;font-size:var(--t-2xs);padding:8px 12px;border-radius:var(--r-sm);white-space:nowrap}
.pod-line{font-size:var(--t-2xs);line-height:1.5;margin:-4px 0 12px;color:var(--texte-2)}
.pod-more{display:block;margin-top:12px;text-align:center;font-size:var(--t-3xs);font-weight:700;color:var(--texte-3)}
.pod-more:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

.pod-2{background:var(--fond);border:2px solid var(--secondaire);box-shadow:0 10px 28px -16px rgba(90,110,58,.55)}
.pod-2 .pod-num{color:var(--blanc);background:var(--secondaire)}
.pod-2 .pod-label{color:var(--secondaire)}
.pod-2 .pod-shot{background:repeating-linear-gradient(45deg,var(--secondaire-clair),var(--secondaire-clair) 9px,var(--secondaire-clair) 9px,var(--secondaire-clair) 18px)}
.pod-2 .pod-shot span{color:var(--secondaire-2)}
.pod-2 .pod-meta{color:var(--secondaire-2)}
.pod-2 .pod-price{color:var(--secondaire)}
.pod-2 .pod-btn{background:var(--secondaire);color:var(--blanc)}
.pod-2 .pod-btn:hover{background:var(--secondaire);color:var(--blanc)}
.pod-2 .pod-line{color:var(--secondaire-2)}
.pod-2 .pod-more{color:var(--secondaire-2)}
.pod-2 .pod-more:hover{color:var(--secondaire)}

.pod-1{position:relative;background:var(--blanc);border:2px solid var(--accent);border-radius:var(--r-lg);padding:24px;box-shadow:0 0 0 5px rgba(192,57,43,.1),0 20px 44px -18px rgba(192,57,43,.55)}
.pod-1 .ribbon{
  position:absolute;top:-15px;left:50%;transform:translateX(-50%);
  background:var(--accent);color:var(--blanc);font-family:var(--police-titre);font-size:var(--t-xs);
  letter-spacing:.06em;text-transform:uppercase;padding:4px 16px;border-radius:var(--r-sm);white-space:nowrap;
}
.pod-1 .pod-shot{height:150px;border-radius:var(--r-md);background:repeating-linear-gradient(45deg,var(--or-clair),var(--or-clair) 9px,var(--or-clair) 9px,var(--or-clair) 18px);margin:8px 0 16px}
.pod-1 .pod-shot span{color:var(--or-2)}
.pod-1 .pod-name{font-size:var(--t-lg)}
.pod-1 .pod-meta{font-size:var(--t-xs);color:var(--texte-3);margin-bottom:8px}
.pod-1 .pod-stars{display:flex;gap:4px;margin-bottom:16px;color:var(--or-2);font-size:var(--t-sm)}
.pod-1 .pod-stars b{color:var(--texte-2);font-size:var(--t-2xs);font-weight:600;margin-left:6px}
.pod-1 .pod-price{font-size:var(--t-2xl);color:var(--accent)}
.pod-1 .pod-btn{background:var(--accent);color:var(--blanc);font-size:var(--t-xs);padding:12px 16px;border-radius:var(--r-sm)}
.pod-1 .pod-btn:hover{background:var(--accent-fonce);color:var(--blanc)}
.pod-1 .pod-line{margin:-8px 0 16px;font-size:var(--t-xs);color:var(--texte-2)}

.pod-3{background:var(--encre);border:2px solid var(--encre);box-shadow:0 10px 28px -16px rgba(44,36,32,.6)}
.pod-3 .pod-num{color:var(--encre);background:var(--or)}
.pod-3 .pod-label{color:var(--or)}
.pod-3 .pod-shot{background:repeating-linear-gradient(45deg,var(--encre-3),var(--encre-3) 9px,var(--encre-3) 9px,var(--encre-3) 18px)}
.pod-3 .pod-shot span{color:var(--texte-3)}
.pod-3 .pod-name{color:var(--fond)}
.pod-3 .pod-meta{color:var(--texte-4)}
.pod-3 .pod-price{color:var(--or)}
.pod-3 .pod-btn{background:var(--or);color:var(--encre)}
.pod-3 .pod-btn:hover{background:var(--or-2);color:var(--encre)}
.pod-3 .pod-line{color:var(--texte-4)}
.pod-3 .pod-more{color:var(--texte-4)}
.pod-3 .pod-more:hover{color:var(--or)}

.tbl-head-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;gap:16px}
.link-more{font-size:var(--t-xs);font-weight:700;color:var(--accent)}

.tbl{border:2px solid var(--encre);border-radius:var(--r-md);overflow:hidden}
.tbl-head{
  display:grid;background:var(--encre);color:var(--or);
  font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
}
.tbl-row{display:grid;align-items:center;border-bottom:1px solid rgba(44,36,32,.1);background:var(--blanc)}
.tbl-row:last-child{border-bottom:0}
.tbl .c-specs{display:contents}

.tbl-top .tbl-head,.tbl-top .tbl-row{grid-template-columns:40px 68px 1.7fr .72fr .68fr .72fr .8fr 1.3fr}

.tbl-head>div,.tbl-head .c-specs>div{padding:12px 4px;text-align:center}
.tbl-head .h-rank{padding:12px 8px}
.tbl-head .h-name{padding:12px 12px;text-align:left}
.tbl-head .h-price{padding:12px 12px}

.c-rank{padding:12px 8px;text-align:center;font-family:var(--police-titre);font-size:var(--t-sm);color:var(--bordure)}
.c-shot{padding:8px 4px;display:flex;align-items:center;justify-content:center}
.c-shot img{width:56px;height:56px;object-fit:contain;background:var(--blanc);border-radius:var(--r-sm)}
.c-name{padding:12px 12px}
.c-name b{font-size:var(--t-xs)}
.c-tag{font-size:var(--t-3xs);color:var(--texte-3)}
.c-line{font-size:var(--t-3xs);line-height:1.45;color:var(--texte-4);margin:4px 0 0}
.c-type{padding:12px 4px;text-align:center;font-size:var(--t-2xs);font-weight:700;color:var(--secondaire)}
.c-temp,.c-chauffe,.c-diam,.c-poids{padding:12px 4px;text-align:center;font-size:var(--t-2xs);color:var(--texte-2)}
.c-note{padding:12px 4px;text-align:center;font-size:var(--t-2xs);font-weight:700}
.c-price{padding:8px 12px;text-align:center}
.c-eur{font-family:var(--police-titre);font-size:var(--t-sm);color:var(--accent);margin-bottom:6px}
.c-more{display:block;margin-top:7px;font-size:var(--t-3xs);font-weight:700;color:var(--texte-3)}
.c-more:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.btn-dark{display:inline-block;background:var(--encre);color:var(--blanc);font-weight:700;font-size:var(--t-3xs);padding:8px 12px;border-radius:var(--r-sm);white-space:nowrap}
.btn-dark:hover{background:var(--encre-2);color:var(--blanc)}
.btn-mini-red{display:inline-block;background:var(--accent);color:var(--blanc);font-weight:700;font-size:var(--t-3xs);padding:8px 12px;border-radius:var(--r-sm);white-space:nowrap}
.btn-mini-red:hover{background:var(--accent-fonce);color:var(--blanc)}

.note-affil{font-size:var(--t-2xs);color:var(--texte-3);margin:16px 0 0;line-height:1.5}

.band{
  background:var(--secondaire);border-radius:var(--r-lg);padding:40px;
  display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center;color:var(--fond);
}
.band h2{font-family:var(--police-titre);font-size:var(--t-3xl);text-transform:uppercase;margin:0 0 12px;color:var(--blanc)}
.band p{font-size:var(--t-sm);line-height:1.6;margin:0 0 24px;color:rgba(255,255,255,.85);max-width:520px}
.band-emoji{font-size:var(--taille-emoji);text-align:center;line-height:1}

.cards-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.cards-3.gap-lg{gap:24px}
.card{display:block;background:var(--blanc);border:2px solid rgba(44,36,32,.12);border-radius:var(--r-md);overflow:hidden;color:inherit}
.card:hover{border-color:var(--accent);color:inherit}
.card-shot{height:130px;background:repeating-linear-gradient(45deg,var(--fond-2),var(--fond-2) 9px,var(--fond-2) 9px,var(--fond-2) 18px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.card-shot span{font-family:var(--police-mono);font-size:var(--t-3xs);color:var(--bordure)}
.card-shot img{display:block;width:100%;height:100%;object-fit:contain;background:var(--blanc)}
.card-shot.is-photo img{object-fit:cover;background:none}
.card-shot.tall{height:150px}
.card-cat-abs{position:absolute;top:12px;left:12px;background:var(--accent);color:var(--blanc);font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:var(--r-sm)}
.card-body{padding:16px}
.card-body.lg{padding:16px}
.card-cat{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--secondaire)}
.card h3{font-size:var(--t-md);line-height:1.25;margin:8px 0 4px}
.card-body.lg h3{font-size:var(--t-md);margin:0 0 8px}
.card p{font-size:var(--t-2xs);color:var(--texte-3);margin:0;line-height:1.5}
.card-body.lg p{font-size:var(--t-xs);margin:0 0 12px}
.card-read{font-size:var(--t-2xs);font-weight:700;color:var(--accent)}

.search{position:relative;max-width:440px;margin:0 0 32px}
.search .ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:var(--t-sm);color:var(--bordure)}
.search input{
  width:100%;padding:12px 16px 12px 40px;font-family:var(--police-texte);font-size:var(--t-xs);
  color:var(--encre);background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);outline:none;
}
.search .clear{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  font-size:var(--t-xs);font-weight:700;color:var(--texte-3);background:none;border:0;cursor:pointer;font-family:inherit;
}
.empty{text-align:center;padding:48px 20px;color:var(--texte-3)}
.empty div{font-size:var(--t-3xl);margin-bottom:10px}
.empty p{font-size:var(--t-sm);margin:0}

.article{max-width:760px;margin:0 auto;padding:44px 24px 20px}
.article-wide{max-width:840px;padding:40px 24px 20px}
.article-narrow{max-width:640px}
.article h1,.page-h1{font-family:var(--police-titre);font-size:var(--t-5xl);line-height:.95;text-transform:uppercase;margin:0 0 16px}
.h1-44{font-size:var(--t-5xl);line-height:.96}
.h1-40{font-size:var(--t-4xl);line-height:.98;margin-bottom:24px}
.lead{font-size:var(--t-md);line-height:1.6;color:var(--texte-2);margin:0 0 28px}
.body-p{font-size:var(--t-md);line-height:1.7;color:var(--encre-2);margin:0 0 16px}

.illus{
  height:260px;border-radius:var(--r-md);
  background:repeating-linear-gradient(45deg,var(--fond-2),var(--fond-2) 11px,var(--fond-2) 11px,var(--fond-2) 22px);
  display:flex;align-items:center;justify-content:center;margin-bottom:32px;
}
.illus span{font-family:var(--police-mono);font-size:var(--t-3xs);color:var(--bordure)}

.step{margin-bottom:30px}
.step-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.step-n{font-family:var(--police-titre);font-size:var(--t-lg);color:var(--blanc);background:var(--accent);width:38px;height:38px;line-height:38px;text-align:center;border-radius:var(--r-md);flex:none}
.step-head h2{font-family:var(--police-titre);font-size:var(--t-xl);text-transform:uppercase;margin:0}
.step p{font-size:var(--t-sm);line-height:1.7;color:var(--encre-2);margin:0}

.verdict{background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);padding:24px;margin:8px 0 20px}
.verdict h3{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;margin:0 0 8px}
.verdict p{font-size:var(--t-sm);line-height:1.6;color:var(--encre-2);margin:0 0 16px}
.btn-red-sm{display:inline-block;background:var(--accent);color:var(--blanc);font-weight:700;font-size:var(--t-xs);padding:12px 24px;border-radius:var(--r-sm);text-transform:uppercase}
.btn-red-sm:hover{background:var(--accent-fonce);color:var(--blanc)}

.legal-block{margin-bottom:24px}
.legal-block h2{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;margin:0 0 8px;color:var(--accent)}
.legal-block p{font-size:var(--t-sm);line-height:1.7;color:var(--encre-2);margin:0}

.crumb{font-size:var(--t-2xs);color:var(--texte-3);margin-bottom:16px}
.crumb a{font-weight:600}
.avis-top{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;margin-bottom:30px}
.avis-shot{height:280px;border-radius:var(--r-md);background:repeating-linear-gradient(45deg,var(--or-clair),var(--or-clair) 11px,var(--or-clair) 11px,var(--or-clair) 22px);display:flex;align-items:center;justify-content:center}
.avis-shot span{font-family:var(--police-mono);font-size:var(--t-3xs);color:var(--or-2)}
.price-box{background:var(--encre);color:var(--fond);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;justify-content:center}
.price-box .lbl{font-size:var(--t-3xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--or);margin-bottom:10px}
.price-box .val{font-family:var(--police-titre);font-size:var(--t-4xl);color:var(--blanc);margin-bottom:4px}
.price-box .sub{font-size:var(--t-2xs);color:var(--texte-4);margin-bottom:18px}
.price-box .cta{background:var(--accent);color:var(--blanc);font-weight:700;font-size:var(--t-sm);padding:12px;border-radius:var(--r-sm);text-align:center;text-transform:uppercase}
.price-box .cta:hover{background:var(--accent-fonce);color:var(--blanc)}
.price-box .fine{font-size:var(--t-3xs);color:var(--texte-3);margin-top:10px;text-align:center}

.h2-24{font-family:var(--police-titre);font-size:var(--t-xl);text-transform:uppercase;margin:0 0 12px}
.specs{border:2px solid var(--encre);border-radius:var(--r-md);overflow:hidden;margin-bottom:32px}
.spec-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(44,36,32,.1);background:var(--blanc)}
.spec-row:last-child{border-bottom:0}
.spec-row .k{padding:12px 16px;font-size:var(--t-xs);font-weight:700;background:var(--fond)}
.spec-row .v{padding:12px 16px;font-size:var(--t-xs);color:var(--encre-2)}

.proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}
.pc{background:var(--blanc);border-radius:var(--r-md);padding:20px}
.pc h3{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;margin:0 0 12px}
.pc ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.pc li{font-size:var(--t-xs);line-height:1.5;padding-left:20px;position:relative}
.pc li span{position:absolute;left:0;font-weight:700}
.pc-pro{border:2px solid var(--secondaire)}
.pc-pro h3{color:var(--secondaire)}
.pc-pro li span{color:var(--secondaire)}
.pc-con{border:2px solid var(--accent)}
.pc-con h3{color:var(--accent)}
.pc-con li span{color:var(--accent)}

.cta-band{background:var(--secondaire);border-radius:var(--r-md);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cta-band .t{font-family:var(--police-titre);font-size:var(--t-xl);text-transform:uppercase;color:var(--blanc)}
.cta-band .s{font-size:var(--t-xs);color:rgba(255,255,255,.85)}
.cta-band .b{background:var(--or);color:var(--encre);font-weight:700;font-size:var(--t-sm);padding:12px 24px;border-radius:var(--r-sm);text-transform:uppercase}
.cta-band .b:hover{background:var(--or-2);color:var(--encre)}

.av{max-width:960px;margin:0 auto;padding:32px 24px 20px}

.av-head{margin-bottom:26px}

.av-cover{display:block;width:100%;height:auto;border-radius:var(--r-md);margin:0 0 28px;object-fit:cover;aspect-ratio:1200/630}

.av-hero{position:relative;width:100%;aspect-ratio:1200/630;border-radius:var(--r-md);overflow:hidden;margin:0 0 28px;background:var(--encre)}
.av-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.av-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,20,17,.92) 0%,rgba(26,20,17,.4) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px}
.av-hero-badge{align-self:flex-start;background:var(--accent);color:var(--blanc);padding:4px 16px;border-radius:var(--r-lg);font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.av-hero-titre{font-family:var(--police-titre);color:var(--blanc);font-size:var(--t-3xl);line-height:1.18;margin:0 0 12px;text-transform:none}
.av-hero-meta{display:flex;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.85);font-size:var(--t-xs)}

.toc{background:var(--fond);border:2px solid var(--encre);border-radius:var(--r-md);padding:16px 24px;margin:0 0 28px}
.toc-titre{font-family:var(--police-titre);font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--encre);margin:0 0 8px}
.toc ul{list-style:none;margin:0;padding:0}
.toc li{margin-bottom:6px}
.toc li:last-child{margin-bottom:0}
.toc a{font-size:var(--t-xs);color:var(--encre-2);text-decoration:none}
.toc a:hover{color:var(--accent);text-decoration:underline}

.resume-cles{background:var(--blanc);border:2px solid rgba(44,36,32,.12);border-radius:var(--r-md);padding:16px 24px;margin:0 0 28px}
.resume-cles-titre{font-family:var(--police-titre);font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--accent);margin:0 0 8px}
.resume-cles ul{list-style:none;margin:0;padding:0}
.resume-cles li{position:relative;padding-left:22px;font-size:var(--t-sm);line-height:1.6;color:var(--encre-2);margin-bottom:8px}
.resume-cles li:last-child{margin-bottom:0}
.resume-cles li::before{content:"";width:8px;height:8px;top:9px;border-radius:var(--r-rond);position:absolute;left:0;top:auto;width:auto;height:auto;background:none;color:var(--or)}

.carou{position:relative;margin-bottom:14px}
.carou-track{
  display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;
  border:2px solid var(--encre);border-radius:var(--r-md);background:var(--blanc);
  scrollbar-width:none;-ms-overflow-style:none;
}
.carou-track::-webkit-scrollbar{display:none}
.carou-slide{flex:0 0 100%;scroll-snap-align:center}
.carou-slide img{display:block;width:100%;height:400px;object-fit:cover}
.carou-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:42px;height:42px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(44,36,32,.82);color:var(--blanc);font-size:var(--t-lg);line-height:42px;
  font-family:inherit;padding:0;
}
.carou-btn:hover{background:var(--accent)}
.carou-btn:disabled{opacity:.25;cursor:default;background:rgba(44,36,32,.82)}
.carou-prev{left:14px}
.carou-next{right:14px}
.carou-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}
.carou-dots button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:var(--bordure);
}
.carou-dots button.is-on{background:var(--accent);width:24px;border-radius:var(--r-rond)}

.avh{
  display:grid;grid-template-columns:330px minmax(0,1fr);gap:32px;
  align-items:start;margin-bottom:30px;
}
.avh-media,.avh-body{min-width:0}
.avh .carou{margin-bottom:20px}
.avh .carou-slide img{height:300px;object-fit:contain;background:var(--blanc);padding:8px}

.cust{background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);padding:16px 16px}
.cust-k{
  font-size:var(--t-3xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--texte-3);margin-bottom:11px;
}
.cust-row{display:flex;align-items:center;gap:12px}
.cust-big{font-family:var(--police-titre);font-size:var(--t-3xl);line-height:1;color:var(--encre)}
.cust-big span{font-size:var(--t-sm);color:var(--texte-3)}
.cust-stars{color:var(--or-2);font-size:var(--t-sm);letter-spacing:2px;line-height:1}
.cust-meta{font-size:var(--t-2xs);line-height:1.45;color:var(--texte-2);margin-top:5px}

.rev{margin:12px 0 0;padding-top:13px;border-top:1px dashed rgba(44,36,32,.18)}
.rev-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.rev-stars{color:var(--or-2);font-size:var(--t-xs);letter-spacing:1.5px;line-height:1}
.rev-badge{
  background:var(--secondaire);color:var(--blanc);font-size:var(--t-3xs);font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;padding:4px 8px;border-radius:var(--r-sm);
}
.rev-title{font-size:var(--t-xs);font-weight:700;color:var(--encre);margin-bottom:5px}
.rev blockquote{margin:0;font-size:var(--t-2xs);line-height:1.6;color:var(--texte-2)}
.rev figcaption{font-size:var(--t-3xs);line-height:1.5;color:var(--texte-4);margin-top:8px}
.rev figcaption a{color:var(--texte-4);text-decoration:underline;text-underline-offset:2px}

.avh-intro{font-size:var(--t-sm);line-height:1.7;color:var(--encre-2);margin:0 0 20px}
.avh-intro b{color:var(--encre)}

.pcgrid-hero{gap:16px;margin-bottom:20px}
.pcgrid-hero .pcbox{border:0;border-radius:0;background:transparent;overflow:visible}
.pcgrid-hero .pcbox h2{
  padding:0 0 8px;background:transparent;font-size:var(--t-md);
  border-bottom:2px solid currentColor;margin-bottom:4px;
}
.pcgrid-hero .pc-plus h2{color:var(--secondaire)}
.pcgrid-hero .pc-moins h2{color:var(--accent)}
.pcgrid-hero .pcbox h2 span{background:currentColor;color:var(--blanc);width:20px;height:20px;font-size:var(--t-3xs);line-height:20px}
.pcgrid-hero .pc-plus h2 span{color:var(--secondaire)}
.pcgrid-hero .pc-moins h2 span{color:var(--accent)}
.pcgrid-hero .pcbox ul{padding:0}
.pcgrid-hero .pcbox li{padding:8px 0 8px 24px;font-size:var(--t-xs);border-bottom:0}

.buybox{background:var(--blanc);border:2px solid var(--accent);border-radius:var(--r-md);padding:16px;scroll-margin-top:100px}
.buybox-t{
  font-family:var(--police-titre);font-size:var(--t-lg);line-height:1.15;letter-spacing:.01em;
  text-transform:uppercase;color:var(--encre);margin:0 0 12px;
}
.buy-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.buy-card{
  display:flex;flex-direction:column;border:1.5px solid rgba(44,36,32,.18);
  border-radius:var(--r-md);padding:12px 12px 12px;text-align:center;
}
.buy-logo{
  align-self:center;display:block;width:34px;height:34px;
  object-fit:contain;border-radius:var(--r-sm);
}
.buy-plus{font-size:var(--t-3xs);line-height:1.4;color:var(--secondaire);font-weight:700;margin-top:5px;min-height:31px}
.buy-price{font-family:var(--police-titre);font-size:var(--t-xl);line-height:1;color:var(--accent);margin-top:11px}
.buy-go{
  margin-top:10px;background:var(--accent);color:var(--blanc);font-size:var(--t-2xs);font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;padding:12px 8px;border-radius:var(--r-sm);
}
.buy-go:hover{background:var(--accent-fonce);color:var(--blanc)}
/* Marchand hors Amazon mis en avant : voir references/trouver-partenaires.md */
.buy-card.is-alt{position:relative;border:2px solid var(--secondaire);background:var(--secondaire-clair);padding-top:20px}
.buy-tag{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 16px);
  background:var(--secondaire);color:var(--blanc);font-size:var(--t-3xs);font-weight:700;line-height:1.2;
  text-transform:uppercase;letter-spacing:.03em;padding:4px 12px;border-radius:var(--r-rond);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.buy-card.is-alt .buy-go{background:var(--secondaire)}
.buy-card.is-alt .buy-go:hover{background:var(--encre-2)}
.buybox .buy-2,.buybox .buy-1{padding-top:8px}

.keyfacts{
  display:grid;grid-template-columns:repeat(6,1fr);gap:0px;
  background:var(--encre);border:2px solid var(--encre);border-radius:var(--r-md);
  overflow:hidden;margin-bottom:38px;
}
.keyfact{background:var(--blanc);padding:12px 8px;text-align:center}
.keyfact b{display:block;font-family:var(--police-titre);font-size:var(--t-lg);line-height:1;color:var(--accent)}
.keyfact span{display:block;font-size:var(--t-3xs);line-height:1.4;color:var(--texte-3);margin-top:6px}

.pcgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:38px}
.pcbox{border:2px solid var(--encre);border-radius:var(--r-md);overflow:hidden;background:var(--blanc)}
.pcbox h2{
  display:flex;align-items:center;gap:8px;margin:0;padding:12px 16px;color:var(--blanc);
  font-family:var(--police-titre);font-size:var(--t-md);text-transform:uppercase;letter-spacing:.03em;
}
.pcbox h2 span{
  flex:none;width:24px;height:24px;border-radius:var(--r-sm);background:rgba(255,255,255,.22);
  font-family:var(--police-texte);font-size:var(--t-xs);font-weight:700;line-height:24px;text-align:center;
}
.pc-plus h2{background:var(--secondaire)}
.pc-moins h2{background:var(--accent)}
.pcbox ul{margin:0;padding:8px 16px 12px;list-style:none}
.pcbox li{
  position:relative;padding:12px 0 12px 24px;font-size:var(--t-xs);line-height:1.5;
  border-bottom:1px dashed rgba(44,36,32,.14);
}
.pcbox li:last-child{border-bottom:0}
.pcbox li::before{position:absolute;left:0;top:11px;font-weight:700}
.pc-plus li::before{content:"";width:10px;height:6px;top:14px;border-left:2px solid var(--secondaire);border-bottom:2px solid var(--secondaire);transform:rotate(-45deg)}
.pc-moins li::before{content:"";width:10px;height:2px;top:18px;background:var(--accent)}
.pc-moins li{color:var(--texte-2)}

.av h2.av-h2{
  font-family:var(--police-titre);font-size:var(--t-2xl);text-transform:uppercase;letter-spacing:.01em;
  margin:0 0 16px;padding-bottom:12px;border-bottom:3px solid var(--encre);
}
.av-sec{margin-bottom:38px;scroll-margin-top:110px}
.av-h3{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;color:var(--accent);margin:24px 0 8px}
.av-p{font-size:var(--t-md);line-height:1.75;color:var(--encre-2);margin:0 0 16px}
.av-p b{color:var(--encre)}
.av-ul{list-style:none;margin:0 0 16px;padding:0}
.av-ul li{position:relative;padding-left:22px;font-size:var(--t-md);line-height:1.75;color:var(--encre-2);margin-bottom:8px}
.av-ul li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:9px;background:var(--accent)}
.av-ul b{color:var(--encre)}

.brand-chapo{font-size:var(--t-sm);line-height:1.7;color:var(--texte-2);margin:0 0 12px;max-width:760px}
.brand-chapo a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}

.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 8px}
.mcard{display:flex;flex-direction:column;background:var(--blanc);border:2px solid rgba(44,36,32,.14);border-radius:var(--r-md);overflow:hidden}
.mcard.is-top{border-color:var(--accent)}
.mcard-shot{height:200px;background:var(--blanc);border-bottom:1px solid rgba(44,36,32,.1);overflow:hidden}
.mcard-shot img{display:block;width:100%;height:100%;object-fit:contain;padding:8px}
.mcard-body{display:flex;flex-direction:column;flex:1;padding:16px}
.mcard-flag{align-self:flex-start;font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:var(--r-sm);background:var(--fond-2);color:var(--texte-2);margin-bottom:9px}
.mcard.is-top .mcard-flag{background:var(--accent);color:var(--blanc)}
.mcard h3{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;color:var(--encre);margin:0 0 4px}
.mcard-meta{font-size:var(--t-2xs);color:var(--texte-3);margin-bottom:11px}
.mcard-plus{list-style:none;margin:0 0 12px;padding:0}
.mcard-plus li{position:relative;padding-left:19px;font-size:var(--t-xs);line-height:1.55;color:var(--encre-2);margin-bottom:5px}
.mcard-plus li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:6px;border-left:2px solid var(--secondaire);border-bottom:2px solid var(--secondaire);transform:rotate(-45deg)}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.mcard-price{font-family:var(--police-titre);font-size:var(--t-xl);line-height:1.1;color:var(--accent)}
.mcard-price small{display:block;font-family:var(--police-texte);font-size:var(--t-3xs);font-weight:400;color:var(--texte-3);letter-spacing:0}
.mcard-price.is-off{color:var(--texte-3);font-size:var(--t-sm)}
.mcard-btn{font-size:var(--t-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:8px 16px;border-radius:var(--r-sm);background:var(--accent);color:var(--blanc);white-space:nowrap}
.mcard-btn:hover{background:var(--accent-fonce);color:var(--blanc)}
.mcard-btn.is-ghost{background:transparent;color:var(--encre);border:1.5px solid rgba(44,36,32,.25)}
.mcard-btn.is-ghost:hover{background:var(--encre);color:var(--blanc)}

.av-table{width:100%;border-collapse:collapse;border:2px solid var(--encre);border-radius:var(--r-md);overflow:hidden}
.av-table th,.av-table td{padding:12px 16px;text-align:left;font-size:var(--t-xs);border-bottom:1px solid rgba(44,36,32,.12)}
.av-table tr:last-child td,.av-table tr:last-child th{border-bottom:0}
.av-table thead th{background:var(--encre);color:var(--or);font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.av-table tbody th{background:var(--fond);font-weight:700;color:var(--encre);width:44%}
.av-table td{background:var(--blanc);color:var(--encre-2)}
.av-table .best{color:var(--accent);font-weight:700}
.av-table:has(thead th:nth-child(4)) tbody th{width:auto}
.av-table .kg-btn{min-height:36px;margin-top:var(--e-2);padding:0 var(--e-4);font-size:var(--t-xs);white-space:nowrap}
.table-wrap{overflow-x:auto}

.av-fig{margin:24px 0}
.av-fig img{display:block;width:100%;height:340px;object-fit:cover;border:2px solid rgba(44,36,32,.14);border-radius:var(--r-md)}
.av-fig figcaption{font-size:var(--t-3xs);line-height:1.5;color:var(--texte-3);margin-top:8px}

/* SchÃ©mas des guides (semantique/visuels.py) : SVG intÃ©grÃ©, couleurs de la charte */
.kg-schema{margin:var(--e-7) 0;padding:var(--e-5);background:var(--blanc);border-radius:var(--r-md);box-shadow:var(--ombre-1)}
.kg-schema svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}
.kg-schema figcaption{font-size:var(--t-2xs);line-height:1.5;color:var(--texte-3);margin-top:var(--e-3)}
.kg-schema figcaption b{color:var(--encre)}
.kg-schema-barres{padding:0;background:transparent;box-shadow:none}
.kg-schema-barres .kg-barres{margin:0}
.kg-schema-barres figcaption{padding:0 var(--e-2)}
.kg-schema .s-txt{font-family:var(--police-texte);font-size:var(--t-md);fill:var(--encre-2)}
.kg-schema .s-fil{fill:none;stroke:var(--texte-4);stroke-width:1;stroke-dasharray:2 3}
.keyfacts.kg-kf-4{grid-template-columns:repeat(4,1fr)}
.keyfacts.kg-kf-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){.keyfacts.kg-kf-4{grid-template-columns:repeat(2,1fr)}.kg-schema{padding:var(--e-4) var(--e-3)}.kg-schema .s-txt{font-size:var(--t-lg)}}
.kg-schema .s-fort{font-family:var(--police-titre);font-weight:800;fill:var(--encre)}
.kg-schema .s-clair,.kg-schema .s-clair .s-fort{fill:var(--blanc)}
.kg-schema .s-sol{stroke:var(--fond-2);stroke-width:2}
.kg-schema .s-cercle{fill:none;stroke:var(--email-bleu);stroke-width:2}
.kg-schema .s-vedette{fill:var(--or-clair);fill-opacity:.55;stroke:var(--accent);stroke-width:4}
.kg-schema .s-repere{fill:none;stroke:var(--or-2);stroke-width:2.5;stroke-dasharray:7 6}
.kg-schema .s-chaud{fill:var(--email-rouge)}
.kg-schema .s-braise{fill:var(--accent-clair)}
.kg-schema .s-pierre{fill:var(--email-creme)}
.kg-schema .s-sep{stroke:var(--encre);stroke-width:2;stroke-dasharray:4 5}
.kg-schema .s-cuve{fill:var(--email-clair);stroke:var(--email-bleu);stroke-width:3}
.kg-schema .s-braise-zone{fill:var(--email-rouge)}
.kg-schema .s-grille{stroke:var(--accent);stroke-width:5;stroke-linecap:round}
.kg-schema .s-grille-haute{stroke:var(--or-2);stroke-width:4}

.faq{background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);overflow:hidden}
.faq details{border-bottom:1px solid rgba(44,36,32,.12)}
.faq details:last-child{border-bottom:0}
.faq summary{
  position:relative;list-style:none;cursor:pointer;
  padding:16px 56px 16px 16px;font-size:var(--t-sm);font-weight:700;line-height:1.4;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:var(--r-sm);background:var(--fond);color:var(--accent);
  font-size:var(--t-lg);font-weight:700;line-height:25px;text-align:center;
}
.faq details[open] summary{color:var(--accent)}
.faq details[open] summary::after{content:"\2013";background:var(--accent);color:var(--blanc)}
.faq summary:hover{background:var(--fond)}
.faq .a{margin:0;padding:0 56px 16px 16px;font-size:var(--t-sm);line-height:1.7;color:var(--texte-2)}

.contact-box{background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);padding:24px;margin-bottom:20px}
.contact-box .rows{display:flex;flex-direction:column;gap:16px}
.contact-box .k{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--texte-3);margin-bottom:4px}
.contact-box .v{font-size:var(--t-sm);color:var(--encre-2)}
.contact-box .v.mail{font-weight:600;color:var(--accent)}
.fine-print{font-size:var(--t-xs);color:var(--texte-3);line-height:1.6;margin:0}

.footer{background:var(--encre);color:var(--bordure);margin-top:50px;padding:40px 24px 24px}
.footer-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.footer-brand{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.footer-brand img{width:44px;height:44px;object-fit:contain}
.footer-brand span{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;color:var(--accent)}
.footer-brand span span{color:var(--secondaire-2)}
.footer p{font-size:var(--t-2xs);line-height:1.6;color:var(--texte-3);margin:0}
.footer-title{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--or);margin-bottom:12px}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:var(--t-2xs)}
.footer-links a{color:var(--bordure)}
.footer-links a:hover{color:var(--or)}
.footer-links span{color:var(--texte-3)}
.footer-legal{max-width:1080px;margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:var(--t-3xs);color:var(--texte-2);line-height:1.6}


.nav a,.brand img,.brand-name,.link-more,.footer-links a,.card,.card h3,
.btn,.btn-dark,.btn-mini-red,.btn-red-sm,.pod-btn,.price-box .cta,
.cta-band .b,.tbl-row,.c-name b,.crumb a,.search .clear,.card-read,.ar,
.buy-go,.buy-card,.carou-btn,.carou-dots button,.faq summary,.faq summary::after{
  transition:color .18s ease,background-color .18s ease,border-color .18s ease,
             transform .18s ease,box-shadow .18s ease;
}

.ar{display:inline-block;will-change:auto}

.nav a:not(.nav-cta){position:relative}
.nav a:not(.nav-cta)::after{
  content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left center;
  transition:transform .22s ease;
}

.link-more{position:relative}
.link-more::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left center;
  transition:transform .22s ease;
}

@media (hover:hover){
  .nav a:not(.nav-cta):hover{color:var(--accent)}
  .nav a:not(.nav-cta):hover::after{transform:scaleX(1)}
  .nav .nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 20px -8px rgba(192,57,43,.85)}

  .brand:hover img{transform:rotate(-9deg) scale(1.07)}
  .brand:hover .brand-name{color:var(--accent-fonce)}

  .link-more:hover::after{transform:scaleX(1)}
  .link-more:hover .ar{transform:translateX(5px)}

  .footer-links a:hover{color:var(--or);transform:translateX(4px)}

  .card:hover{transform:translateY(-4px);box-shadow:0 20px 36px -22px rgba(44,36,32,.6)}
  .card:hover h3{color:var(--accent)}
  .card:hover .card-read{color:var(--accent-fonce)}
  .card:hover .card-read .ar{transform:translateX(5px)}

  .tbl-row:hover{background:var(--fond)}
  .tbl-row:hover .c-name b{color:var(--accent)}

  .btn-red:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(192,57,43,.85)}
  .btn-red:hover .ar{transform:translateY(3px)}
  .btn-yellow:hover,.btn-red-sm:hover,.btn-dark:hover,.btn-mini-red:hover,
  .pod-btn:hover,.price-box .cta:hover,.cta-band .b:hover{transform:translateY(-2px)}
  .btn-red-sm:hover .ar,.link-more:hover .ar{transform:translateX(5px)}


  .buy-go:hover{transform:translateY(-2px)}
  .buy-card:hover{border-color:var(--accent)}

  .crumb a:hover,.contact-box .v.mail a:hover,.footer-legal a:hover{
    text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;
  }
  .search .clear:hover{color:var(--accent)}
}

a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--secondaire);outline-offset:3px;border-radius:var(--r-sm);
}
.search input:focus,.search input:focus-visible{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(192,57,43,.16);
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
  .nav a:not(.nav-cta):hover,.brand:hover img,.card:hover,.footer-links a:hover,
  .btn-red:hover,.btn-yellow:hover,.btn-red-sm:hover,.btn-dark:hover,
  .btn-mini-red:hover,.pod-btn:hover,.price-box .cta:hover,.cta-band .b:hover,
  .nav .nav-cta:hover,.ar,.buy-go:hover{transform:none !important}
  .carou-track{scroll-behavior:auto}
}

@media (max-width:1000px){
  .podium{grid-template-columns:1fr 1fr;gap:24px 16px;align-items:stretch}
  .pod-1{grid-column:1 / -1;order:-1}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:860px){
  .header{padding:12px 16px;flex-wrap:wrap}
  .nav-toggle{display:block}
  .nav{
    display:none;order:3;width:100%;flex-direction:column;align-items:stretch;
    gap:0px;padding-top:10px;border-top:1px solid rgba(44,36,32,.15);margin-top:10px;
  }
  .nav.is-open{display:flex}
  .nav a{padding:12px 4px}
  .nav .nav-cta{text-align:center;margin-top:6px}
  .nav-drop{width:100%}
  .nav-drop-t{width:100%;justify-content:space-between;padding:12px 4px}
  .nav-drop-p{position:static;margin:0px 0 4px;border-radius:var(--r-md)}
  .nav-drop-p::before{display:none}
  .ndp-2col{display:block}
  .ndp-2col::after{display:none}
  .ndp-group{display:block}
  .ndp-group + .ndp-group{margin-top:4px;padding-top:4px;border-top:1px solid rgba(44,36,32,.1)}
  .ndp-pane{display:block;margin-left:19px;padding-left:11px;border-left:2px solid rgba(44,36,32,.14)}
  .ndp-pane-t{display:none}
  .ndp-arrow{display:none}
  .nav .ndp-item{padding:8px 8px}
  .nav .ndp-all{padding:8px 8px}
  .brand img{width:46px;height:46px}
  .brand-name{font-size:var(--t-lg)}

  .hero-inner{padding:48px 20px;min-height:340px}
  .hero h1{font-size:var(--t-3xl)}
  .hero-veil{background:linear-gradient(180deg,rgba(20,15,12,.72) 0%,rgba(20,15,12,.88) 60%,rgba(20,15,12,.94) 100%)}
  .hero-copy{max-width:none}

  .section,.article{padding-left:20px;padding-right:20px}
  .h2{font-size:var(--t-2xl)}
  .article h1,.page-h1{font-size:var(--t-3xl)}
  .h1-44,.h1-40{font-size:var(--t-3xl)}

  .band{grid-template-columns:1fr;padding:28px}
  .band h2{font-size:var(--t-xl)}
  .band-emoji{font-size:var(--t-6xl);text-align:left}

  .cards-3{grid-template-columns:1fr 1fr}
  .proscons{grid-template-columns:1fr}

  .av{padding-left:20px;padding-right:20px}
  .av h2.av-h2{font-size:var(--t-xl)}
  .carou-slide img{height:300px}
  .av-fig img{height:240px}
  .pcgrid{grid-template-columns:1fr;gap:16px}
  .avh{grid-template-columns:1fr;gap:24px}
  .avh .carou-slide img{height:280px}
  .pcgrid-hero{grid-template-columns:1fr 1fr;gap:16px}
  .keyfacts{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:760px){
  .tbl-head{display:none}
  .tbl-top .tbl-row{
    grid-template-columns:40px 1fr;
    row-gap:8px;padding:12px 12px 16px;border-bottom:2px solid rgba(44,36,32,.1);
  }
  .tbl .c-specs{display:flex;flex-wrap:wrap;gap:4px;grid-column:2}
  .c-rank{padding:0;font-size:var(--t-lg);line-height:1.1;text-align:left}
  .c-shot{grid-column:2;justify-content:flex-start;padding:0}
  .c-shot img{width:64px;height:64px}
  .c-name{padding:0;grid-column:2}
  .c-specs>div{
    padding:4px 8px !important;font-size:var(--t-3xs) !important;background:var(--fond);border-radius:var(--r-sm);
    color:var(--texte-2);text-align:left;
  }
  .c-specs>div::before{content:attr(data-l) " ";font-weight:700;color:var(--texte-3)}
  .tbl .c-type{color:var(--secondaire);font-weight:700}
  .c-price{padding:0;grid-column:2;text-align:left}
}

@media (max-width:560px){
  .podium{grid-template-columns:1fr}
  .cards-3{grid-template-columns:1fr}
  .mgrid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero h1{font-size:var(--t-2xl)}
  .article h1,.page-h1,.h1-44,.h1-40{font-size:var(--t-2xl)}
  .h2,.h2-sm{font-size:var(--t-xl)}
  .spec-row{grid-template-columns:1fr}
  .spec-row .v{padding-top:0}
  .cta-band{flex-direction:column;align-items:flex-start}

  .carou-slide img{height:230px}
  .avh .carou-slide img{height:230px}
  .pcgrid-hero{grid-template-columns:1fr;gap:4px}
  .keyfacts{grid-template-columns:1fr 1fr}
  .buy-2{grid-template-columns:1fr;gap:20px}
  .buy-plus{min-height:0}
  .carou-btn{width:36px;height:36px;font-size:var(--t-md);line-height:36px}
  .av-table th,.av-table td{padding:8px 12px;font-size:var(--t-xs)}
}


.tier-card{background:var(--blanc);border:2px solid var(--encre);border-radius:var(--r-md);padding:24px;height:100%}
.tier-card.is-reco{border-color:var(--accent)}
.tier-eyebrow{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--secondaire)}
.tier-card.is-reco .tier-eyebrow{color:var(--accent)}
.tier-price{font-family:var(--police-titre);font-size:var(--t-xl);margin:4px 0 4px;text-transform:uppercase}
.tier-line{font-size:var(--t-xs);line-height:1.55;color:var(--texte-2);margin:0 0 12px}
.tier-card ul{margin:0;padding:0;list-style:none}
.tier-card li{padding:8px 0;border-bottom:1px solid rgba(44,36,32,.1);font-size:var(--t-xs);line-height:1.4}
.tier-card li:last-child{border-bottom:0}
.tier-card li a{font-weight:700}

.av-produit{display:flex;gap:20px;background:var(--blanc);border:2px solid rgba(44,36,32,.12);border-radius:var(--r-md);padding:20px;margin:28px 0;align-items:flex-start}
.av-produit-shot{flex-shrink:0;width:120px;height:120px;border-radius:var(--r-md);overflow:hidden;background:repeating-linear-gradient(45deg,var(--fond-2),var(--fond-2) 9px,var(--fond-2) 9px,var(--fond-2) 18px)}
.av-produit-shot img{display:block;width:100%;height:100%;object-fit:contain;background:var(--blanc)}
.av-produit-corps{flex:1;min-width:0}
.av-produit-marque{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 0px}
.av-produit-nom{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;color:var(--encre);margin:0 0 4px;line-height:1.2}
.av-produit-stars{font-size:var(--t-xs);color:var(--or);margin:0 0 8px;letter-spacing:1px}
.av-produit-stars b{color:var(--encre);font-size:var(--t-xs);letter-spacing:0;margin-left:4px}
.av-produit-avantages{list-style:none;margin:0 0 12px;padding:0}
.av-produit-avantages li{position:relative;padding-left:20px;font-size:var(--t-xs);line-height:1.6;color:var(--encre-2);margin-bottom:4px}
.av-produit-avantages li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:6px;background:none;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.av-produit-pied{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.av-produit-prix{font-family:var(--police-titre);font-size:var(--t-lg);color:var(--encre)}
.av-produit-btn{background:var(--accent);color:var(--blanc);font-weight:700;font-size:var(--t-xs);padding:12px 16px;border-radius:var(--r-sm);text-decoration:none;white-space:nowrap;text-transform:uppercase}
.av-produit-btn:hover{background:var(--accent-fonce);color:var(--blanc)}
.av-produit-plus{display:block;margin-top:10px;font-size:var(--t-xs);font-weight:700;color:var(--accent);text-decoration:none}
.av-produit-plus:hover{text-decoration:underline}

.av-auteur{display:flex;gap:20px;align-items:flex-start;background:var(--blanc);border:2px solid rgba(44,36,32,.12);border-radius:var(--r-md);padding:24px;margin:36px 0}
.av-auteur-avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--fond-2)}
.av-auteur-eyebrow{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 0px}
.av-auteur-nom{font-family:var(--police-titre);font-size:var(--t-lg);text-transform:uppercase;color:var(--encre);margin:0 0 8px}
.av-auteur-bio{font-size:var(--t-xs);line-height:1.65;color:var(--encre-2);margin:0}

.av-lire-aussi{display:flex;align-items:center;gap:12px;background:var(--fond);border:2px solid var(--encre);border-radius:var(--r-md);padding:16px 20px;margin:28px 0;flex-wrap:wrap}
.av-lire-aussi-eyebrow{font-size:var(--t-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);flex-shrink:0}
.av-lire-aussi a{font-size:var(--t-sm);font-weight:700;color:var(--encre);text-decoration:none}
.av-lire-aussi a:hover{color:var(--accent)}

@media (max-width:560px){
  .av-produit{flex-direction:column}
  .av-produit-shot{width:100%;height:180px}
  .av-hero-titre{font-size:var(--t-xl)}
  .av-hero-overlay{padding:16px}
  .av-auteur{flex-direction:column;align-items:flex-start}
}

/* ---------- module contact (contact/formulaire.html + envoyer.php) ---------- */
.form{display:grid;gap:var(--e-1)}
.form-champ label{display:block;font-weight:700;font-size:var(--t-sm);margin-bottom:6px}
.form-opt{font-weight:400;color:var(--texte-3)}
.form-req{color:var(--accent)}
.form-champ input,.form-champ textarea{width:100%;padding:12px 16px;font:inherit;font-size:var(--t-md);color:var(--encre);background:var(--blanc);border:var(--trait-fin) solid var(--bordure);border-radius:var(--r-sm)}
.form-champ input:focus-visible,.form-champ textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.form-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:var(--t-xs);color:var(--texte-3);margin:0}
.contact-confirmation,.contact-erreur{padding:16px 20px;border-radius:var(--r-sm);border:var(--trait-fin) solid;font-size:var(--t-md)}
.contact-confirmation{background:var(--accent-clair);border-color:var(--accent);color:var(--encre)}
.contact-erreur{background:var(--fond-2);border-color:var(--bordure);color:var(--encre)}
.contact-confirmation p,.contact-erreur p{margin:0}
.contact-erreur p+p{margin-top:8px}

/* =====================================================================
   kamadoguide.com : couche Â« Kamado Ã©mail Â»
   Ce qui suit est propre au site : hero en split, thermomÃ¨tre de dÃ´me
   (signature), classement, bloc prix par marchand, barre d'achat mobile.
   MÃªmes rÃ¨gles que le socle : jetons seulement, grille de 4 px.
   ===================================================================== */

body{font-size:var(--t-md);line-height:var(--interligne)}
h1,h2,h3{font-family:var(--police-titre);font-weight:800;letter-spacing:-.01em;line-height:var(--interligne-t);color:var(--encre)}
.mono{font-family:var(--police-mono);font-weight:600}
.kg-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.kg-etroit{max-width:820px}

/* En-tÃªte : ombre douce, pas de trait Ã©pais */
.header{border-bottom:0;box-shadow:var(--ombre-1);background:var(--fond)}
.brand-name{font-family:var(--police-titre);font-weight:800;text-transform:none;color:var(--encre);font-size:var(--t-xl);letter-spacing:-.02em}
.brand-name span{color:var(--accent)}
.brand img{width:36px;height:36px}
.nav .nav-cta{background:var(--accent);color:var(--blanc);border-radius:var(--r-rond)}
.nav .nav-cta:hover{background:var(--accent-fonce);color:var(--blanc)}

/* Pastilles et badges */
.kg-pastille{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-2xs);padding:4px 12px;border-radius:var(--r-rond);background:var(--or-clair);color:var(--encre)}
.kg-badge-teste{background:var(--or);color:var(--encre-3);font-weight:700}
.kg-badge-fiche{background:var(--fond-2);color:var(--texte-2)}

/* Hero en split */
.kg-hero{padding:64px 0 48px}
.kg-hero-grille{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.kg-hero h1{font-size:var(--t-5xl);margin:16px 0 20px;text-wrap:balance}
.kg-hero .kg-reponse{max-width:var(--mesure);margin:0 0 24px}
.kg-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.kg-hero-media{border-radius:var(--r-lg);overflow:hidden;background:var(--blanc);box-shadow:var(--ombre-2);aspect-ratio:4/3;display:grid;place-items:center;padding:24px}
.kg-hero-media img{width:100%;height:100%;object-fit:contain;display:block}
.kg-hero-media .kg-thermo{max-width:360px}

.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-rond);font-family:var(--police-titre);font-weight:800;font-size:var(--t-sm);border:0;cursor:pointer;text-decoration:none}
.kg-btn-achat{background:var(--accent);color:var(--blanc)}
.kg-btn-achat:hover{background:var(--accent-fonce);color:var(--blanc)}
.kg-btn-ghost{background:var(--fond-2);color:var(--encre)}
.kg-btn-ghost:hover{color:var(--accent)}

/* RÃ©ponse citable sous le H1 */
.kg-reponse{font-size:var(--t-lg);line-height:var(--interligne);color:var(--texte-2)}

/* Signature : thermomÃ¨tre de dÃ´me */
.kg-thermo{display:block;width:100%;max-width:260px;height:auto}
.kg-thermo .piste{stroke:var(--fond-2)}
.kg-thermo .plage{stroke:var(--accent)}
.kg-thermo .aiguille{stroke:var(--or)}
.kg-thermo .pivot{fill:var(--or)}
.kg-thermo .repere{fill:var(--encre)}
.kg-thermo text{font-family:var(--police-mono);font-size:var(--t-3xs);fill:var(--texte-2)}
.kg-thermo-legende{font-family:var(--police-mono);font-size:var(--t-xs);text-align:center;color:var(--texte-2);margin:4px 0 0}
.kg-jauge{display:block;width:76px;height:auto}
.kg-jauge .piste{stroke:var(--fond-2)}
.kg-jauge .val{stroke:var(--or)}
.kg-note{display:flex;flex-direction:column;align-items:center}
.kg-note b{font-family:var(--police-mono);font-size:var(--t-lg);margin-top:-8px}
.kg-note small{font-size:var(--t-3xs);color:var(--texte-3)}

/* Sections */
.kg-section{padding:64px 0}
.kg-section-2{background:var(--fond-2)}
.kg-section h2{font-size:var(--t-3xl);margin:0 0 12px}
.kg-intro{color:var(--texte-2);max-width:var(--mesure);margin:0 0 32px}

/* Podium */
.kg-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:end}
.kg-pod{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px;display:flex;flex-direction:column;gap:12px;position:relative}
.kg-pod-1{box-shadow:var(--ombre-2);padding-top:32px}
.kg-pod-rang{position:absolute;top:-16px;left:24px;width:40px;height:40px;border-radius:var(--r-rond);display:grid;place-items:center;background:var(--or);color:var(--encre-3);font-family:var(--police-titre);font-weight:800;font-size:var(--t-lg)}
.kg-pod-img{aspect-ratio:1/1;border-radius:var(--r-md);background:var(--blanc);display:grid;place-items:center;overflow:hidden}
.kg-pod-img img{width:100%;height:100%;object-fit:contain}
.kg-pod h3{font-size:var(--t-xl);margin:0}
.kg-pod h3 a{color:var(--encre)}
.kg-pod-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kg-prix{font-family:var(--police-mono);font-weight:600;color:var(--accent);font-size:var(--t-lg)}
.kg-meta{font-size:var(--t-2xs);color:var(--texte-3)}

/* Classement */
.kg-classement{display:flex;flex-direction:column;gap:12px}
.kg-ligne{display:grid;grid-template-columns:48px 88px 1fr 96px 180px;gap:16px;align-items:center;background:var(--blanc);border-radius:var(--r-md);box-shadow:var(--ombre-1);padding:12px 16px}
.kg-ligne-rang{font-family:var(--police-titre);font-weight:800;font-size:var(--t-2xl);color:var(--texte-3);text-align:center}
.kg-ligne-img{width:88px;height:88px;border-radius:var(--r-sm);background:var(--blanc);overflow:hidden}
.kg-ligne-img img{width:100%;height:100%;object-fit:contain}
.kg-ligne-nom b{display:block;font-family:var(--police-titre);font-size:var(--t-lg)}
.kg-ligne-nom b a{color:var(--encre)}
.kg-ligne-nom span{font-size:var(--t-xs);color:var(--texte-2)}
.kg-ligne-plus{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px;font-size:var(--t-xs);line-height:1.4;color:var(--texte-2)}
.kg-ligne-plus li{position:relative;padding-left:18px}
.kg-ligne-plus li::before{content:"";position:absolute;left:2px;top:.45em;width:9px;height:5px;border-left:2px solid var(--email-vert);border-bottom:2px solid var(--email-vert);transform:rotate(-45deg)}
.kg-ligne-cta{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:center}

/* Bloc prix par marchand */
.kg-offres{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px;display:flex;flex-direction:column;gap:12px}
.kg-offre{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:var(--r-md);background:var(--fond);flex-wrap:wrap}
.kg-offre-m{flex:1;font-weight:700;min-width:96px}
.kg-offre-p{font-family:var(--police-mono);font-weight:600}
.kg-offres-date{font-size:var(--t-2xs);color:var(--texte-3)}
.kg-sans-lien{font-size:var(--t-sm);padding:12px 16px;border-radius:var(--r-md);background:var(--fond-2);color:var(--texte-2)}

/* Barre d'achat collante, mobile seulement */
.kg-barre-achat{display:none}

/* Fiche technique et tableaux */
.kg-specs{width:100%;border-collapse:collapse;background:var(--blanc);font-size:var(--t-sm)}
.kg-specs th,.kg-specs td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--fond-2);vertical-align:top}
.kg-specs th{font-weight:600;color:var(--texte-2)}
.kg-specs td{font-family:var(--police-mono);font-size:var(--t-xs)}
.kg-specs thead th{background:var(--encre);color:var(--blanc);font-family:var(--police-titre)}
.kg-tableau-cadre{overflow-x:auto;border-radius:var(--r-md);box-shadow:var(--ombre-1);margin:16px 0 24px}

/* EncadrÃ© auteur */
.kg-auteur{display:flex;gap:20px;align-items:flex-start;background:var(--fond-2);border-radius:var(--r-lg);padding:24px;margin:32px 0}
.kg-auteur img{width:72px;height:72px;border-radius:var(--r-rond);object-fit:cover}
.kg-auteur b{font-family:var(--police-titre);font-size:var(--t-lg)}
.kg-auteur p{margin:4px 0 0;font-size:var(--t-sm);color:var(--texte-2)}

/* Cartes de guides */
.kg-cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kg-carte{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px;display:flex;flex-direction:column;gap:8px;color:var(--encre)}
.kg-carte:hover{box-shadow:var(--ombre-2);color:var(--encre)}
.kg-carte h3{font-size:var(--t-lg);margin:0}
.kg-carte p{margin:0;font-size:var(--t-sm);color:var(--texte-2)}
.kg-carte .kg-meta{margin-top:auto}

/* Texte suivi */
.kg-texte{max-width:var(--mesure)}
.kg-texte h2{font-size:var(--t-2xl);margin:48px 0 12px}
.kg-texte h3{font-size:var(--t-lg);margin:32px 0 8px}
.kg-texte p,.kg-texte li{color:var(--encre-2)}
.kg-ariane{font-size:var(--t-xs);color:var(--texte-3);margin:24px 0 16px}
.kg-ariane a{color:var(--texte-2)}
.kg-page-h1{font-size:var(--t-4xl);margin:0 0 16px;text-wrap:balance}
.kg-page{padding:0 0 64px}

/* Pied de page */
.footer{background:var(--encre-3);color:var(--blanc)}
.footer a{color:var(--fond-2)}
.footer a:hover{color:var(--blanc)}

@media (max-width:1000px){
  .kg-ligne{grid-template-columns:40px 72px 1fr 180px}
  .kg-ligne-img{width:72px;height:72px}
  .kg-ligne .kg-note{display:none}
}
@media (max-width:860px){
  .kg-hero{padding:32px 0}
  .kg-hero-grille{grid-template-columns:1fr;gap:24px}
  .kg-hero h1{font-size:var(--t-2xl)}
  .kg-podium{grid-template-columns:1fr;gap:32px}
  .kg-pod-1{order:-1}
  .kg-cartes{grid-template-columns:1fr}
  .kg-page-h1{font-size:var(--t-2xl)}
  .kg-section{padding:48px 0}
  .kg-section h2{font-size:var(--t-2xl)}
  .kg-barre-achat{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:12px;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--blanc);box-shadow:var(--ombre-2)}
  .kg-barre-achat b{font-family:var(--police-mono);color:var(--accent)}
  body.avec-barre{padding-bottom:64px}
}
@media (max-width:560px){
  .kg-wrap{padding:0 16px}
  .kg-ligne{grid-template-columns:32px 64px 1fr}
  .kg-ligne-img{width:64px;height:64px}
  .kg-ligne-cta{grid-column:1 / -1}
  .kg-auteur{flex-direction:column}
}

/* ---------- Gabarits accueil, avis, marque (14/10) ---------- */
/* En-tÃªte alignÃ© sur la colonne du contenu (1180 px) au lieu des bords de l'Ã©cran,
   et tous les Ã©lÃ©ments du menu Ã  la mÃªme hauteur. */
@media (min-width:1001px){
  .header{padding-left:max(24px,calc((100% - 1180px) / 2 + 24px));padding-right:max(24px,calc((100% - 1180px) / 2 + 24px))}
}
.nav{gap:4px}
.nav > a,.nav-drop-t{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;line-height:1}
.nav .nav-cta{margin-left:8px;padding:0 20px}
/* Pied de page : la marque au-dessus du texte, pas Ã  cÃ´tÃ© */
.footer-brand{display:block}
.footer-brand .brand{margin-bottom:12px}
.footer-brand .brand-name{font-size:var(--t-lg);text-transform:none;color:var(--blanc)}
.footer-brand .brand-name span{color:var(--or);text-transform:none;font-size:inherit;font-family:inherit}
.footer p{color:var(--fond-2)}
.footer-legal{color:var(--fond-2)}

/* Accueil : chiffres du hero, Ã©tiquette sur la photo */
.kg-hero-chiffres{display:flex;gap:32px;list-style:none;margin:32px 0 0;padding:0}
.kg-hero-chiffres li{display:flex;flex-direction:column}
.kg-hero-chiffres b{font-family:var(--police-titre);font-size:var(--t-3xl);line-height:1;color:var(--encre)}
.kg-hero-chiffres span{font-size:var(--t-2xs);color:var(--texte-3);margin-top:4px}
.kg-hero-media-produit{position:relative}
.kg-hero-etiquette{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:var(--blanc);border-radius:var(--r-md);box-shadow:var(--ombre-2);padding:8px 16px 8px 8px;font-size:var(--t-2xs);color:var(--texte-3)}
.kg-hero-etiquette b{display:block;font-family:var(--police-titre);font-size:var(--t-sm);color:var(--encre)}
.kg-pod-pour{margin:0;font-size:var(--t-sm);color:var(--texte-2)}
.kg-lien-fleche{font-weight:600;font-size:var(--t-sm)}
.kg-cartes-4{grid-template-columns:repeat(4,1fr)}
.kg-carte-photo .kg-carte-img{display:grid;place-items:center;aspect-ratio:4/3;border-radius:var(--r-md);background:var(--fond);overflow:hidden;margin-bottom:8px}
.kg-carte-photo .kg-carte-img img{width:72%;height:auto;object-fit:contain}
.kg-carte-photo .kg-meta{margin-top:0}
.kg-carte-photo .kg-prix{margin-top:auto}
.kg-criteres{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.kg-critere{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px}
.kg-critere h3{font-size:var(--t-lg);margin:0 0 8px}
.kg-critere p{margin:0;font-size:var(--t-sm);color:var(--texte-2)}
.kg-tailles{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}
.kg-tailles .kg-tableau-cadre{margin:0}
.kg-thermo-carte{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.kg-thermo-carte .kg-thermo{max-width:220px}
.kg-thermo-carte .kg-meta{margin:0}
.kg-paliers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kg-palier{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px}
.kg-palier h3{font-size:var(--t-xl);margin:0 0 4px}
.kg-palier p{margin:0 0 16px;font-size:var(--t-sm);color:var(--texte-2)}
.kg-palier ul{list-style:none;margin:0;padding:0}
.kg-palier li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:var(--trait-fin) solid var(--fond-2);font-size:var(--t-sm)}
.kg-palier li .kg-prix{font-size:var(--t-sm)}

/* Socle adouci : ombres plutÃ´t que traits Ã©pais */
.faq{border:0;box-shadow:var(--ombre-1)}
.carou-track{border:0;box-shadow:var(--ombre-1);border-radius:var(--r-lg)}
.keyfacts.kg-keyfacts{background:transparent;border:0;gap:12px;margin:32px 0 48px}
.kg-keyfacts .keyfact{border-radius:var(--r-md);box-shadow:var(--ombre-1);padding:16px 8px}
.kg-keyfacts .keyfact b{font-family:var(--police-mono);font-size:var(--t-lg)}
.cta-band.kg-cta{background:var(--encre-3);border-radius:var(--r-lg);margin:24px 0 8px}
.cta-band.kg-cta .t{text-transform:none;font-size:var(--t-lg)}
.cta-band.kg-cta .s{color:var(--fond-2)}
.kg-btn-or{background:var(--or);color:var(--encre-3)}
.kg-btn-or:hover{background:var(--or-2);color:var(--encre-3)}

/* Page avis : en-tÃªte */
.kg-avh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.kg-avh .carou{margin:0}
.kg-avh .carou-slide img{height:480px;object-fit:contain;background:var(--blanc);padding:24px}
.kg-avh .kg-reponse{font-size:var(--t-md)}
.kg-avh-jauges{display:flex;align-items:center;gap:24px;margin:8px 0 24px}
.kg-avh-thermo .kg-thermo{max-width:200px}
.kg-offres-titre{margin:0;font-family:var(--police-titre);font-weight:800;font-size:var(--t-lg)}
.kg-offre-top{background:var(--or-clair)}
.kg-offre-m small{display:block;font-weight:400;font-size:var(--t-2xs);color:var(--texte-3)}
.kg-offres .kg-meta{margin:0}

/* Page avis : corps + rÃ©sumÃ© collant */
.kg-avis-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.kg-avis-texte{max-width:none}
.kg-avis-texte > h2:first-child{margin-top:0}
.kg-avis-aside{position:sticky;top:96px}
.kg-resume{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-2);padding:24px;display:flex;flex-direction:column;gap:12px}
.kg-resume-img{aspect-ratio:1/1;display:grid;place-items:center;border-radius:var(--r-md);background:var(--fond);overflow:hidden}
.kg-resume-img img{width:80%;height:auto}
.kg-resume-nom{font-family:var(--police-titre);font-size:var(--t-lg)}
.kg-resume-ligne{display:flex;align-items:center;justify-content:space-between}
.kg-barres{display:flex;flex-direction:column;gap:12px;background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);padding:24px;margin:16px 0 24px}
.kg-barre{display:grid;grid-template-columns:200px minmax(0,1fr) 48px;gap:16px;align-items:center}
.kg-barre-nom{font-size:var(--t-sm);font-weight:600}
.kg-barre-nom small{display:block;font-weight:400;font-size:var(--t-2xs);color:var(--texte-3)}
.kg-barre-piste{height:12px;border-radius:var(--r-rond);background:var(--fond-2);overflow:hidden}
.kg-barre-piste span{display:block;height:100%;width:var(--v);border-radius:var(--r-rond);background:var(--or)}
.kg-barre b{font-family:var(--police-mono);text-align:right}
.kg-barre-total{padding-top:12px;border-top:var(--trait-fin) solid var(--fond-2)}
.kg-barre-total .kg-barre-piste span{background:var(--accent)}
.kg-comparatif thead th:not(:first-child){font-size:var(--t-sm)}
.kg-comparatif thead th a{color:var(--or)}
.kg-comparatif td:nth-child(2){background:var(--or-clair)}
.kg-cartes-alt{margin:24px 0}

/* Cartes produit avec photo (marque, alternatives) */
.kg-mcartes,.kg-cartes-alt{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kg-mcarte{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-1);overflow:hidden;display:flex;flex-direction:column}
.kg-mcarte:hover{box-shadow:var(--ombre-2)}
.kg-mcarte-img{display:grid;place-items:center;aspect-ratio:4/3;background:var(--fond)}
.kg-mcarte-img img{width:64%;height:auto;object-fit:contain}
.kg-mcarte-corps{padding:20px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.kg-mcarte h3{font-size:var(--t-lg);margin:0}
.kg-mcarte h3 a{color:var(--encre)}
.kg-mcarte p{margin:0;font-size:var(--t-sm);color:var(--texte-2)}
.kg-mcarte .kg-meta{margin:0}
.kg-mcarte-pied{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}

/* Page marque */
.kg-marque-hero{margin-top:8px}
.kg-marque-hero .kg-hero-media{aspect-ratio:4/3}
.kg-bloc{margin:48px 0}
.kg-bloc h2{font-size:var(--t-3xl);margin:0 0 16px}
.kg-profils th{width:40%}

@media (max-width:1000px){
  .kg-cartes-4{grid-template-columns:repeat(2,1fr)}
  .kg-avis-grille{grid-template-columns:minmax(0,1fr)}
  .kg-avis-aside{display:none}
  .kg-mcartes,.kg-cartes-alt{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .kg-avh{grid-template-columns:1fr;gap:24px}
  .kg-avh .carou-slide img{height:320px}
  .kg-tailles{grid-template-columns:1fr}
  .kg-paliers{grid-template-columns:1fr}
  .kg-hero-chiffres{gap:24px}
  .kg-bloc h2{font-size:var(--t-2xl)}
}
@media (max-width:560px){
  .kg-cartes-4,.kg-mcartes,.kg-cartes-alt{grid-template-columns:1fr}
  .kg-barre{grid-template-columns:minmax(0,1fr) 40px}
  .kg-barre-piste{grid-column:1 / -1;grid-row:2}
  .kg-avh-jauges{gap:12px}
  .kg-hero-etiquette{left:8px;bottom:8px;right:8px}
  .keyfacts.kg-keyfacts{grid-template-columns:repeat(2,1fr)}
}
.kg-saut{position:absolute;left:-9999px;top:8px;z-index:60;background:var(--encre);color:var(--blanc);padding:8px 16px;border-radius:var(--r-sm)}
.kg-saut:focus{left:8px}
.kg-ligne-cta .kg-btn,.kg-pod .kg-btn{white-space:nowrap}
.kg-ligne-cta .kg-btn{padding:0 12px;font-size:var(--t-xs)}
.pcbox{border:0;box-shadow:var(--ombre-1);background:var(--blanc);border-radius:var(--r-md)}
.pcbox h3{font-size:var(--t-lg)}

/* ---------- Revue design 14/10 (redesign, taste, ui-ux-pro-max, web-design-guidelines) ---------- */
/* Titres : jamais sous l'en-tÃªte collant, lignes Ã©quilibrÃ©es */
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
h2,h3,[id]{scroll-margin-top:96px}
a,button,summary,.kg-btn{touch-action:manipulation}

/* Menu en casse normale, pas de capitales espacÃ©es */
.nav a,.nav-drop-t{text-transform:none;letter-spacing:0;font-size:var(--t-sm);font-weight:600}
.nav .nav-cta{text-transform:none;letter-spacing:0;font-size:var(--t-sm);font-weight:700}
.nav-toggle{font-family:var(--police-texte);font-size:var(--t-sm);font-weight:700;color:var(--blanc);background:var(--encre);padding:8px 16px;border-radius:var(--r-rond)}
.footer-title{text-transform:none;letter-spacing:0;font-size:var(--t-sm);font-family:var(--police-titre)}

/* Premier Ã©cran de l'accueil : le titre court mÃ¨ne, la photo domine */
.kg-hero h1{font-size:var(--t-6xl);letter-spacing:-.03em;line-height:1;margin:0 0 24px}
.kg-hero-grille{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.kg-hero .kg-hero-media{aspect-ratio:1/1}

/* Mention Â« analyse Â» sous le titre d'un avis : du texte, pas un badge */
.kg-statut{margin:-8px 0 16px;font-size:var(--t-sm);color:var(--texte-3)}

/* Texte courant Ã  16 px minimum dans les cartes */
.kg-carte p,.kg-mcarte p,.kg-critere p,.kg-palier p,.kg-pod-pour,.kg-intro{font-size:var(--t-md)}

/* Surfaces : pas d'ombre au repos, un pas de ton suffit ; l'ombre revient au survol
   et sur ce qui flotte (en-tÃªte, rÃ©sumÃ© collant, bloc des prix, menu). */
.kg-carte,.kg-mcarte,.kg-palier,.kg-pod,.kg-ligne,.kg-tableau-cadre,.kg-barres,.faq,.carou-track,.kg-keyfacts .keyfact,.pcbox,.kg-thermo-carte{box-shadow:none}
.kg-section-2 .kg-carte,.kg-section-2 .kg-mcarte,.kg-section-2 .kg-palier,.kg-section-2 .kg-pod,.kg-section-2 .kg-thermo-carte{background:var(--blanc)}
.kg-carte,.kg-mcarte,.kg-pod,.kg-ligne{transition:box-shadow .2s ease,transform .2s ease}
.kg-carte:hover,.kg-mcarte:hover,.kg-pod:hover,.kg-ligne:hover{box-shadow:var(--ombre-2)}
.kg-pod-1{box-shadow:none;outline:3px solid var(--or);outline-offset:-3px}

/* Liens lisibles sur le fond gris */
.kg-section-2 a:not(.kg-btn):not(.kg-carte):not(.kg-mcarte-img),.kg-texte a:not(.kg-btn){color:var(--accent-fonce)}

/* FAQ : sÃ©parÃ©es par l'espace, pas par des filets */
.faq{display:flex;flex-direction:column;gap:8px;background:transparent;overflow:visible}
.faq details{border:0;background:var(--blanc);border-radius:var(--r-md)}
.kg-section-2 .faq details{background:var(--fond)}

/* Comment choisir : titre Ã  gauche, explication Ã  droite, sans boÃ®te */
.kg-criteres{display:flex;flex-direction:column;gap:32px;max-width:960px}
.kg-critere{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;background:transparent;padding:0;border-radius:0}
.kg-critere h3{font-size:var(--t-xl);margin:0}

/* Retour au clic sur les boutons */
.kg-btn{transition:background-color .2s ease,color .2s ease,transform .12s ease}
.kg-btn:active{transform:translateY(1px) scale(.98)}

/* Le seul mouvement de la page : l'aiguille du thermomÃ¨tre monte Ã  sa valeur */
.kg-thermo .aiguille{transform-box:view-box;transform-origin:100px 100px;animation:kg-aiguille 1.1s cubic-bezier(.2,.8,.2,1) .2s both}
@keyframes kg-aiguille{from{transform:rotate(-80deg)}to{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){
  .kg-thermo .aiguille{animation:none}
  .kg-btn:active{transform:none}
  .kg-carte,.kg-mcarte,.kg-pod,.kg-ligne{transition:none}
}

@media (max-width:860px){
  .kg-hero h1{font-size:var(--t-3xl)}
  .kg-hero-grille{grid-template-columns:minmax(0,1fr)}
  .kg-critere{grid-template-columns:minmax(0,1fr);gap:8px}
}
.kg-palier li{border-top:0;padding:8px 12px;margin:0 -12px;border-radius:var(--r-sm)}
.kg-palier li:nth-child(odd){background:var(--fond)}
.kg-reponse{color:var(--encre-2)}

/* LisibilitÃ© (14/10) : JetBrains Mono seulement sur les gros chiffres (prix, notes,
   chiffres clÃ©s). Petits textes chiffrÃ©s, tableaux et thermomÃ¨tre en texte courant,
   chiffres tabulaires pour garder l'alignement. */
.mono,.kg-specs td,.kg-thermo text,.kg-thermo-legende{font-family:var(--police-texte);font-variant-numeric:tabular-nums}
.mono{font-weight:600;color:var(--texte-2)}
.kg-specs td{font-size:var(--t-sm);color:var(--encre)}
.kg-thermo text{font-size:var(--t-md);font-weight:700;fill:var(--encre)}
.kg-thermo-legende{font-size:var(--t-sm);font-weight:600;color:var(--encre);line-height:1.6}

/* Date du comparatif : sous les boutons, pas au-dessus du titre */
.kg-hero-date{margin:24px 0 0}

/* Pied de page alignÃ© sur la colonne du contenu, mention d'affiliation centrÃ©e */
.footer-grid,.footer-legal{max-width:1132px}
.footer-legal{text-align:center}
.kg-specs td:nth-child(2),.kg-specs th:first-child{white-space:nowrap}
.kg-thermo-carte .kg-thermo{max-width:260px}

/* Pied de page : `.footer p` du socle remettait la marge Ã  0 et cassait le centrage */
.footer .footer-legal{margin:28px auto 0;text-align:center}

/* Hero avec photo de fond (assets/hero/) : voile sombre Ã  gauche sous le texte,
   seule exception admise au Â« pas de dÃ©gradÃ© Â». */
.kg-hero-photo{position:relative;overflow:hidden;background:var(--encre-3)}
.kg-hero-fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.kg-hero-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(22,26,23,.88) 0%,rgba(22,26,23,.72) 42%,rgba(22,26,23,.15) 75%,rgba(22,26,23,0) 100%)}
.kg-hero-photo .kg-wrap{position:relative;z-index:2}
.kg-hero-photo h1{color:var(--blanc)}
.kg-hero-photo .kg-reponse{color:var(--fond)}
.kg-hero-photo .kg-btn-ghost{background:var(--fond);color:var(--encre)}
.kg-hero-photo .kg-hero-media{background:var(--blanc)}
.kg-hero-credit{position:absolute;right:24px;bottom:12px;max-width:50%;text-align:right;z-index:2;font-size:var(--t-3xs);color:var(--fond-2)}
@media (max-width:860px){
  .kg-hero-photo::before{background:rgba(22,26,23,.78)}
}

/* Hero photo : la scÃ¨ne est le visuel. La grande carte produit disparaÃ®t, seule
   l'Ã©tiquette du nÂ° 1 reste, en bas Ã  droite, comme une lÃ©gende. */
.kg-hero-photo{min-height:0;padding:48px 0 40px;display:flex;align-items:center}
.kg-hero-photo .kg-wrap{width:100%}
.kg-hero-photo .kg-hero-grille{grid-template-columns:minmax(0,560px) 1fr}
.kg-hero-photo .kg-hero-media{background:transparent;box-shadow:none;aspect-ratio:auto;padding:0;align-self:end;justify-self:end;position:static}
.kg-hero-photo .kg-hero-media > img{display:none}
.kg-hero-photo .kg-hero-etiquette{position:static}
.kg-hero-photo .kg-hero-fond{object-position:80% 58%}
@media (max-width:860px){
  .kg-hero-photo{min-height:0}
  .kg-hero-photo .kg-hero-grille{grid-template-columns:minmax(0,1fr)}
  .kg-hero-photo .kg-hero-media{justify-self:start}
}
.kg-hero-photo .kg-hero-media{display:none}
.kg-hero-photo .kg-hero-grille{grid-template-columns:minmax(0,580px)}

/* =====================================================================
   Charte Â« Ã‰maux Â» (14/10) : titres et grands chiffres en Archivo Ã©troit,
   accueil en chapitres de couleur d'Ã©mail, en-tÃªtes bleu nuit sur les avis
   et les marques. Le haut de page photo reste tel quel.
   ===================================================================== */
h1,h2,h3,.brand-name,.kg-prix,.kg-note b,.kg-keyfacts .keyfact b,.kg-offre-p,.kg-barre b,.kg-pod-rang,.kg-ligne-rang{font-family:var(--police-titre);font-stretch:82%;font-weight:800}
h1,h2{font-weight:900;letter-spacing:-.01em}
.kg-hero h1{font-stretch:78%;letter-spacing:-.02em}
.brand-name{font-stretch:90%}

/* Chapitres d'Ã©mail */
.kg-email{color:var(--email-clair)}
.kg-email h2,.kg-email > .kg-wrap > h3{color:var(--blanc)}
.kg-email .kg-intro,.kg-email > .kg-wrap > p{color:var(--email-clair)}
.kg-email > .kg-wrap > p a,.kg-email .kg-intro a{color:var(--blanc);text-decoration:underline;text-underline-offset:3px}
.kg-email-rouge{background:var(--email-rouge)}
.kg-email-vert{background:var(--email-vert)}
.kg-email-bleu{background:var(--email-bleu)}
.kg-email-charbon{background:var(--email-charbon)}
.kg-email-creme{background:var(--email-creme);color:var(--encre)}
.kg-email-creme h2{color:var(--encre)}
.kg-email-creme .kg-intro{color:var(--texte-2)}
.kg-email .kg-carte,.kg-email .kg-mcarte,.kg-email .kg-palier,.kg-email .kg-pod,.kg-email .kg-thermo-carte,.kg-email .kg-tableau-cadre{background:var(--blanc);color:var(--encre)}
.kg-email .kg-carte h3,.kg-email .kg-pod h3 a{color:var(--encre)}
.kg-email .kg-pod a:not(.kg-btn){color:var(--accent-fonce)}
.kg-email .kg-pod-1{outline-color:var(--or)}

/* Les marques comparÃ©es */
.kg-marques-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.kg-marque-tuile{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:var(--r-md);background:var(--encre-2);color:var(--blanc);transition:background-color .2s ease,transform .2s ease}
.kg-marque-tuile b{font-family:var(--police-titre);font-stretch:82%;font-weight:800;font-size:var(--t-xl)}
.kg-marque-tuile span{font-size:var(--t-sm);color:var(--email-creme)}
.kg-marque-tuile:hover{background:var(--email-rouge);color:var(--blanc)}

/* Balcon : puces en forme de dÃ´me */
.kg-liste-dome{list-style:none;padding:0;margin:16px 0 24px;display:flex;flex-direction:column;gap:12px}
.kg-liste-dome li{position:relative;padding-left:28px}
.kg-liste-dome li::before{content:"";position:absolute;left:0;top:8px;width:16px;height:12px;border-radius:var(--r-rond) var(--r-rond) 0 0;background:var(--email-charbon);box-shadow:0 4px 0 -1px var(--or)}

/* Derniers guides : masquÃ© tant qu'aucun article n'est publiÃ© */
.kg-derniers:not(:has(.kg-carte,.card)){display:none}

/* Kamado ou komodo */
.kg-komodo p{font-size:var(--t-lg);max-width:var(--mesure)}
.kg-komodo strong{color:var(--blanc)}

/* Avis et marques : en-tÃªte en aplat bleu nuit, pleine largeur */
.kg-avh,.kg-marque-hero{background:var(--email-bleu);box-shadow:0 0 0 100vmax var(--email-bleu);clip-path:inset(0 -100vmax);padding-block:32px;color:var(--email-clair)}
.kg-avh .kg-page-h1,.kg-marque-hero .kg-page-h1{color:var(--blanc)}
.kg-avh .kg-reponse,.kg-marque-hero .kg-reponse,.kg-avh .kg-statut{color:var(--email-clair)}
.kg-avh .kg-note b{color:var(--blanc)}
.kg-avh .kg-note small{color:var(--email-creme)}
.kg-avh .kg-thermo text{fill:var(--blanc)}
.kg-avh .kg-thermo .piste{stroke:var(--encre-2)}
.kg-avh .kg-thermo .repere{fill:var(--blanc)}
.kg-avh .kg-thermo-legende{color:var(--blanc)}
.kg-avh .carou-dots button{background:var(--email-creme)}
.kg-marque-hero .kg-btn-ghost{background:var(--email-clair)}
.kg-ariane{margin-bottom:24px}

/* Pied de page couleur charbon */
.footer{background:var(--email-charbon)}
.kg-email-creme > .kg-wrap > p,.kg-email-creme .kg-intro{color:var(--texte-2)}
.kg-critere{box-shadow:none}
.kg-specs td:last-child{white-space:nowrap}
.kg-avh .kg-offres{color:var(--encre)}
.kg-avh .kg-offres .kg-meta{color:var(--texte-3)}
.kg-email-creme.kg-komodo strong{color:var(--encre)}
.kg-email-creme > .kg-wrap > p a{color:var(--accent-fonce)}
.kg-komodo strong{color:var(--encre)}
.kg-komodo{padding-bottom:var(--e-9)}

/* Rubrique Cuisson : menu de la navbar et calculateur d'horaires (16/10) */
.ndp-liste{min-width:280px}
.ndp-liste .ndp-pane-t{padding:4px 8px 8px}
.kg-cuisson-tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e-8);align-items:start;margin:var(--e-2) 0 var(--e-8)}
.kg-cuisson-intro .kg-pastille{margin-bottom:var(--e-3)}
.kg-cuisson-intro .kg-page-h1{font-size:var(--t-3xl)}
.kg-calc{background:var(--blanc);border-radius:var(--r-lg);box-shadow:var(--ombre-2);overflow:hidden}
.kg-calc-titre{margin:0;padding:var(--e-4) var(--e-6);background:var(--email-bleu);color:var(--blanc);font-size:var(--t-lg);line-height:var(--interligne-t)}
.kg-calc-champs{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-3) var(--e-4);padding:var(--e-5) var(--e-6) 0}
.kg-calc-champ{display:flex;flex-direction:column;gap:var(--e-1);font-size:var(--t-2xs);font-weight:700;color:var(--texte-2);min-width:0}
.kg-calc-large{grid-column:1 / -1}
.kg-calc-champ input[type="number"],.kg-calc-champ input[type="time"],.kg-calc-champ select{width:100%;min-height:44px;padding:0 var(--e-3);font:inherit;font-size:var(--t-md);font-weight:600;color:var(--encre);background:var(--fond);border:var(--trait-fin) solid var(--bordure);border-radius:var(--r-sm)}
.kg-calc-unite{display:flex;align-items:center;gap:var(--e-2);font-size:var(--t-md);color:var(--encre)}
.kg-calc-champ input:focus-visible,.kg-calc-champ select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.kg-calc-methode{border:0;margin:0;padding:0}
.kg-calc-methode legend{padding:0;margin-bottom:var(--e-1)}
.kg-calc-methode label{display:flex;align-items:center;gap:var(--e-2);min-height:36px;font-size:var(--t-sm);font-weight:600;color:var(--encre);cursor:pointer}
.kg-calc-methode input{accent-color:var(--accent);width:20px;height:20px;margin:0}
.kg-calc-res{padding:var(--e-5) var(--e-6) 0}
.kg-calc-chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-2)}
.kg-calc-chiffre{background:var(--or-clair);border-radius:var(--r-sm);padding:var(--e-2) var(--e-3);display:flex;flex-direction:column;gap:var(--e-1)}
.kg-calc-chiffre b{font-family:var(--police-titre);font-size:var(--t-md);line-height:var(--interligne-t);color:var(--encre)}
.kg-calc-chiffre span{font-size:var(--t-3xs);color:var(--texte-2)}
.kg-calc-alerte{margin:var(--e-3) 0 0;padding:var(--e-2) var(--e-3);border-left:4px solid var(--accent);background:var(--fond);font-size:var(--t-sm);color:var(--encre)}
.kg-calc-etapes{list-style:none;margin:var(--e-4) 0 0;padding:0}
.kg-calc-etapes li{display:grid;grid-template-columns:56px 1fr;gap:var(--e-3);padding:var(--e-2) 0;border-top:var(--trait-fin) solid var(--fond-2);font-size:var(--t-sm);line-height:1.45;color:var(--encre-2)}
.kg-calc-etapes time{font-family:var(--police-titre);font-weight:800;font-size:var(--t-md);color:var(--accent-fonce);font-variant-numeric:tabular-nums}
.kg-calc-etapes li:last-child time{color:var(--secondaire)}
.kg-calc-note{margin:0;padding:var(--e-3) var(--e-6) var(--e-5);font-size:var(--t-3xs);line-height:1.5;color:var(--texte-3)}
.kg-cuisson-thermo{margin:var(--e-6) 0;display:flex;gap:var(--e-5);align-items:center;background:var(--blanc);border-radius:var(--r-md);padding:var(--e-4)}
.kg-cuisson-thermo .kg-thermo{width:200px;flex:none}
.kg-cuisson-thermo figcaption{font-size:var(--t-sm);color:var(--texte-2)}
.kg-sources li{font-size:var(--t-sm)}
@media (max-width:860px){
  .kg-cuisson-tete{grid-template-columns:minmax(0,1fr);gap:var(--e-6)}
  .kg-cuisson-intro .kg-page-h1{font-size:var(--t-2xl)}
  .ndp-liste{min-width:0}
}
@media (max-width:520px){
  .kg-calc-titre{padding:var(--e-3) var(--e-4)}
  .kg-calc-champs,.kg-calc-res{padding-left:var(--e-4);padding-right:var(--e-4)}
  .kg-calc-note{padding-left:var(--e-4);padding-right:var(--e-4)}
  .kg-calc-chiffres{grid-template-columns:minmax(0,1fr)}
  .kg-calc-chiffre{flex-direction:row;align-items:baseline;justify-content:space-between;gap:var(--e-2)}
  .kg-cuisson-thermo{flex-direction:column;align-items:flex-start}
}.kg-specs.kg-cuisson-table th,.kg-specs.kg-cuisson-table td,.kg-specs.kg-cuisson-table td:nth-child(2),.kg-specs.kg-cuisson-table td:last-child{white-space:normal}
@media (max-width:520px){.kg-specs.kg-cuisson-table th,.kg-specs.kg-cuisson-table td{padding:var(--e-2) var(--e-2)}}
.kg-cuisson-table thead small{font-family:var(--police-texte);font-weight:600;font-size:var(--t-3xs)}

/* Page cuisson, alignée sur les pages marque (16/10) : en-tête bleu nuit, keyfacts, kg-texte + colonne fixe */
.kg-cuisson-tete{align-items:center}
.kg-cuisson-tete .kg-meta{color:var(--email-clair)}
.kg-cuisson-tete .kg-calc{box-shadow:none}
.kg-cuisson-tete .kg-calc-titre{background:var(--blanc);color:var(--encre);border-bottom:var(--trait-fin) solid var(--fond-2)}
.cz-corps{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--e-9);align-items:start}
.cz-rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--e-4);margin-top:var(--e-8)}
.kg-cuisson-reperes{background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-5)}
.kg-cuisson-reperes-t{font-size:var(--t-lg);margin:0 0 var(--e-3)}
.kg-cuisson-mini{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.kg-cuisson-mini th,.kg-cuisson-mini td{padding:var(--e-2) var(--e-2) var(--e-2) 0;text-align:left;border-bottom:var(--trait-fin) solid var(--fond-2)}
.kg-cuisson-mini thead th{font-size:var(--t-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--texte-3)}
.kg-cuisson-mini tbody th{font-weight:700;color:var(--encre)}
.kg-cuisson-mini td{font-variant-numeric:tabular-nums;color:var(--encre-2)}
.kg-cuisson-mini td:last-child{font-weight:700;color:var(--accent)}
.kg-cuisson-sommaire ul{list-style:none;margin:var(--e-4) 0 0;padding:0;display:flex;flex-direction:column}
.kg-cuisson-sommaire a{display:block;padding:var(--e-2) 0;border-top:var(--trait-fin) solid var(--fond-2);font-size:var(--t-sm);font-weight:600;color:var(--encre)}
.kg-cuisson-sommaire a:hover{color:var(--accent)}
.cz-rail-cta{display:flex;flex-direction:column;gap:var(--e-1);background:var(--email-bleu);border-radius:var(--r-lg);padding:var(--e-5);color:var(--email-clair);font-size:var(--t-sm)}
.cz-rail-cta b{font-family:var(--police-titre);font-size:var(--t-lg);color:var(--blanc)}
.cz-rail-cta:hover{color:var(--blanc)}
.kg-texte h2[id],.kg-texte h3[id],.kg-bloc[id]{scroll-margin-top:96px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Tableaux : av-table du site, défilement horizontal si besoin */
.cz-defile{overflow-x:auto;margin:var(--e-4) 0 var(--e-3)}
.cz-defile .av-table{min-width:520px}
.cz-defile .av-table:not(.cz-chaleur){min-width:0}
.cz-chaleur td{font-variant-numeric:tabular-nums;white-space:nowrap}
.cz-chaleur thead th{white-space:nowrap}
.av-table td.cz-t1{background:color-mix(in srgb,var(--or) 8%,var(--blanc))}
.av-table td.cz-t2{background:color-mix(in srgb,var(--or) 18%,var(--blanc))}
.av-table td.cz-t3{background:color-mix(in srgb,var(--or) 30%,var(--blanc))}
.av-table td.cz-t4{background:color-mix(in srgb,var(--or) 44%,var(--blanc))}
.av-table td.cz-t5{background:color-mix(in srgb,var(--or) 60%,var(--blanc));color:var(--encre)}

/* Échelle des températures : panneau blanc comme les barres de capacité */
.cz-echelle{margin:var(--e-4) 0 var(--e-3);background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-6)}
.cz-echelle ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--e-4)}
.cz-echelle li,.cz-axe{display:grid;grid-template-columns:88px minmax(0,1fr) 120px;gap:var(--e-4);align-items:center}
.cz-ech-nom{font-weight:700;font-size:var(--t-sm);color:var(--encre)}
.cz-piste{position:relative;height:12px;border-radius:var(--r-rond);background:var(--fond-2)}
.cz-plage{position:absolute;top:0;bottom:0;left:var(--de);right:calc(100% - var(--a));border-radius:var(--r-rond);background:var(--or)}
.cz-sortie{position:absolute;top:50%;left:var(--s);width:16px;height:16px;transform:translate(-50%,-50%);border-radius:var(--r-rond);background:var(--accent);border:2px solid var(--blanc)}
.cz-ech-val{font-weight:700;font-size:var(--t-sm);font-variant-numeric:tabular-nums;text-align:right}
.cz-ech-val small{display:block;font-weight:600;font-size:var(--t-3xs);color:var(--texte-3)}
.cz-axe{margin-top:var(--e-3)}
.cz-axe-graduations{display:flex;justify-content:space-between;font-size:var(--t-3xs);color:var(--texte-3)}
.cz-ech-legende{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-2);margin-top:var(--e-4);font-size:var(--t-2xs);color:var(--texte-2)}
.cz-cle{display:inline-block;width:20px;height:8px;border-radius:var(--r-rond);background:var(--or)}
.cz-cle-sortie{width:12px;height:12px;background:var(--accent);margin-left:var(--e-3)}

/* Étapes : pastilles numérotées laiton, comme le podium */
.cz-etapes{list-style:none;margin:var(--e-4) 0;padding:0;display:flex;flex-direction:column;gap:var(--e-3)}
.cz-etapes li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--e-4);align-items:start;background:var(--blanc);border-radius:var(--r-md);padding:var(--e-4)}
.cz-etape-n{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-rond);background:var(--or);font-family:var(--police-titre);font-weight:800;font-size:var(--t-sm);color:var(--encre)}
.kg-texte .cz-etapes p{margin:0 0 var(--e-2)}
.cz-tag{display:inline-block;padding:var(--e-1) var(--e-2);border-radius:var(--r-sm);background:var(--fond);font-size:var(--t-3xs);font-weight:700;color:var(--encre)}
.cz-tag.cz-chaud{background:color-mix(in srgb,var(--accent) 14%,var(--blanc));color:var(--accent-fonce)}
.cz-thermo{margin:var(--e-4) 0;display:flex;gap:var(--e-5);align-items:center;background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-5)}
.cz-thermo .kg-thermo{width:200px;flex:none}
.cz-thermo figcaption{font-size:var(--t-sm);color:var(--texte-2)}

/* FAQ et sources */
.cz-refs{display:inline-block;margin-left:var(--e-1);font-size:var(--t-2xs);font-weight:700;color:var(--texte-3);white-space:nowrap}
.kg-texte a.cz-ref{font-variant-numeric:tabular-nums}
.cz-sources{padding-left:var(--e-5);font-size:var(--t-2xs);line-height:1.6}
.cz-sources li{margin-bottom:var(--e-1);scroll-margin-top:96px}
.cz-sources li:target{background:var(--or-clair);border-radius:var(--r-sm)}

@media (max-width:1024px){
  .cz-corps{grid-template-columns:minmax(0,1fr)}
  .cz-rail{position:static;margin-top:0;order:-1}
  .kg-cuisson-sommaire{display:none}
  .cz-rail-cta{display:none}
}
@media (max-width:520px){
  .cz-echelle{padding:var(--e-4)}
  .cz-echelle li{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--e-2)}
  .cz-echelle .cz-piste{grid-column:1 / -1;grid-row:2}
  .cz-axe{grid-template-columns:minmax(0,1fr)}
  .cz-axe > span:empty{display:none}
  .cz-thermo{flex-direction:column;align-items:flex-start}
}.kg-cuisson-tete{align-items:start}
.kg-cuisson-intro{padding-top:var(--e-4)}
.kg-cuisson-tete .kg-cuisson-reperes{margin-top:var(--e-6);color:var(--encre)}
.cz-corps{grid-template-columns:minmax(0,760px) 320px;justify-content:space-between}
.cz-corps .kg-texte{max-width:none}
.cz-corps .kg-texte > p,.cz-corps .kg-texte > ul,.cz-corps .kg-texte > h2,.cz-corps .kg-texte > h3{max-width:var(--mesure)}
.kg-cuisson-sommaire{background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-5)}
.kg-cuisson-sommaire b{display:block;font-family:var(--police-titre);font-size:var(--t-lg);margin-bottom:var(--e-2)}
.kg-cuisson-sommaire ul{margin:0}
.kg-cuisson-sommaire li:first-child a{border-top:0}
@media (max-width:1024px){.cz-corps{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.kg-cuisson-tete .kg-cuisson-reperes{display:none}}
.cz-fin{margin-top:var(--e-4)}
.cz-fin > h2:first-child{margin-top:0}

/* Menus déroulants de la navbar, charte « Émaux » (16/10) : aplat bleu nuit, Archivo, accents laiton */
.nav .nav-drop-p{background:var(--email-bleu);border:0;border-radius:var(--r-lg);box-shadow:var(--ombre-2);padding:var(--e-3);top:calc(100% + 12px)}
.nav .nav-drop-p::after{content:"";position:absolute;top:-6px;right:var(--e-7);width:12px;height:12px;background:var(--email-bleu);transform:rotate(45deg)}
.nav .ndp-2col::after{background:color-mix(in srgb,var(--blanc) 14%,transparent)}
.nav .ndp-brand{padding:var(--e-2) var(--e-3)}
.nav .ndp-brand b{font-family:var(--police-titre);font-stretch:82%;font-weight:800;font-size:var(--t-md);text-transform:none;letter-spacing:0;color:var(--email-clair)}
.nav .ndp-arrow{color:color-mix(in srgb,var(--blanc) 35%,transparent)}
.nav .ndp-brand:hover,.nav .ndp-brand.is-on{background:color-mix(in srgb,var(--blanc) 9%,transparent)}
.nav .ndp-brand:hover b,.nav .ndp-brand.is-on b,.nav .ndp-brand:hover .ndp-arrow,.nav .ndp-brand.is-on .ndp-arrow{color:var(--or)}
.nav .ndp-pane-t{color:var(--or);letter-spacing:.08em}
.nav .ndp-item{color:var(--email-clair);font-size:var(--t-sm);font-weight:600;padding:var(--e-2) var(--e-3)}
.nav .ndp-item:hover{background:color-mix(in srgb,var(--blanc) 9%,transparent);color:var(--blanc)}
.nav .ndp-all{color:var(--or);font-size:var(--t-2xs);padding:var(--e-2) var(--e-3)}
.nav .ndp-all::after{content:" \2192"}
.nav .ndp-all:hover{color:var(--blanc);text-decoration:none}
.nav .ndp-liste{min-width:280px;display:flex;flex-direction:column}
.nav .ndp-liste .ndp-pane-t{padding:var(--e-1) var(--e-3) var(--e-2)}
.nav-drop-t[aria-expanded="true"]{color:var(--accent)}
@media (max-width:860px){
  .nav .nav-drop-p{border-radius:var(--r-md);box-shadow:none}
  .nav .nav-drop-p::after{display:none}
  .nav .ndp-group + .ndp-group{border-top-color:color-mix(in srgb,var(--blanc) 12%,transparent)}
  .nav .ndp-pane{border-left-color:color-mix(in srgb,var(--blanc) 18%,transparent)}
}.nav .nav-drop-p[hidden]{display:none}

/* ================= Navbar (validée le 17/10) : Marques en accordéon compact avec vignettes ================= */
.nv-header{gap:var(--e-4)}
.nv-nav{display:flex;align-items:center;gap:var(--e-1)}
.nv-item{position:relative}
.nv-onglet,.nv-lien{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e-3);background:none;border:0;border-radius:var(--r-sm);cursor:pointer;
  font-family:var(--police-texte);font-size:var(--t-md);font-weight:600;color:var(--encre);white-space:nowrap}
.nv-onglet::after{content:"";width:7px;height:7px;margin-left:var(--e-2);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.nv-onglet[aria-expanded="true"]{color:var(--accent-fonce)}
.nv-onglet[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
.nv-onglet:hover,.nv-lien:hover{color:var(--accent-fonce)}
.nv-action{display:inline-flex;align-items:center;min-height:44px;margin-left:var(--e-2);padding:0 var(--e-5);border-radius:var(--r-rond);background:var(--accent);
  color:var(--blanc);font-family:var(--police-titre);font-weight:800;font-size:var(--t-sm);white-space:nowrap}
.nv-action:hover{background:var(--accent-fonce);color:var(--blanc)}
.nv-burger{display:none}
.nv-panneau{position:absolute;z-index:60;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:320px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;
  background:var(--blanc);border-radius:var(--r-md);box-shadow:var(--ombre-2);padding:var(--e-2);animation:nvDescend .18s ease both}
.nv-panneau[hidden]{display:none}
@keyframes nvDescend{from{opacity:0;margin-top:-6px}to{opacity:1;margin-top:0}}
.nv-acc-tete{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--e-2);align-items:center;width:100%;min-height:48px;
  padding:var(--e-1) var(--e-7) var(--e-1) var(--e-1);border:0;border-radius:var(--r-sm);background:none;cursor:pointer;text-align:left;font:inherit;color:var(--encre)}
.nv-acc-tete img{width:36px;height:36px;object-fit:contain;background:var(--fond);border-radius:var(--r-sm)}
.nv-acc-tete b{display:block;font-family:var(--police-titre);font-stretch:82%;font-weight:800;font-size:var(--t-md);line-height:1.15}
.nv-acc-tete small{display:block;font-size:var(--t-3xs);color:var(--texte-2);line-height:1.3}
.nv-acc-tete::after{content:"+";position:absolute;right:var(--e-3);top:50%;transform:translateY(-50%);font-weight:700;color:var(--accent-fonce)}
.nv-acc-tete:hover b{color:var(--accent-fonce)}
.nv-acc-tete[aria-expanded="true"]{background:var(--fond)}
.nv-acc-tete[aria-expanded="true"] img{background:var(--blanc)}
.nv-acc-tete[aria-expanded="true"]::after{content:"\2212"}
.nv-acc-corps{padding:var(--e-1) var(--e-1) var(--e-2) 44px}
.nv-acc-corps[hidden]{display:none}
.nv-acc-corps ul{list-style:none;margin:0;padding:0}
.nv-modele{display:flex;justify-content:space-between;align-items:center;gap:var(--e-3);min-height:40px;padding:var(--e-1) var(--e-2);border-radius:var(--r-sm);color:var(--encre)}
.nv-modele:hover{background:var(--fond);color:var(--encre)}
.nv-modele > span{line-height:1.25}
.nv-modele b{font-size:var(--t-2xs);font-weight:700}
.nv-modele small{display:block;font-size:var(--t-3xs);color:var(--texte-3)}
.nv-modele em{font-style:normal;font-family:var(--police-titre);font-weight:800;font-size:var(--t-2xs);color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.nv-modele em.nv-nc{font-family:var(--police-texte);font-weight:600;color:var(--texte-3)}
.nv-tag{display:inline-block;margin-left:var(--e-1);padding:0 var(--e-1);border-radius:var(--r-sm);background:var(--or-clair);font-size:var(--t-3xs);font-weight:700;color:var(--encre)}
.nv-gamme,.nv-tout{display:inline-block;margin:var(--e-1) var(--e-2) 0;font-size:var(--t-2xs);font-weight:700;color:var(--accent-fonce)}
.nv-gamme::after,.nv-tout::after{content:" \2192"}
.nv-panneau-cuisson{width:300px;padding:var(--e-3)}
.nv-guide{display:flex;flex-direction:column;gap:var(--e-1);padding:var(--e-3);border-radius:var(--r-sm);background:var(--fond);color:var(--encre)}
.nv-guide b{font-family:var(--police-titre);font-stretch:82%;font-weight:800;font-size:var(--t-md)}
.nv-guide small{font-size:var(--t-2xs);color:var(--texte-2)}
.nv-guide:hover b{color:var(--accent-fonce)}
.nv-panneau-cuisson .nv-tout{margin-top:var(--e-3)}

@media (max-width:960px){
  .nv-header{position:sticky}
  .nv-burger{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e-5);border:0;border-radius:var(--r-rond);background:var(--encre);color:var(--blanc);
    font-family:var(--police-texte);font-weight:700;font-size:var(--t-sm);cursor:pointer}
  .nv-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--fond);
    padding:var(--e-2) var(--e-4) var(--e-5);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--ombre-2)}
  .nv-nav.is-open{display:flex}
  .nv-item{position:static}
  .nv-onglet,.nv-lien{justify-content:space-between;width:100%;min-height:52px;padding:0 var(--e-1);font-family:var(--police-titre);font-weight:800;font-size:var(--t-lg)}
  .nv-action{justify-content:center;margin:var(--e-3) 0 0;min-height:48px}
  .nv-panneau,.nv-panneau-cuisson{position:static;transform:none;width:auto;max-height:none;overflow:visible;box-shadow:none;border-radius:var(--r-md);animation:none;margin-bottom:var(--e-2)}
  .nv-acc-tete{min-height:56px}
  .nv-modele{min-height:48px}
  .nv-modele b{font-size:var(--t-sm)}
  .nv-modele em{font-size:var(--t-sm)}
  html.nv-verrou{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.nv-panneau{animation:none}.nv-onglet::after{transition:none}}

/* ================= Accueil (validé le 17/10) : en-tête compact + mini-podium ================= */
.kg-hero-accueil.kg-hero-photo{padding:var(--e-7) 0}
.kg-accueil-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:var(--e-8);align-items:center}
.kg-hero-accueil h1{font-size:var(--t-5xl);margin:0 0 var(--e-3)}
.kg-hero-accueil .kg-reponse{font-size:var(--t-md);line-height:1.55;margin:0 0 var(--e-5);max-width:58ch}
.kg-accueil-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-3)}
.kg-accueil-date{font-size:var(--t-2xs);color:var(--email-clair)}
.kg-mpod{background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-4) var(--e-5);color:var(--encre);box-shadow:var(--ombre-2)}
.kg-mpod-t{margin:0 0 var(--e-2);font-family:var(--police-titre);font-weight:800;font-size:var(--t-lg)}
.kg-mpod ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--e-2)}
.kg-mpod-ligne{display:grid;grid-template-columns:24px 56px minmax(0,1fr) auto;grid-template-areas:"r i n p" "r i b b";gap:var(--e-1) var(--e-3);align-items:center;padding:var(--e-2);border-radius:var(--r-md);background:var(--fond)}
.kg-mpod-rang{grid-area:r;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-rond);background:var(--or);font-family:var(--police-titre);font-weight:800;font-size:var(--t-2xs)}
.kg-mpod-ligne img{grid-area:i;width:56px;height:56px;object-fit:contain;background:var(--blanc);border-radius:var(--r-sm)}
.kg-mpod-nom{grid-area:n;font-family:var(--police-titre);font-stretch:82%;font-weight:800;font-size:var(--t-md);line-height:1.15;color:var(--encre)}
.kg-mpod-nom small{display:block;font-family:var(--police-texte);font-stretch:100%;font-weight:600;font-size:var(--t-3xs);color:var(--texte-2)}
.kg-mpod-nom:hover{color:var(--accent-fonce)}
.kg-mpod-prix{grid-area:p;font-family:var(--police-titre);font-weight:800;font-size:var(--t-lg);color:var(--accent);white-space:nowrap}
.kg-mpod-btn{grid-area:b;justify-self:end;display:inline-flex;align-items:center;min-height:32px;padding:0 var(--e-3);border-radius:var(--r-rond);background:var(--accent);color:var(--blanc);font-family:var(--police-titre);font-weight:800;font-size:var(--t-2xs);white-space:nowrap}
.kg-mpod-btn:hover{background:var(--accent-fonce);color:var(--blanc)}
.kg-mpod-sans{grid-area:b;justify-self:end;font-size:var(--t-3xs);color:var(--texte-3)}
.kg-mpod-plus{display:inline-block;margin-top:var(--e-3);font-size:var(--t-sm);font-weight:700;color:var(--accent-fonce)}
@media (max-width:960px){.kg-accueil-grille{grid-template-columns:minmax(0,1fr);gap:var(--e-5)}.kg-hero-accueil.kg-hero-photo{padding:var(--e-6) 0}}
@media (max-width:640px){
  .kg-accueil-grille{display:flex;flex-direction:column;align-items:stretch;gap:var(--e-3)}
  .kg-accueil-texte{display:contents}
  .kg-hero-accueil h1{order:1;margin:0;font-size:var(--t-2xl)}
  .kg-hero-accueil .kg-reponse{order:2;margin:0;font-size:var(--t-sm);line-height:1.45}
  .kg-mpod{order:3;padding:var(--e-2)}
  .kg-accueil-actions{order:4}
  .kg-accueil-actions .kg-btn-ghost,.kg-mpod-t,.kg-mpod-plus{display:none}
  .kg-mpod-ligne{grid-template-columns:20px 44px minmax(max-content,1fr) auto;grid-template-areas:"r i n n" "r i p b";gap:var(--e-1) var(--e-2);padding:var(--e-1) var(--e-2)}
  .kg-mpod-ligne img{width:44px;height:44px}
  .kg-mpod-nom small{display:none}
  .kg-mpod-prix{font-size:var(--t-md);justify-self:start}
  .kg-mpod-btn{font-size:var(--t-3xs);padding:0 var(--e-2)}
}

/* ================= Bandeau cookies (validé le 17/10) : barre fine, refuser aussi visible qu'accepter ================= */
body .ck-banniere{left:0;right:0;bottom:0;max-width:none;border:0;border-radius:0;box-shadow:none;display:flex;align-items:center;gap:var(--e-5);
  padding:var(--e-3) var(--e-6);background:var(--email-charbon);color:var(--email-clair)}
body .ck-banniere .ck-titre{display:none}
body .ck-banniere .ck-texte{flex:1;font-size:var(--t-2xs);color:var(--email-clair)}
body .ck-banniere .ck-texte a{color:var(--or)}
body .ck-banniere .ck-actions{flex-wrap:nowrap}
body .ck-banniere .ck-btn{white-space:nowrap;padding:var(--e-2) var(--e-4);border-radius:var(--r-rond);font-size:var(--t-2xs);background:transparent;color:var(--blanc);border-color:var(--email-clair)}
body .ck-banniere .ck-btn-principal,body .ck-banniere [data-ck="refuser"]{background:var(--blanc);color:var(--encre);border-color:var(--blanc)}
@media (max-width:640px){
  body .ck-banniere{flex-direction:column;align-items:stretch;gap:var(--e-2);padding:var(--e-3) var(--e-4)}
  body .ck-banniere .ck-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-2)}
  body .ck-banniere .ck-btn{padding:var(--e-2);min-height:44px}
}/* Responsive (17/10) : en-tête sur une ligne jusqu'à 320 px, podium en 3 colonnes sur tablette */
.nv-header{flex-wrap:nowrap}
.nv-header .brand{min-width:0}
@media (max-width:400px){
  .nv-header{padding-left:var(--e-4);padding-right:var(--e-4)}
  .nv-header .brand-name{font-size:var(--t-lg)}
  .nv-header .brand img{width:28px;height:28px}
  .nv-burger{padding:0 var(--e-4)}
}
@media (min-width:641px) and (max-width:960px){
  .kg-mpod ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-2)}
  .kg-mpod-ligne{grid-template-columns:24px minmax(0,1fr);grid-template-areas:"r i" "n n" "p p" "b b";align-items:start;justify-items:start;row-gap:var(--e-2)}
  .kg-mpod-btn{justify-self:stretch;justify-content:center}
}@media (max-width:400px){.kg-mpod-ligne{grid-template-columns:20px 36px minmax(max-content,1fr) auto;column-gap:var(--e-1)}.kg-mpod-ligne img{width:36px;height:36px}.kg-mpod-prix{font-size:var(--t-sm)}}

/* Accueil (17/10) : balcon + matériau côte à côte, marques avec vignettes, derniers articles */
.kg-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e-8);align-items:start}
.kg-duo-col h2{font-size:var(--t-2xl);margin:0 0 var(--e-3)}
.kg-duo-col > p{color:var(--encre-2);margin:0 0 var(--e-3);max-width:var(--mesure)}
.kg-duo .kg-liste-dome{margin:var(--e-3) 0}
.kg-mat{list-style:none;margin:var(--e-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--e-2)}
.kg-mat li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n p" "t t" "s s";gap:var(--e-1) var(--e-3);align-items:center;background:var(--blanc);border-radius:var(--r-md);padding:var(--e-3) var(--e-4)}
.kg-mat-nom{grid-area:n;font-family:var(--police-titre);font-stretch:82%;font-weight:800;font-size:var(--t-md);color:var(--encre)}
.kg-mat-nom:hover{color:var(--accent-fonce)}
.kg-mat-type{grid-area:t;justify-self:start;padding:0 var(--e-2);border-radius:var(--r-sm);background:var(--email-creme);font-size:var(--t-3xs);font-weight:700;color:var(--encre)}
.kg-mat-type.kg-mat-acier{background:var(--email-bleu);color:var(--blanc)}
.kg-mat-prix{grid-area:p;font-family:var(--police-titre);font-weight:800;font-size:var(--t-md);color:var(--accent);white-space:nowrap}
.kg-mat small{grid-area:s;font-size:var(--t-2xs);color:var(--texte-2);line-height:1.4}

.kg-marques-grille{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-3)}
.kg-marque-tuile{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--e-3);align-items:center;padding:var(--e-3)}
.kg-marque-tuile img{width:56px;height:56px;object-fit:contain;background:var(--blanc);border-radius:var(--r-sm)}
.kg-marque-txt{display:flex;flex-direction:column;gap:var(--e-1);min-width:0}
.kg-marque-tuile .kg-marque-txt span{font-size:var(--t-2xs)}
.kg-marque-tuile b{font-size:var(--t-lg);line-height:1.1}

.kg-derniers .kg-cartes{margin-bottom:var(--e-4)}
.kg-derniers .kg-cartes:empty{display:none}

@media (max-width:960px){
  .kg-duo{grid-template-columns:minmax(0,1fr);gap:var(--e-7)}
  .kg-marques-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .kg-marques-grille{gap:var(--e-2)}
  .kg-marque-tuile{grid-template-columns:40px minmax(0,1fr);gap:var(--e-2);padding:var(--e-2)}
  .kg-marque-tuile img{width:40px;height:40px}
  .kg-marque-tuile b{font-size:var(--t-md)}
  .kg-marque-tuile .kg-marque-txt span{font-size:var(--t-3xs)}
  .kg-mat li{padding:var(--e-3)}
}#faq + .kg-derniers{padding-top:var(--e-2)}
/* Mobile (17/10) : cartes d'usage horizontales, tuiles marques sur deux lignes, FAQ plus proche des articles */
.kg-marque-des{white-space:nowrap}
.kg-marque-txt{gap:0}
#faq{padding-bottom:var(--e-6)}
@media (max-width:640px){
  #usages .kg-cartes{gap:var(--e-3)}
  #usages .kg-carte-photo{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"i m" "i h" "i p" "i x";column-gap:var(--e-3);row-gap:var(--e-1);align-items:start;padding:var(--e-3)}
  #usages .kg-carte-photo .kg-carte-img{grid-area:i;width:96px;aspect-ratio:1;margin:0;align-self:center}
  #usages .kg-carte-photo .kg-carte-img img{width:88%}
  #usages .kg-carte-photo .kg-meta{grid-area:m}
  #usages .kg-carte-photo h3{grid-area:h;font-size:var(--t-md)}
  #usages .kg-carte-photo p{grid-area:x;font-size:var(--t-2xs);line-height:1.4}
  #usages .kg-carte-photo .kg-prix{grid-area:p;margin:0}
}
/* Accueil (17/10) : « un barbecue, un fumoir et un four » */
.kg-def-grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--e-8);align-items:center}
.kg-def-texte h2{margin:0 0 var(--e-4)}
.kg-def-texte > p{color:var(--encre-2);max-width:var(--mesure);margin:0 0 var(--e-3)}
.kg-def-thermo{display:flex;align-items:center;gap:var(--e-5);margin:var(--e-5) 0 0;background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-4) var(--e-5)}
.kg-def-thermo .kg-thermo{width:180px;flex:none}
.kg-def-thermo figcaption{font-size:var(--t-sm);color:var(--texte-2)}
.kg-modes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--e-3)}
.kg-modes li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--e-4);align-items:start;background:var(--blanc);border-radius:var(--r-lg);padding:var(--e-5)}
.kg-modes b{font-family:var(--police-titre);font-stretch:82%;font-weight:900;font-size:var(--t-4xl);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.kg-modes li:first-child b{color:var(--email-bleu)}
.kg-modes li:last-child b{color:var(--email-rouge)}
.kg-modes h3{font-size:var(--t-lg);margin:0 0 var(--e-1)}
.kg-modes p{margin:0;font-size:var(--t-sm);color:var(--texte-2)}
.kg-modes a{color:var(--accent-fonce);font-weight:600}
@media (max-width:960px){.kg-def-grille{grid-template-columns:minmax(0,1fr);gap:var(--e-6)}}
@media (max-width:520px){
  .kg-modes li{grid-template-columns:minmax(0,1fr);gap:var(--e-2);padding:var(--e-4)}
  .kg-modes b{font-size:var(--t-2xl)}
  .kg-def-thermo{flex-direction:column;align-items:flex-start;padding:var(--e-4)}
}

/* Cartes d'article (maquette Claude Design, charte « Émaux ») : accueil, blog, catégories, « À lire aussi » */
.cards-3.kg-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-5)}
.kg-article.card{display:flex;flex-direction:column;border:0;border-radius:var(--r-lg);background:var(--blanc);overflow:hidden;color:var(--encre);transition:transform .2s ease,box-shadow .2s ease}
.kg-article.card:hover{transform:translateY(-2px);box-shadow:var(--ombre-2);color:var(--encre)}
.kg-article .card-shot{height:auto;aspect-ratio:16 / 9;background:var(--fond-2)}
.kg-article .card-cat-abs{top:var(--e-3);left:var(--e-3);text-transform:none;letter-spacing:0;font-size:var(--t-2xs);padding:var(--e-1) var(--e-3);border-radius:var(--r-rond);background:var(--email-bleu)}
.kg-article .card-body{display:flex;flex-direction:column;flex:1;padding:var(--e-5)}
.kg-article h3{font-size:var(--t-lg);line-height:1.2;margin:0 0 var(--e-2)}
.kg-article p{font-size:var(--t-sm);color:var(--texte-2);margin:0 0 var(--e-4)}
.kg-article .card-read{margin-top:auto;font-size:var(--t-2xs);font-weight:700;color:var(--accent-fonce)}
.kg-article:hover .card-read .ar{display:inline-block;transform:translateX(3px)}
.kg-derniers:not(:has(.card)){display:none}
@media (max-width:960px){.cards-3.kg-articles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cards-3.kg-articles{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.kg-article.card{transition:none}.kg-article.card:hover{transform:none}}.kg-modes li{grid-template-columns:128px minmax(0,1fr)}
.kg-modes b{white-space:nowrap;font-size:var(--t-3xl)}
@media (max-width:520px){.kg-modes li{grid-template-columns:minmax(0,1fr)}}
.kg-article .card-shot .card-cat-abs{color:var(--blanc);font-family:var(--police-texte);font-weight:700}

.kg-faq-pied{margin-top:var(--e-4)}
@media (max-width:860px){.kg-komodo{padding-bottom:var(--e-8)}}
.kg-article .card-shot:not(.is-photo){background:var(--blanc)}
.kg-article .card-shot:not(.is-photo) img{object-fit:contain;padding:var(--e-3)}

/* Mobile (19/10/2026) : les valeurs des fiches techniques passent a la ligne au lieu d'etre
   coupees par le cadre (le nowrap n'a de sens qu'en large). Les prix gardent leurs espaces
   insecables, ils ne se cassent pas. */
@media (max-width:640px){.kg-specs td,.kg-specs td:nth-child(2),.kg-specs td:last-child,.kg-specs th:first-child{white-space:normal}}
/* La pastille cookies se pose au-dessus de la barre d'achat mobile au lieu de masquer nom et prix */
@media (max-width:860px){body.avec-barre .ck-revisite{bottom:calc(var(--e-9) + var(--e-3))}}
/* Barre d'achat mobile sur une hauteur fixe : nom coupe par des points de suspension, bouton sur une ligne */
@media (max-width:860px){
  .kg-barre-achat > span{display:block;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;font-size:var(--t-sm)}
  .kg-barre-achat .kg-btn{flex:none;white-space:nowrap;padding-left:var(--e-4);padding-right:var(--e-4)}
}
.kg-glisser{margin:var(--e-4) 0 calc(-1 * var(--e-3));font-size:var(--t-xs);font-weight:600;color:inherit;opacity:.8;text-align:right}
