/*
Theme Name: SDT Signal
Theme URI: https://signauxdetrading.com
Author: signauxdetrading.com
Description: Thème éditorial d'affiliation pour signauxdetrading.com. Base claire, noir franc, vert / jaune / rouge à sens, filets 2px, ombres dures, chiffres en mono. Préfixe BEM .sdt-. Aucune dépendance, JS vanilla ES5, polices self-hosted.
Version: 1.3.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sdt
*/

/* ---------- Polices self-hosted (WOFF2 dans /fonts/) ---------- */
@font-face { font-family: "Archivo"; src: url("assets/fonts/archivo-var.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url("assets/fonts/archivo-italic-var.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-style: italic; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("assets/fonts/jetbrainsmono-var.woff2") format("woff2"); font-weight: 100 800; font-style: normal; font-display: swap; }

/* ---------- Jetons ---------- */
:root {
  color-scheme: light;
  --sdt-bg: #F4F2EC;
  --sdt-bg-2: #FFFFFF;
  --sdt-ink: #0A0A0A;
  --sdt-ink-2: #3D3D3D;
  --sdt-ink-3: #6E6E6E;
  --sdt-rule: #0A0A0A;
  --sdt-rule-soft: #D9D6CE;

  --sdt-green: #00E676;        /* fond : gain, CTA, note haute */
  --sdt-green-ink: #067A3F;    /* texte sur clair */
  --sdt-green-soft: #D6FBE6;
  --sdt-yellow: #FFE14D;       /* fond : attention, badge Notre choix */
  --sdt-yellow-soft: #FFF6C2;
  --sdt-red: #FF5A5A;          /* fond : perte, arnaque */
  --sdt-red-ink: #B91C1C;
  --sdt-red-soft: #FFDEDE;

  --sdt-sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --sdt-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;

  --sdt-measure: 42rem;
  --sdt-wide: 74rem;
  --sdt-gutter: 1rem;

  --sdt-s1: 0.25rem; --sdt-s2: 0.5rem; --sdt-s3: 0.75rem; --sdt-s4: 1rem;
  --sdt-s5: 1.5rem; --sdt-s6: 2rem; --sdt-s7: 3rem; --sdt-s8: 4.5rem;

  --sdt-bw: 2px;               /* épaisseur des filets */
  --sdt-radius: 12px;
  --sdt-radius-sm: 6px;
  --sdt-shadow: 4px 4px 0 var(--sdt-ink);
  --sdt-shadow-sm: 3px 3px 0 var(--sdt-ink);
}
@media (min-width: 768px) { :root { --sdt-gutter: 1.5rem; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--sdt-bg); color: var(--sdt-ink); font-family: var(--sdt-sans); font-size: 1.0625rem; line-height: 1.55; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--sdt-ink); text-decoration-thickness: 2px; text-underline-offset: 0.18em; text-decoration-color: var(--sdt-green); }
a:hover { text-decoration-color: var(--sdt-ink); }
:focus-visible { outline: 3px solid var(--sdt-ink); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--sdt-sans); font-weight: 800; line-height: 1.05; margin: 0; letter-spacing: -0.03em; }
h1 { font-size: clamp(2rem, 1.2rem + 3.6vw, 3.75rem); font-weight: 900; font-stretch: 110%; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem); margin-top: var(--sdt-s7); margin-bottom: var(--sdt-s4); }
h3 { font-size: 1.25rem; margin-top: var(--sdt-s6); margin-bottom: var(--sdt-s3); letter-spacing: -0.02em; }
p { margin: 0 0 var(--sdt-s4); }
strong { font-weight: 800; }
mark { background: var(--sdt-yellow); color: inherit; padding: 0 0.15em; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; vertical-align: top; }
.num, time { font-family: var(--sdt-mono); font-variant-numeric: tabular-nums; font-size: 0.9em; letter-spacing: -0.02em; }
.num.pos { color: var(--sdt-green-ink); }
.num.neg { color: var(--sdt-red-ink); }
.sdt-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Conteneurs ---------- */
.sdt-wrap { width: 100%; max-width: var(--sdt-wide); margin: 0 auto; padding: 0 var(--sdt-gutter); }
.sdt-prose { max-width: var(--sdt-measure); }
.sdt-prose ul, .sdt-prose ol { padding-left: 1.25rem; margin: 0 0 var(--sdt-s4); }
.sdt-prose li { margin-bottom: var(--sdt-s2); }
.sdt-meta { font-size: 0.875rem; color: var(--sdt-ink-3); line-height: 1.45; }
.sdt-lead { font-size: 1.1875rem; line-height: 1.5; font-weight: 500; }
.sdt-note { font-size: 0.8125rem; color: var(--sdt-ink-3); }

/* ---------- Puces, étiquettes ---------- */
.sdt-tag { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; font-weight: 700; line-height: 1; padding: 0.35rem 0.55rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; background: var(--sdt-bg-2); white-space: nowrap; }
.sdt-tag--green { background: var(--sdt-green); }
.sdt-tag--yellow { background: var(--sdt-yellow); }
.sdt-tag--red { background: var(--sdt-red); }
.sdt-tag--ink { background: var(--sdt-ink); color: #fff; }
.sdt-tag--ghost { border-color: var(--sdt-rule-soft); }
.sdt-eyebrow { display: inline-flex; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.02em; padding: 0.35rem 0.6rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); background: var(--sdt-yellow); margin-bottom: var(--sdt-s4); }

