/*
Theme Name: ZGAWSBET
Theme URI: https://zgawsbet.com
Author: ZGAWSBET
Author URI: https://zgawsbet.com
Description: Thème WordPress sur-mesure pour ZGAWSBET — pronostics sportifs propulsés par l'IA. Design sombre, animations au scroll, sections Match du Jour / Combiné / Matchs Chance, page Résultats avec historique complet (2 saisons complètes + saison en cours).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: zgawsbet
*/

/* ==========================================================
   Reset minimal
   ========================================================== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:#05100b}
body{font-family:'Space Grotesk',system-ui,sans-serif}
img{max-width:100%;display:block}
ul{list-style:none}
a{color:#3ff0a5;text-decoration:none}
a:hover{color:#a8ffdb}
pre{margin:0}
.screen-reader-text{position:absolute;left:-9999px}

/* ==========================================================
   ZGAWSBET — design system (issu du kit Elementor, bloc 00)
   ========================================================== */
:root{--zgb-bg:#05100b;--zgb-bg2:#030b07;--zgb-text:#e8fff4;--zgb-muted:rgba(232,255,244,.62);
--zgb-accent:#3ff0a5;--zgb-accent2:#7cf7d0;--zgb-line:rgba(63,240,165,.16);--zgb-panel:rgba(255,255,255,.03)}
body{background:var(--zgb-bg)!important}
.zgb{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--zgb-text);-webkit-font-smoothing:antialiased}
.zgb *{box-sizing:border-box}
.zgb a{text-decoration:none;color:var(--zgb-accent)}
.zgb a:hover{color:#a8ffdb}
.zgb-wrap{width:100%;margin:0 auto;padding:0 40px;box-sizing:border-box}
.zgb-sec{padding:76px 0;position:relative;overflow:hidden;border-top:1px solid rgba(63,240,165,.1)}
.zgb-mono{font-family:'IBM Plex Mono',monospace}
.zgb-kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--zgb-accent)}
.zgb-h1{margin:22px 0 0;font-size:clamp(42px,5.4vw,74px);line-height:.99;letter-spacing:-.03em;font-weight:700}
.zgb-h2{margin:12px 0 0;font-size:clamp(30px,3.6vw,50px);line-height:1.02;letter-spacing:-.025em;font-weight:700}
.zgb-lead{margin:18px 0 0;font-size:18px;line-height:1.65;color:var(--zgb-muted)}
.zgb-grad{background:linear-gradient(100deg,#3ff0a5,#7cf7d0 45%,#e8fff4);-webkit-background-clip:text;background-clip:text;color:transparent}
.zgb-btn{display:inline-block;padding:15px 28px;border-radius:999px;background:var(--zgb-accent)!important;color:#04150e!important;font-weight:600;font-size:15px;border:none;cursor:pointer;box-shadow:0 14px 44px rgba(63,240,165,.32);transition:transform .25s;-webkit-text-fill-color:#04150e}
.zgb-btn:hover,.zgb-btn:visited,.zgb-btn:active,.zgb-btn:focus{color:#04150e!important;-webkit-text-fill-color:#04150e}
.zgb-btn:hover{transform:translateY(-3px)}
.zgb-btn-ghost{display:inline-block;padding:15px 28px;border-radius:999px;border:1px solid rgba(232,255,244,.22);color:var(--zgb-text)!important;font-weight:600;font-size:15px;background:none!important;cursor:pointer;transition:border-color .25s;-webkit-text-fill-color:var(--zgb-text)}
.zgb-btn-ghost:hover,.zgb-btn-ghost:visited,.zgb-btn-ghost:active,.zgb-btn-ghost:focus{border-color:var(--zgb-accent);color:var(--zgb-text)!important;-webkit-text-fill-color:var(--zgb-text)}
.zgb-btn-hero{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 28px;border-radius:16px;background:linear-gradient(140deg,#5ef7b8,#3ff0a5 55%,#22d98d)!important;color:#04150e!important;-webkit-text-fill-color:#04150e;font-weight:650;font-size:15.5px;letter-spacing:-.01em;border:none;cursor:pointer;white-space:nowrap;box-shadow:0 12px 34px rgba(63,240,165,.28),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .22s,box-shadow .22s}
.zgb-btn-hero:hover,.zgb-btn-hero:visited,.zgb-btn-hero:active,.zgb-btn-hero:focus{color:#04150e!important;-webkit-text-fill-color:#04150e;transform:translateY(-2px);box-shadow:0 18px 44px rgba(63,240,165,.42),inset 0 1px 0 rgba(255,255,255,.45)}
.zgb-btn-hero span{font-size:17px;line-height:1}
.zgb-hero-bk{padding:18px 22px;border-radius:18px;border:1px solid var(--zgb-line);background:var(--zgb-panel)}
.zgb-hero-bk-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.zgb-hero-bk-top .zgb-mono{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(232,255,244,.5);display:block}
.zgb-hero-bk-val{margin-top:8px;font-family:'IBM Plex Mono',monospace;font-size:clamp(20px,2.2vw,26px);font-weight:700;white-space:nowrap}
.zgb-hero-bk-val em{font-style:normal;color:var(--zgb-accent);font-size:15px;font-weight:500;margin-left:8px}
.zgb-hero-bk-odds{color:var(--zgb-accent)}
@media(max-width:820px){.zgb-hero-bk-top{flex-direction:column;gap:10px}.zgb-hero-bk-top div:last-child{text-align:left!important}}

/* Visuel hero (droite) : graphique bankroll + terrain + cartes statistiques */
.zgb-hero-visual{position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(63,240,165,.2);background:radial-gradient(120% 90% at 50% 0%,#132a1f,#08150f 70%);padding:18px}
.zgb-hero-visual-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.zgb-hero-live{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:rgba(5,16,11,.7);border:1px solid rgba(232,255,244,.14);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,255,244,.75)}
.zgb-hero-live i{width:6px;height:6px;border-radius:50%;background:var(--zgb-accent);display:block;animation:zgbBlink 1.6s infinite}
.zgb-hero-seasons{display:flex;gap:5px;flex-wrap:wrap}
.zgb-hero-seasons button{padding:7px 13px;border-radius:999px;border:1px solid rgba(232,255,244,.14);background:rgba(5,16,11,.7);color:rgba(232,255,244,.7);font-family:'IBM Plex Mono',monospace;font-size:12px;cursor:default}
.zgb-hero-seasons button.is-active{border-color:rgba(63,240,165,.5);background:rgba(63,240,165,.14);color:var(--zgb-accent);font-weight:600}
.zgb-hero-chart{position:relative;height:220px;margin:4px 0 14px}
.zgb-hero-pitch{position:absolute;left:0;right:0;bottom:-6px;width:100%;height:60%;opacity:.55}
.zgb-hero-stats{margin-top:14px}
.zgb-hero-stats.zgb-g4{grid-template-columns:repeat(3,1fr)}
@media(max-width:640px){.zgb-hero-stats.zgb-g4{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.zgb-hero-stats.zgb-g4{grid-template-columns:1fr}}
.zgb-stat{padding:20px 22px;border-radius:18px;border:1px solid var(--zgb-line);background:var(--zgb-panel);text-align:center}
.zgb-stat b{display:block;font-family:'IBM Plex Mono',monospace;font-size:28px;font-weight:600;color:var(--zgb-accent)}
.zgb-stat span{display:block;margin-top:5px;font-size:12px;color:rgba(232,255,244,.5)}
.zgb-grid{display:grid;gap:16px}
.zgb-g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.zgb-g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.zgb-glow{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(63,240,165,.2),transparent 62%);animation:zgbPulse 9s ease-in-out infinite}

/* En-tête du site */
.zgb-header{position:sticky;top:0;z-index:50;background:rgba(5,16,11,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(63,240,165,.12)}
.zgb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.zgb-logo{display:flex;align-items:center;gap:11px}
.zgb-logo img{height:34px;width:auto}
.zgb-logo span{font-size:18px;font-weight:700;letter-spacing:.14em;color:var(--zgb-text)}
.zgb-nav ul{display:flex;gap:28px;align-items:center;margin:0;padding:0;list-style:none}
.zgb-nav a{font-size:14px;font-weight:600;color:rgba(232,255,244,.72)}
.zgb-nav a:hover{color:var(--zgb-accent)}
.zgb-nav .zgb-has-sub{position:relative}
.zgb-nav .zgb-submenu{display:none;position:absolute;top:100%;left:0;flex-direction:column;gap:2px;margin:8px 0 0;padding:10px;min-width:230px;background:var(--zgb-bg2);border:1px solid rgba(63,240,165,.22);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:60}
.zgb-nav .zgb-submenu li{width:100%}
.zgb-nav .zgb-submenu a{display:block;padding:10px 12px;border-radius:8px;white-space:nowrap}
.zgb-nav .zgb-submenu a:hover{background:rgba(63,240,165,.1)}
.zgb-nav .zgb-has-sub:hover .zgb-submenu,
.zgb-nav .zgb-has-sub:focus-within .zgb-submenu,
.zgb-nav .zgb-has-sub.zgb-open .zgb-submenu{display:flex}
.zgb-nav-toggle{display:none;background:none;border:1px solid rgba(232,255,244,.22);border-radius:10px;color:var(--zgb-text);padding:8px 10px;cursor:pointer}
@media(max-width:820px){
  .zgb-nav{display:none;width:100%}
  .zgb-nav.is-open{display:block}
  .zgb-nav ul{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 0}
  .zgb-header-inner{flex-wrap:wrap}
  .zgb-nav-toggle{display:block}
  .zgb-nav .zgb-submenu{display:none;position:static;box-shadow:none;border:none;background:none;margin:8px 0 0 14px;padding:0;min-width:0}
  .zgb-nav .zgb-has-sub:hover .zgb-submenu,
  .zgb-nav .zgb-has-sub:focus-within .zgb-submenu{display:none}
  .zgb-nav .zgb-has-sub.zgb-open .zgb-submenu{display:flex}
}

/* Carte d'une rubrique de pronostic */
.zgb-prono{margin-top:28px;border-radius:26px;border:1px solid rgba(63,240,165,.18);background:linear-gradient(160deg,rgba(63,240,165,.07),rgba(255,255,255,.02));overflow:hidden}
.zgb-prono-inner{position:relative;min-height:230px}
.zgb-legs{padding:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.zgb-leg{padding:18px 20px;border-radius:16px;background:rgba(5,16,11,.55);border:1px solid rgba(232,255,244,.08)}
.zgb-leg-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.zgb-leg-top b{font-size:17px;font-weight:600}
.zgb-leg-top i{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:18px;color:var(--zgb-accent)}
.zgb-leg small{display:block;margin-top:7px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(232,255,244,.45)}
.zgb-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.zgb-bar i{display:block;height:100%;background:linear-gradient(90deg,#3ff0a5,#7cf7d0);transform-origin:left;animation:zgbGrow 1.1s cubic-bezier(.2,.8,.2,1)}
/* Verrou membre — Combiné et Chance de la semaine sont floutés derrière un
   overlay "crée un compte ou laisse ton email" ; Bankroll reste en accès libre. */
.zgb-blur{filter:blur(7px);pointer-events:none;user-select:none}
.zgb-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:26px;text-align:center;background:linear-gradient(180deg,rgba(5,16,11,.72),rgba(5,16,11,.97))}
.zgb-lock .zgb-lock-icon{width:46px;height:46px;border-radius:50%;border:1px solid rgba(63,240,165,.4);background:rgba(63,240,165,.1);display:flex;align-items:center;justify-content:center;font-size:20px}
/* Hauteur volontairement réduite : le contenu flouté n'est de toute façon
   pas lisible sous le verrou, inutile qu'il occupe toute la hauteur des
   cartes de match — la boîte verrouillée reste compacte. */
.zgb-lock-wrap{position:relative;border-radius:24px;overflow:hidden;max-height:210px}
@media(max-width:480px){.zgb-lock-wrap{max-height:190px}}

/* Petite section aperçu (non floutée) au-dessus des boîtes verrouillées —
   montre les vraies stats (semaine, dates, cote totale, fiabilité, nb de
   matchs) calculées à partir des sélections publiées, sans révéler les
   matchs eux-mêmes qui restent flous derrière le verrou. Volontairement
   compacte (padding/police réduits) pour ne pas prendre trop de place. */
.zgb-pbox-teaser{margin-top:22px;margin-bottom:10px;padding:9px 16px;border-radius:12px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,.01));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px}
.zgb-pbox-teaser .zgb-pbox-head-left{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.zgb-pbox-teaser .zgb-pbox-week{padding:5px 10px;font-size:10.5px;border-radius:8px 0 0 8px}
.zgb-pbox-teaser .zgb-pbox-dates{padding:5px 10px;font-size:10.5px;border-radius:0 8px 8px 0;margin-right:12px}
.zgb-pbox-teaser .zgb-pbox-metric{padding:0 12px}
.zgb-pbox-teaser .zgb-pbox-metric .lbl{font-size:9px}
.zgb-pbox-teaser .zgb-pbox-metric .val{font-size:14px;margin-top:1px}
.zgb-pbox-teaser .zgb-pbox-help{padding:6px 6px 6px 12px;font-size:11px}
.zgb-pbox-teaser .zgb-pbox-explain{width:100%;order:99;padding:12px 2px 0;margin-top:2px;border-top:1px solid rgba(236,239,243,.08);background:none}
.zgb-pbox-teaser .zgb-pbox-explain p{font-size:13px;line-height:1.65}
@media(max-width:820px){.zgb-pbox-teaser{padding:8px 12px}.zgb-pbox-teaser .zgb-pbox-metric{padding:0 8px}.zgb-pbox-teaser .zgb-pbox-dates{margin-right:8px}}

/* Cartes de match "ouvertes" (logos, score, statut, pronostic, votes) */
.zgb-mcards{margin-top:28px;display:flex;flex-direction:column;gap:16px}
.zgb-mcard{border-radius:20px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.015));overflow:hidden;transition:border-color .25s}
.zgb-mcard:hover{border-color:rgba(63,240,165,.28)}

/* Boîte "sélection de la semaine" — un seul cadre, en-tête + lignes de match avec filet */
.zgb-pbox{margin-top:28px;border-radius:24px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,.01));overflow:hidden}
.zgb-pbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid rgba(236,239,243,.08)}
.zgb-pbox-head-left{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.zgb-pbox-week{padding:8px 14px;background:var(--zgb-accent);color:#04150e;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.06em;border-radius:10px 0 0 10px}
.zgb-pbox-dates{padding:8px 14px;background:rgba(63,240,165,.08);color:var(--zgb-accent);font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;border-radius:0 10px 10px 0;margin-right:18px;white-space:nowrap}
.zgb-pbox-metric{padding:0 18px;border-left:1px solid rgba(236,239,243,.1)}
.zgb-pbox-metric .lbl{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,255,244,.45)}
.zgb-pbox-metric .val{display:flex;align-items:baseline;gap:7px;margin-top:3px;font-family:'IBM Plex Mono',monospace;font-size:20px;font-weight:600;color:var(--zgb-accent);white-space:nowrap}
.zgb-pbox-frac{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:rgba(232,255,244,.55);background:rgba(255,255,255,.06);border-radius:999px;padding:2px 8px}
.zgb-pbox-help{display:inline-flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:999px;border:1px solid rgba(236,239,243,.12);background:none;color:rgba(232,255,244,.5);font-family:'IBM Plex Mono',monospace;font-size:12px;cursor:pointer}
.zgb-pbox-help span{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.07);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.zgb-pbox-help:hover{border-color:rgba(63,240,165,.4);color:var(--zgb-text)}
.zgb-pbox-help.is-active{border-color:rgba(63,240,165,.5);background:rgba(63,240,165,.1);color:var(--zgb-accent)}
.zgb-pbox-help.is-active span{background:rgba(63,240,165,.22)}

/* Panneau d'explication dépliable (boutons "C'est quoi ... ?" des boîtes de sélection) */
.zgb-pbox-explain{padding:18px 22px;border-top:1px solid rgba(236,239,243,.08);background:rgba(63,240,165,.03)}
.zgb-pbox-explain[hidden]{display:none}
.zgb-pbox-explain p{margin:0;font-size:14px;line-height:1.75;color:var(--zgb-muted)}
.zgb-pbox-row{border-top:1px solid rgba(236,239,243,.07)}
.zgb-pbox-row:first-of-type{border-top:none}
.zgb-pbox-row .zgb-mcard{border:none;border-radius:0;background:none}
.zgb-pbox-row .zgb-mcard:hover{border-color:transparent}
@media(max-width:820px){.zgb-pbox-head-left{gap:8px}.zgb-pbox-metric{padding:0 10px}.zgb-pbox-dates{margin-right:8px}}
.zgb-mcard-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(236,239,243,.07)}
.zgb-mcard-info{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(232,255,244,.45);letter-spacing:.02em}
.zgb-mcard-status{padding:5px 13px;border-radius:999px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.zgb-mcard-status.done{background:rgba(63,240,165,.14);color:var(--zgb-accent)}
.zgb-mcard-status.live{background:rgba(255,186,64,.14);color:#ffba40}
.zgb-mcard-status.valid{background:rgba(63,240,165,.14);color:var(--zgb-accent)}
.zgb-mcard-status.upcoming{background:rgba(232,255,244,.08);color:rgba(232,255,244,.6)}
.zgb-mcard-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:22px 20px 18px}
.zgb-mcard-team{display:flex;align-items:center;gap:11px;min-width:0}
.zgb-mcard-team b{font-size:17px;font-weight:600;line-height:1.25}
.zgb-mcard-team.home{justify-content:flex-end;text-align:right}
.zgb-mcard-team.away{justify-content:flex-start;text-align:left}
.zgb-mcard-score-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}
.zgb-mcard-score{padding:7px 16px;border-radius:11px;background:rgba(63,240,165,.14);color:var(--zgb-accent);font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:17px;white-space:nowrap}
.zgb-mcard-score.is-empty{background:rgba(232,255,244,.08);color:rgba(232,255,244,.5)}
.zgb-mcard-refresh{font-size:11px;color:rgba(232,255,244,.35)}
.zgb-mcard-pick{margin:0 20px 18px;padding:15px 18px;border-radius:14px;background:rgba(63,240,165,.09);display:flex;justify-content:space-between;align-items:center;gap:14px}
.zgb-mcard-pick .lbl{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,255,244,.45)}
.zgb-mcard-pick .val{display:block;margin-top:4px;font-size:15px;font-weight:600}
.zgb-mcard-pick .odds{font-family:'IBM Plex Mono',monospace;font-size:21px;font-weight:700;color:var(--zgb-accent);white-space:nowrap}
.zgb-mcard-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid rgba(236,239,243,.07)}
.zgb-mcard-foot-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:rgba(232,255,244,.5)}
.zgb-mcard-foot-status i{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
.zgb-mcard-foot-status.status-done{color:var(--zgb-accent)}
.zgb-mcard-foot-status.status-live{color:#ffba40}
.zgb-mcard-foot-status.status-upcoming{color:rgba(232,255,244,.5)}
.zgb-mcard-votes{display:flex;gap:12px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(232,255,244,.5);white-space:nowrap}
.zgb-mcard-votes span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.04)}
.zgb-mcard-votes button{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid transparent;color:inherit;font:inherit;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}
.zgb-mcard-votes button:hover:not(:disabled){background:rgba(255,255,255,.1)}
.zgb-mcard-votes button.is-active{border-color:var(--zgb-accent);color:var(--zgb-accent);background:rgba(63,240,165,.14)}
.zgb-mcard-votes button:disabled{cursor:default}
.zgb-mcard-votes button:disabled:not(.is-active){opacity:.55}
@media(max-width:640px){.zgb-mcard-teams{gap:8px}.zgb-mcard-team b{font-size:15px}}

/* Tableau historique */
.zgb-table{border-radius:24px;border:1px solid var(--zgb-line);overflow:hidden;background:rgba(255,255,255,.02)}
.zgb-table-scroll{overflow-x:auto}
.zgb-row{padding:15px 24px;display:grid;grid-template-columns:96px 1.5fr 1.1fr 76px 68px 84px 92px;gap:14px;align-items:center;border-bottom:1px solid rgba(232,255,244,.05);transition:background .25s;min-width:760px}
.zgb-row:hover{background:rgba(63,240,165,.05)}
.zgb-row.zgb-head{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,255,244,.45);border-bottom-color:rgba(63,240,165,.14)}
.zgb-win{color:var(--zgb-accent);font-family:'IBM Plex Mono',monospace;font-weight:600;text-align:right}
.zgb-lose{color:#ff8e8e;font-family:'IBM Plex Mono',monospace;font-weight:600;text-align:right}
.zgb-draw{color:#ffd27a;font-family:'IBM Plex Mono',monospace;font-weight:600;text-align:right}

/* Pagination historique */
.zgb-pager{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap}
.zgb-pager button{padding:9px 16px;border-radius:999px;border:1px solid rgba(232,255,244,.18);background:rgba(255,255,255,.03);color:var(--zgb-text);font-family:'IBM Plex Mono',monospace;font-size:13px;cursor:pointer}
.zgb-pager button:hover{border-color:var(--zgb-accent);color:var(--zgb-accent)}
.zgb-pager button[disabled]{opacity:.35;cursor:default}
.zgb-pager span{font-family:'IBM Plex Mono',monospace;font-size:13px;color:rgba(232,255,244,.5)}

/* Champs */
.zgb-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:rgba(232,255,244,.6);margin-bottom:12px}
.zgb-field input,.zgb-field textarea{padding:15px 18px;border-radius:14px;border:1px solid rgba(232,255,244,.16);background:rgba(5,16,11,.7);color:var(--zgb-text);font-size:15px;outline:none;font-family:inherit;width:100%}
.zgb-field input:focus,.zgb-field textarea:focus{border-color:var(--zgb-accent)}

/* Bandeau défilant */
.zgb-ticker{border-top:1px solid rgba(63,240,165,.12);border-bottom:1px solid rgba(63,240,165,.12);background:rgba(63,240,165,.04);padding:15px 0;overflow:hidden}
.zgb-ticker ul{display:flex;width:max-content;gap:42px;margin:0;padding:0;list-style:none;animation:zgbMarquee 36s linear infinite}
.zgb-ticker li{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:rgba(232,255,244,.42)}
.zgb-ticker li.d{color:var(--zgb-accent)}

/* Animations d'entrée : jouées dès l'affichage, en cascade */
[data-zgb-reveal]{opacity:0}
[data-zgb-reveal].is-in{animation:zgbRise .9s cubic-bezier(.2,.85,.2,1) both}
[data-zgb-reveal="fade"].is-in{animation-name:zgbFade}
[data-zgb-reveal="zoom"].is-in{animation-name:zgbZoom}
[data-zgb-reveal="right"].is-in{animation-name:zgbRight}
@keyframes zgbRise{from{opacity:0;transform:translate3d(0,38px,0)}to{opacity:1;transform:none}}
@keyframes zgbFade{from{opacity:0}to{opacity:1}}
@keyframes zgbZoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes zgbRight{from{opacity:0;transform:translate3d(46px,0,0)}to{opacity:1;transform:none}}
@keyframes zgbMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes zgbPulse{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}
@keyframes zgbDrift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}
@keyframes zgbBlink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes zgbGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.zgb-drift{animation:zgbDrift 8s ease-in-out infinite}
.zgb-blink{animation:zgbBlink 1.6s infinite}
@media(prefers-reduced-motion:reduce){[data-zgb-reveal]{opacity:1!important;animation:none!important}}

@media(max-width:900px){
  .zgb-sec{padding:56px 0}
  .zgb-hero{grid-template-columns:1fr!important}
  .zgb-row{grid-template-columns:1fr 1fr;gap:8px}
  .zgb-row span:nth-child(3),.zgb-row span:nth-child(5){display:none}
}

/* Pied de page — les 4 colonnes étaient figées en style inline dans
   footer.php, donc impossibles à réduire par media query : sur mobile
   elles restaient côte à côte et débordaient de l'écran (scroll
   horizontal constaté sur TOUTES les pages à 320 et 375 px lors de
   l'audit du 20/08/2026, +229 px de débordement). Grille pilotée ici. */
.zgb-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
@media(max-width:820px){.zgb-footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:480px){.zgb-footer-grid{grid-template-columns:1fr;gap:26px}}

/* Base équipes — la liste des clubs d'un championnat était figée à 3
   colonnes en style inline : illisible et débordante sur téléphone. */
@media(max-width:640px){.zgb-team-cols{grid-template-columns:1fr 1fr!important}}
@media(max-width:420px){.zgb-team-cols{grid-template-columns:1fr!important}}

/* Contenu de page standard (mentions légales, etc.) */
.zgb-page-content{padding:120px 0 90px}
.zgb-page-content .zgb-wrap{max-width:820px}
.zgb-page-content h1{font-size:clamp(30px,3.6vw,46px)}
.zgb-page-content h2{font-size:clamp(22px,2.4vw,30px);line-height:1.2;font-weight:700;color:var(--zgb-text);margin:32px 0 14px}
.zgb-page-content h3{font-size:clamp(17px,1.7vw,20px);line-height:1.25;font-weight:700;color:var(--zgb-text);margin:26px 0 10px}
.zgb-page-content p,.zgb-page-content li{font-size:16px;line-height:1.75;color:var(--zgb-muted)}
.zgb-page-content ul,.zgb-page-content ol{margin:0 0 16px;padding-left:22px}
.zgb-page-content ul{list-style:disc}
.zgb-page-content ol{list-style:decimal}
.zgb-page-content li{margin-bottom:8px}
.zgb-page-content strong{color:var(--zgb-text)}
.zgb-page-content a{color:var(--zgb-accent);text-decoration:underline;text-underline-offset:2px}
.zgb-page-content a:hover{color:var(--zgb-accent2)}

/* Bloc de texte SEO ajouté en fin de page (pages "hub" à base de shortcode) */
.zgb-seo-block{padding:48px 0 0;border-top:1px solid var(--zgb-line);margin-top:56px}
/* Largeur de lecture confortable pour ce bloc de texte — remplace un
   attribut style="max-width:760px" que WordPress retirait silencieusement
   à l'enregistrement (voir zgb_seed_seo_page_copy() / zgb_seed_articles_seo()
   dans functions.php), ce qui faisait s'étaler le texte sur toute la largeur. */
.zgb-seo-block-inner{width:100%}
.zgb-seo-block h2{font-size:clamp(24px,2.6vw,34px);line-height:1.15;font-weight:700;color:var(--zgb-text);margin:0 0 18px}
.zgb-seo-block h3{font-size:clamp(18px,1.8vw,22px);line-height:1.25;font-weight:700;color:var(--zgb-text);margin:28px 0 10px}
.zgb-seo-block p{font-size:15px;line-height:1.75;color:var(--zgb-muted);margin:0 0 14px}
.zgb-seo-block ul,.zgb-seo-block ol{margin:0 0 16px;padding-left:22px;color:var(--zgb-muted)}
.zgb-seo-block ul{list-style:disc}
.zgb-seo-block ol{list-style:decimal}
.zgb-seo-block li{margin-bottom:8px;font-size:15px;line-height:1.75}
.zgb-seo-block a{color:var(--zgb-accent);text-decoration:underline;text-underline-offset:2px}
.zgb-seo-block a:hover{color:var(--zgb-accent2)}

/* ==========================================================
   Page Analyses IA — articles en avant + grille filtrable
   ========================================================== */
.zgb-aia-featured{margin-top:32px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:stretch}
.zgb-aia-main{display:flex;flex-direction:column;border-radius:22px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.015));overflow:hidden;color:inherit;transition:border-color .25s}
.zgb-aia-main:hover{border-color:rgba(63,240,165,.28)}
.zgb-aia-thumb{aspect-ratio:16/9;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;border-bottom:1px dashed rgba(236,239,243,.12)}
.zgb-aia-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.zgb-aia-thumb-ph{font-size:13px;color:rgba(232,255,244,.35);font-family:'IBM Plex Mono',monospace}
.zgb-aia-main-body{padding:26px}
.zgb-aia-tag{display:inline-block;padding:5px 13px;border-radius:999px;border:1px solid rgba(63,240,165,.35);color:var(--zgb-accent);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.06em}
.zgb-aia-meta{display:block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(232,255,244,.45)}
.zgb-aia-meta-sm{margin-top:0}
.zgb-aia-title{margin-top:10px;font-size:22px;font-weight:700;line-height:1.3;color:var(--zgb-text)}
.zgb-aia-title-sm{margin-top:8px;font-size:16px}
.zgb-aia-excerpt{margin:12px 0 0;font-size:15px;line-height:1.65;color:var(--zgb-muted)}
.zgb-aia-excerpt-sm{margin-top:6px;font-size:13px;line-height:1.55}
.zgb-aia-cta{display:inline-block;margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--zgb-accent)}
.zgb-aia-side{display:flex;flex-direction:column;gap:20px}
.zgb-aia-side-item{display:grid;grid-template-columns:110px 1fr;gap:16px;border-radius:22px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.015));overflow:hidden;color:inherit;padding:18px;flex:1;transition:border-color .25s}
.zgb-aia-side-item:hover{border-color:rgba(63,240,165,.28)}
.zgb-aia-thumb-sm{aspect-ratio:1/1;border-radius:14px;border:1px dashed rgba(236,239,243,.14);border-bottom:1px dashed rgba(236,239,243,.14)}
@media(max-width:900px){.zgb-aia-featured{grid-template-columns:1fr}.zgb-aia-side-item{grid-template-columns:80px 1fr}}

