
.preseason-beta-banner{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 16px;
  padding:13px 16px;
  border:1px solid rgba(242,169,39,.34);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(242,169,39,.10),rgba(5,20,33,.94) 58%);
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.preseason-beta-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px;
  border:1px solid rgba(242,169,39,.50);
  border-radius:999px;
  color:#ffc75c;
  background:rgba(242,169,39,.10);
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
}
.preseason-beta-banner strong{
  display:block;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.045em;
}
.preseason-beta-banner p{
  margin:3px 0 0;
  color:rgba(255,255,255,.68);
  font-size:11.5px;
  font-weight:600;
  line-height:1.45;
}

/* T'ES-TU GAME? V1.7.7.4 — double match + date/time/location + beta pre-saison */
.split-match-picker{
  margin:0 0 18px;
  padding:18px;
  border:1px solid rgba(36,200,242,.28);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 10%,rgba(36,200,242,.09),transparent 34%),
    radial-gradient(circle at 88% 0%,rgba(245,32,56,.08),transparent 31%),
    linear-gradient(180deg,rgba(6,21,35,.96),rgba(2,10,18,.96));
  box-shadow:0 18px 50px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}
.split-match-heading{text-align:center;margin-bottom:14px}
.split-match-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border:1px solid rgba(245,32,56,.42);
  border-radius:999px;
  background:rgba(245,32,56,.09);
  color:#ff5366;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
}
.split-match-heading h2{
  margin:8px 0 3px;
  color:#fff;
  font-family:var(--font-display,'Bebas Neue',Impact,sans-serif);
  font-size:30px;
  line-height:1;
  letter-spacing:.035em;
}
.split-match-heading p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:13px;
  font-weight:600;
}
.split-match-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.split-match-option{
  position:relative;
  display:grid;
  gap:4px;
  min-height:116px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(1,8,14,.72);
  color:#fff;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.split-match-option:hover,
.split-match-option:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(36,200,242,.52);
  background:rgba(5,23,37,.92);
  box-shadow:0 12px 28px rgba(0,0,0,.25),0 0 22px rgba(36,200,242,.08);
  outline:none;
}
.split-match-option.is-selected{
  border-color:rgba(245,32,56,.72);
  background:linear-gradient(135deg,rgba(245,32,56,.11),rgba(5,23,37,.94) 55%);
  box-shadow:0 12px 30px rgba(0,0,0,.25),0 0 24px rgba(245,32,56,.09);
}
.split-match-location{
  color:#24c8f2;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.split-match-option.is-selected .split-match-location{color:#ff5366}
.split-match-option strong{
  font-family:var(--font-display,'Bebas Neue',Impact,sans-serif);
  font-size:28px;
  line-height:1;
  letter-spacing:.04em;
}
.split-match-schedule{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:4px;
}
.split-match-date{
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.035em;
}
.split-match-time{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 8px;
  border:1px solid rgba(36,200,242,.32);
  border-radius:999px;
  background:rgba(36,200,242,.09);
  color:#68dcfa;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.045em;
}
.split-match-option.is-selected .split-match-time{
  border-color:rgba(245,32,56,.38);
  background:rgba(245,32,56,.10);
  color:#ff6575;
}
.split-match-venue{
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:750;
  line-height:1.3;
  letter-spacing:.025em;
}
.split-match-action{
  align-self:end;
  margin-top:6px;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.split-match-option.is-selected .split-match-action{color:#ff5366}

/* V1.7.8.1 — statut de publication directement dans le selecteur split-squad. */
.split-match-status{
  display:inline-flex;
  width:max-content;
  align-items:center;
  min-height:22px;
  margin-top:4px;
  padding:3px 8px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.04);
  font-size:9.5px;
  font-weight:900;
  line-height:1;
  letter-spacing:.075em;
}
.split-match-status--open{
  border-color:rgba(36,200,242,.40);
  background:rgba(36,200,242,.10);
  color:#68dcfa;
}
.split-match-status--locked,
.split-match-status--live{
  border-color:rgba(245,32,56,.38);
  background:rgba(245,32,56,.09);
  color:#ff6575;
}

/* Admin NHL: heure locale principale, UTC en diagnostic secondaire. */
.sync-time{display:grid;gap:2px}
.sync-time strong{font-size:13px;color:#fff}
.sync-time small{font-size:10px;opacity:.55}
.sync-split-badge{
  display:inline-flex;
  width:max-content;
  margin-top:4px;
  padding:3px 7px;
  border:1px solid rgba(245,32,56,.35);
  border-radius:999px;
  color:#ff5366;
  background:rgba(245,32,56,.08);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

@media(max-width:720px){
  .preseason-beta-banner{align-items:flex-start;padding:12px 13px;gap:10px}
  .preseason-beta-badge{font-size:9px}
  .preseason-beta-banner strong{font-size:11px}
  .preseason-beta-banner p{font-size:10.5px}
  .split-match-picker{padding:14px;margin-bottom:14px;border-radius:15px}
  .split-match-heading h2{font-size:25px}
  .split-match-heading p{font-size:12px}
  .split-match-options{grid-template-columns:1fr}
  .split-match-option{min-height:118px}
  .split-match-date{font-size:12px}
  .split-match-venue{font-size:10.5px}
}

@media(prefers-reduced-motion:reduce){
  .split-match-option{transition:none}
  .split-match-option:hover,.split-match-option:focus-visible{transform:none}
}

/* V1.7.8 — contexte explicite du match dans la fenetre de calls */
.prediction-match-context{
  margin:2px 0 12px;
  text-align:center;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.055em;
  color:rgba(255,255,255,.72);
}
@media(max-width:520px){
  .prediction-match-context{font-size:11px;line-height:1.45;margin-bottom:10px}
}

/* --------------------------------------------------------------------------
   T'ES-TU GAME? V1.7.8.2 — Calls ouverts plus visibles + CTA above-the-fold
   -------------------------------------------------------------------------- */

/* Le statut du match est maintenant placé AVANT le CTA dans index.php. */
.match-card .open-window{
  margin:0 0 12px;
}

/* État "open" : faire comprendre immédiatement que l'action est disponible. */
.match-card[data-match-state="open"] .open-window{
  position:relative;
  width:min(660px,92%);
  min-height:44px;
  padding:8px 15px 8px 148px;
  border-color:rgba(36,200,242,.62);
  background:
    radial-gradient(circle at 18% 50%,rgba(36,200,242,.18),transparent 34%),
    linear-gradient(180deg,rgba(7,34,51,.94),rgba(3,21,34,.96));
  color:#f8fdff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(36,200,242,.07),
    0 0 26px rgba(36,200,242,.12),
    0 10px 24px rgba(0,0,0,.18);
}
.match-card[data-match-state="open"] .open-window::before{
  content:"CALLS OUVERTS";
  position:absolute;
  left:8px;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,#61ddfb,#20bfe9);
  color:#001522;
  font-family:var(--font-ui,'Montserrat',Arial,sans-serif);
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-shadow:none;
  box-shadow:0 0 18px rgba(36,200,242,.25),inset 0 1px 0 rgba(255,255,255,.32);
}
.match-card[data-match-state="open"] .open-window svg{
  color:#5ddcfa;
  filter:drop-shadow(0 0 7px rgba(36,200,242,.28));
}
.match-card[data-match-state="open"] #match-status-copy{
  font-size:14px;
  letter-spacing:.055em;
}

/* Le CTA garde la priorité visuelle et remonte dans le premier écran. */
.match-card[data-match-state="open"] .main-cta{
  box-shadow:
    0 18px 38px rgba(230,23,50,.34),
    0 0 22px rgba(245,32,56,.18),
    inset 0 1px 0 rgba(255,255,255,.20),
    0 0 0 1px rgba(245,32,56,.12);
}

/* Le statut CALLS OUVERTS du sélecteur split-squad doit ressortir davantage. */
.split-match-status--open{
  min-height:25px;
  padding:4px 10px;
  border-color:rgba(36,200,242,.62);
  background:linear-gradient(180deg,rgba(36,200,242,.18),rgba(36,200,242,.08));
  color:#8be7ff;
  font-size:10px;
  box-shadow:0 0 18px rgba(36,200,242,.12),inset 0 1px 0 rgba(255,255,255,.06);
}
.split-match-status--open::before{
  content:"";
  width:6px;
  height:6px;
  margin-right:6px;
  border-radius:50%;
  background:#69e2ff;
  box-shadow:0 0 8px rgba(36,200,242,.70);
}

/* Desktop/tablette large : compacter le haut de page et le héros sans sacrifier
   l'information date/heure/lieu. Objectif : CTA visible sur un écran ~900 px. */
@media (min-width:901px){
  .page-shell{
    margin-top:18px;
  }

  .preseason-beta-banner{
    gap:12px;
    margin-bottom:11px;
    padding:9px 14px;
    border-radius:13px;
  }
  .preseason-beta-badge{
    min-height:23px;
    padding:3px 8px;
    font-size:9px;
  }
  .preseason-beta-banner strong{
    font-size:11px;
  }
  .preseason-beta-banner p{
    margin-top:1px;
    font-size:10.5px;
    line-height:1.32;
  }

  .split-match-picker{
    margin-bottom:11px;
    padding:12px 15px 13px;
    border-radius:16px;
  }
  .split-match-heading{
    margin-bottom:9px;
  }
  .split-match-eyebrow{
    min-height:21px;
    padding:3px 9px;
    font-size:9.5px;
  }
  .split-match-heading h2{
    margin:5px 0 2px;
    font-size:25px;
  }
  .split-match-heading p{
    font-size:11.5px;
    line-height:1.25;
  }
  .split-match-options{
    gap:10px;
  }
  .split-match-option{
    min-height:96px;
    padding:10px 13px;
    gap:2px;
  }
  .split-match-option strong{
    font-size:25px;
  }
  .split-match-schedule{
    gap:7px;
    margin-top:2px;
  }
  .split-match-date{
    font-size:11px;
  }
  .split-match-time{
    min-height:21px;
    padding:2px 7px;
    font-size:10px;
  }
  .split-match-venue{
    font-size:10px;
  }
  .split-match-status{
    margin-top:2px;
  }
  .split-match-action{
    margin-top:2px;
    font-size:9px;
  }

  .match-card{
    min-height:382px;
  }
  .match-card-inner{
    min-height:382px;
    padding:16px 30px 16px;
  }
  .section-kicker{
    margin-bottom:9px;
    font-size:25px;
  }
  .matchup-grid{
    margin:0;
    width:min(680px,100%);
  }
  .crest-wrap{
    width:155px;
    height:104px;
  }
  .crest-wrap img{
    max-width:145px;
    max-height:98px;
  }
  .rival-crest img{
    max-width:104px;
    max-height:98px;
  }
  .team-city{
    font-size:16px;
  }
  .team-block strong{
    font-size:32px;
  }
  .versus{
    font-size:45px;
  }
  .match-meta{
    gap:28px;
    margin:10px 0 10px;
    font-size:14px;
  }
  .match-meta span{
    padding-top:5px;
  }
  .main-cta{
    width:min(660px,92%);
    height:58px;
    font-size:29px;
  }
}

/* Mobile : on compacte aussi le héros, tout en gardant les cartes split lisibles. */
@media (max-width:720px){
  .preseason-beta-banner{
    margin-bottom:9px;
    padding:9px 11px;
  }
  .preseason-beta-banner p{
    line-height:1.32;
  }
  .split-match-picker{
    padding:11px;
    margin-bottom:10px;
  }
  .split-match-heading{
    margin-bottom:9px;
  }
  .split-match-heading h2{
    margin-top:5px;
    font-size:23px;
  }
  .split-match-heading p{
    font-size:10.5px;
    line-height:1.3;
  }
  .split-match-options{
    gap:8px;
  }
  .split-match-option{
    min-height:104px;
    padding:10px 12px;
  }
  .split-match-option strong{
    font-size:25px;
  }

  .match-card{
    min-height:365px;
  }
  .match-card-inner{
    min-height:365px;
    padding:13px 12px 14px;
  }
  .section-kicker{
    margin-bottom:8px;
  }
  .matchup-grid{
    margin:0;
  }
  .match-meta{
    margin:10px 0 9px;
  }
  .match-card .open-window{
    margin-bottom:9px;
  }
  .match-card[data-match-state="open"] .open-window{
    width:96%;
    min-height:42px;
    padding:7px 10px 7px 116px;
  }
  .match-card[data-match-state="open"] .open-window::before{
    left:6px;
    min-height:25px;
    padding:4px 8px;
    font-size:8.5px;
  }
  .match-card[data-match-state="open"] #match-status-copy{
    font-size:11px;
  }
}

@media (max-width:520px){
  .match-card[data-match-state="open"] .open-window{
    padding-left:108px;
  }
  .match-card[data-match-state="open"] .open-window::before{
    font-size:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  .split-match-status--open::before{
    box-shadow:none;
  }
}


/* --------------------------------------------------------------------------
   T'ES-TU GAME? V1.7.8.3 — CTA sticky mobile quand les calls sont ouverts
   -------------------------------------------------------------------------- */

.mobile-sticky-predictions{
  display:none;
}

@media (max-width:900px){
  body.has-mobile-sticky-cta{
    padding-bottom:148px;
  }

  .mobile-sticky-predictions{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(76px + env(safe-area-inset-bottom, 0px));
    z-index:95;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) 24px;
    align-items:center;
    gap:10px;
    min-height:62px;
    padding:8px 12px;
    border:1px solid rgba(245,32,56,.72);
    border-radius:16px;
    background:
      radial-gradient(circle at 14% 50%,rgba(36,200,242,.15),transparent 27%),
      linear-gradient(180deg,rgba(9,30,45,.98),rgba(4,17,28,.99));
    color:#fff;
    box-shadow:
      0 15px 38px rgba(0,0,0,.52),
      0 0 0 1px rgba(245,32,56,.08),
      0 0 26px rgba(245,32,56,.16),
      inset 0 1px 0 rgba(255,255,255,.08);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    cursor:pointer;
    text-align:left;
    overflow:hidden;
  }

  .mobile-sticky-predictions::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:linear-gradient(90deg,#24c8f2 0 34%,#f52038 66% 100%);
    box-shadow:0 0 14px rgba(245,32,56,.32);
  }

  .mobile-sticky-predictions:active{
    transform:translateY(1px);
  }

  .mobile-sticky-state{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:5px 8px;
    border:1px solid rgba(36,200,242,.48);
    border-radius:999px;
    background:rgba(36,200,242,.10);
    color:#85e7ff;
    font-family:var(--font-ui,'Montserrat',Arial,sans-serif);
    font-size:8.5px;
    font-weight:900;
    line-height:1;
    letter-spacing:.08em;
    white-space:nowrap;
  }

  .mobile-sticky-dot{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#5de1ff;
    box-shadow:0 0 9px rgba(36,200,242,.85);
  }

  .mobile-sticky-predictions strong{
    min-width:0;
    color:#fff;
    font-family:var(--font-display,'Bebas Neue',Impact,sans-serif);
    font-size:25px;
    font-weight:400;
    line-height:.95;
    letter-spacing:.035em;
    text-align:center;
    text-shadow:0 2px 12px rgba(0,0,0,.45);
  }

  .mobile-sticky-predictions svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:#ff3249;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 6px rgba(245,32,56,.35));
  }
}

@media (max-width:390px){
  .mobile-sticky-predictions{
    left:7px;
    right:7px;
    gap:7px;
    padding-left:9px;
    padding-right:9px;
  }
  .mobile-sticky-state{
    padding:5px 7px;
    font-size:7.5px;
  }
  .mobile-sticky-predictions strong{
    font-size:21px;
  }
}

@media (min-width:901px){
  .mobile-sticky-predictions{
    display:none !important;
  }
}

/* --------------------------------------------------------------------------
   T'ES-TU GAME? V1.7.8.4 — Mobile first-screen compact
   Objectif : afficher l'essentiel plus haut sans modifier le desktop.
   -------------------------------------------------------------------------- */
@media (max-width:720px){
  /* Le bandeau beta devient un rappel compact au lieu d'un bloc editorial. */
  .preseason-beta-banner{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:8px;
    margin:0 0 7px;
    padding:7px 9px;
    border-radius:12px;
  }
  .preseason-beta-badge{
    min-height:22px;
    padding:3px 7px;
    font-size:8px;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  .preseason-beta-banner strong{
    font-size:9.5px;
    line-height:1.12;
    letter-spacing:.025em;
  }
  .preseason-beta-banner p{
    display:none;
  }

  /* Formation divisee : titre resserre + cartes transformees en lignes denses. */
  .split-match-picker{
    margin-bottom:7px;
    padding:8px;
    border-radius:13px;
  }
  .split-match-heading{
    margin-bottom:6px;
  }
  .split-match-eyebrow{
    min-height:20px;
    padding:3px 8px;
    font-size:8.5px;
    letter-spacing:.10em;
  }
  .split-match-heading h2{
    margin:4px 0 0;
    font-size:20px;
    line-height:1.02;
  }
  .split-match-heading p{
    display:none;
  }
  .split-match-options{
    gap:6px;
  }
  .split-match-option{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "location status"
      "matchup matchup"
      "schedule schedule"
      "venue action";
    column-gap:8px;
    row-gap:2px;
    min-height:0;
    padding:8px 10px;
    border-radius:11px;
  }
  .split-match-location{
    grid-area:location;
    align-self:center;
    font-size:8.5px;
    line-height:1;
  }
  .split-match-option strong{
    grid-area:matchup;
    font-size:22px;
    line-height:.95;
  }
  .split-match-schedule{
    grid-area:schedule;
    gap:6px;
    margin-top:2px;
  }
  .split-match-date{
    font-size:10px;
    line-height:1.05;
  }
  .split-match-time{
    min-height:19px;
    padding:2px 6px;
    font-size:9px;
  }
  .split-match-venue{
    grid-area:venue;
    align-self:center;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8.5px;
    line-height:1.1;
  }
  .split-match-status{
    grid-area:status;
    justify-self:end;
    align-self:center;
    min-height:20px;
    margin:0;
    padding:3px 7px;
    font-size:8px;
  }
  .split-match-status--open{
    min-height:21px;
    padding:3px 7px;
    font-size:8px;
  }
  .split-match-status--open::before{
    width:5px;
    height:5px;
    margin-right:4px;
  }
  .split-match-action{
    grid-area:action;
    justify-self:end;
    align-self:center;
    margin:0;
    font-size:7.5px;
    line-height:1;
    letter-spacing:.055em;
    white-space:nowrap;
  }

  /* Hero compact : conserver logos, date, statut et bouton, mais enlever l'air. */
  .match-card{
    min-height:286px;
    border-radius:14px;
  }
  .match-card-inner{
    min-height:286px;
    padding:9px 10px 11px;
  }
  .section-kicker{
    margin-bottom:5px;
    font-size:22px;
    line-height:1;
  }
  .matchup-grid{
    width:min(430px,100%);
    margin:0 auto;
  }
  .crest-wrap{
    width:84px;
    height:61px;
  }
  .crest-wrap img{
    max-width:82px;
    max-height:59px;
  }
  .rival-crest img{
    max-width:64px;
    max-height:58px;
  }
  .team-city{
    margin-top:1px;
    font-size:9px;
    line-height:1;
  }
  .team-block strong{
    font-size:21px;
    line-height:.95;
  }
  .versus{
    font-size:29px;
  }
  .match-meta{
    gap:9px;
    margin:6px 0 6px;
    font-size:9px;
    line-height:1.1;
  }
  .match-meta span{
    gap:4px;
    padding-top:2px;
  }
  .match-meta svg{
    width:14px;
    height:14px;
  }
  .match-card .open-window{
    margin-bottom:6px;
  }
  .match-card[data-match-state="open"] .open-window{
    width:98%;
    min-height:36px;
    padding:5px 7px 5px 96px;
  }
  .match-card[data-match-state="open"] .open-window::before{
    left:5px;
    min-height:22px;
    padding:3px 6px;
    font-size:7px;
    letter-spacing:.06em;
  }
  .match-card[data-match-state="open"] .open-window svg{
    width:14px;
    height:14px;
  }
  .match-card[data-match-state="open"] #match-status-copy{
    font-size:9px;
    line-height:1.1;
  }
  .main-cta{
    width:98%;
    height:50px;
    font-size:24px;
    border-radius:12px;
  }

  /* Le CTA sticky reste la garantie d'acces immediat, meme sur petit ecran. */
  .mobile-sticky-predictions{
    min-height:56px;
    padding-top:6px;
    padding-bottom:6px;
  }
  .mobile-sticky-predictions strong{
    font-size:22px;
  }
}

/* Sur les telephones courts, on gagne encore quelques dizaines de pixels. */
@media (max-width:720px) and (max-height:780px){
  .preseason-beta-banner{
    margin-bottom:5px;
    padding-top:5px;
    padding-bottom:5px;
  }
  .preseason-beta-banner strong{
    font-size:8.7px;
  }
  .split-match-picker{
    margin-bottom:5px;
    padding:6px;
  }
  .split-match-eyebrow{
    min-height:18px;
    font-size:7.8px;
  }
  .split-match-heading h2{
    font-size:18px;
  }
  .split-match-options{
    gap:5px;
  }
  .split-match-option{
    padding:6px 8px;
  }
  .split-match-option strong{
    font-size:20px;
  }
  .split-match-date,
  .split-match-venue{
    font-size:8px;
  }
  .split-match-time{
    min-height:18px;
    font-size:8px;
  }
  .split-match-status,
  .split-match-status--open{
    min-height:18px;
    padding:2px 6px;
    font-size:7px;
  }
  .split-match-action{
    font-size:6.8px;
  }
  .match-card,
  .match-card-inner{
    min-height:268px;
  }
  .match-card-inner{
    padding-top:7px;
  }
  .section-kicker{
    font-size:20px;
  }
  .crest-wrap{
    width:76px;
    height:54px;
  }
  .crest-wrap img{
    max-width:74px;
    max-height:52px;
  }
  .rival-crest img{
    max-width:58px;
    max-height:51px;
  }
  .team-block strong{
    font-size:19px;
  }
  .match-meta{
    margin:4px 0;
  }
  .main-cta{
    height:46px;
    font-size:22px;
  }
}

/* =========================================================
   V1.10.2 — MODE VISITEUR PUBLIC
   ========================================================= */

.guest-header-login,
.guest-header-play,
.guest-create-btn,
.guest-login-link,
.guest-gate-primary,
.guest-gate-secondary,
.guest-league-link {
  text-decoration: none;
}

.guest-header-login,
.guest-header-play {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 15px;
  font-family: var(--font-display);
  letter-spacing: .55px;
  line-height: 1;
}

.guest-header-login {
  color: #d7e4ed;
  border: 1px solid rgba(75,132,170,.38);
  background: rgba(6,20,31,.72);
  font-size: 15px;
}

.guest-header-play {
  color: #fff;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg,#ff354d,#e61732);
  box-shadow: 0 10px 24px rgba(230,23,50,.18);
  font-size: 16px;
}

.guest-game-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr);
  gap: 24px;
  margin-top: 16px;
  padding: 22px 24px;
  overflow: hidden;
  border: 1px solid #28445a;
  border-radius: 12px;
  background:
    radial-gradient(circle at 9% 45%,rgba(245,32,56,.10),transparent 24%),
    radial-gradient(circle at 88% 40%,rgba(36,200,242,.08),transparent 26%),
    linear-gradient(100deg,#081827 0%,#071421 52%,#06131f 100%);
  box-shadow: 0 18px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}