/* ---------- Boutons ---------- */
.sdt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; font-family: var(--sdt-sans); font-size: 0.9375rem; font-weight: 800; line-height: 1; padding: 0.85rem 1.1rem; background: var(--sdt-green); color: var(--sdt-ink); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); box-shadow: var(--sdt-shadow-sm); text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform 0.08s ease, box-shadow 0.08s ease; }
.sdt-btn:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--sdt-ink); }
.sdt-btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--sdt-ink); }
.sdt-btn--ink { background: var(--sdt-ink); color: #fff; }
.sdt-btn--white { background: var(--sdt-bg-2); }
.sdt-btn--sm { font-size: 0.8125rem; padding: 0.6rem 0.8rem; }
.sdt-btn--block { width: 100%; }
.sdt-partner-note { font-size: 0.75rem; color: var(--sdt-ink-3); line-height: 1.35; }

/* ---------- Icônes SVG maison ---------- */
.sdt-ico { width: 1.05em; height: 1.05em; display: inline-block; vertical-align: -0.18em; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* ---------- Ticker (bandeau défilant, un seul élément animé du site) ---------- */
.sdt-ticker { background: var(--sdt-ink); color: #fff; font-family: var(--sdt-mono); font-size: 0.75rem; overflow: hidden; border-bottom: var(--sdt-bw) solid var(--sdt-ink); }
.sdt-ticker__track { display: flex; width: max-content; animation: sdt-ticker 48s linear infinite; }
.sdt-ticker:hover .sdt-ticker__track { animation-play-state: paused; }
.sdt-ticker__item { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 1.25rem; border-right: 1px solid rgba(255,255,255,0.18); white-space: nowrap; }
.sdt-ticker__item b { color: var(--sdt-green); font-weight: 600; }
.sdt-ticker__item i { font-style: normal; color: var(--sdt-red); }
.sdt-ticker__item em { font-style: normal; color: var(--sdt-yellow); }
@keyframes sdt-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .sdt-ticker__track { animation: none; } }

/* ---------- Tête de site ---------- */
.sdt-masthead { background: var(--sdt-bg-2); border-bottom: var(--sdt-bw) solid var(--sdt-ink); position: sticky; top: 0; z-index: 40; }
.sdt-masthead__main { display: flex; align-items: center; justify-content: space-between; gap: var(--sdt-s4); padding: var(--sdt-s3) 0; }
.sdt-brand { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 1.125rem; font-weight: 900; letter-spacing: -0.04em; text-decoration: none; }
.sdt-brand__mark { width: 1.75rem; height: 1.75rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 6px; background: var(--sdt-green); display: grid; place-items: center; flex: none; }
.sdt-brand__mark svg { width: 1rem; height: 1rem; stroke: var(--sdt-ink); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.sdt-brand__tld { font-weight: 500; color: var(--sdt-ink-3); }
.sdt-nav { display: none; gap: var(--sdt-s1); margin: 0; padding: 0; list-style: none; }
.sdt-nav a { font-size: 0.9375rem; font-weight: 700; text-decoration: none; padding: 0.5rem 0.75rem; border-radius: var(--sdt-radius-sm); border: var(--sdt-bw) solid transparent; }
.sdt-nav a:hover { border-color: var(--sdt-ink); }
.sdt-nav a[aria-current="page"] { background: var(--sdt-ink); color: #fff; }
.sdt-masthead__cta { display: none; }
.sdt-menu-btn { font: inherit; font-weight: 800; font-size: 0.875rem; background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); padding: 0.5rem 0.7rem; box-shadow: var(--sdt-shadow-sm); cursor: pointer; }
.sdt-menu { display: none; border-top: var(--sdt-bw) solid var(--sdt-ink); padding: var(--sdt-s3) 0; }
.sdt-menu.is-open { display: block; }
.sdt-menu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sdt-s1); }
.sdt-menu a { display: block; padding: 0.6rem 0.5rem; font-weight: 700; text-decoration: none; border-radius: var(--sdt-radius-sm); }
.sdt-menu a[aria-current="page"] { background: var(--sdt-yellow); }
@media (min-width: 900px) { .sdt-nav { display: flex; } .sdt-masthead__cta { display: inline-flex; } .sdt-menu-btn, .sdt-menu { display: none !important; } }

.sdt-crumbs { margin: var(--sdt-s4) 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: var(--sdt-s2); font-size: 0.8125rem; color: var(--sdt-ink-3); }
.sdt-crumbs li + li::before { content: "/"; margin-right: var(--sdt-s2); }
.sdt-crumbs a { text-decoration: none; color: var(--sdt-ink-3); }

/* ---------- Pied de page ---------- */
.sdt-footer { background: var(--sdt-ink); color: #C8C8C8; margin-top: var(--sdt-s8); padding: var(--sdt-s7) 0; font-size: 0.875rem; border-top: 6px solid var(--sdt-green); }
.sdt-footer__grid { display: grid; gap: var(--sdt-s5); }
.sdt-footer h2 { font-size: 0.875rem; margin: 0 0 var(--sdt-s2); color: #fff; letter-spacing: 0; }
.sdt-footer ul { list-style: none; margin: 0; padding: 0; }
.sdt-footer li { margin-bottom: var(--sdt-s1); }
.sdt-footer a { text-decoration: none; color: #C8C8C8; }
.sdt-footer a:hover { color: var(--sdt-green); }
.sdt-footer__legal { margin-top: var(--sdt-s6); padding-top: var(--sdt-s4); border-top: 1px solid rgba(255,255,255,0.15); font-size: 0.8125rem; color: #8A8A8A; max-width: var(--sdt-measure); }
@media (min-width: 768px) { .sdt-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; } }

/* ---------- Cartes génériques ---------- */
.sdt-card { background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); }
.sdt-card--lift { box-shadow: var(--sdt-shadow); }
.sdt-card--yellow { background: var(--sdt-yellow); }
.sdt-card--green { background: var(--sdt-green); }
.sdt-card--ink { background: var(--sdt-ink); color: #fff; }

/* ---------- Gabarit article ---------- */
.sdt-article { padding-top: var(--sdt-s5); }
.sdt-article__head { max-width: 54rem; }
.sdt-article__grid { display: grid; gap: var(--sdt-s6); }
.sdt-article__body, .sdt-article__aside { min-width: 0; }
@media (min-width: 1024px) {
  .sdt-article__grid { grid-template-columns: 13rem minmax(0, var(--sdt-measure)); column-gap: var(--sdt-s8); align-items: start; }
  .sdt-article__body:first-child { grid-column: 1 / -1; max-width: var(--sdt-measure); }
}
.sdt-section-title { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sdt-s4); margin: var(--sdt-s8) 0 var(--sdt-s5); }
.sdt-section-title h2 { margin: 0; }
.sdt-section-title a { font-size: 0.875rem; font-weight: 700; white-space: nowrap; }

/* 18. sdt-update */
.sdt-update { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sdt-s2) var(--sdt-s3); margin: var(--sdt-s4) 0 0; font-size: 0.8125rem; color: var(--sdt-ink-3); }
.sdt-update__date { font-family: var(--sdt-mono); color: var(--sdt-ink); font-weight: 600; background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; padding: 0.25rem 0.6rem; }

/* 7. sdt-author */
.sdt-author { display: grid; grid-template-columns: 3rem 1fr; gap: var(--sdt-s3) var(--sdt-s4); align-items: start; padding: var(--sdt-s4); margin: var(--sdt-s5) 0; background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); max-width: var(--sdt-measure); }
.sdt-author__photo { width: 3rem; height: 3rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 50%; overflow: hidden; background: var(--sdt-yellow); }
.sdt-author__name { font-size: 1rem; font-weight: 800; margin: 0; }
.sdt-author__name a { text-decoration: none; }
.sdt-author__role { font-size: 0.8125rem; color: var(--sdt-ink-2); margin: 0 0 var(--sdt-s2); }
.sdt-author__test { font-size: 0.875rem; margin: 0; }
.sdt-author__test b { font-family: var(--sdt-mono); font-weight: 700; background: var(--sdt-green-soft); padding: 0 0.25em; }
.sdt-author__dates { font-size: 0.75rem; color: var(--sdt-ink-3); margin: var(--sdt-s2) 0 0; display: flex; flex-wrap: wrap; gap: 0 var(--sdt-s4); }
.sdt-author--foot { grid-template-columns: 4rem 1fr; }
.sdt-author--foot .sdt-author__photo { width: 4rem; height: 4rem; }
.sdt-author__bio { font-size: 0.9375rem; color: var(--sdt-ink-2); margin: var(--sdt-s2) 0 0; }

/* 12. sdt-facts : TL;DR chiffré */
.sdt-facts { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); box-shadow: var(--sdt-shadow); overflow: hidden; }
.sdt-facts__title { font-size: 0.8125rem; font-weight: 800; margin: 0; padding: var(--sdt-s3) var(--sdt-s4); border-bottom: var(--sdt-bw) solid var(--sdt-ink); background: var(--sdt-yellow); display: flex; align-items: center; gap: 0.4rem; letter-spacing: 0; }
.sdt-facts__list { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; }
.sdt-facts__item { padding: var(--sdt-s3) var(--sdt-s4); border-right: 1px solid var(--sdt-rule-soft); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-facts__item:nth-child(2n) { border-right: 0; }
.sdt-facts__item dt { font-size: 0.75rem; color: var(--sdt-ink-3); margin: 0 0 0.15rem; font-weight: 600; }
.sdt-facts__item dd { margin: 0; font-family: var(--sdt-mono); font-weight: 700; font-size: 1.25rem; line-height: 1.15; letter-spacing: -0.03em; }
.sdt-facts__item dd small { display: block; font-family: var(--sdt-sans); font-weight: 400; font-size: 0.75rem; color: var(--sdt-ink-2); margin-top: 0.15rem; letter-spacing: 0; }
.sdt-facts__item--accent dd { color: var(--sdt-green-ink); }
@media (min-width: 560px) {
  .sdt-facts__list { grid-template-columns: repeat(3, 1fr); }
  .sdt-facts__item:nth-child(2n) { border-right: 1px solid var(--sdt-rule-soft); }
  .sdt-facts__item:nth-child(3n) { border-right: 0; }
  .sdt-facts__item:nth-last-child(-n+3) { border-bottom: 0; }
}

/* 1. sdt-cta-hero : carte offre, obligatoire post-intro */
.sdt-cta-hero { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; background: var(--sdt-ink); color: #fff; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); box-shadow: 6px 6px 0 var(--sdt-green); padding: var(--sdt-s5); }
.sdt-cta-hero__eyebrow { display: inline-flex; font-family: var(--sdt-mono); font-size: 0.6875rem; font-weight: 600; color: var(--sdt-ink); background: var(--sdt-green); padding: 0.25rem 0.5rem; border-radius: 4px; margin: 0 0 var(--sdt-s4); }
.sdt-cta-hero__head { display: flex; align-items: center; gap: var(--sdt-s3); margin-bottom: var(--sdt-s4); }
.sdt-cta-hero__logo { width: 2.75rem; height: 2.75rem; flex: none; border-radius: var(--sdt-radius-sm); overflow: hidden; border: 2px solid rgba(255,255,255,0.25); }
.sdt-cta-hero__name { font-size: 1.5rem; font-weight: 900; margin: 0; line-height: 1; letter-spacing: -0.03em; }
.sdt-cta-hero__tag { font-size: 0.8125rem; color: #B8B8B8; margin: 0.2rem 0 0; }
.sdt-cta-hero__score { margin-left: auto; text-align: right; }
.sdt-cta-hero__score b { display: block; font-family: var(--sdt-mono); font-size: 1.75rem; font-weight: 800; color: var(--sdt-green); line-height: 1; letter-spacing: -0.04em; }
.sdt-cta-hero__score span { font-size: 0.6875rem; color: #B8B8B8; }
.sdt-cta-hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sdt-s3); margin: 0; padding: var(--sdt-s3) 0; border-top: 1px solid rgba(255,255,255,0.18); border-bottom: 1px solid rgba(255,255,255,0.18); }
.sdt-cta-hero__facts dt { font-size: 0.6875rem; color: #B8B8B8; }
.sdt-cta-hero__facts dd { margin: 0; font-family: var(--sdt-mono); font-weight: 700; font-size: 1rem; line-height: 1.3; }
.sdt-cta-hero__action { display: grid; gap: var(--sdt-s3); margin-top: var(--sdt-s4); }
.sdt-cta-hero .sdt-btn { box-shadow: 3px 3px 0 #fff; }
.sdt-cta-hero .sdt-partner-note { color: #B8B8B8; }
.sdt-cta-hero__risk { font-size: 0.75rem; color: #B8B8B8; line-height: 1.4; margin: var(--sdt-s3) 0 0; }
.sdt-cta-hero__risk b { color: var(--sdt-red); }
@media (min-width: 560px) { .sdt-cta-hero__action { grid-template-columns: auto 1fr; align-items: center; } }

/* 2. sdt-cta-inline */
.sdt-cta-inline { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; padding: var(--sdt-s3) var(--sdt-s4); background: var(--sdt-green-soft); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); font-size: 0.9375rem; line-height: 1.5; display: grid; gap: var(--sdt-s3); }
.sdt-cta-inline p { margin: 0; }
.sdt-cta-inline__note { font-size: 0.75rem; color: var(--sdt-ink-3); }
@media (min-width: 640px) { .sdt-cta-inline { grid-template-columns: 1fr auto; align-items: center; } }

/* 3. sdt-cta-box */
.sdt-cta-box { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s5); background: var(--sdt-yellow); box-shadow: var(--sdt-shadow); }
.sdt-cta-box__title { font-family: var(--sdt-mono); font-size: 0.75rem; font-weight: 700; margin: 0 0 var(--sdt-s3); }
.sdt-cta-box__verdict { font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; margin: 0 0 var(--sdt-s4); }
.sdt-cta-box__action { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sdt-s3) var(--sdt-s4); }
.sdt-cta-box__alt { margin: var(--sdt-s4) 0 0; padding-top: var(--sdt-s3); border-top: var(--sdt-bw) solid var(--sdt-ink); font-size: 0.9375rem; }

/* 4. sdt-leaderboard : lignes-cartes, lisibles à 375px comme à 1280px */
.sdt-leaderboard { margin: var(--sdt-s5) 0; display: grid; gap: var(--sdt-s3); container: sdt-lb / inline-size; }
.sdt-lb { display: grid; grid-template-columns: 2rem 1fr auto; grid-template-areas: "rank head score" "facts facts facts" "who who who" "act act act"; gap: var(--sdt-s2) var(--sdt-s3); align-items: center; padding: var(--sdt-s4); background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); position: relative; }
.sdt-lb--top { box-shadow: var(--sdt-shadow); background: var(--sdt-bg-2); }
.sdt-lb--top::before { content: "Notre choix"; position: absolute; top: -0.75rem; left: var(--sdt-s4); font-size: 0.6875rem; font-weight: 800; background: var(--sdt-yellow); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; padding: 0.2rem 0.55rem; }
.sdt-lb__rank { grid-area: rank; font-family: var(--sdt-mono); font-weight: 800; font-size: 1.25rem; color: var(--sdt-ink-3); }
.sdt-lb--top .sdt-lb__rank { color: var(--sdt-ink); }
.sdt-lb__head { grid-area: head; display: flex; align-items: center; gap: var(--sdt-s3); min-width: 0; }
.sdt-lb__logo { width: 2.5rem; height: 2.5rem; flex: none; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); overflow: hidden; }
.sdt-lb__name { font-weight: 800; font-size: 1.0625rem; text-decoration: none; letter-spacing: -0.02em; }
.sdt-lb__name small { display: block; font-weight: 400; font-size: 0.75rem; color: var(--sdt-ink-3); letter-spacing: 0; }
.sdt-lb__score { grid-area: score; text-align: right; }
.sdt-score { display: inline-flex; align-items: baseline; gap: 0.15rem; font-family: var(--sdt-mono); font-weight: 800; font-size: 1.5rem; letter-spacing: -0.04em; line-height: 1; }
.sdt-score small { font-size: 0.75rem; font-weight: 500; color: var(--sdt-ink-3); }
.sdt-score--hi { color: var(--sdt-green-ink); }
.sdt-score--lo { color: var(--sdt-red-ink); }
.sdt-lb__bar { height: 6px; background: var(--sdt-rule-soft); border-radius: 3px; margin-top: 0.35rem; overflow: hidden; width: 4.5rem; margin-left: auto; }
.sdt-lb__bar span { display: block; height: 100%; background: var(--sdt-ink); }
.sdt-lb__facts { grid-area: facts; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sdt-s2); margin: 0; padding: var(--sdt-s3) 0; border-top: 1px solid var(--sdt-rule-soft); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-lb__facts dt { font-size: 0.6875rem; color: var(--sdt-ink-3); }
.sdt-lb__facts dd { margin: 0; font-family: var(--sdt-mono); font-weight: 700; font-size: 0.875rem; white-space: nowrap; }
.sdt-lb__who { grid-area: who; display: flex; flex-wrap: wrap; gap: var(--sdt-s1); }
.sdt-lb__act { grid-area: act; display: grid; gap: var(--sdt-s1); }
.sdt-lb__act .sdt-partner-note { text-align: center; }
@container sdt-lb (min-width: 52rem) {
  .sdt-lb { grid-template-columns: 1.5rem 13rem 6rem 1.6fr 1fr auto; grid-template-areas: "rank head score facts who act"; column-gap: var(--sdt-s4); padding: var(--sdt-s3) var(--sdt-s4); }
  .sdt-lb__facts dd { white-space: normal; font-size: 0.8125rem; line-height: 1.25; }
  .sdt-lb__facts { padding: 0; border: 0; gap: var(--sdt-s3); }
  .sdt-lb__act .sdt-partner-note { text-align: right; }
}
.sdt-leaderboard__foot { font-size: 0.8125rem; color: var(--sdt-ink-3); margin: 0; }

/* 5. sdt-compare : face-à-face en rounds (page versus) */
.sdt-versus-head { max-width: 54rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--sdt-s3); margin: var(--sdt-s5) 0; }
.sdt-fighter { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); padding: var(--sdt-s4); text-align: center; }
.sdt-fighter--win { background: var(--sdt-green); box-shadow: var(--sdt-shadow); }
.sdt-fighter__logo { width: 3.5rem; height: 3.5rem; margin: 0 auto var(--sdt-s2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); overflow: hidden; }
.sdt-fighter__name { font-weight: 900; font-size: 1.125rem; letter-spacing: -0.03em; margin: 0; }
.sdt-fighter__score { font-family: var(--sdt-mono); font-size: 2.25rem; font-weight: 800; letter-spacing: -0.05em; line-height: 1; margin: var(--sdt-s2) 0 0; }
.sdt-fighter__score small { font-size: 0.75rem; font-weight: 500; color: var(--sdt-ink-3); }
.sdt-fighter__tally { font-size: 0.75rem; color: var(--sdt-ink-2); margin: var(--sdt-s2) 0 0; }
.sdt-vs { font-weight: 900; font-size: 1.25rem; width: 3rem; height: 3rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 50%; background: var(--sdt-yellow); display: grid; place-items: center; letter-spacing: -0.05em; }
.sdt-compare { margin: var(--sdt-s5) 0; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); overflow: hidden; background: var(--sdt-bg-2); }
.sdt-compare__scroll { overflow-x: auto; position: relative; }
.sdt-compare__table { min-width: 32rem; font-size: 0.9375rem; table-layout: fixed; }
.sdt-compare__table th, .sdt-compare__table td { padding: var(--sdt-s3) var(--sdt-s4); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-compare__table thead th { background: var(--sdt-ink); color: #fff; font-size: 0.8125rem; font-weight: 700; }
.sdt-compare__table thead th small { display: block; font-family: var(--sdt-mono); font-weight: 400; color: #B8B8B8; }
.sdt-compare__table tbody th { font-weight: 700; font-size: 0.875rem; width: 30%; }
.sdt-compare__table tbody th span { display: block; font-family: var(--sdt-mono); font-size: 0.6875rem; font-weight: 500; color: var(--sdt-ink-3); }
.sdt-compare__table td { font-family: var(--sdt-mono); font-size: 0.875rem; }
.sdt-compare__win { background: var(--sdt-green-soft); font-weight: 700; }
.sdt-compare__win::before { content: "\2713 "; color: var(--sdt-green-ink); font-weight: 800; }
.sdt-compare__legend { font-size: 0.8125rem; color: var(--sdt-ink-3); margin: 0; padding: var(--sdt-s3) var(--sdt-s4); background: var(--sdt-bg); }
.sdt-compare__legend i { display: none; }
.sdt-compare__actions td { font-family: var(--sdt-sans); padding-top: var(--sdt-s4); border-bottom: 0; }
.sdt-compare__actions .sdt-btn { width: 100%; }

/* Rounds (blocs VS détaillés) */
.sdt-round { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); overflow: hidden; }
.sdt-round__head { display: flex; align-items: center; justify-content: space-between; gap: var(--sdt-s3); padding: var(--sdt-s3) var(--sdt-s4); border-bottom: var(--sdt-bw) solid var(--sdt-ink); }
.sdt-round__title { font-size: 1rem; font-weight: 800; margin: 0; letter-spacing: -0.02em; }
.sdt-round__title span { font-family: var(--sdt-mono); font-weight: 600; color: var(--sdt-ink-3); margin-right: 0.5rem; }
.sdt-round__winner { font-size: 0.75rem; font-weight: 800; background: var(--sdt-green); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; padding: 0.25rem 0.6rem; white-space: nowrap; }
.sdt-round__winner--draw { background: var(--sdt-yellow); }
.sdt-round__body { display: grid; }
.sdt-round__side { padding: var(--sdt-s4); font-size: 0.9375rem; }
.sdt-round__side b { display: block; font-family: var(--sdt-mono); font-size: 0.75rem; color: var(--sdt-ink-3); margin-bottom: 0.25rem; font-weight: 600; }
.sdt-round__side .num { font-size: 1.25rem; font-weight: 800; display: block; margin-bottom: 0.35rem; }
.sdt-round__side p { margin: 0; color: var(--sdt-ink-2); font-size: 0.875rem; }
.sdt-round__side--win { background: var(--sdt-green-soft); }
@media (min-width: 560px) { .sdt-round__body { grid-template-columns: 1fr 1fr; } .sdt-round__side + .sdt-round__side { border-left: 1px solid var(--sdt-rule-soft); } }

/* 6. sdt-sticky */
.sdt-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: none; align-items: center; gap: var(--sdt-s3); padding: var(--sdt-s3) var(--sdt-gutter); background: var(--sdt-bg-2); border-top: var(--sdt-bw) solid var(--sdt-ink); transform: translateY(110%); transition: transform 0.25s ease; }
.sdt-sticky.is-visible { transform: translateY(0); }
.sdt-sticky__text { flex: 1; min-width: 0; font-size: 0.75rem; line-height: 1.3; color: var(--sdt-ink-3); }
.sdt-sticky__text b { display: block; font-size: 0.9375rem; color: var(--sdt-ink); font-weight: 800; }
.sdt-sticky__close { background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); width: 2.25rem; height: 2.25rem; font-size: 1.125rem; line-height: 1; cursor: pointer; border-radius: var(--sdt-radius-sm); }
@media (max-width: 767px) { .sdt-sticky { display: flex; } body.sdt-has-sticky { padding-bottom: 4.75rem; } }