.zgb-aia-filters{margin-top:32px;display:flex;flex-direction:column;gap:14px}
.zgb-aia-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.zgb-aia-filter-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,255,244,.4);margin-right:6px}
.zgb-aia-pill{padding:9px 18px;border-radius:999px;border:1px solid rgba(236,239,243,.14);background:none;color:rgba(232,255,244,.65);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.zgb-aia-pill.is-active{background:var(--zgb-accent);border-color:var(--zgb-accent);color:#04150e}
.zgb-aia-pill:not(.is-active):hover{border-color:rgba(63,240,165,.4)}
.zgb-aia-pill-ghost{color:rgba(232,255,244,.6)}

/* Menu déroulant de la recherche Analyses IA (articles de blog + matchs). */
.zgb-aia-search-dropdown{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:70;max-height:360px;overflow-y:auto;border-radius:16px;border:1px solid rgba(236,239,243,.14);background:#0a1f16;box-shadow:0 16px 40px rgba(0,0,0,.4);text-align:left}
.zgb-aia-search-dropdown.is-open{display:block}
.zgb-aia-search-group{padding:12px 18px 4px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,255,244,.4)}
.zgb-aia-search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;color:var(--zgb-text);font-size:14px;text-decoration:none;cursor:pointer;transition:background .15s}
.zgb-aia-search-item:hover{background:rgba(63,240,165,.08)}
.zgb-aia-search-item small{flex:none;color:rgba(232,255,244,.4);font-size:11px}
.zgb-aia-search-empty{padding:16px 18px;color:rgba(232,255,244,.45);font-size:13px}
.zgb-aia-card.is-highlight{border-color:var(--zgb-accent);box-shadow:0 0 0 2px rgba(63,240,165,.35)}

.zgb-aia-grid{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.zgb-aia-card{border-radius:18px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(165deg,rgba(63,240,165,.05),rgba(255,255,255,.015));padding:18px;transition:border-color .25s}
.zgb-aia-card:hover{border-color:rgba(63,240,165,.35)}
.zgb-aia-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.zgb-aia-prob{padding:6px 12px;border-radius:999px;background:rgba(63,240,165,.12);border:1px solid rgba(63,240,165,.3);color:var(--zgb-accent);font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700}
.zgb-aia-badge{padding:6px 12px;border-radius:999px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700}
.zgb-aia-badge.win{background:rgba(63,240,165,.14);color:var(--zgb-accent)}
.zgb-aia-badge.lose{background:rgba(255,111,145,.16);color:#ff6f91}
.zgb-aia-card-teams{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0;text-align:center}
.zgb-aia-team{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;flex:1}
.zgb-aia-team b{font-size:14px;font-weight:700;color:var(--zgb-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.zgb-aia-team span{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,255,244,.4)}
.zgb-aia-vs{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(232,255,244,.35);flex:none}
.zgb-aia-card-foot{padding-top:14px;border-top:1px solid rgba(236,239,243,.08)}
.zgb-aia-champ{font-size:14px;font-weight:600;color:var(--zgb-text)}
.zgb-aia-row2{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-family:'IBM Plex Mono',monospace;font-size:13px;color:rgba(232,255,244,.5)}
.zgb-aia-odds{color:var(--zgb-accent);font-weight:700;font-size:16px}
.zgb-aia-link{display:block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;color:var(--zgb-accent)}

/* ==========================================================
   Page Notre méthode — sections sidebar gauche + contenu
   ========================================================== */
.zgb-method-stats{margin-top:34px;display:flex;gap:44px;flex-wrap:wrap}
.zgb-method-stats b{display:block;font-family:'IBM Plex Mono',monospace;font-size:34px;font-weight:700;color:var(--zgb-accent)}
.zgb-method-stats span{display:block;margin-top:6px;font-size:13px;color:var(--zgb-muted);max-width:180px}
.zgb-method-section{border-top:1px solid rgba(236,239,243,.08);padding:64px 0}
.zgb-method-row{display:grid;grid-template-columns:230px 1fr;gap:56px;align-items:start}
.zgb-method-side .zgb-kicker{margin-bottom:10px}
.zgb-method-side p{margin:0;font-size:14px;line-height:1.6;color:var(--zgb-muted)}
.zgb-method-content h3{margin:0 0 18px;font-size:clamp(22px,2.4vw,30px);line-height:1.25;font-weight:700;color:var(--zgb-text)}
.zgb-method-content>p{margin:0 0 16px;font-size:15px;line-height:1.75;color:var(--zgb-muted);max-width:760px}
@media(max-width:820px){.zgb-method-row{grid-template-columns:1fr;gap:20px}}

.zgb-method-example{margin-top:26px;border-radius:16px;border:1px solid rgba(236,239,243,.1);background:rgba(255,255,255,.02);overflow:hidden}
.zgb-method-example-head{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid rgba(236,239,243,.08);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,255,244,.45)}
.zgb-method-solde-neg{color:#ff8e8e}
.zgb-method-example-row{display:grid;grid-template-columns:1fr 70px 80px 80px;gap:12px;align-items:center;padding:13px 22px;border-bottom:1px solid rgba(236,239,243,.05);font-size:14px;color:var(--zgb-text)}
.zgb-method-example-row span:nth-child(2){font-family:'IBM Plex Mono',monospace;color:rgba(232,255,244,.5);font-size:13px}
.zgb-method-example-row span:nth-child(3),.zgb-method-example-row span:nth-child(4){font-family:'IBM Plex Mono',monospace;font-size:13px;text-align:right}
.zgb-method-pos{color:var(--zgb-accent)}
.zgb-method-neg{color:#ff8e8e}
.zgb-method-example-note{margin:0;padding:16px 22px;font-size:13px;line-height:1.65;color:rgba(232,255,244,.5)}
@media(max-width:640px){.zgb-method-example-row{grid-template-columns:1fr 55px 60px 60px;font-size:12px}}

.zgb-method-filter{display:flex;gap:20px;padding:22px 0;border-top:1px solid rgba(236,239,243,.07)}
.zgb-method-filter:first-child{border-top:none;padding-top:0}
.zgb-method-filter-n{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--zgb-accent);flex:none;width:24px}
.zgb-method-filter-t{font-size:17px;font-weight:700;color:var(--zgb-text)}
.zgb-method-filter-tag{margin-left:8px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;color:rgba(232,255,244,.4);font-weight:500}
.zgb-method-filter p{margin:8px 0 0;font-size:14px;line-height:1.65;color:var(--zgb-muted);max-width:640px}

.zgb-method-verdict-intro{margin:0 0 24px;font-size:15px;line-height:1.75;color:var(--zgb-muted);max-width:760px}
.zgb-method-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.zgb-method-color-card{padding:18px;border-radius:16px;border:1px solid rgba(236,239,243,.09);background:rgba(255,255,255,.02)}
.zgb-method-swatch{display:block;width:26px;height:26px;border-radius:8px;margin-bottom:12px}
.zgb-method-color-label{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.06em}
.zgb-method-color-range{margin-top:6px;font-size:13px;color:var(--zgb-muted)}
.zgb-method-color-use{margin-top:4px;font-size:12px;color:rgba(232,255,244,.4)}

.zgb-method-rule{padding:20px 0;border-top:1px solid rgba(236,239,243,.07)}
.zgb-method-rule:first-child{border-top:none;padding-top:0}
.zgb-method-rule-t{font-size:17px;font-weight:700;color:var(--zgb-text)}
.zgb-method-rule p{margin:8px 0 0;font-size:14px;line-height:1.65;color:var(--zgb-muted);max-width:680px}
.zgb-method-cta{margin-top:30px;padding:26px;border-radius:18px;border:1px solid rgba(63,240,165,.22);background:rgba(63,240,165,.06);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.zgb-method-cta-t{font-size:18px;font-weight:700;color:var(--zgb-text)}
.zgb-method-cta p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--zgb-muted);max-width:520px}

/* Page Bookmakers — grille de cartes comparatif (une carte par opérateur,
   hauteur libre pour supporter plusieurs codes/liens ; la première carte
   reçoit un traitement "mise en avant" avec ruban). */
.zgb-book-grid{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.zgb-book-card{position:relative;border-radius:20px;border:1px solid rgba(236,239,243,.09);background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.015));padding:24px;transition:border-color .25s}
.zgb-book-card:hover{border-color:rgba(63,240,165,.3)}
.zgb-book-card.is-top{border-color:rgba(63,240,165,.4);background:linear-gradient(165deg,rgba(63,240,165,.09),rgba(255,255,255,.02));box-shadow:0 0 0 1px rgba(63,240,165,.16)}
.zgb-book-ribbon{position:absolute;top:0;right:22px;transform:translateY(-100%);padding:7px 14px;border-radius:10px 10px 0 0;background:var(--zgb-accent);color:#04150e;font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.zgb-book-head{display:flex;align-items:center;gap:14px}
.zgb-book-rank{font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(232,255,244,.4);flex:none;width:20px}
.zgb-book-logo{width:44px;height:44px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.zgb-book-name{font-size:17px;font-weight:700;color:var(--zgb-text)}
.zgb-book-best{margin-top:2px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:rgba(232,255,244,.45)}
.zgb-book-mini{margin-top:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.zgb-book-mini div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035)}
.zgb-book-mini span{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:rgba(232,255,244,.4)}
.zgb-book-mini b{display:block;margin-top:4px;font-size:14px;font-weight:600;color:var(--zgb-text)}
.zgb-book-toggle{margin-top:16px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:12px;border:1px solid rgba(232,255,244,.14);background:none;color:rgba(232,255,244,.7);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .2s,color .2s}
.zgb-book-toggle:hover{border-color:var(--zgb-accent);color:var(--zgb-accent)}
.zgb-book-chevron{display:inline-block;transition:transform .25s}
.zgb-book-toggle.is-open .zgb-book-chevron{transform:rotate(180deg)}
.zgb-book-detail{margin-top:18px;padding-top:18px;border-top:1px solid rgba(236,239,243,.08)}
.zgb-book-detail-label{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,255,244,.4)}
.zgb-book-detail p{margin:8px 0 0;font-size:13.5px;line-height:1.65;color:var(--zgb-muted)}
.zgb-book-warning{color:#ffb347}
.zgb-book-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.zgb-book-tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;padding:6px 11px;border-radius:999px;border:1px solid rgba(232,255,244,.14);color:rgba(232,255,244,.55)}
.zgb-book-offer+.zgb-book-offer{margin-top:16px;padding-top:16px;border-top:1px solid rgba(236,239,243,.08)}
.zgb-book-code{font-family:'IBM Plex Mono',monospace;margin:10px 0 14px;display:inline-block;padding:9px 16px;border-radius:10px;border:1px solid rgba(63,240,165,.35);background:rgba(63,240,165,.08);color:var(--zgb-accent);font-size:14px;font-weight:600}
.zgb-book-cta{width:100%;text-align:center;padding:13px;display:block}
.zgb-book-cta.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
@media(max-width:480px){.zgb-book-mini{grid-template-columns:1fr 1fr}}

/* Page FAQ — accordéon (question repliée par défaut, réponse dépliée au
   clic ; même logique de bascule que les cartes Bookmakers ci-dessus). */
.zgb-faq-list{margin-top:12px;border-top:1px solid rgba(236,239,243,.08)}
.zgb-faq-item{border-bottom:1px solid rgba(236,239,243,.08)}
.zgb-faq-q-wrap{margin:0;font-size:inherit;font-weight:inherit}
.zgb-faq-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 2px;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;transition:color .2s}
.zgb-faq-q{font-size:16.5px;font-weight:600;line-height:1.4;color:var(--zgb-text)}
.zgb-faq-toggle:hover .zgb-faq-q{color:var(--zgb-accent)}
.zgb-faq-chevron{flex:none;display:inline-block;font-size:14px;color:rgba(232,255,244,.4);transition:transform .25s,color .2s}
.zgb-faq-toggle.is-open .zgb-faq-chevron{transform:rotate(180deg);color:var(--zgb-accent)}
.zgb-faq-detail{padding:0 2px 20px}
.zgb-faq-detail p{margin:0;font-size:15px;line-height:1.75;color:var(--zgb-muted)}
.zgb-faq-toggle-all{margin-top:20px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--zgb-accent);background:none;border:1px solid rgba(63,240,165,.35);border-radius:999px;padding:10px 20px;cursor:pointer;transition:background .2s}
.zgb-faq-toggle-all:hover{background:rgba(63,240,165,.08)}

