/* ===== HoyPartido — design system =====
   Tema por defecto: ARENA CLARO. Modo oscuro vía [data-theme="dark"].
   Mobile-first: estilos base = móvil; @media (min-width) = escritorio. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&family=Space+Mono:wght@400;700&display=swap');

:root{
  /* marca "Hoy Partido" — el rayo es #F2641A en ambos modos */
  --bolt:#F2641A; --bolt-bright:#FF7E33; --bolt-deep:#E5371C;
  /* tema crema / claro (default) */
  --bg:#FBF1E6; --bg2:#F3E7D6; --panel:#FFFDFA; --panel2:#F7EEDF;
  --line:rgba(42,38,34,.13); --hair:rgba(42,38,34,.07); --track:rgba(42,38,34,.08);
  --ink:#2A2622; --muted:#8a7860; --faint:#A98F73;
  --accent:#F2641A; --accent-soft:rgba(242,100,26,.12);
  --live:#E5371C; --green:#15a34a; --green2:#22c55e; --blue:#3464c9; --best:#15a34a;
  --header-bg:rgba(251,241,230,.9);
  --shadow:0 12px 28px -18px rgba(120,70,20,.5);
  --radius:14px; --maxw:1080px;
  --font:"Poppins","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --font-mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
[data-theme="dark"]{
  --bg:#1a1613; --bg2:#221d18; --panel:#251f1a; --panel2:#2f2822;
  --line:rgba(251,241,230,.11); --hair:rgba(251,241,230,.06); --track:rgba(251,241,230,.09);
  --ink:#FBF1E6; --muted:#b6a591; --faint:#8f7d68;
  --accent:#FF7E33; --accent-soft:rgba(255,126,51,.16);
  --live:#ff5a3c; --green:#1fb85f; --green2:#23c869; --blue:#5b8def; --best:#23c869;
  --header-bg:rgba(26,22,19,.9);
  --shadow:0 14px 34px -18px rgba(0,0,0,.7);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.45;
  -webkit-font-smoothing:antialiased;min-height:100vh;
  padding-bottom:calc(64px + env(safe-area-inset-bottom));
  background-image:radial-gradient(120% 60% at 50% -10%,var(--accent-soft),transparent 60%)}
a{color:inherit;text-decoration:none}
[data-lk]{cursor:pointer}
/* Escudos de equipo/jugador: mismo lenguaje visual que las cajas (redondeo + sombra) */
.g__crest,.sb__crest,.ver__t img{background:#fff;box-shadow:0 2px 7px -2px rgba(60,45,20,.28)}
[data-theme="dark"] .g__crest,[data-theme="dark"] .sb__crest,[data-theme="dark"] .ver__t img{box-shadow:0 2px 8px -2px rgba(0,0,0,.55)}
.g__crest{border-radius:6px;padding:2px}
.sb__crest{border-radius:var(--radius);padding:6px}
.ver__t img{border-radius:11px;padding:5px}
button{font-family:inherit}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 14px}
.tnum{font-variant-numeric:tabular-nums}
/* números/marcadores en mono (Space Mono) = toque "datos" de la marca */
.sb__score b,.g__sc,.sets__c i,.odd,.odds__cols i,.g__odd b,.filt__n,.lg__n,.ver__sc b{
  font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.spico{font-style:normal;line-height:1}
.msym{font-variation-settings:'FILL' 1,'wght' 600,'GRAD' 0,'opsz' 24;vertical-align:-.16em}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:.25}}

/* ===== Header ===== */
.site{position:sticky;top:0;z-index:30;background:var(--header-bg);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;justify-content:space-between;height:54px;gap:10px}
.brand{display:inline-flex;align-items:center;gap:.04em;font-family:var(--font);font-weight:900;font-size:21px;letter-spacing:-.03em;line-height:1}
.brand__hoy{color:var(--accent)}
.brand__partido{color:var(--ink)}