.guest-game-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg,rgba(245,32,56,.72),transparent 30%,transparent 68%,rgba(36,200,242,.52));
}

.guest-game-copy,
.guest-question-preview {
  position: relative;
  z-index: 1;
}

.guest-game-kicker,
.guest-question-preview-title {
  display: block;
  margin: 0 0 7px;
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 1px;
}

.guest-game-copy h2 {
  margin: 0 0 8px;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(29px,3vw,42px);
  line-height: .98;
  letter-spacing: .45px;
}

.guest-game-copy > p:not(.guest-game-kicker) {
  max-width: 650px;
  margin: 0;
  color: #c4d0d8;
  font-size: 12.5px;
  line-height: 1.6;
}

.guest-game-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 17px;
}

.guest-preview-btn,
.guest-create-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0 18px;
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: .42px;
}

.guest-preview-btn {
  border: 1px solid rgba(36,200,242,.34);
  color: #fff;
  background: linear-gradient(180deg,rgba(20,65,91,.96),rgba(8,34,52,.96));
  box-shadow: 0 10px 24px rgba(0,0,0,.18),0 0 16px rgba(36,200,242,.06);
}

.guest-create-btn {
  color: #fff;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg,#ff354d,#e61732);
  box-shadow: 0 12px 24px rgba(230,23,50,.20);
}