/* 8. sdt-method */
.sdt-method { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s5); }
.sdt-method__title { font-size: 1.25rem; margin: 0 0 var(--sdt-s4); }
.sdt-method__grid { display: grid; gap: var(--sdt-s4); }
.sdt-method__criteria { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--sdt-s2); }
.sdt-method__criteria li { display: grid; grid-template-columns: 1fr auto; gap: var(--sdt-s2) var(--sdt-s3); font-size: 0.9375rem; align-items: center; }
.sdt-method__weight { font-family: var(--sdt-mono); font-weight: 800; }
.sdt-method__bar { grid-column: 1 / -1; height: 8px; background: var(--sdt-rule-soft); border-radius: 4px; overflow: hidden; }
.sdt-method__bar span { display: block; height: 100%; background: var(--sdt-ink); }
.sdt-method__terms { margin: 0; font-size: 0.9375rem; }
.sdt-method__terms dt { font-family: var(--sdt-mono); font-size: 0.6875rem; font-weight: 600; color: var(--sdt-ink-3); margin-top: var(--sdt-s3); }
.sdt-method__terms dd { margin: 0; }
.sdt-method__foot { margin: var(--sdt-s4) 0 0; font-size: 0.875rem; color: var(--sdt-ink-2); }
@media (min-width: 640px) { .sdt-method__grid { grid-template-columns: 1.1fr 1fr; gap: var(--sdt-s6); } }