/* ===== Marca: "el latido es el rayo" ===== */
@keyframes hp-radar{0%{transform:scale(.35);opacity:.85}80%,100%{transform:scale(1.7);opacity:0}}
@keyframes hp-pulse{0%,100%{transform:scale(1)}50%{transform:scale(.78)}}
@keyframes hp-flash{0%,92%,100%{filter:brightness(1)}95%{filter:brightness(1.5)}}
.hp-bolt{position:relative;display:inline-flex;align-items:center;justify-content:center;width:.7em;height:1.15em;margin:0 .03em}
.hp-bolt__ring{position:absolute;width:.78em;height:.78em;border-radius:50%;border:.03em solid var(--bolt);
  animation:hp-radar 2.4s ease-out infinite}
.hp-bolt__ring--2{animation-delay:1.2s}
.hp-bolt__svg{position:relative;width:.74em;height:1.04em;fill:var(--bolt);transform-origin:center;
  filter:drop-shadow(0 4px 9px rgba(229,55,28,.45));
  animation:hp-pulse 1.5s ease-in-out infinite,hp-flash 3s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.hp-bolt__ring{display:none}.hp-bolt__svg,.estate__bolt svg,.e404__bolt svg{animation:none}}
.topbar__act{display:flex;align-items:center;gap:4px}
.iconbtn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:11px;
  background:transparent;color:var(--muted);font-size:16px;cursor:pointer;transition:.15s}
.iconbtn:hover{background:var(--panel2);color:var(--ink)}
.iconbtn--snd .s-on{display:none}
.iconbtn--snd.is-on .s-off{display:none}
.iconbtn--snd.is-on .s-on{display:inline}
.iconbtn--snd.is-on{color:var(--accent)}
.t-light{display:none}[data-theme="dark"] .t-dark{display:none}[data-theme="dark"] .t-light{display:inline}

/* tira de deportes (scroll horizontal) */
.tabs{border-top:1px solid var(--hair);overflow:hidden}
.tabs__in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs__in::-webkit-scrollbar{display:none}
.tab{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:9px 12px 8px;min-width:60px;border-bottom:2px solid transparent;
  color:var(--muted);font-weight:700;font-size:11px;white-space:nowrap}
.tab .spico{font-size:18px;transition:transform .15s}
.tab span{letter-spacing:-.01em}
.tab:hover .spico{transform:translateY(-1px)}
.tab.is-on{color:var(--ink);border-bottom-color:var(--accent)}
.tab.is-on .spico{filter:drop-shadow(0 2px 5px var(--accent-soft))}

/* buscador */
.search{border-top:1px solid var(--line);background:var(--panel);padding:10px 0}
.search__in{display:flex;align-items:center;gap:10px;background:var(--bg2);
  border:1px solid var(--line);border-radius:12px;padding:0 6px 0 12px}
.search__ico{color:var(--faint)}
.search__inp{flex:1;background:transparent;border:0;outline:0;color:var(--ink);font-size:15px;font-weight:600;padding:12px 0}
.search__res{margin-top:8px;display:flex;flex-direction:column}
.sres{display:flex;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid var(--hair);font-weight:700;font-size:14px}
.sres:first-child{border-top:0}
.sres img{width:22px;height:22px;object-fit:contain}
.sres small{color:var(--faint);font-weight:700;font-size:11px;margin-left:auto;text-transform:uppercase}

/* ===== Layout ===== */
.main{padding:18px 0 40px}
/* barra de días (hoy + próximos 5) */
.dbar{margin:0 0 14px;overflow:hidden}
.dbar__in{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:1px}
.dbar__in::-webkit-scrollbar{display:none}
.dbar__d{flex:none;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:62px;
  padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);transition:.14s}