.guest-login-link {
  color: #8fd8f5;
  font-size: 11px;
  font-weight: 700;
  padding: 10px 5px;
}

.guest-question-preview {
  align-self: stretch;
  padding: 14px;
  border: 1px solid rgba(75,132,170,.22);
  border-radius: 10px;
  background: rgba(2,12,20,.45);
}

.guest-question-preview-title {
  color: #ff6d7e;
  margin-bottom: 9px;
}

.guest-question-row {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 6px 8px;
  border-top: 1px solid rgba(111,153,183,.13);
}

.guest-question-row > span {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #78d8f7;
  border: 1px solid rgba(36,200,242,.28);
  font-family: var(--font-display);
  font-size: 13px;
}

.guest-question-row strong {
  color: #edf4f8;
  font-size: 11px;
  line-height: 1.3;
}

.guest-question-row.is-gros-call > span {
  color: #fff;
  border-color: rgba(245,32,56,.35);
  background: rgba(245,32,56,.10);
}

.guest-question-row.is-gros-call strong {
  color: #ff8c99;
}

.guest-question-empty {
  padding: 14px 8px 6px;
  color: #a9bac6;
  font-size: 11px;
  line-height: 1.45;
}

.guest-gate-actions {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 2px;
}

.guest-gate-primary,
.guest-gate-secondary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: .4px;
}