/* 9. sdt-verdict : scorecard */
.sdt-verdict { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); box-shadow: var(--sdt-shadow); overflow: hidden; }
.sdt-verdict__head { display: grid; grid-template-columns: auto 1fr; gap: var(--sdt-s4); align-items: center; padding: var(--sdt-s5); background: var(--sdt-green); border-bottom: var(--sdt-bw) solid var(--sdt-ink); }
.sdt-verdict__score { font-family: var(--sdt-mono); font-size: 3.5rem; font-weight: 800; line-height: 0.9; letter-spacing: -0.06em; }
.sdt-verdict__score small { font-size: 1rem; font-weight: 500; letter-spacing: 0; }
.sdt-verdict__label { font-family: var(--sdt-mono); font-size: 0.6875rem; font-weight: 600; margin-top: var(--sdt-s2); }
.sdt-verdict__title { font-size: 1.25rem; margin: 0 0 var(--sdt-s2); letter-spacing: -0.03em; }
.sdt-verdict__summary { margin: 0; font-size: 0.9375rem; }
.sdt-verdict__subs { margin: 0; padding: var(--sdt-s4) var(--sdt-s5); list-style: none; display: grid; gap: var(--sdt-s2); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-verdict__sub { display: grid; grid-template-columns: 6.5rem 1fr 2.5rem; align-items: center; gap: var(--sdt-s3); font-size: 0.875rem; font-weight: 600; }
.sdt-verdict__sub .sdt-lb__bar { width: auto; margin: 0; height: 8px; }
.sdt-verdict__sub b { font-family: var(--sdt-mono); text-align: right; font-weight: 800; }
.sdt-stamps { display: flex; flex-wrap: wrap; gap: var(--sdt-s2); padding: var(--sdt-s3) var(--sdt-s5); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-verdict__fit { display: grid; }
.sdt-verdict__fit > div { padding: var(--sdt-s4) var(--sdt-s5); }
.sdt-verdict__fit h4 { font-size: 0.875rem; font-weight: 800; margin: 0 0 var(--sdt-s2); display: inline-flex; padding: 0.2rem 0.5rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; background: var(--sdt-green); }
.sdt-verdict__fit--no h4 { background: var(--sdt-red); }
.sdt-verdict__fit ul { margin: 0; padding-left: 1.1rem; font-size: 0.9375rem; }
.sdt-verdict__fit li { margin-bottom: var(--sdt-s1); }
@media (min-width: 560px) { .sdt-verdict__fit { grid-template-columns: 1fr 1fr; } .sdt-verdict__fit > div + div { border-left: 1px solid var(--sdt-rule-soft); } }

/* Pour / contre rapide */
.sdt-proscons { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; display: grid; gap: var(--sdt-s3); }
.sdt-proscons > div { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s4); background: var(--sdt-bg-2); }
.sdt-proscons h3 { margin: 0 0 var(--sdt-s2); font-size: 0.875rem; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.6rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; }
.sdt-proscons__pro h3 { background: var(--sdt-green); }
.sdt-proscons__con h3 { background: var(--sdt-red); }
.sdt-proscons ul { margin: 0; padding: 0; list-style: none; font-size: 0.9375rem; }
.sdt-proscons li { padding: var(--sdt-s2) 0; border-top: 1px solid var(--sdt-rule-soft); }
@media (min-width: 560px) { .sdt-proscons { grid-template-columns: 1fr 1fr; } }

/* 10. sdt-risk : bandeau réglementaire, bande de danger jaune/noir */
.sdt-risk { margin: var(--sdt-s7) 0 0; background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); overflow: hidden; font-size: 0.875rem; line-height: 1.5; color: var(--sdt-ink-2); }
.sdt-risk::before { content: ""; display: block; height: 10px; background: repeating-linear-gradient(135deg, var(--sdt-yellow) 0 12px, var(--sdt-ink) 12px 24px); border-bottom: var(--sdt-bw) solid var(--sdt-ink); }
.sdt-risk__inner { padding: var(--sdt-s4) var(--sdt-s5); }
.sdt-risk__title { font-size: 0.9375rem; font-weight: 800; color: var(--sdt-ink); margin: 0 0 var(--sdt-s2); display: flex; align-items: center; gap: 0.4rem; }
.sdt-risk p { margin: 0 0 var(--sdt-s2); max-width: 60rem; }
.sdt-risk p:last-child { margin: 0; }
.sdt-risk b { color: var(--sdt-ink); background: var(--sdt-red-soft); font-family: var(--sdt-mono); padding: 0 0.25em; }
.sdt-risk--compact { margin-top: var(--sdt-s5); font-size: 0.8125rem; }
.sdt-risk--compact .sdt-risk__inner { padding: var(--sdt-s3) var(--sdt-s4); }

