:root{
  --bg:#FFFFFF;
  --txt:#111827;      /* titres / texte principal */
  --txt2:#4B5563;     /* texte secondaire */
  --acc:#2563EB;      /* liens / CTA */
  --acc-d:#1D4ED8;
  --btn-txt:#FFFFFF;
  --line:#E5E7EB;
  --soft:#F9FAFB;
  --rad:12px;
  --max:760px;        /* colonne de lecture */
  --wide:1000px;      /* blocs larges (tableau) */
  --ff:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);
  font-family:var(--ff);font-size:18px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}
.wrap-wide{max-width:var(--wide)}
img{max-width:100%;height:auto}

a{color:var(--acc);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px}
a:hover{color:var(--acc-d)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}

/* ---------- header ---------- */
.hd{background:var(--bg);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-block:16px;max-width:var(--wide)}
.lg{font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--txt)}
.lg em{font-style:normal;color:var(--acc)}
.hd-note{color:var(--txt2);font-size:14px}

/* ---------- entete d'article ---------- */
.entete-zone{padding-top:48px}
.entete{margin:0 0 32px}
.auteur{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 24px;
  color:var(--txt2);font-size:14.5px}
.auteur img{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);flex:0 0 auto}
.auteur-nom{color:var(--txt);font-weight:600}
.auteur-role::before,.maj::before{content:"·";margin-right:10px;color:#9CA3AF}

h1{font-size:clamp(30px,5vw,44px);line-height:1.2;font-weight:700;
  letter-spacing:-.022em;margin:0 0 18px;color:var(--txt);text-wrap:balance}
.chapeau{font-size:19px;line-height:1.62;color:var(--txt2);margin:0;font-weight:400}
.chapeau strong{color:var(--txt);font-weight:600}

/* ---------- sommaire ---------- */
.sommaire{background:var(--soft);border:1px solid var(--line);border-radius:var(--rad);
  padding:22px 26px;margin:0 0 8px}
.sommaire h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  color:var(--txt2);margin:0 0 12px}
.sommaire h2::after{display:none}
.sommaire ol{margin:0;padding-left:20px;font-size:16.5px}
.sommaire li{margin:7px 0}
.sommaire a{text-decoration:none}
.sommaire a:hover{text-decoration:underline}

/* ---------- tableau / iframe ---------- */
.tableau{margin:44px 0 8px}
.tableau-t{margin:0 0 16px}
.tableau-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--rad);
  overflow:hidden}
.tableau-box iframe{width:100%;border:0;display:block}
.tableau-note{color:var(--txt2);font-size:14.5px;margin:14px 2px 0}

/* ---------- corps redactionnel ---------- */
.txt{margin:8px 0 0}
.txt p{color:var(--txt2);margin:0 0 18px}
.txt strong{color:var(--txt);font-weight:600}
h2{font-size:clamp(23px,3vw,28px);line-height:1.32;font-weight:700;letter-spacing:-.016em;
  margin:48px 0 14px;color:var(--txt);scroll-margin-top:84px;text-wrap:balance}
h3{font-size:20px;line-height:1.4;font-weight:600;margin:32px 0 10px;color:var(--txt)}
.txt ul,.txt ol{color:var(--txt2);padding-left:24px;margin:0 0 18px}
.txt li{margin:8px 0}
.casino-img{display:block;margin:20px 0;border-radius:var(--rad);border:1px solid var(--line)}
.faq h3{margin-top:26px}

/* ---------- boutons ---------- */
.cta-bloc{display:flex;flex-wrap:wrap;gap:12px;margin:44px 0 8px}
.btn{display:inline-block;padding:13px 24px;border-radius:8px;font-weight:600;font-size:16.5px;
  text-decoration:none;text-align:center;line-height:1.4;transition:background .15s,border-color .15s}
.btn-plein{background:var(--acc);color:var(--btn-txt);border:1px solid var(--acc)}
.btn-plein:hover{background:var(--acc-d);border-color:var(--acc-d);color:var(--btn-txt)}
.btn-vide{background:var(--bg);color:var(--acc);border:1px solid var(--line)}
.btn-vide:hover{border-color:var(--acc);background:var(--soft)}

/* ---------- footer ---------- */
.ft{border-top:1px solid var(--line);margin-top:64px;padding:32px 0 56px;background:var(--soft)}
.legal{color:var(--txt2);font-size:14.5px;line-height:1.6;margin:10px 0}
.legal strong{color:var(--txt);font-weight:600}
.legal.warn{color:var(--txt);background:var(--bg);border:1px solid var(--line);
  border-left:3px solid var(--acc);border-radius:8px;padding:14px 16px}

/* ---------- mobile ---------- */
@media(max-width:820px){
  body{font-size:17px;line-height:1.68}
  .hd-note{display:none}
  .entete-zone{padding-top:32px}
  .tableau{margin-top:36px}
}
@media(max-width:520px){
  body{font-size:16.5px}
  .wrap{padding-inline:18px}
  .sommaire{padding:18px 18px}
  .chapeau{font-size:17.5px}
  .auteur{font-size:13.5px;gap:8px}
  .auteur img{width:40px;height:40px}
  .cta-bloc .btn{flex:1 1 100%}
  h2{margin-top:38px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
