/* 10best, feuille de styles commune. Générée depuis la charte (tokens.json + composants). */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/montserrat-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/montserrat-latin-800-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-opsz-normal.woff2) format('woff2-variations'),url(/assets/fonts/source-serif-4-latin-opsz-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-opsz-italic.woff2) format('woff2-variations'),url(/assets/fonts/source-serif-4-latin-opsz-italic.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--nuit:#0d152e;--surface:#f5f6fa;--surface-raised:#ffffff;--surface-sunken:#eceef5;--ink:#10172f;--ink-muted:#4e5674;--line:#d9dce7;--line-strong:#7c849f;--or:#f5b416;--or-vif:#ffd21a;--or-pale:#fce3a0;--or-encre:#8a5a00;--on-or:#0d152e;--on-nuit:#f4f5fa;--on-nuit-muted:#aeb4cc;--rank-ground:#0d152e;--photo-ground:#ffffff;--achat:#0d152e;--on-achat:#f4f5fa;--score-fill:#b87700;--focus-ring:#b87700;--verifie:#1d6b47;--vigilance:#a04a00;--vigilance-tint:#fbeadb;--cat-sarcelle:#1b6f69;--cat-sarcelle-tint:#ddefed;--cat-framboise:#a8325a;--cat-framboise-tint:#f6e1e8;--cat-sapin:#2e6a35;--cat-sapin-tint:#e0eee1;--cat-ardoise:#3f5a99;--cat-ardoise-tint:#e3e8f5;--cat-brique:#9c4423;--cat-brique-tint:#f5e3dc;--cat-prune:#6a3d80;--cat-prune-tint:#ece2f1;--shadow-podium:0 1px 0 #d9dce7, 0 14px 32px -18px rgba(13,21,46,0.45);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--measure:680px;--page:1120px;--font-titre:"Montserrat", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-texte:"Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--nuit:#0d152e;--surface:#0a0f22;--surface-raised:#121a35;--surface-sunken:#070b19;--ink:#eceef6;--ink-muted:#a3a9c0;--line:#253052;--line-strong:#6b77a1;--or:#f5b416;--or-vif:#ffd21a;--or-pale:#2a2410;--or-encre:#f7c548;--on-or:#0d152e;--on-nuit:#f4f5fa;--on-nuit-muted:#aeb4cc;--rank-ground:#1e2a57;--photo-ground:#ffffff;--achat:#f5b416;--on-achat:#0d152e;--score-fill:#f5b416;--focus-ring:#f5b416;--verifie:#6fd3a0;--vigilance:#ffb066;--vigilance-tint:#2c1a0c;--cat-sarcelle:#5cc4ba;--cat-sarcelle-tint:#0f2a2a;--cat-framboise:#f08aab;--cat-framboise-tint:#2e1220;--cat-sapin:#7fcb86;--cat-sapin-tint:#132717;--cat-ardoise:#93abea;--cat-ardoise-tint:#161f3a;--cat-brique:#f0997a;--cat-brique-tint:#2e170e;--cat-prune:#c49adb;--cat-prune-tint:#24152c;--shadow-podium:0 14px 32px -18px rgba(0,0,0,0.7);color-scheme:dark}}
:root[data-theme="dark"]{--nuit:#0d152e;--surface:#0a0f22;--surface-raised:#121a35;--surface-sunken:#070b19;--ink:#eceef6;--ink-muted:#a3a9c0;--line:#253052;--line-strong:#6b77a1;--or:#f5b416;--or-vif:#ffd21a;--or-pale:#2a2410;--or-encre:#f7c548;--on-or:#0d152e;--on-nuit:#f4f5fa;--on-nuit-muted:#aeb4cc;--rank-ground:#1e2a57;--photo-ground:#ffffff;--achat:#f5b416;--on-achat:#0d152e;--score-fill:#f5b416;--focus-ring:#f5b416;--verifie:#6fd3a0;--vigilance:#ffb066;--vigilance-tint:#2c1a0c;--cat-sarcelle:#5cc4ba;--cat-sarcelle-tint:#0f2a2a;--cat-framboise:#f08aab;--cat-framboise-tint:#2e1220;--cat-sapin:#7fcb86;--cat-sapin-tint:#132717;--cat-ardoise:#93abea;--cat-ardoise-tint:#161f3a;--cat-brique:#f0997a;--cat-brique-tint:#2e170e;--cat-prune:#c49adb;--cat-prune-tint:#24152c;--shadow-podium:0 14px 32px -18px rgba(0,0,0,0.7);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-texte)}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
/* 10best, composants. Toutes les couleurs viennent de tokens.json (var(--…)). */

.tb, .tb * { box-sizing: border-box; }
.tb {
  font-family: var(--font-texte);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: lining-nums;
}
.tb :focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.tb a:not(.tb-btn) { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.tb a:not(.tb-btn):hover { color: var(--or-encre); }

/* Filet or : la ligne sous le logo, du jaune vers l'or, qui s'éteint aux extrémités */
.tb-filet {
  height: 2px; border: 0; margin: 0;
  background: linear-gradient(90deg, transparent, var(--or-vif) 18%, var(--or) 60%, transparent);
}

/* Libellé en capitales */
.tb-label {
  font-family: var(--font-titre); font-size: 12px; line-height: 16px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
}

/* ---------- Bouton ---------- */
.tb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: 44px; padding: 0 var(--space-6);
  font-family: var(--font-titre); font-size: 15px; line-height: 22px; font-weight: 700;
  border-radius: var(--radius-md); border: 1px solid transparent;
  cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.tb-btn--primaire { background: var(--or); color: var(--on-or); }
.tb-btn--primaire:hover { background: var(--or-vif); color: var(--on-or); }
.tb-btn--secondaire { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.tb-btn--secondaire:hover { border-color: var(--ink); color: var(--ink); }
.tb-btn--achat { background: var(--achat); color: var(--on-achat); }
.tb-btn--achat:hover { background: var(--or); color: var(--on-or); }
.tb-btn--achat svg { width: 16px; height: 16px; flex: none; }
.tb-rank__buy { margin-top: var(--space-4); width: 100%; }
.tb-rank--compact .tb-rank__buy { margin-top: var(--space-3); min-height: 40px; padding: 0 var(--space-4); font-size: 14px; }
.tb-affil { margin: 0; max-width: var(--measure); font-family: var(--font-titre); font-size: 13px; line-height: 19px; font-weight: 500; color: var(--ink-muted); }
.tb-affil strong { color: var(--ink); font-weight: 700; }
.tb-btn--lien { padding: 0; min-height: 0; background: none; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.tb-btn svg { width: 18px; height: 18px; }

/* ---------- Bandeau ---------- */
.tb-masthead { background: var(--nuit); color: var(--on-nuit); }
.tb-masthead__inner {
  max-width: var(--page); margin: 0 auto;
  padding-block: var(--space-3);
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  display: flex; align-items: center; gap: var(--space-6); flex-wrap: wrap;
}
.tb-masthead__logo { display: block; line-height: 0; }
.tb-masthead__logo img { height: 40px; width: auto; display: block; }
.tb-masthead__nav { display: flex; gap: var(--space-6); flex: 1; min-width: 0; flex-wrap: wrap; }
.tb-masthead__nav a {
  font-family: var(--font-titre); font-size: 15px; font-weight: 600; color: var(--on-nuit-muted);
  text-decoration: none; padding-block: var(--space-2); border-bottom: 2px solid transparent;
}
.tb-masthead__nav a:hover { color: var(--on-nuit); }
.tb-masthead__nav a[aria-current="page"] { color: var(--on-nuit); border-bottom-color: var(--or); }
.tb-masthead + .tb-filet { margin-top: -2px; }
@media (max-width: 640px) {
  .tb-masthead__inner { gap: var(--space-2) var(--space-4); justify-content: space-between; }
  .tb-masthead__logo img { height: 32px; }
  .tb-masthead__nav { order: 3; flex: 1 0 100%; flex-wrap: nowrap; overflow-x: auto; gap: var(--space-4); scrollbar-width: none; }
  .tb-masthead__nav a { white-space: nowrap; font-size: 14px; }
  .tb-masthead .tb-btn { min-height: 40px; padding: 0 var(--space-4); }
}

/* ---------- Étiquette de catégorie ---------- */
.tb-cat {
  --cat: var(--cat-sarcelle); --cat-tint: var(--cat-sarcelle-tint);
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 6px var(--space-3); border-radius: var(--radius-sm);
  background: var(--cat-tint); color: var(--cat);
  font-family: var(--font-titre); font-size: 12px; line-height: 16px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
}
.tb-cat::before { content: ""; width: 7px; height: 7px; border-radius: 1px; background: var(--cat); transform: rotate(45deg); }
.tb-cat--electromenager { --cat: var(--cat-sarcelle); --cat-tint: var(--cat-sarcelle-tint); }
.tb-cat--framboise { --cat: var(--cat-framboise); --cat-tint: var(--cat-framboise-tint); }
.tb-cat--sapin { --cat: var(--cat-sapin); --cat-tint: var(--cat-sapin-tint); }
.tb-cat--ardoise { --cat: var(--cat-ardoise); --cat-tint: var(--cat-ardoise-tint); }
.tb-cat--brique { --cat: var(--cat-brique); --cat-tint: var(--cat-brique-tint); }
.tb-cat--prune { --cat: var(--cat-prune); --cat-tint: var(--cat-prune-tint); }

/* ---------- En-tête d'article ---------- */
.tb-head { width: 100%; max-width: var(--page); display: grid; gap: var(--space-6); }
.tb-head__kicker { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.tb-head__kicker .tb-label { color: var(--ink-muted); }
.tb-head__title {
  margin: 0; max-width: 18ch; text-wrap: balance;
  font-family: var(--font-titre); font-size: 48px; line-height: 52px; font-weight: 800; letter-spacing: -.02em;
}
.tb-head__title em { font-style: normal; color: var(--or-encre); }
.tb-head__chapo {
  margin: 0; max-width: var(--measure);
  font-size: 21px; line-height: 32px; font-variation-settings: "opsz" 20;
}
.tb-head__meta {
  display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); align-items: center;
  padding-top: var(--space-4); border-top: 1px solid var(--line);
  font-family: var(--font-titre); font-size: 13px; line-height: 18px; font-weight: 500; color: var(--ink-muted);
}
.tb-head__meta strong { color: var(--ink); font-weight: 700; }
.tb-croise { display: inline-flex; align-items: center; gap: var(--space-1); color: var(--ink); font-weight: 700; }
.tb-croise svg { width: 16px; height: 16px; color: var(--verifie); }
@media (max-width: 640px) {
  .tb-head__title { font-size: 34px; line-height: 38px; }
  .tb-head__chapo { font-size: 19px; line-height: 29px; }
}

/* ---------- Marque podium : les trois barres du logo ---------- */
.tb-podium { display: inline-flex; align-items: flex-end; gap: 3px; height: 14px; }
.tb-podium i { display: block; width: 8px; border-radius: 1px; background: currentColor; opacity: .28; }
.tb-podium i:nth-child(1) { height: 9px; }
.tb-podium i:nth-child(2) { height: 14px; }
.tb-podium i:nth-child(3) { height: 6px; }
.tb-podium[data-place="1"] i:nth-child(2),
.tb-podium[data-place="2"] i:nth-child(1),
.tb-podium[data-place="3"] i:nth-child(3) { opacity: 1; }

/* ---------- Jauge de note ---------- */
.tb-score { display: grid; gap: var(--space-2); min-width: 0; }
.tb-score__value {
  margin: 0; font-family: var(--font-titre); font-size: 40px; line-height: 40px; font-weight: 800;
  letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--ink);
}
.tb-score__value small { font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--ink-muted); margin-left: 2px; }
.tb-score__track { position: relative; height: 6px; border-radius: var(--radius-sm); background: var(--line); overflow: hidden; }
.tb-score__track span { position: absolute; inset: 0 auto 0 0; width: calc(var(--v, 0) * 100%); background: var(--score-fill); border-radius: var(--radius-sm); }
.tb-score__src { margin: 0; font-family: var(--font-titre); font-size: 13px; line-height: 18px; font-weight: 500; color: var(--ink-muted); }
.tb-score--award .tb-score__value { font-size: 17px; line-height: 22px; font-weight: 700; letter-spacing: 0; text-wrap: balance; }
.tb-score--award .tb-score__value::before {
  content: ""; display: block; width: 24px; height: 2px; margin-bottom: var(--space-2);
  background: linear-gradient(90deg, var(--or-vif), var(--or));
}

/* ---------- Sources citées ---------- */
.tb-sources { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0; padding: 0; list-style: none; }
.tb-sources li { display: inline-flex; align-items: center; gap: var(--space-1); font-family: var(--font-titre); font-size: 13px; line-height: 18px; font-weight: 600; }
.tb-sources svg { width: 14px; height: 14px; color: var(--verifie); flex: none; }
.tb-sources a { color: var(--ink-muted); }
.tb-sources a:hover { color: var(--or-encre); }

/* ---------- Fiche de classement ---------- */
.tb-rank {
  display: grid; grid-template-columns: 88px minmax(0, 1fr) 200px; gap: var(--space-6);
  align-items: start; padding: var(--space-6);
  background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg);
}
.tb-rank__num {
  display: grid; place-items: center; align-content: center; gap: var(--space-2);
  width: 88px; height: 88px; border-radius: var(--radius-md);
  background: var(--rank-ground); color: var(--or);
  font-family: var(--font-titre); font-size: 56px; line-height: 56px; font-weight: 800; letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.tb-rank__num .tb-podium { color: var(--or); }
.tb-rank--podium .tb-rank__num { gap: 6px; }
.tb-rank--podium .tb-rank__num b { font-size: 44px; line-height: 44px; }
.tb-rank__num b { font-weight: 800; }
.tb-rank__body { display: grid; gap: var(--space-2); min-width: 0; }
.tb-rank__format { margin: 0; color: var(--ink-muted); }
.tb-rank__name { margin: 0; font-family: var(--font-titre); font-size: 21px; line-height: 28px; font-weight: 700; text-wrap: balance; }
.tb-rank__verdict { margin: 0 0 var(--space-2); font-size: 16px; line-height: 26px; max-width: 56ch; }
.tb-rank--podium { box-shadow: var(--shadow-podium); border-color: transparent; }
.tb-rank--podium[data-rank="1"] { border-top: 3px solid var(--or); }
.tb-rank--compact { grid-template-columns: 48px minmax(0, 1fr) 160px; gap: var(--space-4); padding: var(--space-4) var(--space-6); border-radius: var(--radius-md); align-items: center; }
.tb-rank--compact .tb-rank__num { width: 48px; height: 48px; font-size: 26px; line-height: 26px; }
.tb-rank--compact .tb-rank__name { font-size: 17px; line-height: 24px; }
.tb-rank--compact .tb-rank__verdict { font-size: 15px; line-height: 23px; margin: 0; }
.tb-rank--compact .tb-score__value { font-size: 26px; line-height: 28px; }
.tb-rank--compact .tb-score--award .tb-score__value { font-size: 14px; line-height: 19px; }
@media (max-width: 720px) {
  .tb-rank, .tb-rank--compact { grid-template-columns: 56px minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4); }
  .tb-rank__num, .tb-rank--compact .tb-rank__num { width: 56px; height: 56px; font-size: 30px; line-height: 30px; }
  .tb-rank--podium .tb-rank__num b { font-size: 26px; line-height: 26px; }
  .tb-rank__score { grid-column: 2; }
  .tb-rank__buy { max-width: 320px; }
}

/* Fiche avec photo de produit */
.tb-rank--photo { grid-template-columns: 88px 168px minmax(0, 1fr) 200px; }
.tb-rank__photo { margin: 0; width: 100%; aspect-ratio: 1; background: var(--photo-ground); border-radius: var(--radius-md); overflow: hidden; }
.tb-rank__photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 960px) {
  .tb-rank--photo { grid-template-columns: 88px 140px minmax(0, 1fr); }
  .tb-rank--photo .tb-rank__score { grid-column: 3; }
}
@media (max-width: 720px) {
  .tb-rank--photo { grid-template-columns: 56px minmax(0, 1fr); }
  .tb-rank--photo .tb-rank__photo { grid-column: 2; max-width: 240px; }
  .tb-rank--photo .tb-rank__body,
  .tb-rank--photo .tb-rank__score { grid-column: 1 / -1; }
}

/* ---------- Tableau comparatif ---------- */
.tb-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-raised); }
.tb-table { width: 100%; min-width: 720px; border-collapse: collapse; font-family: var(--font-titre); font-size: 14px; line-height: 20px; font-weight: 500; font-variant-numeric: tabular-nums; }
.tb-table th {
  text-align: left; padding: var(--space-3) var(--space-4); background: var(--surface-sunken); color: var(--ink-muted);
  font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.tb-table td { padding: var(--space-3) var(--space-4); border-top: 1px solid var(--line); vertical-align: top; }
.tb-table td:first-child { width: 56px; }
.tb-table .tb-mini {
  display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: var(--radius-sm);
  background: var(--rank-ground); color: var(--or); font-weight: 800; font-size: 15px;
}
.tb-table td.tb-table__model { font-weight: 700; color: var(--ink); }
.tb-table td.tb-table__muted { color: var(--ink-muted); }
.tb-table a { color: var(--ink-muted); }

/* ---------- Paliers de budget ---------- */
.tb-budget { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.tb-budget__tier { display: grid; align-content: start; gap: var(--space-2); padding: var(--space-6); background: var(--surface-raised); }
.tb-budget__range { color: var(--ink-muted); }
.tb-budget__pick { margin: 0; font-family: var(--font-titre); font-size: 17px; line-height: 23px; font-weight: 700; text-wrap: balance; }
.tb-budget__price { margin: 0; font-family: var(--font-titre); font-size: 14px; line-height: 20px; font-weight: 600; color: var(--or-encre); font-variant-numeric: tabular-nums; }
.tb-budget__who { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.tb-budget__tier--choix { background: var(--or-pale); }
.tb-budget__tier--choix .tb-budget__who { color: var(--ink); }
.tb-budget__flag { justify-self: start; padding: 3px var(--space-2); border-radius: var(--radius-sm); background: var(--nuit); color: var(--or); }
@media (max-width: 860px) { .tb-budget { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .tb-budget { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Encadré ---------- */
.tb-callout { display: grid; gap: var(--space-2); padding: var(--space-6); border-radius: var(--radius-md); max-width: var(--measure); }
.tb-callout__title { display: flex; align-items: center; gap: var(--space-2); margin: 0; }
.tb-callout__title svg { width: 18px; height: 18px; flex: none; }
.tb-callout p { margin: 0; font-size: 16px; line-height: 26px; }
.tb-callout--conseil { background: var(--or-pale); }
.tb-callout--conseil .tb-callout__title { color: var(--or-encre); }
.tb-callout--vigilance { background: var(--vigilance-tint); }
.tb-callout--vigilance .tb-callout__title { color: var(--vigilance); }

/* ---------- Verdict ---------- */
.tb-verdict { position: relative; overflow: hidden; background: var(--nuit); color: var(--on-nuit); border-radius: var(--radius-lg); padding: var(--space-8); display: grid; gap: var(--space-4); }
.tb-verdict::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, transparent, var(--or-vif) 18%, var(--or) 60%, transparent); }
.tb-verdict__kicker { display: flex; align-items: center; gap: var(--space-2); color: var(--or); }
.tb-verdict__title { margin: 0; font-family: var(--font-titre); font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -.01em; text-wrap: balance; max-width: 22ch; }
.tb-verdict p { margin: 0; max-width: var(--measure); font-size: 18px; line-height: 30px; color: var(--on-nuit); }
.tb-verdict strong { color: var(--or); font-weight: 600; }
.tb-verdict__picks { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-4); margin: var(--space-2) 0; }
.tb-verdict__pick { display: grid; gap: var(--space-1); padding-top: var(--space-3); border-top: 1px solid rgba(244, 245, 250, .18); }
.tb-verdict__pick .tb-label { color: var(--on-nuit-muted); }
.tb-verdict__pick b { font-family: var(--font-titre); font-size: 19px; line-height: 25px; font-weight: 700; color: var(--on-nuit); }
.tb-verdict__pick span { font-family: var(--font-titre); font-size: 14px; color: var(--or); font-weight: 600; }
.tb-verdict .tb-btn { justify-self: start; }
@media (max-width: 640px) { .tb-verdict { padding: var(--space-6); } .tb-verdict__title { font-size: 25px; line-height: 31px; } }

/* ---------- FAQ ---------- */
.tb-faq { display: grid; max-width: var(--measure); border-top: 1px solid var(--line); }
.tb-faq details { border-bottom: 1px solid var(--line); }
.tb-faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); align-items: baseline;
  padding: var(--space-4) 0; font-family: var(--font-titre); font-size: 17px; line-height: 24px; font-weight: 700;
}
.tb-faq summary::-webkit-details-marker { display: none; }
.tb-faq summary::after { content: "+"; flex: none; font-size: 22px; font-weight: 500; color: var(--or-encre); transition: transform .2s ease; }
.tb-faq details[open] summary::after { transform: rotate(45deg); }
.tb-faq details p { margin: 0 0 var(--space-4); font-size: 16px; line-height: 26px; color: var(--ink); }

/* ---------- Newsletter ---------- */
.tb-news { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); align-items: center; padding: var(--space-8); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.tb-news__title { margin: 0 0 var(--space-2); font-family: var(--font-titre); font-size: 21px; line-height: 28px; font-weight: 700; }
.tb-news__text { margin: 0; font-size: 16px; line-height: 26px; color: var(--ink-muted); }
.tb-news form { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.tb-news label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tb-news input {
  flex: 1 1 200px; min-width: 0; min-height: 44px; padding: 0 var(--space-4);
  font-family: var(--font-titre); font-size: 15px; color: var(--ink);
  background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius-md);
}
.tb-news input::placeholder { color: var(--ink-muted); }
.tb-news__fine { grid-column: 1 / -1; margin: 0; font-family: var(--font-titre); font-size: 13px; color: var(--ink-muted); }
@media (max-width: 720px) { .tb-news { grid-template-columns: minmax(0, 1fr); padding: var(--space-6); } }

/* ---------- Corps d'article ---------- */
.tb-prose { max-width: var(--measure); font-size: 18px; line-height: 30px; font-variation-settings: "opsz" 16; }
.tb-prose p { margin: 0 0 var(--space-4); }
.tb-prose > :first-child { margin-top: 0; }
.tb-prose > :last-child { margin-bottom: 0; }
.tb-prose h2 { margin: var(--space-12) 0 var(--space-4); font-family: var(--font-titre); font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.tb-prose ul { margin: 0 0 var(--space-4); padding-left: 1.1em; }
.tb-prose li { margin-bottom: var(--space-2); }
.tb-prose li::marker { color: var(--or-encre); }
.tb-prose strong { font-weight: 600; }
.tb-exergue { margin: var(--space-8) 0; padding: 0; max-width: var(--measure); font-style: italic; font-size: 22px; line-height: 32px; font-variation-settings: "opsz" 24; }
.tb-exergue::before { content: ""; display: block; width: 48px; height: 2px; margin-bottom: var(--space-4); background: linear-gradient(90deg, var(--or-vif), var(--or)); }
@media (max-width: 640px) { .tb-prose h2 { font-size: 25px; line-height: 31px; } .tb-prose { font-size: 17px; line-height: 28px; } }
@media (prefers-reduced-motion: reduce) { .tb * { transition: none !important; } }

.foot{background:var(--nuit);color:var(--on-nuit-muted)}
.foot__in{max-width:var(--page);margin:0 auto;padding-block:var(--space-8);display:grid;gap:var(--space-6);font-family:var(--font-titre);font-size:14px;line-height:21px}
.foot__brand{display:flex;gap:var(--space-4);align-items:center}
.foot__brand img{border-radius:var(--radius-md);flex:none}
.foot__in p{margin:0}
.foot__name{color:var(--on-nuit);font-weight:600}
.foot__fine{font-size:13px}
.foot__nav{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);padding-top:var(--space-6);border-top:1px solid rgba(244,245,250,.14)}
.foot .foot__nav a{color:var(--on-nuit);font-weight:600;text-decoration:none}
.foot .foot__nav a:hover{color:var(--or)}
.foot__legal{font-size:12px;line-height:18px;max-width:72ch}


/* Formulaire Brevo dans l'encart d'abonnement */
:where(.sib-form-message-panel){display:none}
.tb-news .input--hidden{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.tb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tb-news .tb-news__optin,.tb-news .entry__error{position:static;width:auto;height:auto;overflow:visible;clip:auto}
.tb-news__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-2);align-items:start}
.tb-news__form .sib-optin{grid-column:1 / -1}
.tb-news__form .entry__field input{width:100%;min-height:44px;padding:0 var(--space-4);font-family:var(--font-titre);font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md)}
.tb-news__form .entry__field input::placeholder{color:var(--ink-muted)}
.tb-news__optin{display:flex;gap:var(--space-2);align-items:flex-start;font-family:var(--font-titre);font-size:13px;line-height:19px;color:var(--ink-muted);cursor:pointer}
.tb-news__optin input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--or-encre)}
.tb-news__optin a{color:var(--ink)}
.tb-news .entry__error{display:block;margin-top:var(--space-1);font-family:var(--font-titre);font-size:13px;line-height:18px;color:var(--vigilance)}
.tb-news .entry__error:empty{display:none}
.tb-news__msg{margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-titre);font-size:14px;line-height:20px;font-weight:600}
.tb-news__msg--ok{background:var(--or-pale);color:var(--ink)}
.tb-news__msg--err{background:var(--vigilance-tint);color:var(--vigilance)}
.tb-news .sib-hide-loader-icon{display:none}
.tb-news .progress-indicator__icon{width:16px;height:16px;fill:currentColor;animation:tb-spin 1s linear infinite}
@keyframes tb-spin{to{transform:rotate(360deg)}}
@media (max-width:480px){.tb-news__form{grid-template-columns:minmax(0,1fr)}.tb-news__form .tb-btn{width:100%}}