/* 11. sdt-sources */
.sdt-sources { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; }
.sdt-sources__title { font-family: var(--sdt-mono); font-size: 0.75rem; font-weight: 600; color: var(--sdt-ink-3); margin: 0 0 var(--sdt-s3); letter-spacing: 0; }
.sdt-sources__list { margin: 0; padding: 0; list-style: none; counter-reset: src; font-size: 0.875rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); overflow: hidden; }
.sdt-sources__list li { counter-increment: src; display: grid; grid-template-columns: 2rem 1fr; padding: var(--sdt-s2) var(--sdt-s4); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-sources__list li:last-child { border-bottom: 0; }
.sdt-sources__list li::before { content: counter(src, decimal-leading-zero); color: var(--sdt-ink-3); font-family: var(--sdt-mono); font-size: 0.75rem; padding-top: 0.2em; }
.sdt-sources__meta { color: var(--sdt-ink-3); }

/* 13. sdt-alert + callouts */
.sdt-callout, .sdt-alert { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s4) var(--sdt-s5); font-size: 0.9375rem; background: var(--sdt-bg-2); }
.sdt-callout__label, .sdt-alert__title { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.8125rem; font-weight: 800; margin: 0 0 var(--sdt-s2); padding: 0.25rem 0.6rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; }
.sdt-callout p, .sdt-alert p { margin: 0 0 var(--sdt-s2); }
.sdt-callout p:last-child, .sdt-alert p:last-child { margin: 0; }
.sdt-callout--info .sdt-callout__label { background: var(--sdt-green); }
.sdt-callout--warning { background: var(--sdt-yellow-soft); }
.sdt-callout--warning .sdt-callout__label { background: var(--sdt-yellow); }
.sdt-alert, .sdt-callout--danger { background: var(--sdt-red-soft); }
.sdt-alert__title, .sdt-callout--danger .sdt-callout__label { background: var(--sdt-red); }
.sdt-alert a { font-weight: 700; }
.sdt-alert__meta { font-size: 0.8125rem; color: var(--sdt-ink-2); }

