/* Ce Soir Foot — un soir de match sous les projecteurs. Nuit profonde, gazon électrique, blanc projecteur, ambre réservé au « en direct ». */
@font-face{font-family:"Barlow Condensed";src:url(/assets/fonts/barlow-condensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/assets/fonts/barlow-condensed-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-wght.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--nuit:#0A1020;--nuit2:#101A30;--carte:#131F38;--ligne:#22314F;--texte:#EEF2F8;--doux:#A3AFC4;--gazon:#22D47E;--gazon-sombre:#0F7A48;--ambre:#FFB547;
  --titre:"Barlow Condensed","Arial Narrow",sans-serif;--corps:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--r:18px}
*{box-sizing:border-box}
html{background:var(--nuit);color:var(--texte);font:16px/1.55 var(--corps);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:
  radial-gradient(1200px 520px at 85% -10%,rgba(34,212,126,.16),transparent 60%),
  radial-gradient(900px 420px at 0% 0%,rgba(80,120,255,.10),transparent 60%),var(--nuit)}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.tete{position:sticky;top:0;z-index:5;background:rgba(10,16,32,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--ligne)}
.tete .wrap{display:flex;align-items:center;gap:22px;height:64px}
.logo{white-space:nowrap;flex-shrink:0;display:flex;align-items:baseline;gap:6px;text-decoration:none;font:800 26px/1 var(--titre);letter-spacing:.02em;text-transform:uppercase}
.logo b{color:var(--gazon)}
.logo:after{content:"";display:block;width:26px;height:4px;background:var(--gazon);border-radius:2px;margin-inline-start:4px;align-self:center}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-inline-start:auto}
.nav a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--doux);font-weight:600;font-size:14px;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:var(--texte);background:var(--nuit2)}
main{padding-block:28px 64px}
.surtitre{font:600 14px/1 var(--titre);letter-spacing:.14em;text-transform:uppercase;color:var(--gazon);margin:0 0 10px}
h1{font:800 clamp(34px,6vw,60px)/.98 var(--titre);text-transform:uppercase;letter-spacing:.01em;margin:0 0 14px}
h2{font:800 clamp(24px,3.4vw,32px)/1.05 var(--titre);text-transform:uppercase;margin:44px 0 16px}
.chapo{font-size:18px;color:var(--doux);max-width:720px;margin:0}
.reponse{margin:22px 0 8px;padding:22px;border-radius:var(--r);background:linear-gradient(135deg,var(--carte),var(--nuit2));border:1px solid var(--ligne);display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.reponse div{display:grid;gap:2px}
.reponse dt{font-size:13px;color:var(--doux);text-transform:uppercase;letter-spacing:.08em}
.reponse dd{margin:0;font:800 30px/1.05 var(--titre);text-transform:uppercase}
.reponse dd.chaine{color:var(--gazon)}
.matchs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:0;margin:0;list-style:none}
.match{position:relative;display:grid;gap:12px;padding:18px;border-radius:var(--r);background:var(--carte);border:1px solid var(--ligne);text-decoration:none;transition:transform .15s,border-color .15s}
.match:hover{transform:translateY(-2px);border-color:var(--gazon-sombre)}
.match .haut{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--doux)}
.heure{font:800 44px/1 var(--titre);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.equipes{font:800 24px/1.1 var(--titre);text-transform:uppercase}
.equipes span{color:var(--doux);font-weight:600;margin-inline:6px}
.pastille{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-weight:700;font-size:13px;background:rgba(34,212,126,.14);color:var(--gazon);border:1px solid rgba(34,212,126,.35)}
.pastille.direct{background:rgba(255,181,71,.14);color:var(--ambre);border-color:rgba(255,181,71,.4)}
.pastille.direct:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ambre)}
.score{font:800 30px/1 var(--titre);font-variant-numeric:tabular-nums}
.clubs{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));list-style:none;padding:0;margin:0}
.clubs a{display:block;padding:16px;border-radius:14px;background:var(--nuit2);border:1px solid var(--ligne);text-decoration:none;font:800 22px/1 var(--titre);text-transform:uppercase}
.clubs a small{display:block;margin-top:6px;font:500 13px/1.3 var(--corps);text-transform:none;color:var(--doux)}
.clubs a:hover{border-color:var(--gazon-sombre)}
.tableau{width:100%;border-collapse:collapse;font-size:15px}
.tableau-cadre{overflow-x:auto;border-radius:var(--r);border:1px solid var(--ligne)}
.tableau th,.tableau td{padding:12px 14px;text-align:start;border-bottom:1px solid var(--ligne);white-space:nowrap}
.tableau th{font:600 13px/1 var(--corps);color:var(--doux);text-transform:uppercase;letter-spacing:.06em;background:var(--nuit2)}
.tableau td.num{font-variant-numeric:tabular-nums}
.bouton{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:12px;background:var(--gazon);color:#04130B;font-weight:800;text-decoration:none}
.bouton.second{background:transparent;color:var(--texte);border:1px solid var(--ligne)}
.abonnement{display:grid;gap:10px;padding:22px;border-radius:var(--r);background:var(--nuit2);border:1px solid var(--ligne)}
.abonnement p{margin:0}
.abonnement .prix{font:800 38px/1 var(--titre)}
.note{font-size:13px;color:var(--doux)}
.fil{font-size:13px;color:var(--doux);margin:0 0 16px}
.fil a{text-decoration:none}
.pied{border-top:1px solid var(--ligne);padding-block:28px 40px;color:var(--doux);font-size:14px}
.pied .wrap{display:grid;gap:12px}
.pied nav{display:flex;flex-wrap:wrap;gap:14px}
.vide{padding:22px;border-radius:var(--r);background:var(--nuit2);border:1px dashed var(--ligne);color:var(--doux)}
@media (max-width:640px){.tete .wrap{gap:12px}.logo{font-size:22px}.heure{font-size:38px}}
@media (prefers-reduced-motion:reduce){.match{transition:none}}