/* Graphique "solde de chaque semaine" (page Résultats) — axe de valeurs à
   gauche + infobulle personnalisée au survol d'une barre. */
.zgb-chart-wrap{margin-top:26px;position:relative;display:flex;gap:14px;align-items:stretch}
.zgb-chart-axis{flex:none;width:64px;height:170px;display:flex;flex-direction:column;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:rgba(232,255,244,.4);text-align:right;padding:2px 0}
.zgb-chart-axis span:nth-child(2){transform:translateY(-1px)}
.zgb-chart-bars{flex:1;min-width:0;position:relative;display:flex;justify-content:space-between;align-items:stretch;gap:3px;height:170px;padding:0 2px}
/* Les barres grandissent (flex-grow) pour occuper toute la largeur
   disponible, plafonnées par max-width pour rester raisonnables quand une
   saison n'a que quelques semaines ; justify-content:space-between répartit
   l'espace restant entre les barres (au lieu de le laisser inutilisé sur
   les côtés) pour que le graphique utilise vraiment toute la largeur. Avec
   beaucoup de semaines elles rétrécissent normalement (flex-shrink). */
.zgb-chart-col{flex:1 1 0;max-width:34px;min-width:4px;display:flex;flex-direction:column;cursor:pointer}
.zgb-chart-tooltip{position:absolute;pointer-events:none;z-index:20;padding:9px 13px;border-radius:10px;border:1px solid rgba(63,240,165,.35);background:#0a1f16;color:var(--zgb-text);font-family:'IBM Plex Mono',monospace;font-size:12px;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;transform:translate(-50%,-8px);transition:opacity .12s;top:0;left:0}
.zgb-chart-tooltip.is-visible{opacity:1}
/* Ligne pointillée dorée = moyenne réelle des soldes de la saison affichée
   (positionnée dynamiquement en JS, refreshChart()). */
.zgb-chart-avg-line{position:absolute;left:0;right:0;height:0;border-top:2px dashed #ffc754;pointer-events:none;z-index:4;opacity:.85}

/* En-tête de semaine (page Résultats) : repliée par défaut, un clic déroule
   la liste de ses matchs (voir zgb_render_week_block + le script de
   resultats-body.php). */
.zgb-week-toggle:hover{opacity:.82}
.zgb-week-block.is-open .zgb-week-chevron{color:var(--zgb-accent)}
@media(max-width:640px){.zgb-chart-axis{width:48px;font-size:9.5px}}