/* 14. sdt-quote */
.sdt-quote { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; padding: var(--sdt-s4) var(--sdt-s5); border-left: 6px solid var(--sdt-ink); background: var(--sdt-bg-2); border-radius: 0 var(--sdt-radius) var(--sdt-radius) 0; }
.sdt-quote p { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; margin: 0 0 var(--sdt-s3); }
.sdt-quote footer { font-size: 0.8125rem; color: var(--sdt-ink-2); }
.sdt-quote cite { font-style: normal; font-weight: 800; color: var(--sdt-ink); }

/* 15. sdt-steps */
.sdt-steps { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; padding: 0; list-style: none; counter-reset: step; display: grid; gap: var(--sdt-s3); }
.sdt-steps > li { counter-increment: step; display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--sdt-s4); padding: var(--sdt-s4); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); }
.sdt-steps > li::before { content: counter(step); width: 2.5rem; height: 2.5rem; border-radius: var(--sdt-radius-sm); border: var(--sdt-bw) solid var(--sdt-ink); background: var(--sdt-yellow); font-family: var(--sdt-mono); font-weight: 800; font-size: 1.125rem; display: grid; place-items: center; }
.sdt-steps__title { font-size: 1.0625rem; font-weight: 800; margin: 0.35rem 0 var(--sdt-s2); letter-spacing: -0.02em; }
.sdt-steps p { margin: 0 0 var(--sdt-s2); font-size: 0.9375rem; }
.sdt-steps p:last-child { margin: 0; }
.sdt-steps__time { display: inline-flex; font-family: var(--sdt-mono); font-size: 0.6875rem; color: var(--sdt-ink-3); }

/* Checklist */
.sdt-checklist { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; padding: 0; list-style: none; display: grid; gap: var(--sdt-s2); }
.sdt-checklist li { display: grid; grid-template-columns: 1.5rem 1fr; gap: var(--sdt-s3); align-items: start; padding: var(--sdt-s3) var(--sdt-s4); background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); font-size: 0.9375rem; }
.sdt-checklist li::before { content: ""; width: 1.25rem; height: 1.25rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 4px; background: var(--sdt-bg-2); margin-top: 0.15rem; }
.sdt-checklist--red li::before { background: var(--sdt-red); }

/* 16. sdt-faq */
.sdt-faq { max-width: var(--sdt-measure); margin: var(--sdt-s6) 0; display: grid; gap: var(--sdt-s2); }
.sdt-faq__item { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); background: var(--sdt-bg-2); }
.sdt-faq__item[open] { box-shadow: var(--sdt-shadow-sm); }
.sdt-faq__q { list-style: none; cursor: pointer; padding: var(--sdt-s4) 3rem var(--sdt-s4) var(--sdt-s4); font-weight: 800; position: relative; font-size: 1rem; line-height: 1.3; letter-spacing: -0.02em; }
.sdt-faq__q::-webkit-details-marker { display: none; }
.sdt-faq__q::after { content: "+"; position: absolute; right: var(--sdt-s3); top: 50%; transform: translateY(-50%); width: 1.75rem; height: 1.75rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 6px; background: var(--sdt-green); font-weight: 800; display: grid; place-items: center; line-height: 1; }
.sdt-faq__item[open] > .sdt-faq__q::after { content: "\2013"; background: var(--sdt-yellow); }
.sdt-faq__a { padding: 0 var(--sdt-s4) var(--sdt-s4); font-size: 0.9375rem; color: var(--sdt-ink-2); }
.sdt-faq__a p:last-child { margin: 0; }