.guest-gate-primary {
  color: #fff;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg,#ff354d,#e61732);
  box-shadow: 0 12px 24px rgba(230,23,50,.18);
}

.guest-gate-secondary {
  color: #fff;
  border: 1px solid rgba(36,200,242,.28);
  background: linear-gradient(180deg,rgba(17,55,78,.94),rgba(7,28,43,.94));
}

.guest-league-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width:900px) {
  .guest-game-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 17px;
  }

  .guest-question-preview {
    padding: 10px;
  }
}

@media (max-width:560px) {
  .guest-header-login {
    min-height: 34px;
    padding: 0 10px;
    font-size: 12px;
  }

  .guest-header-play {
    min-height: 34px;
    padding: 0 12px;
    font-size: 13px;
  }

  .guest-game-card {
    margin-top: 10px;
    padding: 14px;
  }

  .guest-game-copy h2 {
    font-size: 28px;
  }

  .guest-game-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .guest-preview-btn {
    grid-column: 1/-1;
  }

  .guest-preview-btn,
  .guest-create-btn {
    width: 100%;
    min-height: 42px;
    font-size: 16px;
  }

  .guest-login-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .guest-question-row {
    min-height: 36px;
  }

  .guest-gate-actions {
    grid-template-columns: 1fr;
  }

  .guest-gate-primary,
  .guest-gate-secondary {
    min-height: 44px;
    font-size: 18px;
  }
}