.dbar__d b{font-size:13px;font-weight:800;color:var(--ink)}
.dbar__d span{font-size:11px;font-weight:700;color:var(--faint);font-family:var(--font-mono)}
.dbar__d:hover{border-color:var(--accent)}
.dbar__d.is-on{background:var(--accent);border-color:var(--accent)}
.dbar__d.is-on b,.dbar__d.is-on span{color:#fff}

.phead{margin-bottom:14px}
.h1{font-size:clamp(21px,4.2vw,30px);font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;gap:9px}
.phead__ico{font-size:.85em}
.sub{color:var(--muted);font-weight:600;font-size:13.5px;margin-top:3px}
.sub__live{color:var(--live)}
.bc{display:flex;flex-wrap:wrap;gap:4px;color:var(--muted);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}
.bc a:hover{color:var(--accent)}
.bc span{color:var(--faint)}
.empty{color:var(--muted);text-align:center;padding:36px;font-weight:600}

/* grupo (competición) + lista */
.grp{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow)}
.grp__head{display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--panel2)}
.grp__head--plain{padding:11px 14px;font-weight:800;font-size:13px}
.grp__fav{flex:none;border:0;background:none;cursor:pointer;color:var(--faint);font-size:14px;padding:11px 4px 11px 12px;opacity:.45;transition:.12s}
.grp__fav:hover{opacity:1;color:#e8a200}
.grp__fav.is-on{opacity:1;color:#e8a200}
.grp__headlink{flex:1;display:flex;align-items:center;gap:9px;padding:11px 14px 11px 4px;font-weight:800;font-size:13px;color:inherit;min-width:0}
.grp__ico{font-size:15px}
.grp__name{flex:1}
.grp__chev{color:var(--faint);font-size:18px}
.grp__list{display:flex;flex-direction:column}
.g{display:flex;align-items:center;gap:11px;padding:9px 13px;border-top:1px solid var(--hair);transition:background .12s}
.g:first-child{border-top:0}
.g:active,.g:hover{background:var(--panel2)}
.g__st{flex:none;width:50px;font-size:11.5px;font-weight:800;color:var(--muted);display:flex;align-items:center;gap:4px}
.g--live .g__st{color:var(--live)}
.g--final .g__st{color:var(--faint)}
.g__teams{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.g__t{display:flex;align-items:center;gap:9px;min-width:0}
.g__crest{width:22px;height:22px;object-fit:contain;flex:none}
.g__name{flex:1;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g__sc{font-size:15px;font-weight:900;min-width:18px;text-align:right;font-variant-numeric:tabular-nums}
.g--pre .g__sc{color:var(--faint);font-weight:700}
.g--live .g__sc{color:var(--accent)}

/* ===== Partido ===== */
.match{max-width:680px;margin:0 auto}
.match__head{text-align:center;margin-bottom:12px}
.match__h1{font-size:clamp(18px,4.5vw,24px);font-weight:900;letter-spacing:-.02em;line-height:1.2}
.match__h1 span{color:var(--faint);font-weight:700;margin:0 .15em}
.match__sub{margin-top:4px;color:var(--muted);font-weight:600;font-size:12.5px}
/* h2 dentro de cabecera de grupo (p.ej. "Clasificación"): hereda el estilo del grupo */
.grp__head h2.grp__name{font-size:inherit;font-weight:inherit;margin:0;letter-spacing:inherit}
.sb{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);
  border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.sb__top{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:16px;
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-wrap:wrap}
.sb__st{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:6px;background:var(--track)}
.sb__st--live{background:var(--live);color:#fff}
.sb__grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.sb__team{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;min-width:0}
.sb__crest{width:60px;height:60px;object-fit:contain}
.sb__name{font-size:15px;font-weight:800;line-height:1.15}
.sb__score{display:flex;align-items:center;gap:11px}
.sb__score b{font-size:44px;font-weight:900;letter-spacing:-.02em;line-height:1}
.sb__sep{color:var(--faint);font-size:20px;font-weight:800}
.sb__sets{margin-top:14px}

/* sets tenis */
.sets{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.sets__r{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;font-size:13px}
.sets__h i{color:var(--faint);font-weight:700;font-size:11px}
.sets__w{color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sets__c{display:flex;gap:7px}
.sets__c i{font-style:normal;min-width:18px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted)}
.sets__c i.live{color:var(--accent)}
.sets__tot{color:var(--ink)!important;font-weight:900;border-left:1px solid var(--line);padding-left:7px;margin-left:2px}
.srv{margin-left:5px}

/* CTA */
.cta{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;
  background:linear-gradient(180deg,var(--green2),var(--green));color:#fff;font-weight:900;font-size:17px;
  padding:16px;border-radius:12px;box-shadow:0 14px 30px -14px color-mix(in srgb,var(--green) 70%,transparent)}
.cta:active{filter:brightness(.97)}
.cta__play{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.25)}

/* Ver más (pestañas) */
.vm{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;box-shadow:var(--shadow)}
.vm__tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.vm__tabs::-webkit-scrollbar{display:none}
.vm__tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);
  font-weight:800;font-size:12.5px;padding:9px 11px;cursor:pointer;white-space:nowrap}
.vm__tab.is-on{color:var(--ink);border-bottom-color:var(--accent)}
.vm__tab--odds{color:var(--accent)}
.vm__tab--odds.is-on{color:var(--accent)}
.vm__body{padding:12px 15px 16px}
.ir{display:flex;gap:10px;padding:7px 0;font-size:13px;border-bottom:1px solid var(--hair)}
.ir:last-child{border-bottom:0}
.ir__k{color:var(--faint);font-weight:700;min-width:96px;flex:none}
.ir__v{font-weight:600}
.ev{display:flex;align-items:center;gap:10px;padding:7px 2px;font-size:13px;border-bottom:1px solid var(--hair)}
.ev:last-child{border-bottom:0}.ev--away{flex-direction:row-reverse;text-align:right}
.ev__min{font-weight:800;color:var(--muted);min-width:32px;font-variant-numeric:tabular-nums}
.ev__ico{font-size:15px;width:20px;text-align:center}
.ev__pl{flex:1;font-weight:600}
.stat{margin-bottom:12px}.stat:last-child{margin-bottom:0}
.stat__h{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800;margin-bottom:5px;gap:8px}
.stat__h span{color:var(--muted);font-weight:600;font-size:12px}
.stat__bar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:var(--track)}
.stat__bar i{display:block;height:100%;background:var(--accent)}.stat__bar i.a{background:var(--blue)}

/* ===== Cuotas 1X2 ===== */
.odds{padding:10px 12px 14px}
.odds__r{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;
  padding:8px 8px;border-radius:11px;border:1px solid transparent;transition:.14s}
.odds__r:not(.odds__r--head){background:var(--panel2)}
.odds__r:not(.odds__r--head)+.odds__r{margin-top:8px}
a.odds__r:hover{border-color:var(--accent)}
.odds__r--head{padding:2px 8px 6px;color:var(--faint);font-weight:800;font-size:11px;text-transform:uppercase}
.odds__casa{display:flex;align-items:center;min-width:0}
.odds__logo{height:24px;max-width:96px;object-fit:contain;background:#fff;border-radius:5px;padding:3px 6px}
.odds__cols{display:flex;gap:7px}
.odds__cols i,.odd{width:54px;text-align:center;font-style:normal}
.odds__r--head .odds__cols i{color:var(--faint);font-weight:800}
.odd{padding:8px 0;border-radius:9px;background:var(--bg2);border:1px solid var(--line);
  font-weight:900;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ink)}
.odd--best{background:color-mix(in srgb,var(--best) 16%,transparent);border-color:var(--best);color:var(--best)}
.odds__note{margin-top:11px;color:var(--faint);font-size:11px;line-height:1.5;display:flex;gap:6px;align-items:flex-start}

/* clasificación */
.cl{width:100%;border-collapse:collapse;font-size:13px}
.cl th{color:var(--faint);text-align:left;padding:8px 14px;font-size:11px;text-transform:uppercase;font-weight:700}
.cl td{padding:8px 14px;border-top:1px solid var(--hair)}
.cl th:first-child,.cl td:first-child{width:30px;color:var(--muted)}
.cl th:nth-child(n+3),.cl td:nth-child(n+3){text-align:center;width:46px}

/* /ver landing */
.ver{max-width:620px;margin:0 auto;text-align:center}
.ver__h1{font-size:clamp(22px,4vw,30px);font-weight:900;letter-spacing:-.02em;margin-top:6px}
.ver__sb{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:16px 0;box-shadow:var(--shadow)}
.ver__t{display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:800;font-size:14px}
.ver__t img{width:50px;height:50px;object-fit:contain}
.ver__sc{display:flex;flex-direction:column;gap:6px;align-items:center}
.ver__sc b{font-size:34px;font-weight:900}
.ver__badge{font-size:11px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:var(--track);color:var(--muted)}
.ver__badge--live{background:var(--live);color:#fff}
.ver__h2{font-size:16px;font-weight:800;margin:18px 0 12px}
.books{display:flex;flex-direction:column;gap:10px}
.book{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:12px 16px;transition:border-color .15s}
.book:hover{border-color:var(--green)}
.book__logo{height:30px;width:auto;background:#fff;padding:4px 7px;border-radius:6px}
.book__cta{font-weight:900;color:var(--green)}
.ver__legal{margin-top:18px;font-size:11.5px;color:var(--faint);line-height:1.5}
.ver__legal a{color:var(--faint);text-decoration:underline}

/* ===== Bottom nav (móvil) ===== */
.bnav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;
  background:var(--header-bg);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom)}
.bnav__a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;
  background:none;border:0;color:var(--muted);font-weight:700;font-size:10.5px;cursor:pointer}
.bnav__a i{font-size:18px}
.bnav__a.is-on{color:var(--accent)}

/* ===== Footer ===== */
.foot{border-top:1px solid var(--line);margin-top:30px;padding:22px 0 34px;background:var(--panel);color:var(--muted);font-size:13px;line-height:1.6}
.rg__msg{display:flex;align-items:center;gap:11px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:22px;flex-wrap:wrap}
.rg__18img{flex:none;width:34px;height:34px;border-radius:50%}
.rg__msgtxt{flex:1;min-width:140px;font-weight:700;color:var(--ink);font-size:13px}
.rg__msgurl{flex:none;color:var(--faint);font-style:italic;font-size:12px}
.foot__cols{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.foot__brand{grid-column:1 / -1}
.brand--foot{font-size:20px}
.brand--foot .hp-bolt__svg{animation:none}
.brand--foot .hp-bolt__ring{display:none}
.foot__tag{margin:10px 0 14px;color:var(--muted);font-size:13px;max-width:40ch;line-height:1.55}
.foot__col .foot__h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:9px;font-weight:800}
.foot__col a{display:block;padding:5px 0;color:var(--muted);font-weight:600}
.foot__col a:hover{color:var(--accent)}
.rg__logos{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rgl{display:inline-flex;align-items:center;transition:.14s;opacity:.92}
.rgl img{height:30px;width:auto;display:block;border-radius:4px}
.rgl:hover{opacity:1;transform:translateY(-1px)}
.foot__bottom{margin-top:22px;padding-top:16px;border-top:1px solid var(--hair);color:var(--faint);font-size:11.5px;line-height:1.6}
.foot__bottom strong{color:var(--muted)}
.foot__legal{margin-top:6px}

/* ===== Páginas legales / contacto / juego responsable ===== */
.legal{max-width:760px;margin:0 auto}
.legal__h1{font-size:clamp(24px,5vw,34px);font-weight:900;letter-spacing:-.02em;margin-bottom:4px}
.legal__upd{color:var(--faint);font-size:12.5px;margin-bottom:18px}
.legal__lead{font-size:16px;color:var(--muted);font-weight:600;margin:8px 0 18px;line-height:1.55}
.legal h2{font-size:17px;font-weight:800;margin:24px 0 8px;letter-spacing:-.01em;scroll-margin-top:130px;color:var(--ink)}
.legal p{margin-bottom:11px;color:var(--ink);font-size:14.5px;line-height:1.65}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.legal__ul{margin:0 0 12px 18px}
.legal__ul li{margin-bottom:7px;font-size:14.5px;line-height:1.55;color:var(--ink)}
.legal__note{margin-top:18px;padding-top:14px;border-top:1px solid var(--hair);color:var(--faint);font-size:12.5px;line-height:1.6}
.contact{display:grid;gap:12px;margin:18px 0}
.contact__card{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:var(--shadow);transition:.15s}
.contact__card:hover{border-color:var(--accent)}
.contact__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:18px;flex:none}
.contact__txt{display:flex;flex-direction:column;gap:2px}
.contact__txt b{font-size:14.5px}
.contact__mail{color:var(--accent);font-weight:700;font-size:13.5px}
.contact__legal{margin-top:18px;color:var(--faint);font-size:12.5px;line-height:1.6}
.jr__badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:999px;margin-bottom:10px}
.jr__18{background:var(--accent);color:#fff;font-weight:900;padding:2px 7px;border-radius:999px;font-size:11px}
.legal .cta{display:inline-flex;width:auto;margin:4px 0 8px}
.about__hero{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.about__bolt{font-size:38px}
.about__hero .legal__h1{margin:0}

/* bloque SEO (texto evergreen bajo los listados) */
.seo{max-width:760px;margin:26px auto 0;padding-top:18px;border-top:1px solid var(--hair);color:var(--muted)}
.seo__h{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}
.seo p{font-size:13.5px;line-height:1.65;margin-bottom:10px}
.seo strong{color:var(--ink);font-weight:700}

.nf{text-align:center;padding:40px 0}

/* ===== Estado vacío ===== */
.estate{max-width:460px;margin:28px auto;text-align:center;padding:18px}
.estate__bolt{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:24px;background:var(--accent-soft);margin-bottom:14px}
.estate__bolt svg{width:38px;height:50px;fill:var(--accent);transform-origin:center;animation:hp-pulse 1.6s ease-in-out infinite}
.estate__h{font-size:20px;font-weight:900;letter-spacing:-.02em;margin-bottom:6px}
.estate__p{color:var(--muted);font-weight:600;font-size:14.5px;line-height:1.55;margin-bottom:16px}
.estate__cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-weight:800;font-size:14px;padding:11px 18px;border-radius:11px}
.estate__cta:hover{filter:brightness(1.05)}

/* ===== 404 con estilo ===== */
.e404{max-width:520px;margin:24px auto;text-align:center;padding:24px 16px}
.e404__score{display:inline-flex;align-items:center;gap:14px;margin-bottom:6px}
.e404__n{font-family:var(--font-mono);font-weight:700;font-size:clamp(64px,18vw,120px);line-height:1;color:var(--ink);letter-spacing:-.04em}
.e404__bolt{display:inline-grid;place-items:center;width:clamp(58px,15vw,104px);height:clamp(58px,15vw,104px);border-radius:26px;background:linear-gradient(150deg,var(--bolt-bright),var(--bolt-deep));box-shadow:var(--shadow)}
.e404__bolt svg{width:46%;height:60%;fill:#fff;transform-origin:center;animation:hp-pulse 1.4s ease-in-out infinite,hp-flash 3s ease-in-out infinite}
.e404__h{font-size:clamp(22px,5vw,30px);font-weight:900;letter-spacing:-.02em;margin:8px 0 8px}
.e404__p{color:var(--muted);font-weight:600;font-size:15px;line-height:1.6;max-width:42ch;margin:0 auto 18px}
.e404__btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.e404 .cta{display:inline-flex;width:auto}
.e404__tip{margin-top:18px;color:var(--faint);font-size:12.5px}

/* flash al cambiar número */
@keyframes numflash{0%,49%{background:transparent}50%,99%{background:var(--accent);color:#fff}100%{background:transparent}}
.numflash{animation:numflash .5s linear 6;border-radius:5px;padding:0 3px}

/* ===== Filtros de listado ===== */
.filt{position:sticky;top:var(--hh,104px);z-index:15;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;
  padding:11px 0;margin-bottom:4px;background:var(--bg)}
.filt::-webkit-scrollbar{display:none}
.filt__b{flex:none;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  background:var(--panel);color:var(--muted);font-weight:800;font-size:12.5px;padding:8px 13px;border-radius:999px;cursor:pointer;transition:.14s}
.filt__b i{font-size:9px}
.filt__b:hover{color:var(--ink)}
.filt__n{font-weight:800;font-size:11px;color:var(--faint);background:var(--track);padding:1px 7px;border-radius:999px}
.filt__b.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.filt__b.is-on .filt__n{background:rgba(255,255,255,.22);color:inherit}
.filt__b--live i{color:var(--live)}
.filt__b--live.is-on{background:var(--live);border-color:var(--live);color:#fff}
.filt__b--live.is-on i{color:#fff}
.filt__fav i{color:#e8a200}
.filt__fav.is-on{background:#e8a200;border-color:#e8a200;color:#fff}
.filt__fav.is-on i{color:#fff}
.filt__lg{flex:none;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink);font-weight:800;font-size:12.5px;padding:8px 13px;border-radius:999px;cursor:pointer;transition:.14s;max-width:46vw}
.filt__lg i{font-size:13px;color:var(--accent)}
.filt__lg span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filt__lg:hover{border-color:var(--accent)}
.filt__lg.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.filt__sep{flex:none;width:1px;height:20px;background:var(--line);margin:0 1px}

/* panel de competiciones */
.sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;
  background:rgba(15,12,6,.5);backdrop-filter:blur(2px)}
.sheet[hidden]{display:none}
.sheet__panel{width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;
  box-shadow:0 -20px 50px -20px rgba(0,0,0,.5);animation:sheetUp .22s ease}
@keyframes sheetUp{from{transform:translateY(14px);opacity:.4}to{transform:translateY(0);opacity:1}}
.sheet__head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;font-size:16px;border-bottom:1px solid var(--hair)}
.sheet__search{display:flex;align-items:center;gap:9px;margin:10px 14px 4px;padding:0 6px 0 12px;
  background:var(--bg2);border:1px solid var(--line);border-radius:11px;color:var(--faint)}
.sheet__search input{flex:1;background:transparent;border:0;outline:0;color:var(--ink);font:inherit;font-weight:600;padding:11px 0}
.sheet__list{overflow-y:auto;padding:8px 8px calc(14px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.sheet__list{flex:1}
.lg{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:0;background:none;cursor:pointer;
  padding:10px;border-radius:11px;color:var(--ink);font-weight:700;font-size:14px}
.lg:hover{background:var(--panel2)}
.lg__t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg__dot{width:7px;height:7px;border-radius:50%;background:var(--live);flex:none;animation:blink 1.1s steps(1) infinite}
.lg__n{flex:none;font-size:11.5px;font-weight:800;color:var(--faint);background:var(--track);padding:2px 9px;border-radius:999px;font-family:var(--font-mono)}
.lg.is-on{background:var(--accent-soft);color:var(--accent)}
.lg.is-on .lg__n{background:var(--accent);color:#fff}
.lg__star{flex:none;border:0;background:none;cursor:pointer;color:var(--faint);font-size:14px;padding:4px 2px;margin-left:2px;opacity:.5;transition:.12s}
.lg__star:hover{opacity:1;color:#e8a200}
.lg__star.is-on{opacity:1;color:#e8a200}
/* checkbox custom */
.lg__cb{position:absolute;opacity:0;width:0;height:0}
.lg__box{flex:none;width:20px;height:20px;border:2px solid var(--line);border-radius:6px;display:grid;place-items:center;color:transparent;font-size:10px;transition:.12s}
.lg.is-on .lg__box{background:var(--accent);border-color:var(--accent);color:#fff}
.lg--all .spico{font-size:17px;width:22px;text-align:center;flex:none;color:var(--accent)}
/* sección por deporte */
.lgsec{margin-top:4px}
.lgsec__h{display:flex;align-items:center;gap:8px;padding:10px 10px 5px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}
.lgsec__ico{font-size:16px}
.lgsec__n{margin-left:auto;font-style:normal;font-weight:700;color:var(--faint)}
/* pie del panel */
.sheet__foot{display:flex;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel)}
.sheet__clear{flex:none;padding:11px 16px;border:1px solid var(--line);background:var(--panel2);border-radius:11px;font-weight:800;color:var(--muted);cursor:pointer}
.sheet__clear:hover{color:var(--ink)}
.sheet__apply{flex:1;padding:11px 16px;border:0;background:var(--accent);color:#fff;border-radius:11px;font-weight:900;cursor:pointer}
.sheet__apply:hover{filter:brightness(1.05)}

/* cuotas 1X2 en la fila del listado (sólo lectura) */
.g__odds{flex:none;display:flex;gap:5px;margin-left:2px}
.g__odd{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:30px;padding:4px 5px;
  border:1px solid var(--line);border-radius:8px;background:var(--bg2);line-height:1}
.g__odd i{font-style:normal;font-size:9px;font-weight:800;color:var(--faint)}
.g__odd b{font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--ink)}
.g--live .g__odd b{color:var(--accent)}

/* ===== Streaming ("En directo") ===== */
.vm__tab--live{color:var(--green)}
.vm__tab--live.is-on{color:var(--green);border-bottom-color:var(--green)}
.strm__lead{font-size:13px;color:var(--muted);font-weight:600;line-height:1.5;margin-bottom:12px}
.strm__lead i{color:var(--green);margin-right:4px}
.strm__list{display:flex;flex-direction:column;gap:9px}
.strm__b{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2);
  border:1px solid var(--line);border-radius:11px;padding:10px 14px;transition:.14s}
.strm__b:hover{border-color:var(--green)}
.strm__logo{height:26px;max-width:110px;object-fit:contain;background:#fff;border-radius:5px;padding:3px 6px}
.strm__cta{display:inline-flex;align-items:center;gap:7px;font-weight:900;font-size:13.5px;color:var(--green)}

/* ===== Escritorio ===== */
@media (min-width:720px){
  body{padding-bottom:0}
  .bnav{display:none}
  .wrap{padding:0 18px}
  .topbar{height:60px}
  .main{padding:24px 0 60px}
  .tab{min-width:64px}
  .sb__crest{width:66px;height:66px}.sb__score b{font-size:48px}
  .odds__logo{height:28px;max-width:120px}
  .odds__cols i,.odd{width:62px}
  .g__odd{min-width:34px}
  .filt__lg{max-width:240px}
  .sheet{align-items:center}
  .sheet__panel{max-width:460px;max-height:76vh;border-radius:16px;border-bottom:1px solid var(--line)}
  .foot__cols{grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px}
  .foot__brand{grid-column:auto}
  .contact{grid-template-columns:1fr 1fr}
}
@media (max-width:380px){
  .sb__crest{width:50px;height:50px}.sb__score b{font-size:36px}
  .odds__cols i,.odd{width:46px;font-size:14px}
  .tab{min-width:54px;padding:9px 9px 8px}
  .g{gap:8px;padding:9px 11px}
  .g__st{width:42px;font-size:11px}
  .g__odd{min-width:26px;padding:3px 4px}
  .g__odd b{font-size:11.5px}
}