/* 17. sdt-toc */
.sdt-toc { margin: 0 0 var(--sdt-s5); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); font-size: 0.875rem; background: var(--sdt-bg-2); }
.sdt-toc__summary { list-style: none; cursor: pointer; padding: var(--sdt-s3) var(--sdt-s4); font-family: var(--sdt-mono); font-weight: 600; font-size: 0.75rem; position: relative; }
.sdt-toc__summary::-webkit-details-marker { display: none; }
.sdt-toc__summary::after { content: "+"; position: absolute; right: var(--sdt-s4); top: 0.45rem; font-size: 1.125rem; font-family: var(--sdt-sans); font-weight: 800; }
.sdt-toc[open] > .sdt-toc__summary::after { content: "\2013"; }
.sdt-toc__list { margin: 0; padding: 0 var(--sdt-s3) var(--sdt-s3); list-style: none; display: grid; gap: 2px; }
.sdt-toc__list a { display: block; padding: 0.4rem 0.6rem; text-decoration: none; font-weight: 600; border-radius: var(--sdt-radius-sm); line-height: 1.3; }
.sdt-toc__list a:hover { background: var(--sdt-bg); }
.sdt-toc__list a.is-active { background: var(--sdt-ink); color: #fff; }
@media (min-width: 1024px) {
  .sdt-toc { position: sticky; top: 5rem; max-height: calc(100vh - 6rem); overflow-y: auto; }
  .sdt-toc__summary { pointer-events: none; }
  .sdt-toc__summary::after { content: none !important; }
}

/* ---------- Accueil ---------- */
.sdt-hero { padding: var(--sdt-s6) 0 var(--sdt-s5); display: grid; gap: var(--sdt-s5); }
.sdt-hero h1 { max-width: 14ch; }
.sdt-hero h1 mark { padding: 0 0.1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.sdt-hero__mission { font-size: clamp(1.0625rem, 1rem + 0.5vw, 1.25rem); line-height: 1.45; font-weight: 500; max-width: 34rem; margin: var(--sdt-s4) 0 0; }
.sdt-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sdt-s3); margin-top: var(--sdt-s5); }
.sdt-hero__proof { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sdt-s3); align-content: start; }
.sdt-proof { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s4); background: var(--sdt-bg-2); }
.sdt-proof b { display: block; font-family: var(--sdt-mono); font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem); font-weight: 800; letter-spacing: -0.05em; line-height: 1; }
.sdt-proof span { display: block; font-size: 0.8125rem; color: var(--sdt-ink-2); margin-top: 0.35rem; }
.sdt-proof--green { background: var(--sdt-green); }
.sdt-proof--red { background: var(--sdt-red); }
.sdt-proof--red span, .sdt-proof--green span { color: var(--sdt-ink); }
.sdt-proof--wide { grid-column: 1 / -1; }
@media (min-width: 900px) { .sdt-hero { grid-template-columns: 1.3fr 1fr; align-items: center; padding: var(--sdt-s8) 0 var(--sdt-s6); } }

.sdt-filters { display: flex; flex-wrap: wrap; gap: var(--sdt-s2); margin: 0 0 var(--sdt-s4); }
.sdt-filters .sdt-tag { cursor: pointer; }
.sdt-filters .sdt-tag[aria-pressed="true"] { background: var(--sdt-ink); color: #fff; }

.sdt-rubrics { display: grid; gap: var(--sdt-s3); }
.sdt-rubric { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s5); background: var(--sdt-bg-2); display: flex; flex-direction: column; }
.sdt-rubric__count { font-family: var(--sdt-mono); font-size: 0.6875rem; color: var(--sdt-ink-3); margin-bottom: var(--sdt-s2); }
.sdt-rubric h3 { font-size: 1.375rem; margin: 0 0 var(--sdt-s2); letter-spacing: -0.03em; }
.sdt-rubric h3 a { text-decoration: none; }
.sdt-rubric p { font-size: 0.9375rem; color: var(--sdt-ink-2); margin-bottom: var(--sdt-s3); }
.sdt-rubric ul { margin: 0 0 var(--sdt-s4); padding: 0; list-style: none; font-size: 0.9375rem; }
.sdt-rubric li { padding: var(--sdt-s2) 0; border-top: 1px solid var(--sdt-rule-soft); }
.sdt-rubric li a { text-decoration: none; font-weight: 600; }
.sdt-rubric li a:hover { text-decoration: underline; }
.sdt-rubric .sdt-btn { margin-top: auto; align-self: flex-start; }
@media (min-width: 768px) { .sdt-rubrics { grid-template-columns: repeat(3, 1fr); } }

.sdt-money { display: grid; gap: var(--sdt-s4); max-width: 60rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); overflow: hidden; }
.sdt-money__text { padding: var(--sdt-s5); }
.sdt-money__text p { margin-bottom: var(--sdt-s3); font-size: 0.9375rem; }
.sdt-money__table-wrap { padding: var(--sdt-s5); background: var(--sdt-bg); border-top: var(--sdt-bw) solid var(--sdt-ink); }
.sdt-money__table { font-size: 0.875rem; }
.sdt-money__table th, .sdt-money__table td { padding: var(--sdt-s2) var(--sdt-s3) var(--sdt-s2) 0; border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-money__table thead th { font-family: var(--sdt-mono); font-weight: 600; font-size: 0.6875rem; color: var(--sdt-ink-3); }
@media (min-width: 768px) { .sdt-money { grid-template-columns: 1.1fr 1fr; gap: 0; } .sdt-money__table-wrap { border-top: 0; border-left: var(--sdt-bw) solid var(--sdt-ink); } }

.sdt-alerts { margin: 0; padding: 0; list-style: none; max-width: 60rem; display: grid; gap: var(--sdt-s3); }
.sdt-alerts li { display: grid; grid-template-columns: 1fr; gap: var(--sdt-s1); padding: var(--sdt-s3) var(--sdt-s4); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-red-soft); font-size: 0.9375rem; }
.sdt-alerts time { color: var(--sdt-ink-3); font-size: 0.75rem; }
.sdt-alerts__what { display: inline-flex; font-size: 0.75rem; font-weight: 800; background: var(--sdt-red); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: 999px; padding: 0.15rem 0.5rem; margin-right: 0.4rem; vertical-align: 0.1em; }
.sdt-alerts__site { font-family: var(--sdt-mono); font-size: 0.9em; font-weight: 600; }
@media (min-width: 640px) { .sdt-alerts li { grid-template-columns: 6rem 1fr; gap: var(--sdt-s4); } .sdt-alerts time { padding-top: 0.35em; } }

.sdt-cards { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--sdt-s3); }
.sdt-post { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); padding: var(--sdt-s4); background: var(--sdt-bg-2); display: flex; flex-direction: column; gap: var(--sdt-s2); }
.sdt-post:hover { box-shadow: var(--sdt-shadow-sm); }
.sdt-post > .sdt-tag { align-self: flex-start; }
.sdt-post h3 { font-size: 1.0625rem; margin: 0; line-height: 1.25; letter-spacing: -0.02em; }
.sdt-post h3 a { text-decoration: none; }
.sdt-post p { margin: 0; font-size: 0.875rem; color: var(--sdt-ink-2); }
.sdt-post__meta { margin-top: auto; font-size: 0.6875rem; color: var(--sdt-ink-3); font-family: var(--sdt-mono); }
@media (min-width: 640px) { .sdt-cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .sdt-cards { grid-template-columns: repeat(3, 1fr); } }

/* Texte SEO de l'accueil */
.sdt-home-seo__lead { max-width: 54rem; font-size: 1.125rem; }
.sdt-home-seo__lead p { margin: 0 0 var(--sdt-s5); line-height: 1.55; }
.sdt-home-seo__grid { display: grid; gap: var(--sdt-s4); margin: var(--sdt-s2) 0 0; }
.sdt-home-seo__block { padding: var(--sdt-s5); background: var(--sdt-bg-2); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); }
.sdt-home-seo__block h3 { margin: 0 0 var(--sdt-s3); font-size: 1.25rem; letter-spacing: -0.03em; }
.sdt-home-seo__block p { margin: 0 0 var(--sdt-s3); font-size: 0.9375rem; line-height: 1.55; color: var(--sdt-ink-2); }
.sdt-home-seo__block p:last-child { margin: 0; }
.sdt-home-seo__block a { color: var(--sdt-ink); font-weight: 600; }
.sdt-home-seo__foot { max-width: 54rem; margin-top: var(--sdt-s5); font-size: 0.875rem; color: var(--sdt-ink-3); }
.sdt-home-seo__custom { max-width: 54rem; }
.sdt-home-seo__custom h2 { margin-top: 0; }
@media (min-width: 768px) { .sdt-home-seo__grid { grid-template-columns: 1fr 1fr; } }

/* Tableau inline */
.sdt-inline-table { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; overflow-x: auto; position: relative; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); }
.sdt-inline-table table { font-size: 0.9375rem; min-width: 28rem; }
.sdt-inline-table th, .sdt-inline-table td { padding: var(--sdt-s2) var(--sdt-s4); border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-inline-table thead th { font-family: var(--sdt-mono); font-size: 0.6875rem; font-weight: 600; color: var(--sdt-ink-3); background: var(--sdt-bg); }
.sdt-inline-table tbody th { font-weight: 700; }
.sdt-inline-table tbody tr:last-child td, .sdt-inline-table tbody tr:last-child th { border-bottom: 0; }
.sdt-inline-table__total td, .sdt-inline-table__total th { background: var(--sdt-yellow-soft); font-weight: 800; }
.sdt-inline-table caption { text-align: left; font-size: 0.8125rem; color: var(--sdt-ink-3); padding: var(--sdt-s2) var(--sdt-s4); caption-side: bottom; border-top: 1px solid var(--sdt-rule-soft); }

/* Barre de preuve « on a mis notre argent » (avis) */
.sdt-money-line { max-width: var(--sdt-measure); margin: var(--sdt-s5) 0; display: grid; grid-template-columns: repeat(3, 1fr); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-ink); color: #fff; overflow: hidden; }
.sdt-money-line div { padding: var(--sdt-s3) var(--sdt-s4); border-right: 1px solid rgba(255,255,255,0.18); }
.sdt-money-line div:last-child { border-right: 0; }
.sdt-money-line b { display: block; font-family: var(--sdt-mono); font-size: 1.25rem; font-weight: 800; letter-spacing: -0.04em; }
.sdt-money-line b.pos { color: var(--sdt-green); }
.sdt-money-line b.neg { color: var(--sdt-red); }
.sdt-money-line span { font-size: 0.6875rem; color: #B8B8B8; }
@media (max-width: 559px) { .sdt-money-line b { font-size: 1rem; } .sdt-money-line div { padding: var(--sdt-s3); } }

/* ==========================================================================
   Spécifique WordPress
   ========================================================================== */
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: static; width: auto; height: auto; margin: 0; padding: 0.5rem 1rem; clip: auto; white-space: normal; background: var(--sdt-yellow); z-index: 100000; }
.sdt-skip { position: absolute; left: -9999px; top: 0; }
.sdt-skip:focus { left: var(--sdt-gutter); top: var(--sdt-s2); z-index: 1000; background: var(--sdt-yellow); padding: 0.5rem 0.75rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); }

/* Blocs de cœur dans la colonne de lecture */
.sdt-prose > * { max-width: var(--sdt-measure); }
.sdt-prose .alignwide, .sdt-prose .alignfull { max-width: none; }
.sdt-prose .wp-block-image { margin: var(--sdt-s5) 0; }
.sdt-prose .wp-block-image img { border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); }
.sdt-prose .wp-block-image figcaption { font-size: 0.8125rem; color: var(--sdt-ink-3); margin-top: var(--sdt-s2); }
.sdt-prose .wp-block-table { margin: var(--sdt-s5) 0; overflow-x: auto; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius); background: var(--sdt-bg-2); }
.sdt-prose .wp-block-table table { font-size: 0.9375rem; }
.sdt-prose .wp-block-table th, .sdt-prose .wp-block-table td { padding: var(--sdt-s2) var(--sdt-s4); border: 0; border-bottom: 1px solid var(--sdt-rule-soft); }
.sdt-prose .wp-block-table thead th { font-family: var(--sdt-mono); font-size: 0.6875rem; font-weight: 600; color: var(--sdt-ink-3); background: var(--sdt-bg); }
.sdt-prose .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.sdt-prose .wp-block-quote { margin: var(--sdt-s6) 0; padding: var(--sdt-s4) var(--sdt-s5); border-left: 6px solid var(--sdt-ink); background: var(--sdt-bg-2); border-radius: 0 var(--sdt-radius) var(--sdt-radius) 0; }
.sdt-prose .wp-block-quote p { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; }
.sdt-prose .wp-block-quote cite { font-style: normal; font-size: 0.8125rem; color: var(--sdt-ink-2); }
.sdt-prose .wp-block-buttons .wp-block-button__link { font-weight: 800; background: var(--sdt-green); color: var(--sdt-ink); border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); box-shadow: var(--sdt-shadow-sm); padding: 0.85rem 1.1rem; }
.sdt-prose .wp-block-separator { border: 0; border-top: var(--sdt-bw) solid var(--sdt-ink); margin: var(--sdt-s6) 0; }
.sdt-prose .wp-block-embed { margin: var(--sdt-s5) 0; }
.sdt-prose > h2:first-child, .sdt-prose > h3:first-child { margin-top: 0; }

/* Logos et portraits réels dans les composants */
.sdt-lb__logo img, .sdt-cta-hero__logo img, .sdt-fighter__logo img, .sdt-author__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Pagination, archives, recherche */
.sdt-pagination { display: flex; flex-wrap: wrap; gap: var(--sdt-s2); margin: var(--sdt-s6) 0; }
.sdt-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 0.75rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); background: var(--sdt-bg-2); font-family: var(--sdt-mono); font-weight: 700; text-decoration: none; }
.sdt-pagination .page-numbers.current { background: var(--sdt-ink); color: #fff; }
.sdt-archive-head { padding: var(--sdt-s6) 0 var(--sdt-s4); max-width: 54rem; }
.sdt-archive-head p { color: var(--sdt-ink-2); margin: var(--sdt-s3) 0 0; }
.sdt-search { display: flex; flex-wrap: wrap; gap: var(--sdt-s2); max-width: 36rem; margin: var(--sdt-s5) 0; }
.sdt-search input[type="search"] { min-width: 0; }
.sdt-search input[type="search"] { flex: 1; font: inherit; padding: 0.7rem 0.9rem; border: var(--sdt-bw) solid var(--sdt-ink); border-radius: var(--sdt-radius-sm); background: var(--sdt-bg-2); }
.sdt-empty { padding: var(--sdt-s6); border: var(--sdt-bw) dashed var(--sdt-ink); border-radius: var(--sdt-radius); text-align: center; max-width: 36rem; }
