/*
Theme Name: Apuestas Hoy
Template: generatepress
Description: Child theme — MX sports-betting review site (apuestashoy.mx). GeneratePress child. Skin: graphite + Mexican red + green, sans, prefix ah-.
Version: 0.34.0
Text Domain: apuestashoy
*/

/* ============ tokens ============ */
:root{
  --ah-ink:#14161d;--ah-slate:#20232e;--ah-slate2:#171a22;
  --ah-primary:#ce1126;--ah-primary-dk:#a50e1e;--ah-accent:#0a7a45;
  --ah-mist:#eef1f5;--ah-soft:#f6f7f9;--ah-line:#e3e6ec;--ah-muted:#6b7280;
  --ah-white:#fff;--ah-width:1180px;
  --ah-sans:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ah-white);color:var(--ah-ink);font-family:var(--ah-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* prevent grid/flex blowout: items may shrink below content min-size */
.ah-hero__grid>*,.ah-hot__grid>*,.ah-trust__grid>*,.ah-rank__row>*,.ah-game>*,.ah-fixture__teams>*,.ah-fight__vs>*,.ah-momios>*,.ah-board,.ah-fixture{min-width:0}
.ah-fixture__teams strong,.ah-game__t strong,.ah-fight__vs b{overflow-wrap:break-word}
a{color:inherit}
img{max-width:100%;height:auto}

/* GP wrapper overrides */
.grid-container{max-width:var(--ah-width)}
.site-content{display:block;padding:0}
.content-area{width:100%}
.site-main,.entry-content{margin:0}
.site-footer{display:none}
.ah-shell{width:min(calc(100% - 40px),var(--ah-width));margin-inline:auto}

/* ============ header (GP hooks) ============ */
.site-header{background:var(--ah-white);border-bottom:1px solid var(--ah-line)}
.inside-header{min-height:72px;padding:10px 20px;align-items:center}
.site-title{font-size:26px;font-weight:900;letter-spacing:-.04em}
.site-title a{color:var(--ah-ink);text-decoration:none}
.site-title a b{color:var(--ah-primary)}
.site-title a:after{content:"MX";margin-left:9px;padding:3px 6px;border-radius:4px;background:var(--ah-accent);color:#04211d;font:900 9px/1 var(--ah-sans);letter-spacing:.08em;vertical-align:5px}
.main-navigation{background:transparent}
.main-navigation .main-nav ul li a{padding:0 13px;color:var(--ah-ink);font-size:14px;font-weight:700}
.main-navigation .main-nav ul li.current-menu-item a{background:transparent;color:var(--ah-primary)}
@media (hover: hover) and (pointer: fine){.main-navigation .main-nav ul li a:hover{background:transparent;color:var(--ah-primary)}}
.main-navigation .main-nav ul li a>.gp-icon{display:none}

/* header/menu layout (shared by header.php across all templates) */
.inside-header{display:flex;justify-content:space-between;align-items:center}
.main-navigation{display:flex;align-items:stretch}
.main-navigation .main-nav>ul{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.main-navigation .main-nav ul li a{display:flex;align-items:center;height:100%;text-decoration:none}
@media(max-width:920px){.main-navigation{display:none}}

/* dark sports quicklinks strip — signature */
.ah-topnav{background:var(--ah-slate);color:#fff}
.ah-topnav .ah-shell{display:flex;overflow-x:auto;scrollbar-width:none}
.ah-topnav .ah-shell::-webkit-scrollbar{display:none}
.ah-topnav a{min-width:max-content;padding:13px 17px;border-right:1px solid #ffffff17;color:#dfe3ec;font-size:12px;font-weight:800;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.ah-topnav a:first-child{border-left:1px solid #ffffff17}
@media (hover: hover) and (pointer: fine){.ah-topnav a:hover{background:var(--ah-primary);color:#fff}}
.ah-topnav a.is-hot{color:#ffd0dc}
.ah-topnav a.is-hot:before{content:"●";margin-right:6px;color:var(--ah-primary)}

/* ============ atoms ============ */
.ah-kicker{display:inline-block;color:var(--ah-primary);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ah-kicker--teal{color:var(--ah-accent)}
.ah-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid var(--ah-primary);border-radius:6px;background:var(--ah-primary);color:#fff;font-size:14px;font-weight:800;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-btn:hover{background:var(--ah-primary-dk);border-color:var(--ah-primary-dk)}}
.ah-btn--ghost{background:transparent;color:var(--ah-ink);border-color:var(--ah-line)}
@media (hover: hover) and (pointer: fine){.ah-btn--ghost:hover{background:var(--ah-ink);border-color:var(--ah-ink);color:#fff}}
.ah-btn--light{background:#fff;color:var(--ah-ink);border-color:#fff}
@media (hover: hover) and (pointer: fine){.ah-btn--light:hover{background:var(--ah-accent);border-color:var(--ah-accent);color:#04211d}}
.ah-link{color:var(--ah-primary);font-size:13px;font-weight:800;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-link:hover{text-decoration:underline}}
.ah-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}

/* ============ section frame ============ */
.ah-section{padding:70px 0}
.ah-section--mist{background:var(--ah-mist)}
.ah-section--soft{background:var(--ah-soft)}
.ah-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
.ah-head h2{margin:8px 0 0;font-size:clamp(30px,4.2vw,46px);line-height:1.02;letter-spacing:-.04em}
.ah-head p{max-width:400px;margin:0;color:var(--ah-muted);font-size:14px}
.ah-head>a{color:var(--ah-primary);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}

/* ============ hero ============ */
.ah-hero{padding:64px 0;background:linear-gradient(115deg,#fff 0,#fff 56%,var(--ah-mist) 56%)}
.ah-hero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:center}
.ah-hero h1{max-width:640px;margin:12px 0 18px;font-size:clamp(40px,5.4vw,66px);line-height:.98;letter-spacing:-.045em}
.ah-hero h1 em{position:relative;font-style:normal;white-space:nowrap}
.ah-hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:9px;background:var(--ah-accent);opacity:.85;z-index:-1}
.ah-hero__copy>p{max-width:560px;margin:0;color:#4b5563;font-size:18px}

/* featured fixture card (partido de hoy con momios) */
.ah-fixture{padding:22px;border:1px solid var(--ah-line);border-top:5px solid var(--ah-primary);border-radius:8px;background:#fff;box-shadow:0 18px 50px rgba(20,22,29,.12)}
.ah-fixture__label{display:flex;justify-content:space-between;gap:12px;color:var(--ah-muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.ah-live{color:var(--ah-primary)}
.ah-fixture__comp{margin:20px 0 8px;text-align:center;color:var(--ah-accent);font-size:12px;font-weight:800;letter-spacing:.03em}
.ah-fixture__teams{display:grid;grid-template-columns:1fr 58px 1fr;gap:10px;align-items:center;padding:14px 0;text-align:center}
.ah-fixture__teams strong{font-size:18px;line-height:1.15}
.ah-fixture__teams span{color:var(--ah-muted);font-size:11px;font-weight:800}
.ah-momios{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 6px}
.ah-momios span{padding:10px 6px;border:1px solid var(--ah-line);border-radius:6px;text-align:center;cursor:pointer}
.ah-momios small,.ah-momios b{display:block}
.ah-momios small{color:var(--ah-muted);font-size:9px;letter-spacing:.06em}
.ah-momios b{margin-top:3px;color:var(--ah-ink);font-size:17px}
@media (hover: hover) and (pointer: fine){.ah-momios span:hover{border-color:var(--ah-primary);color:var(--ah-primary)}}
.ah-fixture__foot{display:flex;justify-content:space-between;margin-top:14px;padding-top:13px;border-top:1px solid var(--ah-line);color:var(--ah-primary);font-size:12px;font-weight:800;text-decoration:none}

/* ============ ranking casas (top-5) ============ */
.ah-rank{display:grid;gap:10px}
.ah-rank__row{display:grid;grid-template-columns:44px 108px 1fr 92px 132px;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--ah-line);border-radius:8px;background:#fff}
.ah-rank__row--top{border-color:var(--ah-primary);box-shadow:0 8px 26px rgba(206,17,38,.14)}
.ah-rank__pos{font-size:24px;font-weight:900;text-align:center;color:var(--ah-muted)}
.ah-rank__row--top .ah-rank__pos{color:var(--ah-primary)}
.ah-brand{display:flex;align-items:center;justify-content:center;min-height:56px;padding:8px;border-radius:6px;color:#fff;font-size:14px;font-weight:900;letter-spacing:-.02em}
.ah-brand--1xbet{background:linear-gradient(135deg,#0f6fb8,#37a0dd)}
.ah-brand--caliente{background:#e4002b}
.ah-brand--codere{background:#3f9c35}
.ah-brand--betano{background:#ff5c00}
.ah-brand--bet365{background:#14805e;color:#ffe600}
.ah-brand--strendus{background:#7a2ea0}
.ah-brand--betsson{background:#232a34;color:#ff8b00}
.ah-brand--ph{border:1px dashed #b9c0cc;background:var(--ah-soft);color:#8a93a1;font-size:10px;font-weight:800}
/* affiliate table header row */
.ah-aff__head{display:grid;grid-template-columns:44px 108px 1fr 92px 132px;gap:18px;padding:4px 18px 0;color:var(--ah-muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.ah-aff__head span:first-child{grid-column:1/4}
.ah-aff__head span:nth-child(2),.ah-aff__head span:nth-child(3){text-align:center}
@media(max-width:560px){.ah-aff__head{display:none}}
.ah-rank__info strong{display:block;font-size:16px}
.ah-rank__info span{display:block;color:var(--ah-muted);font-size:12px}
.ah-rank__badges{margin-top:6px;display:flex;flex-wrap:wrap;gap:5px}
.ah-rank__badges b{padding:3px 6px;border-radius:4px;background:#e6f3ea;color:#0a6b3d;font-size:9px;font-weight:800;text-transform:uppercase}
.ah-rank__score{text-align:center}
.ah-rank__score b{display:block;color:var(--ah-primary);font-size:22px}
.ah-rank__score small{color:var(--ah-muted);font-size:8px;letter-spacing:.06em}

/* ============ board partidos de hoy ============ */
.ah-board{border:1px solid var(--ah-line);border-radius:8px;overflow:hidden;background:#fff}
.ah-board__head{display:flex;justify-content:space-between;padding:14px 18px;background:var(--ah-ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ah-game{display:grid;grid-template-columns:64px 1fr 84px;gap:16px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--ah-line);text-decoration:none}
.ah-game:last-child{border-bottom:0}
@media (hover: hover) and (pointer: fine){.ah-game:hover{background:var(--ah-soft)}}
.ah-game time{color:var(--ah-muted);font-size:10px;text-transform:uppercase}
.ah-game time b{display:block;color:var(--ah-ink);font-size:14px}
.ah-game__t strong{display:block;font-size:14px}
.ah-game__t small{display:block;margin-top:2px;color:var(--ah-muted);font-size:11px}
.ah-game__odds{display:flex;gap:5px;justify-content:flex-end}
.ah-game__odds i{padding:5px 7px;border:1px solid var(--ah-line);border-radius:5px;color:var(--ah-primary);font-style:normal;font-size:12px;font-weight:800}

/* ============ standings table (live) ============ */
.ah-standings{border:1px solid var(--ah-line);border-radius:8px;overflow:hidden;background:#fff}
.ah-standings__head,.ah-standings__row{display:grid;grid-template-columns:34px 1fr 44px 52px 46px;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--ah-line)}
.ah-standings__head{background:var(--ah-ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ah-standings__row:last-child{border-bottom:0}
@media (hover: hover) and (pointer: fine){.ah-standings__row:hover{background:var(--ah-soft)}}
.ah-standings__row>span:first-child{color:var(--ah-muted);font-weight:800;text-align:center}
.ah-standings__row>span:nth-child(2){font-weight:700;font-size:14px}
.ah-standings__row>span:nth-child(3),.ah-standings__row>span:nth-child(4){text-align:center;color:var(--ah-muted);font-size:13px}
.ah-standings__pts{text-align:center;font-weight:900;color:var(--ah-primary)}
@media(max-width:560px){.ah-standings__head,.ah-standings__row{grid-template-columns:28px 1fr 38px 42px}.ah-standings__head span:nth-child(4),.ah-standings__row span:nth-child(4){display:none}}

/* ============ visual: fighter faces + club logos ============ */
.ah-face{display:block;width:72px;height:72px;margin:0 auto 10px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #ffffff30;background:#1c1f27}
.ah-vs-big .ah-face{width:96px;height:96px}
.ah-logo--lg{display:block;width:44px;height:44px;margin:0 auto 8px;object-fit:contain}
.ah-game__logos{display:flex;flex-direction:column;gap:3px;align-items:center}
.ah-game__logos img{width:20px;height:20px;object-fit:contain}
.ah-game--logos{grid-template-columns:64px 30px 1fr 84px}
.ah-standings__team{display:flex;align-items:center;gap:8px;min-width:0}
.ah-standings__team img{width:18px;height:18px;object-fit:contain;flex:none}
.ah-mcard__h img{width:20px;height:20px;object-fit:contain;vertical-align:-4px;margin:0 6px 0 0}
@media(max-width:560px){.ah-game--logos{grid-template-columns:52px 26px 1fr}.ah-face{width:58px;height:58px}.ah-vs-big .ah-face{width:72px;height:72px}}

/* ============ hot event band (Canelo) ============ */
.ah-hot{background:var(--ah-slate2);color:#fff}
.ah-hot__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.ah-hot h2{margin:10px 0 14px;color:#fff;font-size:clamp(32px,4.6vw,50px);line-height:1;letter-spacing:-.04em}
.ah-hot p{max-width:440px;color:#b9c0cf;font-size:16px}
.ah-fight{border:1px solid #ffffff1f;border-radius:10px;background:#0f1117}
.ah-fight__label{display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #ffffff17;color:#9aa2b4;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.ah-fight__vs{display:grid;grid-template-columns:1fr 56px 1fr;align-items:center;padding:30px 22px;text-align:center}
.ah-fight__vs small{display:block;color:var(--ah-accent);font-size:9px;font-weight:900;text-transform:uppercase}
.ah-fight__vs b{display:block;margin:8px 0 3px;font-size:23px;line-height:1}
.ah-fight__vs span{display:block;color:#9aa2b4;font-size:10px}
.ah-fight__vs em{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 auto;border-radius:50%;background:var(--ah-primary);color:#fff;font-size:12px;font-weight:900;font-style:normal}
.ah-fight__foot{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid #ffffff17;color:#9aa2b4;font-size:10px}
.ah-fight__foot a{color:#fff;font-weight:800;text-decoration:none}

/* ============ bonos strip ============ */
.ah-bonos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ah-bono{padding:22px;border:1px solid var(--ah-line);border-left:4px solid var(--ah-primary);border-radius:6px;background:#fff}
.ah-bono span{color:var(--ah-accent);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.ah-bono strong{display:block;margin:10px 0 6px;font-size:22px;letter-spacing:-.02em}
.ah-bono p{margin:0 0 16px;color:var(--ah-muted);font-size:13px}
.ah-bono small{display:block;margin-top:12px;color:var(--ah-muted);font-size:10px}

/* ============ hubs directory ============ */
.ah-hubs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ah-hub{min-height:150px;padding:22px;border:1px solid var(--ah-line);border-top:4px solid var(--ah-accent);border-radius:6px;background:#fff;text-decoration:none;display:flex;flex-direction:column}
@media (hover: hover) and (pointer: fine){.ah-hub:hover{border-top-color:var(--ah-primary);box-shadow:0 10px 26px rgba(20,22,29,.08)}}
.ah-hub small{color:var(--ah-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ah-hub b{margin:auto 0 6px;font-size:19px;letter-spacing:-.02em}
.ah-hub i{color:var(--ah-primary);font-style:normal;font-size:12px;font-weight:800}

/* ============ trust / responsible ============ */
.ah-trust__grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px;align-items:start}
.ah-trust__grid h3{margin:0 0 8px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.ah-trust__grid p{margin:0;color:var(--ah-muted);font-size:13px}
.ah-18{display:inline-block;margin-right:8px;padding:4px 6px;border:1px solid var(--ah-muted);border-radius:4px;font-size:11px;font-weight:900}

/* ============ footer ============ */
.ah-footer{padding:54px 0 22px;border-top:4px solid var(--ah-primary);background:var(--ah-ink);color:#aeb5c2;font-size:13px}
.ah-footer__top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}
.ah-footer__top strong{display:block;color:#fff;font-size:24px;letter-spacing:-.03em}
.ah-footer__top p{max-width:260px;font-size:12px}
.ah-footer__top b{display:block;margin-bottom:12px;color:var(--ah-accent);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.ah-footer__top a{display:block;padding:5px 0;color:#d3d8e1;font-size:12px;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-footer__top a:hover{color:#fff}}
.ah-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:16px;border-top:1px solid #ffffff1c;font-size:11px}

/* ============ inner-page basics ============ */
.ah-page-hero{padding:46px 0 34px;border-bottom:1px solid var(--ah-line);background:var(--ah-mist)}
.ah-page-hero h1{max-width:820px;margin:0;font-size:clamp(34px,4.6vw,54px);line-height:1.02;letter-spacing:-.04em}
.ah-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:60px;padding:50px 0 74px}
.ah-page-content{max-width:760px}
.ah-page-content h2{margin:38px 0 14px;font-size:28px;letter-spacing:-.02em}
.ah-page-content p{color:#333b47}
.ah-sidebar{align-self:start;padding:20px;border-top:4px solid var(--ah-accent);border-radius:6px;background:var(--ah-soft)}
.ah-sidebar a{display:block;padding:9px 0;border-bottom:1px solid var(--ah-line);font-size:13px;font-weight:700;text-decoration:none}
.ah-sidebar a:last-child{border-bottom:0}
@media (hover: hover) and (pointer: fine){.ah-sidebar a:hover{color:var(--ah-primary)}}
.ah-sidebar>b{display:block;margin-bottom:10px;color:var(--ah-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}

/* ============ event page (Canelo-type) ============ */
.ah-event-hero{padding:56px 0 46px;background:var(--ah-slate2);color:#fff}
.ah-event-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.ah-event-hero h1{margin:10px 0 14px;font-size:clamp(36px,5vw,60px);line-height:.98;letter-spacing:-.045em}
.ah-event-hero p{max-width:520px;margin:0;color:#b9c0cf;font-size:17px}
.ah-event-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ah-event-meta span{padding:8px 12px;border:1px solid #ffffff22;border-radius:6px;font-size:12px;font-weight:700}
.ah-event-meta b{color:var(--ah-accent)}
.ah-vs-big{border:1px solid #ffffff1f;border-radius:10px;background:#0f1117;overflow:hidden}
.ah-vs-big__row{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;padding:32px 20px;text-align:center}
.ah-vs-big small{display:block;color:var(--ah-accent);font-size:9px;font-weight:900;text-transform:uppercase}
.ah-vs-big b{display:block;margin:9px 0 3px;font-size:26px;line-height:1}
.ah-vs-big span{display:block;color:#9aa2b4;font-size:11px}
.ah-vs-big em{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto;border-radius:50%;background:var(--ah-primary);color:#fff;font-size:13px;font-weight:900;font-style:normal}
.ah-vs-big__odds{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff17}
.ah-vs-big__odds div{padding:16px;text-align:center}
.ah-vs-big__odds div:first-child{border-right:1px solid #ffffff17}
.ah-vs-big__odds small{color:#9aa2b4;font-size:10px}
.ah-vs-big__odds b{display:block;margin-top:4px;color:#fff;font-size:24px}

/* odds comparison table */
.ah-odds{border:1px solid var(--ah-line);border-radius:8px;overflow:hidden;background:#fff}
.ah-odds__head,.ah-odds__row{display:grid;grid-template-columns:1.4fr 1fr 1fr 120px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--ah-line)}
.ah-odds__head{background:var(--ah-ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ah-odds__row:last-child{border-bottom:0}
@media (hover: hover) and (pointer: fine){.ah-odds__row:hover{background:var(--ah-soft)}}
.ah-odds__row--top{border-left:4px solid var(--ah-primary)}
.ah-odds__book{display:flex;align-items:center;gap:12px;font-weight:800}
.ah-odds__book .ah-brand{min-height:40px;width:82px;font-size:12px}
.ah-odds__val b{color:var(--ah-ink);font-size:18px}
.ah-odds__val small{display:block;color:var(--ah-muted);font-size:9px;text-transform:uppercase}

/* momios comparison (Sportmonks 1X2) */
.ah-mcard{border:1px solid var(--ah-line);border-radius:8px;overflow:hidden;background:#fff;margin-bottom:16px}
.ah-mcard__h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:var(--ah-ink);color:#fff}
.ah-mcard__h strong{font-size:14px}
.ah-mcard__h span{color:#aeb5c2;font-size:11px;font-weight:700}
.ah-mtable__head,.ah-mtable__row{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr 132px;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--ah-line)}
.ah-btn--sm{min-height:34px;padding:7px 10px;font-size:11px}
@media(max-width:700px){.ah-mtable__head,.ah-mtable__row{grid-template-columns:1.2fr .8fr .8fr .8fr}.ah-mtable__row .ah-btn,.ah-mtable__head span:nth-child(5){display:none}}
.ah-mtable__head{background:var(--ah-soft);color:var(--ah-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-align:center}
.ah-mtable__head span:first-child{text-align:left}
.ah-mtable__row:last-child{border-bottom:0}
.ah-mtable__row>span{font-weight:800;font-size:13px}
.ah-mtable__row--top{background:#fff5f6}
.ah-mtable__row>b{text-align:center;font-size:15px;font-weight:800;color:var(--ah-ink)}
.ah-mtable__row>b.is-best{color:var(--ah-accent);position:relative}
.ah-mtable__row>b.is-best:after{content:"▲";display:block;font-size:7px;color:var(--ah-accent);line-height:1}
.ah-sep{margin:0;color:var(--ah-muted);font-size:12px;padding:8px 0}

/* two-line match row (ТЗ 4.2) + botón */
.ah-game--2l{grid-template-columns:64px 1fr 118px 96px;gap:14px}
.ah-game--2l time small{display:block;color:var(--ah-muted);font-size:9px;letter-spacing:.05em}
.ah-game--2l time b{font-size:15px}
.ah-game__home,.ah-game__away{display:flex;align-items:center;gap:8px;min-width:0}
.ah-game__home{font-size:14.5px;font-weight:800}
.ah-game__away{margin-top:3px;color:#3d4553;font-size:12.5px;font-weight:600}
.ah-game__home img,.ah-game__away img{width:18px;height:18px;object-fit:contain;flex:none}
.ah-game--2l .ah-game__t small{display:block;margin-top:4px;color:var(--ah-muted);font-size:10px}
.ah-game--2l .ah-game__odds{display:flex;gap:5px;justify-content:flex-end}
/* ТЗ «сквозные» 1.1: el botón rojo recibe sus propios clics — nada de
   pointer-events:none. Su z-index sobre el overlay vive junto a .ah-mlink. */
.ah-initial{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#d6dae1;color:#5b6472;font:800 8px/1 var(--ah-sans);font-style:normal;flex:none}
.ah-logo--xl{display:block;width:64px;height:64px;margin:0 auto 10px;object-fit:contain}
i.ah-logo--xl{width:64px;height:64px;font-size:18px;margin:0 auto 10px;display:flex}
.ah-fixture__venue{margin-top:12px;padding-top:12px;border-top:1px solid var(--ah-line);color:var(--ah-muted);font-size:12px;text-align:center}
/* las reglas móviles de esta tabla viven junto a la rejilla única (Правки №9 §3) */

/* keydates plate (плашка ключевых дат) */
.ah-keydates{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.ah-keydates span{padding:12px 16px;border:1px solid var(--ah-line);border-top:3px solid var(--ah-accent);border-radius:6px;background:#fff;font-size:13px;font-weight:700}
.ah-keydates b{display:block;color:var(--ah-muted);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px}

/* jornadas lente (ТЗ 4.3) */
.ah-jr__nav{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px}
.ah-jr__tab{padding:8px 13px;border:1px solid var(--ah-line);border-radius:6px;background:#fff;color:var(--ah-ink);font:800 12px var(--ah-sans);cursor:pointer}
.ah-jr__tab.is-past{background:var(--ah-soft);color:#9aa2af;border-color:var(--ah-line)}
.ah-jr__tab.is-now,.ah-jr__tab.is-open{background:var(--ah-primary);border-color:var(--ah-primary);color:#fff}
.ah-jr__pause{flex-basis:100%;padding:7px 12px;border-left:4px solid var(--ah-accent);border-radius:4px;background:#e6f3ea;color:#0a6b3d;font-size:11px;font-weight:800}
.ah-jr__panel{margin-bottom:14px}

/* forma dots + match data */
.ah-form{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font:900 10px var(--ah-sans)}
.ah-form--w{background:var(--ah-accent)}
.ah-form--d{background:#9aa2af}
.ah-form--l{background:var(--ah-primary)}
.ah-formrow{display:flex;gap:6px;margin:10px 0 12px}
.ah-mdata{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ah-mdata__col{padding:20px;border:1px solid var(--ah-line);border-radius:8px;background:#fff}
.ah-mdata__col h3{display:flex;align-items:center;gap:9px;margin:0;font-size:16px}
.ah-mdata__col h3 img{width:22px;height:22px;object-fit:contain}
.ah-mdata__list small{display:block;padding:6px 0;border-bottom:1px solid var(--ah-line);color:#3d4553;font-size:12px}
.ah-mdata__list small:last-child{border-bottom:0}
@media(max-width:700px){.ah-mdata{grid-template-columns:1fr}}

/* tournament cards (futbol hub) */
.ah-tour{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ah-tour a{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--ah-line);border-radius:8px;background:#fff;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-tour a:hover{border-color:var(--ah-primary)}}
.ah-tour img{width:38px;height:38px;object-fit:contain;flex:none}
.ah-tour b{display:block;font-size:15px}
.ah-tour small{display:block;color:var(--ah-muted);font-size:11px;margin-top:2px}
.ah-status{margin-left:auto;padding:4px 8px;border-radius:4px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;flex:none}
.ah-status--live{background:#e6f3ea;color:#0a6b3d}
.ah-status--soon{background:#fdeaea;color:var(--ah-primary)}
@media(max-width:700px){.ah-tour{grid-template-columns:1fr}}

/* sports strip (главная, под первым экраном) */
.ah-sports{border-block:1px solid var(--ah-line);background:#fff}
.ah-sports .ah-shell{display:grid;grid-template-columns:repeat(4,1fr)}
.ah-sports a{padding:16px 10px;border-right:1px solid var(--ah-line);font-size:13px;font-weight:800;text-align:center;text-decoration:none}
.ah-sports a:first-child{border-left:1px solid var(--ah-line)}
@media (hover: hover) and (pointer: fine){.ah-sports a:hover{background:var(--ah-ink);color:#fff}}
.ah-sports a small{display:block;margin-top:2px;color:var(--ah-muted);font-size:10px;font-weight:600}
@media (hover: hover) and (pointer: fine){.ah-sports a:hover small{color:#aeb5c2}}
@media(max-width:700px){.ah-sports .ah-shell{grid-template-columns:1fr 1fr}}

/* dark sidebar Seguir explorando */
.ah-sidebar--dark{background:var(--ah-slate2);border-top-color:var(--ah-primary);color:#fff}
.ah-sidebar--dark>b{color:#9aa2b4}
.ah-sidebar--dark a{border-bottom-color:#ffffff1a;color:#dfe3ec}
@media (hover: hover) and (pointer: fine){.ah-sidebar--dark a:hover{color:#fff}}

/* CTA banner 1xBet (páginas deportivas) */
.ah-ctabar{display:flex;align-items:center;gap:26px;margin:34px 0 0;padding:24px 28px;border-radius:10px;background:var(--ah-slate2);color:#fff}
.ah-ctabar__brand{display:flex;align-items:center;gap:12px;flex:none}
.ah-ctabar__brand .ah-brand{min-height:44px;width:84px;font-size:13px}
.ah-ctabar__brand b{font-size:15px;white-space:nowrap}
.ah-ctabar p{flex:1;margin:0;color:#c6ccda;font-size:15px;font-weight:600}
.ah-ctabar .ah-btn{flex:none}
.ah-ctabar__legal{margin:8px 0 0;color:var(--ah-muted);font-size:11px}
@media(max-width:700px){.ah-ctabar{flex-direction:column;align-items:flex-start;gap:14px}.ah-ctabar .ah-btn{width:100%}}

/* header dropdowns */
.main-navigation .main-nav ul li{position:relative}
.main-navigation .main-nav ul li ul{display:none;position:absolute;top:100%;left:0;z-index:60;min-width:210px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid var(--ah-line);border-radius:0 0 8px 8px;box-shadow:0 14px 34px rgba(20,22,29,.12)}
@media (hover: hover) and (pointer: fine){.main-navigation .main-nav ul li:hover>ul{display:block}}
.main-navigation .main-nav ul li ul li a{display:block;height:auto;padding:9px 16px;font-size:13px;font-weight:700}
@media (hover: hover) and (pointer: fine){.main-navigation .main-nav ul li ul li a:hover{background:var(--ah-soft);color:var(--ah-primary)}}

/* calendar table (Champions etc.) */
.ah-tablewrap{overflow-x:auto;border:1px solid var(--ah-line);border-radius:8px}
.ah-caltable{width:100%;min-width:480px;border-collapse:collapse;background:#fff;font-size:14px}
.ah-caltable th{padding:12px 16px;background:var(--ah-ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:left}
.ah-caltable td{padding:11px 16px;border-bottom:1px solid var(--ah-line)}
.ah-caltable tr:last-child td{border-bottom:0}
.ah-caltable tr.is-key td{background:#fff5f6;font-weight:800}

/* prose (article body) */
.ah-prose{max-width:760px}
.ah-prose h2{margin:38px 0 14px;font-size:28px;letter-spacing:-.02em}
.ah-prose h3{margin:26px 0 10px;font-size:19px}
.ah-prose p{margin:0 0 16px;color:#333b47}
.ah-prose ul{margin:0 0 18px;padding-left:20px;color:#333b47}
.ah-prose li{margin:6px 0}
.ah-prose a{color:var(--ah-primary);font-weight:700}

/* faq */
.ah-faq{border-top:1px solid var(--ah-line)}
.ah-faq details{border-bottom:1px solid var(--ah-line)}
.ah-faq summary{padding:18px 0;font-size:16px;font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ah-faq summary::-webkit-details-marker{display:none}
.ah-faq summary:after{content:"+";color:var(--ah-primary);font-weight:900}
.ah-faq details[open] summary:after{content:"–"}
.ah-faq details>div{padding:0 0 18px;color:#333b47}

/* cta band */
.ah-cta{padding:34px;border-radius:10px;border-left:5px solid var(--ah-primary);background:var(--ah-mist);display:flex;justify-content:space-between;align-items:center;gap:24px}
.ah-cta b{display:block;font-size:22px;letter-spacing:-.02em}
.ah-cta p{margin:6px 0 0;color:var(--ah-muted);font-size:14px}
@media(max-width:920px){
  .ah-event-hero__grid{grid-template-columns:1fr;gap:34px}
  .ah-odds__head{display:none}
  .ah-odds__row{grid-template-columns:1fr 1fr;gap:10px}
  .ah-odds__book{grid-column:1/-1}
  .ah-cta{flex-direction:column;align-items:flex-start}
}

/* ============ responsive ============ */
@media(max-width:920px){
  .ah-hero{background:#fff}
  .ah-hero__grid,.ah-hot__grid,.ah-trust__grid,.ah-page-layout{grid-template-columns:1fr}
  .ah-hero__grid,.ah-hot__grid{gap:38px}
  .ah-hubs{grid-template-columns:1fr 1fr}
  .ah-bonos{grid-template-columns:1fr 1fr}
  .ah-trust__grid{gap:26px}
  .ah-footer__top{grid-template-columns:1fr 1fr}
  .ah-footer__top>div:first-child{grid-column:1/-1}
}
/* ============================================================
   ТЗ №3 — solo 1xBet: momios en todas las filas, cabecera 1/X/2,
   tarjetas de partido, tabla ampliada, equipos, goleadores.
   ============================================================ */

/* nota gris de estado (sin momios / sin datos todavía) */
/* aviso "aún sin momios": fondo blanco para que no se funda con las secciones
   grises (.ah-section--mist / --soft) que vienen justo debajo */
.ah-note{margin:0;padding:15px 18px;border:1px solid var(--ah-line);border-left:3px solid var(--ah-accent);border-radius:8px;background:#fff;color:#3d4553;font-size:13.5px;line-height:1.6}
.ah-note strong{color:var(--ah-ink)}
.ah-section--mist .ah-note,.ah-section--soft .ah-note{box-shadow:0 1px 3px rgba(20,22,29,.06)}

/* fila de nombres de columna sobre el board */
.ah-board__cols{display:grid;grid-template-columns:64px 1fr 118px 96px;gap:14px;align-items:center;padding:8px 18px;border-bottom:1px solid var(--ah-line);background:var(--ah-soft);color:var(--ah-muted);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ah-board__odds{display:flex;gap:5px;justify-content:flex-end}
.ah-board__odds i{width:36px;font-style:normal;text-align:center}
@media(max-width:700px){.ah-board__cols{grid-template-columns:52px 1fr 108px}.ah-board__cols span:last-child{display:none}}
@media(max-width:560px){.ah-board__cols{display:none}}

/* cajas de momio 1 · X · 2 dentro de la fila de partido */
.ah-game__odds i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:36px;padding:4px 6px;border:1px solid var(--ah-line);border-radius:5px;color:var(--ah-ink);font-style:normal;font-size:12.5px;font-weight:800;line-height:1.1}
.ah-game__odds i em{color:var(--ah-muted);font-style:normal;font-size:8px;font-weight:900;letter-spacing:.08em}
.ah-game__odds i.is-pick{border-color:var(--ah-accent);background:#e9f5ee;color:#08603a}
.ah-game__odds i.is-pick em{color:#0a7a45}
.ah-game__odds i.is-empty{color:var(--ah-muted);border-style:dashed}
.ah-game__odds i.ah-score{min-width:auto;padding:5px 9px;color:var(--ah-primary);font-size:13px}
@media (hover: hover) and (pointer: fine){.ah-game:hover .ah-game__odds i{border-color:#d3d8e1}}

/* momios destacados (hero / ficha) — recomendado en verde */
.ah-momios span.is-pick{border-color:var(--ah-accent);background:#e9f5ee}
.ah-momios span.is-pick b{color:#08603a}

/* ---- tarjetas de partido con momios (bloque principal de liga) ---- */
.ah-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ah-mc{display:flex;flex-direction:column;padding:18px;border:1px solid var(--ah-line);border-top:3px solid var(--ah-accent);border-radius:10px;background:#fff}
@media (hover: hover) and (pointer: fine){.ah-mc:hover{box-shadow:0 10px 26px rgba(20,22,29,.08)}}
.ah-mc__when{color:var(--ah-muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.ah-mc__teams{display:grid;grid-template-columns:1fr 34px 1fr;gap:6px;align-items:center;margin:14px 0 16px;text-align:center}
.ah-mc__teams span{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.ah-mc__teams b{font-size:13.5px;line-height:1.2;overflow-wrap:break-word}
.ah-mc__teams em{color:var(--ah-muted);font-style:normal;font-size:11px;font-weight:900;text-transform:uppercase}
.ah-mc__logo{width:38px;height:38px;object-fit:contain}
i.ah-mc__logo{display:flex;width:38px;height:38px;font-size:13px}
.ah-mc__odds{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto}
.ah-mc__odds i{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;border:1px solid var(--ah-line);border-radius:6px;font-style:normal;font-size:16px;font-weight:800;line-height:1}
.ah-mc__odds i em{color:var(--ah-muted);font-style:normal;font-size:9px;font-weight:900;letter-spacing:.08em}
.ah-mc__odds i.is-pick{border-color:var(--ah-accent);background:#e9f5ee;color:#08603a}
.ah-mc__odds i.is-pick em{color:#0a7a45}
.ah-mc__odds i.is-empty{color:var(--ah-muted);border-style:dashed}
.ah-mc__cta{width:100%;margin-top:12px}
@media(max-width:920px){.ah-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ah-cards{grid-template-columns:1fr}}

/* ---- caja de momios 1xBet para una sola pelea/partido ---- */
.ah-obox{padding:18px;border:1px solid var(--ah-line);border-top:3px solid var(--ah-primary);border-radius:10px;background:#fff}
.ah-obox__h{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ah-obox__h .ah-brand{min-height:38px;width:78px;font-size:12px}
.ah-obox__h b{font-size:14px}
.ah-obox__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.ah-obox__grid span{padding:12px 8px;border:1px solid var(--ah-line);border-radius:7px;text-align:center}
.ah-obox__grid small{display:block;color:var(--ah-muted);font-size:10px;font-weight:800}
.ah-obox__grid b{display:block;margin-top:4px;font-size:20px}
.ah-obox__grid--2{grid-template-columns:1fr 1fr}
.ah-obox__grid span.is-pick{border-color:var(--ah-accent);background:#e9f5ee}
.ah-obox__grid span.is-pick b{color:#08603a}
.ah-obox__cta{width:100%;margin-top:14px}
@media(max-width:560px){.ah-obox__grid{grid-template-columns:1fr;gap:7px}.ah-obox__grid span{display:flex;justify-content:space-between;align-items:center;text-align:left}.ah-obox__grid b{margin:0}}

/* ---- tabla de posiciones ampliada + pestañas ---- */
.ah-tabs{display:flex;gap:7px;margin-bottom:12px}
.ah-tabs__b{padding:8px 15px;border:1px solid var(--ah-line);border-radius:6px;background:#fff;color:var(--ah-ink);font:800 12px var(--ah-sans);cursor:pointer}
.ah-tabs__b.is-on{background:var(--ah-ink);border-color:var(--ah-ink);color:#fff}
.ah-tabwrap{overflow-x:auto;border:1px solid var(--ah-line);border-radius:8px;background:#fff}
.ah-stand{width:100%;min-width:660px;border-collapse:collapse;font-size:14px}
.ah-stand th{padding:11px 8px;background:var(--ah-ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:center;white-space:nowrap}
.ah-stand th.ah-stand__team{text-align:left}
.ah-stand td{padding:10px 8px;border-bottom:1px solid var(--ah-line);text-align:center;color:#3d4553}
.ah-stand tr:last-child td{border-bottom:0}
@media (hover: hover) and (pointer: fine){.ah-stand tbody tr:hover td{background:var(--ah-soft)}}
.ah-stand__pos{width:36px;color:var(--ah-muted);font-weight:800}
.ah-stand__team{min-width:180px;text-align:left!important}
.ah-stand__team img{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:8px}
.ah-stand__team span{font-weight:700;color:var(--ah-ink)}
.ah-stand__pts{font-weight:900;color:var(--ah-primary)}
.ah-stand tr.is-liguilla td{background:#eef6f1}
.ah-stand tr.is-liguilla td:first-child{box-shadow:inset 3px 0 0 var(--ah-accent)}
@media (hover: hover) and (pointer: fine){.ah-stand tr.is-liguilla:hover td{background:#e6f1ea}}
.ah-dots{display:inline-flex;gap:4px;align-items:center}
.ah-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.ah-dot--w{background:var(--ah-accent)}
.ah-dot--d{background:#9aa2af}
.ah-dot--l{background:var(--ah-primary)}
.ah-dots--empty{color:var(--ah-muted)}
.ah-stand__legend{margin:10px 0 0;color:var(--ah-muted);font-size:12px}
@media(max-width:560px){.ah-stand{min-width:560px}.ah-stand__gf,.ah-stand__form{display:none}}

/* ---- rejilla de clubes ---- */
.ah-teams{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ah-team{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border:1px solid var(--ah-line);border-radius:8px;background:#fff;text-align:center}
@media (hover: hover) and (pointer: fine){.ah-team:hover{border-color:var(--ah-accent)}}
.ah-team__logo{width:42px;height:42px;object-fit:contain}
i.ah-team__logo{display:flex;width:42px;height:42px;font-size:14px}
.ah-team b{font-size:13.5px;line-height:1.2}
.ah-team small{color:var(--ah-muted);font-size:11px}
@media(max-width:560px){.ah-teams{grid-template-columns:repeat(2,1fr)}}

/* ---- goleadores / asistidores ---- */
.ah-ptable{width:100%;min-width:440px;border-collapse:collapse;font-size:14px}
.ah-ptable th{padding:11px 12px;background:var(--ah-ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:left}
.ah-ptable th:last-child{text-align:center}
.ah-ptable td{padding:10px 12px;border-bottom:1px solid var(--ah-line)}
.ah-ptable tr:last-child td{border-bottom:0}
@media (hover: hover) and (pointer: fine){.ah-ptable tbody tr:hover td{background:var(--ah-soft)}}
.ah-ptable__pos{width:38px;color:var(--ah-muted);font-weight:800;text-align:center}
.ah-ptable__p img{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:-9px;margin-right:9px;background:var(--ah-mist)}
.ah-ptable__p span{font-weight:700}
.ah-ptable__c img{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:7px}
.ah-ptable__c span{color:#3d4553;font-size:13px}
.ah-ptable__v{width:70px;text-align:center;font-weight:900;color:var(--ah-primary);font-size:16px}

/* ---- pestañas-ancla pegajosas ---- */
.ah-anchors{position:sticky;top:0;z-index:40;margin:0;border-bottom:1px solid var(--ah-line);background:#fff}
.ah-anchors .ah-shell{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.ah-anchors .ah-shell::-webkit-scrollbar{display:none}
.ah-anchors a{min-width:max-content;padding:13px 14px;border-bottom:3px solid transparent;color:#3d4553;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
@media (hover: hover) and (pointer: fine){.ah-anchors a:hover{color:var(--ah-primary)}}
.ah-anchors a.is-on{border-bottom-color:var(--ah-primary);color:var(--ah-primary)}
[id^="ah-s-"]{scroll-margin-top:70px}

/* ---- jornadas: separación y título de jornada ---- */
.ah-jr__nav{margin-bottom:22px}
.ah-jr__title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font-size:17px;letter-spacing:-.02em}
.ah-jr__title span{padding:3px 8px;border-radius:4px;background:#e6f3ea;color:#0a6b3d;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.ah-jr__panel .ah-game:nth-child(even){background:#fafbfc}
@media (hover: hover) and (pointer: fine){.ah-jr__panel .ah-game:hover{background:var(--ah-soft)}}

/* ---- CTA 1xBet: contraste alto (ТЗ №3, plaquita ilegible) ---- */
.ah-ctabar{border:1px solid #2c3140;background:linear-gradient(120deg,#171a22 0,#20242f 100%)}
.ah-ctabar p{color:#eef1f5}
.ah-ctabar__brand b{color:#fff}
.ah-ctabar .ah-btn{background:var(--ah-primary);border-color:#ff5069;color:#fff}
@media (hover: hover) and (pointer: fine){.ah-ctabar .ah-btn:hover{background:var(--ah-primary);border-color:#ff5069;color:#fff}}
@media (hover: hover) and (pointer: fine){.ah-ctabar .ah-btn:hover{background:var(--ah-primary-dk)}}
.ah-cta b{color:var(--ah-ink)}
.ah-cta p{color:#3d4553}

/* Botones dentro de .ah-prose: la regla de enlaces del texto (.ah-prose a) los
   pintaba de rojo sobre fondo rojo — el texto del botón desaparecía. */
.ah-prose a.ah-btn,.ah-linkbox a.ah-btn{color:#fff}
@media (hover: hover) and (pointer: fine){.ah-prose a.ah-btn:hover,.ah-linkbox a.ah-btn:hover{color:#fff}}
.ah-prose a.ah-btn--ghost{color:var(--ah-ink)}
@media (hover: hover) and (pointer: fine){.ah-prose a.ah-btn--ghost:hover{color:#fff}}
.ah-prose a.ah-btn--light{color:var(--ah-ink)}
@media (hover: hover) and (pointer: fine){.ah-linkbox a.ah-btn:hover{background:var(--ah-primary-dk);border-color:var(--ah-primary-dk)}}

/* ---- bloque destacado con enlace a otra página ---- */
.ah-linkbox{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:30px 0;padding:26px 28px;border:1px solid var(--ah-line);border-left:5px solid var(--ah-accent);border-radius:10px;background:var(--ah-soft)}
.ah-linkbox b{display:block;font-size:20px;letter-spacing:-.02em}
.ah-linkbox p{margin:6px 0 0;color:#3d4553;font-size:14px}
.ah-linkbox .ah-btn{flex:none}
@media(max-width:700px){.ah-linkbox{flex-direction:column;align-items:flex-start;gap:14px}.ah-linkbox .ah-btn{width:100%}}

/* ---- dónde ver: tres columnas con icono ---- */
.ah-watch{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 8px}
.ah-watch>div{padding:20px;border:1px solid var(--ah-line);border-radius:8px;background:#fff}
.ah-watch h3{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:16px}
.ah-watch h3 i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;background:var(--ah-mist);font-style:normal;font-size:15px}
.ah-watch p{margin:0;color:#3d4553;font-size:13px}
.ah-watch ul{margin:0;padding-left:18px;color:#3d4553;font-size:13px}
@media(max-width:920px){.ah-watch{grid-template-columns:1fr}}

/* ---- títulos de campeones ---- */
.ah-mini{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.ah-mini th{padding:10px 14px;background:var(--ah-ink);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-align:left}
.ah-mini td{padding:9px 14px;border-bottom:1px solid var(--ah-line)}
.ah-mini tr:last-child td{border-bottom:0}
.ah-mini td:last-child{text-align:center;font-weight:900;color:var(--ah-primary)}

@media(max-width:560px){
  .ah-shell{width:min(calc(100% - 28px),var(--ah-width))}
  .inside-header{min-height:60px;padding:8px 15px}
  .menu-toggle{color:var(--ah-ink)}
  .ah-hero,.ah-section{padding:46px 0}
  .ah-hero h1{font-size:38px}
  .ah-head{flex-direction:column;align-items:flex-start;gap:6px}
  .ah-rank__row{grid-template-columns:34px 78px 1fr;gap:12px;padding:14px}
  .ah-rank__score,.ah-rank__row .ah-btn{display:none}
  .ah-game{grid-template-columns:52px 1fr;gap:12px}
  .ah-game__odds{justify-content:flex-end}
  .ah-bonos,.ah-hubs{grid-template-columns:1fr}
  .ah-fight__vs{grid-template-columns:1fr 44px 1fr;padding:22px 10px}
  .ah-fight__vs b{font-size:19px}
  .ah-footer__top{grid-template-columns:1fr}
  .ah-footer__bottom{flex-direction:column;gap:8px}
}

/* ============================================================
 * Правки №4 — Задача 2: filas y tarjetas clicables (overlay único)
 * ============================================================ */
.ah-game,.ah-mc,.ah-fixture,.ah-jp__row{position:relative}
.ah-mlink{position:absolute;inset:0;z-index:1;cursor:pointer;border-radius:inherit}
.ah-mlink:focus-visible{outline:2px solid var(--ah-accent);outline-offset:2px}
.ah-game__cta,.ah-mc__cta,.ah-fixture__foot,.ah-jp__link .ah-btn{position:relative;z-index:2}
@media (hover: hover) and (pointer: fine){
  .ah-game.has-link,.ah-mc.has-link,.ah-fixture.has-link,.ah-jp__row.has-link{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
  .ah-game.has-link:hover,.ah-jp__row.has-link:hover{background:#f5f7fa}
  .ah-mc.has-link:hover,.ah-fixture.has-link:hover{border-color:var(--ah-accent);box-shadow:0 4px 16px rgba(0,0,0,.10);transform:translateY(-2px)}
}
.ah-game{text-decoration:none;color:inherit}

/* Etiqueta de grupo de la rejilla de tarjetas (ТЗ №4 4.2: Jornada N / Fase uno…) */
.ah-cards__label{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:6px;background:var(--ah-slate);color:#fff;font:900 11px/1 var(--ah-sans);letter-spacing:.09em;text-transform:uppercase}

/* Estados de la página de partido (ТЗ 1.5) */
.ah-badge-live,.ah-badge-final{display:inline-block;margin-left:10px;padding:5px 11px;border-radius:5px;font:900 10.5px/1 var(--ah-sans);letter-spacing:.1em;text-transform:uppercase;vertical-align:2px}
.ah-badge-live{background:var(--ah-primary);color:#fff;animation:ahpulse 1.6s infinite}
.ah-badge-final{background:#39404e;color:#cfd5e0}
@keyframes ahpulse{0%,100%{opacity:1}50%{opacity:.55}}
.ah-fixture__result{margin:18px 0 4px;text-align:center}
.ah-fixture__result small{display:block;margin-bottom:4px;color:var(--ah-muted);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ah-fixture__result b{font-size:38px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ah-fixture__result--live small{color:var(--ah-primary)}

/* ============================================================
 * Правки №4 — Задача 3: resultados de jornadas anteriores (.ah-jp)
 * ============================================================ */
.ah-jp{margin-top:14px}
.ah-jp__nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ah-jp__tab{padding:8px 13px;border:1px solid var(--ah-line);border-radius:6px;background:#fff;color:#4b5563;font:800 12px var(--ah-sans);cursor:pointer}
@media (hover: hover) and (pointer: fine){.ah-jp__tab:hover{border-color:#9aa2af}}
.ah-jp__tab.is-open{background:var(--ah-slate);border-color:var(--ah-slate);color:#fff}
.ah-jp__panel{border:1px solid var(--ah-line);border-radius:10px;background:#fff;overflow:hidden}
.ah-jp__cols{display:grid;grid-template-columns:90px 1fr 110px 90px 130px;gap:12px;padding:9px 18px;border-bottom:1px solid var(--ah-line);background:var(--ah-soft);color:var(--ah-muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.ah-jp--nores .ah-jp__cols{grid-template-columns:90px 1fr 110px 90px}
.ah-jp__cols .ah-c{text-align:center}
.ah-jp__row{display:grid;grid-template-columns:90px 1fr 110px 90px 130px;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--ah-line)}
.ah-jp--nores .ah-jp__row{grid-template-columns:90px 1fr 110px 90px}
.ah-jp__row:last-child{border-bottom:0}
.ah-jp__row:nth-child(odd){background:#fbfcfd}
.ah-jp__row time{color:var(--ah-muted);font-size:11px;font-weight:800;text-transform:uppercase}
.ah-jp__t{min-width:0}
.ah-jp__t span{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px}
.ah-jp__t span+span{margin-top:4px}
.ah-jp__home b{font-weight:800}
.ah-jp__away{color:#4b5563}
.ah-jp__t img,.ah-jp__t .ah-initial{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.ah-jp__score{text-align:center}
.ah-jp__score i{display:inline-block;min-width:64px;padding:6px 10px;border:1px solid var(--ah-line);border-radius:999px;background:#fff;font:800 14px/1 var(--ah-sans);font-style:normal;font-variant-numeric:tabular-nums;text-align:center}
.ah-jp__res{text-align:center}
.ah-res{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:6px 0;border:1px solid var(--ah-line);border-radius:6px;font:800 13px/1 var(--ah-sans);font-style:normal}
.ah-res--1,.ah-res--2{border-color:var(--ah-accent);color:#08603a;background:#e9f5ee}
.ah-res--x{border-color:var(--ah-line);color:var(--ah-muted);background:#fff}
.ah-jp__link{text-align:center}
.ah-btn--sum{min-height:36px;padding:8px 14px;background:#fff;border-color:var(--ah-line);color:var(--ah-ink);font-size:12px}
@media (hover: hover) and (pointer: fine){.ah-btn--sum:hover{background:#f5f7fa;border-color:var(--ah-slate);color:var(--ah-ink)}}
/* ТЗ 3.7: en móvil la tabla se convierte en tarjetas verticales, sin scroll lateral:
   fila 1 fecha+resultado, fila 2 local+marcador, fila 3 visitante, fila 4 Resumen */
@media(max-width:760px){
  .ah-jp__cols{display:none}
  .ah-jp__row,.ah-jp--nores .ah-jp__row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"fecha res" "casa score" "visita visita" "link link";gap:7px 12px;padding:14px 16px}
  .ah-jp__row time{grid-area:fecha;align-self:center}
  .ah-jp__res{grid-area:res;text-align:right}
  .ah-jp__t{display:contents}
  .ah-jp__t .ah-jp__home{grid-area:casa;justify-content:flex-start}
  .ah-jp__t .ah-jp__away{grid-area:visita;justify-content:flex-start}
  .ah-jp__score{grid-area:score;text-align:right}
  .ah-jp__score i{min-width:52px;padding:4px 8px}
  .ah-jp__link{grid-area:link;margin-top:4px}
  .ah-jp__link .ah-btn{width:100%}
}

/* ============================================================
 * Правки №5 — página de partido v2 (.ah-m2*)
 * ============================================================ */
.ah-m2crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:12px;color:#8a94a6}
.ah-m2crumbs a{color:#b9c0cf;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-m2crumbs a:hover{color:#fff}}
.ah-m2crumbs i{font-style:normal;color:#5a6472}
.ah-m2crumbs span{color:#8a94a6}

/* tarjeta del partido */
.ah-m2card{position:relative;padding:20px 22px 0;border:1px solid var(--ah-line);border-top:5px solid var(--ah-primary);border-radius:8px;background:#fff;box-shadow:0 18px 50px rgba(20,22,29,.12)}
.ah-m2__t1{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ah-m2__comp{color:var(--ah-primary);font-size:12px;font-weight:900;letter-spacing:.06em}
.ah-m2__when{color:#5a6472;font-size:13px;font-weight:700}
.ah-m2__live{padding:4px 11px;border-radius:5px;background:var(--ah-primary);color:#fff;font:900 11px/1 var(--ah-sans);letter-spacing:.08em;animation:ahpulse 1.6s infinite}
.ah-m2__final{padding:4px 11px;border-radius:5px;background:#e8eaef;color:#5a6472;font:900 11px/1 var(--ah-sans);letter-spacing:.08em}
.ah-m2__t2{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:22px 0 18px;text-align:center}
.ah-m2__team{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.ah-m2__logo{width:72px;height:72px;object-fit:contain}
i.ah-m2__logo{display:flex;width:72px;height:72px;font-size:22px}
.ah-m2__team b{font-size:22px;line-height:1.1;letter-spacing:-.02em}
.ah-m2__team small{color:#8a94a6;font-size:11px;font-weight:900;letter-spacing:.1em}
.ah-m2__vs i{font-style:normal;font-size:28px;font-weight:800;color:#8a94a6}
.ah-m2__vs b{font-size:36px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ah-m2__goles{padding:0 0 14px;text-align:center;color:#5a6472;font-size:13px}
.ah-m2__t3{display:flex;border-top:1px solid var(--ah-line);margin:0 -22px}
.ah-m2__t3 span{flex:1;padding:12px 10px;text-align:center;border-right:1px solid var(--ah-line)}
.ah-m2__t3 span:last-child{border-right:0}
.ah-m2__t3 small{display:block;color:#8a94a6;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:3px;text-transform:uppercase}
.ah-m2__t3 b{font-size:14px}
.ah-m2__count{padding:11px;border-top:1px solid var(--ah-line);margin:0 -22px;text-align:center;color:var(--ah-primary);font-size:13px;font-weight:800}
.ah-m2__count:empty{display:none}

/* anclas pegajosas */
.ah-m2anchors{position:sticky;top:0;z-index:30;margin:18px -8px 6px;padding:8px;background:color-mix(in srgb,#fff 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--ah-line)}
.ah-m2anchors div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.ah-m2anchors div::-webkit-scrollbar{display:none}
.ah-m2anchors a{padding:8px 13px;border-radius:99px;color:#4b5563;font-size:12.5px;font-weight:800;text-decoration:none;white-space:nowrap}
@media (hover: hover) and (pointer: fine){.ah-m2anchors a:hover{background:var(--ah-soft);color:var(--ah-ink)}}
.ah-m2 h2{scroll-margin-top:64px;margin:38px 0 14px;font-size:23px;letter-spacing:-.02em}

/* momios */
.ah-m2odds{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ah-m2odds span{padding:14px 8px;border:1px solid var(--ah-line);border-radius:8px;text-align:center;background:#fff}
.ah-m2odds small{display:block;color:#8a94a6;font-size:11px;font-weight:900;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}
.ah-m2odds b{font-size:24px;font-variant-numeric:tabular-nums}
.ah-m2odds .is-pick{border-color:var(--ah-accent);background:#e9f5ee}
.ah-m2odds .is-pick b{color:#08603a}
.ah-m2odds .is-empty b{color:#8a94a6}
.ah-m2odds .is-empty{border-style:dashed}
.ah-m2odds__note{margin:10px 0 0;color:#8a94a6;font-size:12px}

/* cómo llegan */
.ah-m2ll{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ah-m2ll__col{border:1px solid var(--ah-line);border-radius:10px;background:#fff;overflow:hidden}
.ah-m2ll__head{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--ah-line);background:var(--ah-soft)}
.ah-m2ll__head img,.ah-m2ll__head .ah-initial{width:28px;height:28px;object-fit:contain}
.ah-m2ll__head b{font-size:16px}
.ah-m2ll__form{display:flex;gap:4px;margin-left:auto}
.ah-frm{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font:800 11px/1 var(--ah-sans);font-style:normal;color:#fff}
.ah-frm--g{background:var(--ah-accent)}
.ah-frm--e{background:#9aa2af}
.ah-frm--p{background:var(--ah-primary)}
.ah-m2ll__row{position:relative;display:grid;grid-template-columns:44px 52px 1fr 52px 24px;gap:9px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ah-line-2,#eef0f4);font-size:13px}
.ah-m2ll__row:last-of-type{border-bottom:0}
.ah-m2ll__row time{color:#8a94a6;font-size:12px}
.ah-m2ll__loc{padding:3px 6px;border:1px solid var(--ah-line);border-radius:4px;color:#5a6472;font-size:9.5px;font-weight:900;letter-spacing:.05em;text-align:center}
.ah-m2ll__riv{display:flex;align-items:center;gap:8px;min-width:0}
.ah-m2ll__riv img,.ah-m2ll__riv .ah-initial{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.ah-m2ll__riv b{display:block;font-size:13px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ah-m2ll__riv small{display:block;color:#8a94a6;font-size:11px}
.ah-m2ll__score{text-align:right;font-variant-numeric:tabular-nums}
.ah-m2ll__foot{display:flex;justify-content:space-between;gap:8px;padding:11px 16px;border-top:1px solid var(--ah-line);background:var(--ah-soft);font-size:12px;font-weight:800;color:#4b5563}
.ah-m2cmp{margin-top:16px;border:1px solid var(--ah-line);border-radius:10px;background:#fff;overflow:hidden}
.ah-m2cmp__row{display:grid;grid-template-columns:90px 1fr 90px;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--ah-line-2,#eef0f4)}
.ah-m2cmp__row:last-child{border-bottom:0}
.ah-m2cmp__row b{text-align:center;font-variant-numeric:tabular-nums}
.ah-m2cmp__row b.is-best{color:#08603a}
.ah-m2cmp__row span{text-align:center;color:#5a6472;font-size:12.5px}

/* tendencias */
.ah-m2intro{margin:0 0 14px;color:#4b5563;font-size:14px}
.ah-m2tr{display:grid;gap:8px}
.ah-m2tr__row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--ah-line);border-radius:8px;background:#fff}
.ah-m2tr__dot{flex-shrink:0;width:10px;height:10px;margin-top:5px;border-radius:50%}
.ah-m2tr__dot--pro{background:var(--ah-accent)}
.ah-m2tr__dot--neutro{background:#9aa2af}
.ah-m2tr__dot--contra{background:var(--ah-primary)}
.ah-m2tr__row p{margin:0;font-size:14px;font-weight:600}
.ah-m2tr__row small{color:#8a94a6;font-size:11.5px}

/* pronóstico */
.ah-m2bet{position:relative;margin:0 0 14px;padding:16px 18px 16px 22px;border-radius:8px;background:var(--ah-soft);border:1px solid var(--ah-line)}
.ah-m2bet:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;background:var(--ah-accent)}
.ah-m2bet--alt:before{display:none}
.ah-m2bet__grid{display:flex;gap:26px;flex-wrap:wrap}
.ah-m2bet__grid small{display:block;color:#8a94a6;font-size:10.5px;font-weight:900;letter-spacing:.08em;margin-bottom:3px}
.ah-m2bet__grid b{font-size:18px}
.ah-m2bet__umbral{margin:10px 0 0;color:#5a6472;font-size:12.5px}
.ah-m2why{margin:0 0 14px;padding:0 0 0 20px;color:var(--ah-ink)}
.ah-m2why li{margin-bottom:7px;font-size:14.5px}
.ah-m2res{padding:16px 18px;border-radius:8px;border:1px solid var(--ah-line);background:#fff}
.ah-m2res.is-ok{border-color:var(--ah-accent);background:#e9f5ee}
.ah-m2res.is-ok b{color:#08603a}
.ah-m2res.is-no b{color:#5a6472}
.ah-m2res p{margin:5px 0 0;color:#4b5563;font-size:13.5px}
.ah-m2disc{margin:10px 0 0;color:#8a94a6;font-size:12px}
.ah-m2cta2{display:flex;align-items:center;gap:18px;padding:16px 18px;border:1px solid var(--ah-accent);border-left:4px solid var(--ah-accent);border-radius:12px;background:#f2f8f4}
.ah-m2cta2 small{display:block;color:#0a6b3d;font-size:10.5px;font-weight:900;letter-spacing:.08em;margin-bottom:3px}
.ah-m2cta2 b{font-size:18px}
.ah-m2cta2__btn{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;min-height:46px;padding:12px 20px;border-radius:6px;background:var(--ah-accent);color:#fff;font-size:14px;font-weight:800;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-m2cta2__btn:hover{background:#08603a}}

/* alineaciones */
.ah-m2field__badges{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ah-m2field__form{padding:4px 10px;border:1px solid var(--ah-line);border-radius:5px;background:#fff;font:800 12px var(--ah-sans)}
.ah-m2field__conf{padding:4px 10px;border-radius:5px;background:var(--ah-slate);color:#fff;font:900 10.5px/1.4 var(--ah-sans);letter-spacing:.08em}
.ah-m2field{position:relative;aspect-ratio:3/2;border-radius:10px;background:linear-gradient(90deg,#15803c 0 50%,#168740 50% 100%);overflow:hidden}
.ah-m2field:before{content:"";position:absolute;inset:0;background:
  linear-gradient(#ffffff59,#ffffff59) 50% 0/2px 100% no-repeat,
  radial-gradient(circle at 50% 50%, transparent 58px,#ffffff59 58px,#ffffff59 60px,transparent 60px)}
.ah-m2pl{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:64px;cursor:default}
.ah-m2pl img{width:44px;height:44px;border-radius:50%;border:2px solid #fff;object-fit:cover;background:#dfe3ec}
.ah-m2pl__ini{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid #fff;font:800 13px var(--ah-sans);font-style:normal;color:#fff}
.ah-m2pl__ini.t0{background:var(--ah-slate)}
.ah-m2pl__ini.t1{background:var(--ah-primary)}
.ah-m2pl small{max-width:64px;margin-top:3px;color:#fff;font-size:10px;font-weight:700;text-shadow:0 1px 2px #0009;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ah-m2pl__card{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);display:none;flex-direction:column;gap:2px;min-width:130px;padding:9px 12px;border-radius:8px;background:#14161d;color:#fff;font-size:12px;z-index:5;text-align:center}
.ah-m2pl__card b{font-size:12.5px}
.ah-m2pl__card i{font-style:normal;color:#b9c0cf;font-size:11px}
/* Правки №8 §4.1: la tarjeta ya no se enseña dentro del campo — el JS la clona
   en `body` como `.ah-m2tip`. Esta copia solo guarda el contenido. */
.ah-m2subs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.ah-m2subs__col{padding:13px 16px;border:1px solid var(--ah-line);border-radius:8px;background:#fff}
.ah-m2subs__col>small{display:block;color:#8a94a6;font-size:10.5px;font-weight:900;letter-spacing:.08em;margin-bottom:8px}
.ah-m2subs__col div{margin-bottom:8px}
.ah-m2subs__col div:last-child{margin-bottom:0}
.ah-m2subs__col b{font-size:13px}
.ah-m2subs__col p{margin:2px 0 0;color:#4b5563;font-size:12.5px;line-height:1.5}

/* jugadores a seguir */
.ah-m2pjs{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
.ah-m2pj{flex:0 0 168px;padding:16px 14px;border:1px solid var(--ah-line);border-radius:10px;background:#fff;text-align:center}
.ah-m2pj img{width:56px;height:56px;margin:0 auto 8px;border-radius:50%;object-fit:cover;background:#eef1f5}
.ah-m2pj b{display:block;font-size:13.5px;line-height:1.2}
.ah-m2pj i{display:block;margin:3px 0 6px;color:#8a94a6;font-size:11px;font-style:normal}
.ah-m2pj small{color:#4b5563;font-size:12px;font-weight:700}

/* clasificación */
.ah-m2tb{border:1px solid var(--ah-line);border-radius:10px;background:#fff;overflow:hidden;font-variant-numeric:tabular-nums}
.ah-m2tb__head,.ah-m2tb__row{display:grid;grid-template-columns:34px 1fr 36px 30px 30px 30px 44px 44px;gap:6px;align-items:center;padding:9px 14px}
.ah-m2tb__head{border-bottom:1px solid var(--ah-line);background:var(--ah-slate);color:#cfd5e0;font-size:10.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.ah-m2tb__row{border-bottom:1px solid var(--ah-line-2,#eef0f4);font-size:13px}
.ah-m2tb__row:last-child{border-bottom:0}
.ah-m2tb__row.is-team{background:#e9f5ee;font-weight:700}
.ah-m2tb__row i{font-style:normal;color:#8a94a6;text-align:center}
.ah-m2tb__team{display:flex;align-items:center;gap:8px;min-width:0}
.ah-m2tb__team img,.ah-m2tb__team .ah-initial{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.ah-m2tb__row em,.ah-m2tb__head em{font-style:normal;text-align:center}
.ah-m2tb__row b,.ah-m2tb__head b{text-align:center}
.ah-m2tb__gap{padding:4px 0;text-align:center;color:#8a94a6;letter-spacing:.3em}
.ah-m2more{margin:10px 0 0;font-size:13px}
.ah-m2more a{color:var(--ah-primary);font-weight:800;text-decoration:none}
.ah-m2ver{margin:0;padding-left:20px}
.ah-m2ver li{margin-bottom:6px}

@media(max-width:1024px){
  .ah-m2ll{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ah-m2__logo,i.ah-m2__logo{width:56px;height:56px}
  .ah-m2__team b{font-size:17px}
  .ah-m2__vs b{font-size:30px}
  .ah-m2__t3{flex-wrap:wrap}
  .ah-m2__t3 span{flex:1 1 50%;border-top:1px solid var(--ah-line-2,#eef0f4)}
  .ah-m2odds b{font-size:20px}
  .ah-m2cta2{flex-direction:column;align-items:stretch;text-align:center}
  .ah-m2cta2__btn{margin-left:0;justify-content:center}
  .ah-m2bet__grid{gap:14px}
  /* поле вертикально: транспонируем координаты (ТЗ №5 7.1) */
  .ah-m2field{aspect-ratio:2/3;background:linear-gradient(180deg,#15803c 0 50%,#168740 50% 100%)}
  .ah-m2field:before{background:
    linear-gradient(#ffffff59,#ffffff59) 0 50%/100% 2px no-repeat,
    radial-gradient(circle at 50% 50%, transparent 48px,#ffffff59 48px,#ffffff59 50px,transparent 50px)}
  .ah-m2pl{left:var(--y);top:var(--x)}
  .ah-m2pl img,.ah-m2pl__ini{width:36px;height:36px}
  .ah-m2subs{grid-template-columns:1fr}
  .ah-m2cmp__row{grid-template-columns:64px 1fr 64px;padding:9px 12px}
  .ah-m2ll__row{grid-template-columns:40px 46px 1fr 44px 22px;padding:9px 10px}
  .ah-m2tb__head,.ah-m2tb__row{grid-template-columns:28px 1fr 30px 26px 26px 26px 38px 38px;padding:8px 10px;font-size:12px}
}

/* ============================================================
 * ТЗ №6 (31.07.2026) — desktop. La versión móvil va en un documento
 * aparte: aquí solo se cuida no romper lo que ya funciona en pantalla chica.
 * ============================================================ */

/* ---- 1.1 header fijo. La barra oscura de eventos NO se fija: se va con el scroll ---- */
.site-header{position:sticky;top:0;z-index:60;box-shadow:0 1px 0 var(--ah-line)}
.admin-bar .site-header{top:32px}
/* Altura real del header (72px) + aire: los anclajes no quedan debajo de la barra */
html{scroll-padding-top:88px}
[id^="ah-s-"]{scroll-margin-top:88px}
.ah-m2 h2,.ah-m2 h3{scroll-margin-top:88px}
/* la navegación de anclas de la página de partido se apila justo bajo el header */
.ah-anchors,.ah-m2anchors{top:72px}
.admin-bar .ah-anchors,.admin-bar .ah-m2anchors{top:104px}

/* ---- 1.2 sidebar fijo, con parada antes del pie ---- */
@media(min-width:1025px){
  .ah-page-layout{align-items:start}
  .ah-sidebar{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow:auto}
  /* si el bloque no cabe en pantalla, no se fija: si no, se le corta el final */
  .ah-sidebar.ah-sidebar--tall{position:static;max-height:none;overflow:visible}
}

/* ---- 1.4 botón «arriba» ---- */
.ah-top{position:fixed;right:22px;bottom:22px;z-index:55;display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--ah-line);border-radius:50%;background:#fff;color:var(--ah-ink);
  font:900 20px/1 var(--ah-sans);cursor:pointer;box-shadow:0 6px 20px #0f172a1f;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s}
.ah-top.is-on{opacity:1;visibility:visible;transform:none}
@media (hover: hover) and (pointer: fine){.ah-top:hover{border-color:var(--ah-primary);color:var(--ah-primary)}}

/* ---- 2.2 tercer nivel de la tarjeta: tres datos, árbitro con su media ---- */
.ah-m2__t3--3 span{flex:1 1 33.333%}
.ah-m2__refstat{display:block;margin-top:3px;color:#8a94a6;font-size:10.5px;font-weight:700;letter-spacing:0;text-transform:none}
.ah-m2__pend{color:#8a94a6;font-weight:700}

/* ---- 2.3.1 «Cómo llegan»: las dos tarjetas comparten rejilla ---- */
@media(min-width:1025px){
  .ah-m2ll{grid-template-rows:auto repeat(var(--ah-ll-filas,5),minmax(56px,auto)) auto;align-items:stretch}
  .ah-m2ll__col{display:grid;grid-row:1 / -1;grid-template-rows:subgrid;row-gap:0}
}
.ah-m2ll__head{align-items:center;min-height:56px}
.ah-m2ll__head b{min-width:0;overflow-wrap:anywhere;white-space:normal}
.ah-m2ll__form{flex-shrink:0}
.ah-m2ll__row{min-height:56px;align-items:center}
.ah-m2ll__row--hueco{border-bottom:1px solid var(--ah-line-2,#eef0f4)}
/* el rival se ve entero: se parte en dos líneas, nunca se recorta con puntos */
.ah-m2ll__riv b{overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
.ah-m2ll__riv small{white-space:normal;overflow-wrap:anywhere}
.ah-m2ll__foot{align-items:center}

/* ---- 2.4 comparativa con barras desde el centro ---- */
.ah-m2cmp__head{display:grid;grid-template-columns:54px 1fr 190px 1fr 54px;gap:10px;align-items:center;
  padding:11px 16px;border-bottom:1px solid var(--ah-line);background:var(--ah-soft)}
.ah-m2cmp__head b{font-size:12.5px;font-weight:900}
.ah-m2cmp__head b:first-child{grid-column:1 / 3;text-align:left}
.ah-m2cmp__head b:last-child{grid-column:4 / 6;text-align:right}
.ah-m2cmp__head span{grid-column:3;text-align:center;color:var(--ah-muted);font-size:10px;font-weight:900;
  letter-spacing:.07em;text-transform:uppercase}
.ah-m2cmp__row{grid-template-columns:54px 1fr 190px 1fr 54px}
.ah-m2cmp__v{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.ah-m2cmp__lab{text-align:center;color:#5a6472;font-size:12.5px}
.ah-m2cmp__bar{display:block;height:9px;border-radius:999px;background:#eef0f4;overflow:hidden}
.ah-m2cmp__bar i{display:block;height:100%;border-radius:999px}
/* un color por equipo, igual en todas las filas */
.ah-m2cmp__bar--h{display:flex;justify-content:flex-end}
.ah-m2cmp__bar--h i{background:var(--ah-primary)}
.ah-m2cmp__bar--a i{background:var(--ah-accent)}

/* ---- 2.5 tendencias con momio ---- */
.ah-m2tr__row.has-odds{display:grid;grid-template-columns:10px 1fr 132px auto;gap:12px;align-items:center}
.ah-m2tr__txt p{margin:0}
.ah-m2tr__mk{text-align:right}
.ah-m2tr__mk small{display:block;color:#8a94a6;font-size:10.5px;line-height:1.25}
.ah-m2tr__mk b{font-size:16px;font-variant-numeric:tabular-nums}
.ah-m2tr__btn{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:6px;
  background:var(--ah-primary);color:#fff;font-size:12.5px;font-weight:800;text-decoration:none;white-space:nowrap}
@media (hover: hover) and (pointer: fine){.ah-m2tr__btn:hover{background:var(--ah-primary-dk)}}

/* ---- 2.6 pronóstico: una plaquita + alternativa discreta ---- */
.ah-m2pron__txt{margin-bottom:16px}
.ah-m2pron__txt p{margin:0;font-size:15px;line-height:1.62;color:#333b47}
.ah-m2bet__grid{align-items:center}
.ah-m2bet__btn{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;
  padding:11px 20px;border-radius:6px;background:var(--ah-accent);color:#fff;font-size:14px;font-weight:800;text-decoration:none}
@media (hover: hover) and (pointer: fine){.ah-m2bet__btn:hover{background:#08603a}}
.ah-m2alt{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:11px 16px;
  border:1px dashed var(--ah-line);border-radius:8px;background:#fff}
.ah-m2alt__lab{color:#8a94a6;font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ah-m2alt b{font-size:14px;font-weight:700}
.ah-m2alt i{margin-left:auto;font-style:normal;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:#4b5563}
.ah-m2disc{margin:6px 0 0;color:#8a94a6;font-size:12px;line-height:1.5}

/* ---- 3. tabla de próximos partidos en los hubs ---- */
.ah-board__grp{display:grid;gap:10px;align-items:end;
  padding:9px 18px 0;background:var(--ah-soft);color:var(--ah-muted);font-size:9px;font-weight:900;
  letter-spacing:.09em;text-transform:uppercase}
.ah-board__grp>span{text-align:center}
.ah-board__grp .ah-board__odds,.ah-board__grp .ah-board__ou,.ah-board__grp .ah-board__btts{
  padding-bottom:4px;border-bottom:1px solid var(--ah-line)}
.ah-board__cols{background:var(--ah-soft)}
.ah-board__ou,.ah-board__btts{display:flex;gap:5px;justify-content:center}
.ah-board__cols .ah-board__ou i,.ah-board__cols .ah-board__btts i{min-width:36px;text-align:center;font-style:normal}
/* 3.1 el local en tinta normal, la visita apagada: la diferencia la marca el color */
.ah-game--2l .ah-game__home{font-weight:600;color:var(--ah-ink)}
.ah-game--2l .ah-game__away{font-weight:600;color:#7b8494}
.ah-game--2l .ah-game__home b,.ah-game--2l .ah-game__away b{font-weight:600}
/* 3.2 fila más compacta; fecha y hora en la misma celda, a dos líneas */
.ah-game--2l{padding-top:11px;padding-bottom:11px}
.ah-game--2l time{display:flex;flex-direction:column;gap:1px;line-height:1.2}
.ah-game--2l time small{font-size:10px;text-transform:capitalize;letter-spacing:.01em}
.ah-game--2l time b{font-size:14px;font-variant-numeric:tabular-nums}
/* 3.3 columnas nuevas */
.ah-game__ou,.ah-game__btts{display:flex;gap:5px;justify-content:center}
.ah-game__ou i,.ah-game__btts i{display:flex;align-items:center;justify-content:center;min-width:36px;padding:4px 6px;
  border:1px solid var(--ah-line);border-radius:5px;color:var(--ah-ink);font-style:normal;font-size:12.5px;font-weight:800}
.ah-game__ou i.is-empty,.ah-game__btts i.is-empty{color:var(--ah-muted);border-style:dashed}
/* ---- Правки №9 §3: un solo componente de tabla en todo el sitio ----
   Antes la rejilla cambiaba según los mercados que trajera el feed y cada tabla
   quedaba distinta. Ahora las seis columnas son fijas —hora, partido, 1X2,
   Total 2.5, Ambos, botón— y la celda sin dato lleva guion. Al estrechar la
   pantalla el orden de sacrificio es siempre el mismo: primero Ambos, después
   Total 2.5; el 1X2 no se va nunca. */
.ah-board__grp,.ah-board__cols,.ah-game--2l{grid-template-columns:56px 1fr 112px 76px 44px 104px;gap:10px}
/* cada título de grupo, centrado sobre sus propias columnas; «Hora» y «Partido»
   siguen alineados a la izquierda, con el contenido de su columna */
.ah-board__grp>span{text-align:center}
.ah-board__grp .ah-board__odds,.ah-board__grp .ah-board__ou,.ah-board__grp .ah-board__btts{
  display:block;text-align:center}
.ah-board__cols .ah-board__odds{justify-content:center}
/* 3.4 el botón no parte la línea: la flecha va pegada a la última palabra y
   el ancho lo fija el texto más largo, así todos quedan a la misma altura */
.ah-game__cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;
  white-space:nowrap;text-align:center;padding-left:10px;padding-right:10px}
/* El título de grupo se oculta con la misma especificidad con la que se pinta
   (`.ah-board__grp .ah-board__btts`): una media query no sube especificidad, y
   sin esto la cabecera «Ambos» se quedaba flotando sin su columna. */
@media(max-width:900px){
  .ah-board__grp,.ah-board__cols,.ah-game--2l{grid-template-columns:56px 1fr 112px 76px 104px}
  .ah-board__btts,.ah-game__btts,
  .ah-board__grp .ah-board__btts,.ah-board__cols .ah-board__btts{display:none}
}
@media(max-width:800px){
  .ah-board__grp,.ah-board__cols,.ah-game--2l{grid-template-columns:56px 1fr 112px 104px}
  .ah-board__ou,.ah-game__ou,
  .ah-board__grp .ah-board__ou,.ah-board__cols .ah-board__ou{display:none}
}
@media(max-width:700px){
  .ah-board__grp,.ah-board__cols,.ah-game--2l{grid-template-columns:52px 1fr 108px}
  .ah-game__cta{display:none}
  .ah-board__grp>span:last-child,.ah-board__cols>span:last-child{display:none}
}
/* móvil: los momios son contenido principal (ТЗ №3) — pasan a línea propia, no se ocultan */
@media(max-width:560px){
  .ah-board__grp,.ah-board__cols{display:none}
  .ah-game--2l{grid-template-columns:48px 1fr;row-gap:10px}
  .ah-game--2l .ah-game__odds{grid-column:1/-1;justify-content:flex-start}
}

/* ---- Правки №9 1.3: aviso de pausa en lugar de tabla ----
   La liga sin partidos no se rellena con otros torneos: se dice cuándo vuelve y
   se enlaza lo que sí está en juego. */
.ah-board--pausa .ah-board__pausa{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 18px;background:#fff}
.ah-board--pausa .ah-board__pausa p{margin:0;color:#4b5563;font-size:14px;line-height:1.55;max-width:60ch}

/* ---- Правки №9 §4.2: veredicto del pronóstico en el partido jugado ----
   Mismo peso visual que la plaquita de apuesta previa: sin degradarla a nota. */
.ah-m2bet--fin.is-ok:before{background:var(--ah-accent)}
.ah-m2bet--fin.is-no:before{background:#b0182c}
.ah-m2bet--fin.is-nulo:before{background:#a9803a}
.ah-m2bet--fin.is-ok{background:#e9f5ee;border-color:#bfe0cd}
.ah-m2bet--fin.is-no{background:#fbeef0;border-color:#eccdd3}
.ah-m2bet--fin.is-nulo{background:#fdf6e3;border-color:#e6d8ae}
.ah-m2badge{margin-left:auto;align-self:center;display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;
  font-style:normal;font-size:11px;font-weight:900;letter-spacing:.08em}
.ah-m2badge--ok{background:#0a7a45;color:#fff}
.ah-m2badge--no{background:#b0182c;color:#fff}
.ah-m2badge--nulo{background:#8a6a20;color:#fff}
.ah-m2alt--fin .ah-m2badge{margin-left:12px}
.ah-m2alt--fin i:not(.ah-m2badge){margin-left:auto}
@media(max-width:560px){
  .ah-m2badge{margin-left:0}
  .ah-m2alt--fin{flex-wrap:wrap}
  .ah-m2alt--fin i:not(.ah-m2badge){margin-left:0}
}

/* ---- 4. resultados de jornadas cerradas ---- */
.ah-jp__sum{display:flex;flex-direction:column;gap:3px;padding:12px 18px;border-bottom:1px solid var(--ah-line);background:var(--ah-soft)}
.ah-jp__sum b{font-size:14px;letter-spacing:-.01em}
.ah-jp__sum small{color:var(--ah-muted);font-size:11.5px}
.ah-jp__row{grid-template-columns:52px 1fr 76px 1fr 18px;gap:12px;padding:11px 18px}
.ah-jp__row time{font-size:11.5px;text-transform:none;font-variant-numeric:tabular-nums}
.ah-jp__home,.ah-jp__away{display:flex;align-items:center;gap:9px;min-width:0;font-size:13.5px}
.ah-jp__home{justify-content:flex-end;text-align:right}
.ah-jp__away{justify-content:flex-start;text-align:left}
.ah-jp__home img,.ah-jp__home .ah-initial,.ah-jp__away img,.ah-jp__away .ah-initial{width:20px;height:20px;object-fit:contain;flex-shrink:0}
/* el ganador pesa, el perdedor se apaga; en el empate los dos van iguales */
.ah-jp__home.is-win,.ah-jp__away.is-win{color:var(--ah-ink);font-weight:800}
.ah-jp__home.is-lose,.ah-jp__away.is-lose{color:#9aa2af;font-weight:600}
.ah-jp__home.is-draw,.ah-jp__away.is-draw{color:#4b5563;font-weight:700}
.ah-jp__score{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:6px 10px;
  border:1px solid var(--ah-line);border-radius:999px;background:#fff;font-size:14px;font-weight:800;
  font-variant-numeric:tabular-nums;justify-self:center}
/* el empate se reconoce sin leyenda: la plaquita cambia de color */
.ah-jp__score.is-draw{border-color:#d8c48a;background:#fdf6e3;color:#7a5c10}
.ah-jp__chev{color:#c3c9d4;font-style:normal;font-size:18px;text-align:center}
@media (hover: hover) and (pointer: fine){.ah-jp__row.has-link:hover .ah-jp__chev{color:var(--ah-primary)}}

@media(max-width:1024px){
  .ah-sidebar{position:static;max-height:none}
}
@media(max-width:760px){
  html{scroll-padding-top:76px}
  [id^="ah-s-"],.ah-m2 h2,.ah-m2 h3{scroll-margin-top:76px}
  .ah-top{right:14px;bottom:14px;width:42px;height:42px}
  .ah-m2cmp__head,.ah-m2cmp__row{grid-template-columns:44px 1fr 96px 1fr 44px;gap:7px;padding:9px 10px}
  .ah-m2cmp__lab{font-size:11px}
  .ah-m2tr__row.has-odds{grid-template-columns:10px 1fr;row-gap:10px}
  .ah-m2tr__mk{grid-column:2;text-align:left}
  .ah-m2tr__btn{grid-column:2;justify-self:start}
  .ah-m2bet__btn{margin-left:0;width:100%;justify-content:center}
  .ah-jp__row{grid-template-columns:42px 1fr 60px 1fr;gap:8px;padding:10px 12px}
  .ah-jp__chev{display:none}
  .ah-jp__home,.ah-jp__away{font-size:12.5px}
}

/* Jerarquía dentro de la página de partido: el H3 de la comparativa no puede
   pesar lo mismo que el H2 del bloque que la contiene (ТЗ №6 2.4). */
.ah-m2 h3{margin:26px 0 8px;font-size:17px;letter-spacing:-.01em}
.ah-m2 h3+.ah-m2intro{margin-top:0}

/* ============================================================
 * Правки №8 §1-2 (01.08.2026) — navegación y estados táctiles.
 *
 * §1.2: el aspecto del panel NO depende del ancho de pantalla. Antes vivía
 * entero dentro de `@media(max-width:1023px)`, así que en escritorio el panel
 * se abría en crudo: listas sin formato encima del contenido. El botón que lo
 * abre tampoco existe en escritorio — lo inserta el JS solo bajo el punto de
 * ruptura (footer.php), no se esconde con `display:none`.
 * §2.2: el foco se ve solo cuando se navega con teclado.
 * ============================================================ */
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid var(--ah-accent);outline-offset:2px}

.ah-burger,.ah-burger:hover,.ah-burger:focus{display:flex;flex-direction:column;justify-content:center;
  gap:5px;box-sizing:border-box;flex:none;width:44px;min-height:44px;height:44px;align-self:center;
  margin-right:-10px;padding:0 10px;border:0;background:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.ah-burger span{display:block;height:2px;border-radius:2px;background:var(--ah-ink)}
html.ah-locked,html.ah-locked body{overflow:hidden}
.ah-scrim{position:fixed;inset:0;z-index:80;background:rgba(11,13,18,.55)}
/* `display:flex` de la clase gana al `display:none` que trae el atributo
   [hidden] del navegador: sin esto el panel salía abierto al cargar. */
.ah-panel[hidden],.ah-scrim[hidden]{display:none}
.ah-panel{position:fixed;top:0;right:0;bottom:0;z-index:90;display:flex;flex-direction:column;
  width:min(88vw,340px);background:#fff;box-shadow:-14px 0 40px rgba(11,13,18,.28);overflow-y:auto;overscroll-behavior:contain}
.ah-panel__top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;
  height:56px;padding:0 8px 0 16px;border-bottom:1px solid var(--ah-line);background:#fff}
.ah-panel__top b{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--ah-muted)}
/* §2.3: sin relleno de fondo, aspa gris oscuro, zona de toque de 44×44.
   `:hover` y `:focus` se igualan al estado base porque GeneratePress pinta los
   `button:hover` con fondo oscuro — y en pantalla táctil ese estado se quedaba
   pegado al abrir el panel. */
.ah-panel__x,.ah-panel__x:hover,.ah-panel__x:focus{display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:0;border-radius:8px;background:none;color:#4b5563;
  font-size:30px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
@media (hover: hover) and (pointer: fine){
  .ah-panel__x:hover{background:var(--ah-soft);color:var(--ah-ink)}
}
.ah-panel__it{border-bottom:1px solid var(--ah-line)}
/* misma defensa que en el aspa: el `button:hover` de GeneratePress pintaba de
   oscuro cada apartado del panel al tocarlo (Правки №8 §2.4) */
.ah-panel__row,.ah-panel__row:hover,.ah-panel__row:focus{display:flex;align-items:center;
  justify-content:space-between;gap:10px;width:100%;min-width:0;
  min-height:48px;padding:12px 16px;border:0;background:none;color:var(--ah-ink);
  font:800 15px/1.3 var(--ah-sans);text-align:left;text-decoration:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
@media (hover: hover) and (pointer: fine){
  .ah-panel__row:hover{background:var(--ah-soft)}
}
.ah-panel__row i{flex:none;width:9px;height:9px;border-right:2px solid #9aa2af;border-bottom:2px solid #9aa2af;
  transform:rotate(45deg) translateY(-2px);transition:transform .16s}
.ah-panel__row[aria-expanded="true"] i{transform:rotate(-135deg) translateY(-2px)}
.ah-panel__sub{display:none;padding:0 0 8px}
.ah-panel__row[aria-expanded="true"]+.ah-panel__sub{display:block}
.ah-panel__sub a{display:flex;align-items:center;min-height:44px;padding:8px 16px 8px 28px;
  color:#4b5563;font-size:14.5px;font-weight:600;text-decoration:none}
.ah-panel__sub a:active{background:var(--ah-soft)}
/* los eventos se abren de entrada: son el motivo de que el panel exista */
.ah-panel__it--ev{background:var(--ah-soft)}
.ah-panel__it--ev .ah-panel__sub a.is-hot:before{content:"●";margin-right:7px;color:var(--ah-primary)}

/* ============================================================
 * ТЗ №7 (31.07.2026) — vista móvil y tableta.
 * Escritorio (≥1024 px) no se toca: todo va dentro de media queries.
 *
 * Punto de partida medido el 31.07: el contenido llegaba a 792 px en pantallas
 * de 320-430 px. No se veía barra de scroll porque `body{overflow-x:hidden}`
 * lo recortaba — el contenido simplemente desaparecía por la derecha.
 * ============================================================ */

@media(max-width:1023px){

  /* ---- 2.1 nada puede empujar el contenedor ---- */
  .ah-shell{width:calc(100% - 32px)}          /* 16 px por lado */
  img,svg,video{max-width:100%;height:auto}
  /* las pistas de grid y flex se niegan a encogerse por debajo del contenido:
     sin esto un nombre de equipo largo estira toda la fila */
  .ah-game__t,.ah-game__t>span,.ah-jp__t,.ah-m2ll__riv,.ah-m2ll__riv>span,
  .ah-m2__team,.ah-m2tr__txt,.ah-panel__row{min-width:0}
  .ah-game__t>span,.ah-jp__home,.ah-jp__away{overflow-wrap:anywhere}

  /* ---- 1.1 barra única de 56 px ---- */
  .site-header{position:sticky;top:0;z-index:70;box-sizing:border-box;height:56px}
  .admin-bar .site-header{top:46px}
  /* el borde inferior entra DENTRO de los 56 px del ТЗ, no encima */
  /* GeneratePress apila esta caja en columna en su breakpoint móvil: hay que
     forzar la fila, si no el botón de menú cae debajo del logotipo. */
  .inside-header{box-sizing:border-box;min-height:55px;height:55px;padding:0 16px;
    display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}
  .inside-header .site-title{flex:0 1 auto;text-align:left}
  .site-title{font-size:21px}
  .site-title a:after{margin-left:6px;padding:2px 5px;font-size:8px;vertical-align:4px}
  html{scroll-padding-top:66px}
  [id^="ah-s-"],.ah-m2 h2,.ah-m2 h3{scroll-margin-top:66px}

  /* ---- 1.3 tira de eventos: scroll dentro, no arrastra la página ---- */
  .ah-topnav{position:relative}
  .ah-topnav .ah-shell{width:100%;padding-left:16px;padding-right:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ah-topnav a{padding:12px 14px;font-size:11.5px}
  /* el degradado avisa de que hay más a la derecha */
  .ah-topnav.has-more:after,.ah-m2anchors.has-more:after,.ah-anchors.has-more:after,
  .ah-jpwrap.has-more:after,.ah-jrwrap.has-more:after,.ah-tabwrap.has-more:after{
    content:"";position:absolute;top:0;right:0;bottom:0;width:34px;pointer-events:none}
  .ah-topnav.has-more:after{background:linear-gradient(90deg,rgba(32,35,46,0) 0,var(--ah-slate) 88%)}
  .ah-m2anchors.has-more:after,.ah-anchors.has-more:after,.ah-jpwrap.has-more:after,
  .ah-jrwrap.has-more:after,.ah-tabwrap.has-more:after{background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 86%)}

  /* ---- 1.4 botón «arriba» ---- */
  .ah-top{right:16px;bottom:16px;width:46px;height:46px}

  /* ---- 2.2 una sola columna, sidebar al final ----
     `1fr` a secas NO encoge por debajo del contenido (min-width:auto), así que
     una tarjeta ancha estiraba toda la columna a 491 px en pantallas de 320.
     `minmax(0,1fr)` es lo que permite que la pista se comprima de verdad. */
  .ah-page-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 0 44px}
  .ah-page-content,.ah-page-content.ah-m2{max-width:100%;min-width:0}
  .ah-sidebar{position:static;max-height:none;overflow:visible}
  /* misma trampa en todas las rejillas internas del sitio */
  .ah-m2__t2,.ah-m2ll,.ah-m2cmp__row,.ah-m2cmp__head,.ah-m2odds,.ah-game--2l,
  .ah-jp__row,.ah-m2tr__row,.ah-m2bet__grid,.ah-board__cols,.ah-board__grp,
  .ah-hubs,.ah-bonos,.ah-hero__grid,.ah-hot__grid,.ah-trust__grid{min-width:0}
  .ah-m2__t2>*,.ah-m2ll>*,.ah-m2cmp__row>*,.ah-game--2l>*,.ah-jp__row>*,
  .ah-m2tr__row>*,.ah-m2bet__grid>*{min-width:0}

  /* ---- 6. tipografía y zonas táctiles ---- */
  body{font-size:16px;line-height:1.6}
  .ah-page-content p,.ah-prose p{font-size:16px;line-height:1.6}
  .ah-page-hero h1{font-size:clamp(26px,7vw,34px)}
  .ah-page-content h2,.ah-m2 h2{font-size:21px}
  .ah-m2 h3{font-size:16px}
  .ah-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .ah-faq summary{min-height:48px;display:flex;align-items:center;gap:12px;padding:14px 0}
  .ah-faq summary span{margin-left:auto}
}

/* ============ solo móvil (≤767 px) ============ */
@media(max-width:767px){

  /* ---- 3.1 tarjeta del partido en vertical ---- */
  .ah-m2card{padding:0}
  .ah-m2__t1{flex-wrap:wrap;gap:4px 10px;padding:12px 14px;font-size:10.5px}
  .ah-m2__comp{flex:1 1 100%}
  .ah-m2__t2{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:16px 12px}
  .ah-m2__team{min-width:0}
  .ah-m2__logo,i.ah-m2__logo{width:48px;height:48px}
  .ah-m2__team b{font-size:14px;line-height:1.2;overflow-wrap:anywhere}
  .ah-m2__team small{font-size:9.5px}
  .ah-m2__vs i{font-size:15px}
  /* 3.1: los tres datos en dos columnas, cada uno etiqueta + valor */
  .ah-m2__t3,.ah-m2__t3--3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;border-top:1px solid var(--ah-line)}
  .ah-m2__t3 span,.ah-m2__t3--3 span{padding:10px 12px;text-align:left;border-right:1px solid var(--ah-line-2,#eef0f4);border-bottom:1px solid var(--ah-line-2,#eef0f4)}
  .ah-m2__t3--3 span:nth-child(3){grid-column:1/-1;border-right:0}
  .ah-m2__t3 b{font-size:13px;overflow-wrap:anywhere}
  .ah-m2__count{margin:0;padding:10px 12px;font-size:12px}

  /* ---- 3.2 anclas con scroll interno ---- */
  .ah-m2anchors{position:sticky;top:56px;margin-left:0;margin-right:0;padding:6px 0}
  .ah-m2anchors>div{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ah-m2anchors>div::-webkit-scrollbar{display:none}
  .ah-m2anchors a{min-width:max-content;padding:9px 12px;font-size:12.5px}

  /* ---- 3.3 momios 1X2 en tres celdas iguales ---- */
  .ah-m2odds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .ah-m2odds span{min-width:0;padding:12px 6px;text-align:center}
  .ah-m2odds small{font-size:9.5px}
  .ah-m2odds b{font-size:19px}

  /* ---- 3.4 CTA del buc en tres filas ---- */
  .ah-ctabar{flex-direction:column;align-items:stretch;gap:12px;padding:16px}
  .ah-ctabar__brand{justify-content:flex-start}
  .ah-ctabar p{font-size:14px}
  .ah-ctabar .ah-btn{width:100%;min-height:48px}

  /* ---- 4.2 próximos partidos: de tabla a tarjetas ---- */
  .ah-board__grp,.ah-board__cols{display:none}
  .ah-board{border:0;background:none;border-radius:0;overflow:visible}
  .ah-board__head{border-radius:8px 8px 0 0}
  .ah-game--2l{display:grid;grid-template-columns:1fr;gap:10px;padding:14px;
    border:1px solid var(--ah-line);border-radius:10px;background:#fff;margin-bottom:10px}
  .ah-game--2l time{flex-direction:row;gap:8px;align-items:baseline;color:var(--ah-muted)}
  .ah-game--2l time small{font-size:11.5px}
  .ah-game--2l time b{font-size:13px;font-weight:800}
  .ah-game--2l .ah-game__t{display:grid;gap:4px}
  .ah-game--2l .ah-game__home,.ah-game--2l .ah-game__away{font-size:15px}
  .ah-game--2l .ah-game__odds{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;justify-content:stretch}
  .ah-game--2l .ah-game__odds i{min-width:0;padding:8px 4px}
  .ah-game__ou,.ah-game__btts{display:grid;gap:6px}
  .ah-game__ou{grid-template-columns:1fr 1fr}
  .ah-game__ou i,.ah-game__btts i{min-width:0;padding:8px 4px;font-size:13px}
  /* etiqueta encima de los mercados extra: sin cabecera de tabla hay que decir qué son */
  .ah-game__ou:before{content:"Total 2.5";grid-column:1/-1}
  .ah-game__btts:before{content:"Ambos anotan: Sí"}
  .ah-game__ou:before,.ah-game__btts:before{color:var(--ah-muted);font-size:9.5px;font-weight:900;
    letter-spacing:.08em;text-transform:uppercase}
  /* ТЗ-10 (вёрстка, 15.08): рынок целиком без данных на móvil не занимает
     место — раньше пустые Total/Ambos с гионами растягивали каждую строку */
  .ah-game__ou:not(:has(i:not(.is-empty))),
  .ah-game__btts:not(:has(i:not(.is-empty))){display:none}
  .ah-game--2l .ah-game__cta{width:100%;min-height:48px;justify-content:center}
  /* 4.2: el overlay cubre la tarjeta pero NO el botón — el tap en el botón
     debe ir al buc, no a la página del partido */
  .ah-game--2l .ah-mlink{z-index:1}
  .ah-game--2l .ah-game__cta{position:relative;z-index:2}

  /* ---- 4.3 resultados de jornadas: tarjetas ---- */
  .ah-jp__panel{border:0;background:none;overflow:visible}
  .ah-jp__sum{flex-direction:column;gap:2px;margin-bottom:10px;padding:12px 14px;
    border:1px solid var(--ah-line);border-radius:10px}
  .ah-jp__sum small{line-height:1.5}
  .ah-jp__row{grid-template-columns:1fr auto;grid-template-areas:"fecha chev" "local marcador" "visita marcador";
    gap:6px 10px;padding:12px 14px;border:1px solid var(--ah-line);border-radius:10px;background:#fff;margin-bottom:8px}
  .ah-jp__row time{grid-area:fecha}
  .ah-jp__home{grid-area:local;justify-content:flex-start;text-align:left}
  .ah-jp__away{grid-area:visita;justify-content:flex-start;text-align:left}
  .ah-jp__home img,.ah-jp__home .ah-initial{order:-1}
  .ah-jp__score{grid-area:marcador;align-self:center}
  .ah-jp__chev{grid-area:chev;display:block;align-self:start}
  /* la pestaña de jornada se desliza, no se apila en cinco líneas */
  .ah-jp__nav,.ah-jr__nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .ah-jp__nav::-webkit-scrollbar,.ah-jr__nav::-webkit-scrollbar{display:none}
  .ah-jp__tab,.ah-jr__tab{flex:none;min-height:44px}

  /* ---- 4.4 tabla general: scroll interno, primera y última columna fijas ---- */
  .ah-tabwrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ah-stand{min-width:560px}
  .ah-stand th,.ah-stand td{background:#fff}
  .ah-stand thead th{background:var(--ah-ink)}
  .ah-stand .ah-stand__pos{position:sticky;left:0;z-index:2}
  .ah-stand .ah-stand__team{position:sticky;left:34px;z-index:2;box-shadow:6px 0 8px -6px rgba(20,22,29,.22)}
  /* los puntos también deben verse sin desplazar (ТЗ 4.4): se anclan a la derecha */
  .ah-stand .ah-stand__pts{position:sticky;right:0;z-index:2;box-shadow:-6px 0 8px -6px rgba(20,22,29,.22)}
  .ah-stand thead .ah-stand__pos,.ah-stand thead .ah-stand__team,.ah-stand thead .ah-stand__pts{z-index:3}
  .ah-stand__team span{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* ---- 4.5 comparativa: título arriba, valores y barras debajo ---- */
  .ah-m2cmp__head{grid-template-columns:1fr auto 1fr;padding:10px 12px}
  .ah-m2cmp__head b:first-child{grid-column:1}
  .ah-m2cmp__head b:last-child{grid-column:3}
  .ah-m2cmp__head span{grid-column:2}
  .ah-m2cmp__row{grid-template-columns:38px minmax(60px,1fr) minmax(60px,1fr) 38px;
    grid-template-areas:"lab lab lab lab" "vh bh ba va";gap:5px 6px;padding:10px 12px}
  .ah-m2cmp__lab{grid-area:lab;font-size:11.5px;text-align:center;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ah-m2cmp__row .ah-m2cmp__v:first-of-type{grid-area:vh}
  .ah-m2cmp__row .ah-m2cmp__v:last-of-type{grid-area:va}
  .ah-m2cmp__bar--h{grid-area:bh}
  .ah-m2cmp__bar--a{grid-area:ba}
  .ah-m2cmp__bar{min-height:6px;height:8px}
  .ah-m2cmp__v{font-size:14px}

  /* ---- 4.6 cara a cara: tarjeta por duelo ---- */
  .ah-game--logos{grid-template-columns:1fr auto;gap:8px;padding:12px 14px;
    border:1px solid var(--ah-line);border-radius:10px;background:#fff;margin-bottom:8px}
  .ah-game--logos time{font-size:11.5px;color:var(--ah-muted)}
  .ah-game--logos .ah-game__t{grid-column:1/-1}
  .ah-game--logos .ah-game__t strong{font-size:14px;overflow-wrap:anywhere}

  /* ---- 5.1 tendencias en vertical ---- */
  .ah-m2tr__row,.ah-m2tr__row.has-odds{display:grid;grid-template-columns:10px 1fr;gap:8px 10px;padding:14px}
  .ah-m2tr__mk{grid-column:2;display:flex;align-items:baseline;gap:8px;text-align:left}
  .ah-m2tr__mk small{font-size:11.5px}
  .ah-m2tr__btn{grid-column:2;width:100%;min-height:44px;justify-content:center}

  /* ---- 5.2 pronóstico ---- */
  .ah-m2bet{padding:14px 14px 14px 18px}
  .ah-m2bet__grid{display:grid;grid-template-columns:1fr auto;gap:12px}
  .ah-m2bet__grid>span:first-child{grid-column:1/-1}
  .ah-m2bet__btn{grid-column:1/-1;width:100%;min-height:48px;justify-content:center;margin-left:0}
  .ah-m2alt{flex-wrap:wrap;gap:6px 10px;padding:10px 14px}
  .ah-m2alt b{flex:1 1 100%;order:2}
  .ah-m2alt i{order:3;margin-left:0}

  /* ---- 5.3 alineaciones ---- */
  .ah-m2pl img,.ah-m2pl__ini{width:30px;height:30px}
  /* 5.3: el dorsal desaparece y el apellido se ve entero (antes salía «Gutierrez…») */
  .ah-m2pl small{max-width:76px;font-size:11px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15}
  .ah-m2pl__n{display:none}

  /* ---- 6. zonas táctiles ---- */
  /* 6: toda la navegación con zona táctil de 44 px */
  .ah-sidebar a,.ah-topnav a,.ah-footer__top a,.ah-anchors a,.ah-m2anchors a,
  .ah-m2more a,.ah-jp__tab,.ah-jr__tab{min-height:44px;display:flex;align-items:center}
  .ah-footer__top a{padding:10px 0}
}

/* A 320 px el campo de juego no cabe con las etiquetas legibles (ТЗ 5.3):
   se cambia por el listado por líneas, que el plugin ya imprime debajo. */
@media(max-width:359px){
  .ah-m2field{display:none}
  .ah-m2lineup__list{display:block}
}

/* Alineación por líneas: oculta salvo en pantallas donde el campo no cabe (ТЗ №7 5.3) */
.ah-m2lineup__list{display:none;margin-top:14px}
.ah-m2lineup__team{padding:12px 14px;border:1px solid var(--ah-line);border-radius:10px;background:#fff;margin-bottom:8px}
.ah-m2lineup__team>b{display:block;margin-bottom:8px;font-size:14px}
.ah-m2lineup__team p{margin:0 0 8px;font-size:13px;line-height:1.5;color:#333b47}
.ah-m2lineup__team p:last-child{margin-bottom:0}
.ah-m2lineup__team small{display:block;color:var(--ah-muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}

/* «Jugadores a seguir» es un carrusel horizontal en escritorio. El ТЗ №7 7.3
   solo admite scroll horizontal en cuatro bloques y este no está entre ellos,
   así que en móvil pasa a rejilla de dos columnas. */
@media(max-width:767px){
  .ah-m2pjs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding-bottom:0}
  .ah-m2pj{flex:none;min-width:0;padding:12px 10px}
  .ah-m2pj b,.ah-m2pj small{overflow-wrap:anywhere}
}
@media(max-width:359px){
  .ah-m2pjs{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:767px){
  /* 4.4: la tabla recortada de la página de partido se desplaza dentro de su
     caja, con posición, equipo y puntos siempre a la vista. A 320 px la fila
     medía 331 px y «PTS» se salía. */
  .ah-m2tb{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}
  .ah-m2tb__head,.ah-m2tb__row{min-width:330px;grid-template-columns:26px minmax(96px,1fr) 28px 24px 24px 24px 34px 36px;gap:5px;padding:8px 8px;font-size:12px}
  .ah-m2tb__team span,.ah-m2tb__team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ah-m2tb__gap{min-width:330px}

  /* 6: las migas también son navegación — zona táctil de 44 px sin engordar el texto */
  .ah-m2crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}
  .ah-m2crumbs a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
}

@media(max-width:767px){
  /* 6: el enlace del encabezado de sección y las pestañas de la tabla también
     son navegación, y llegaban con 21 y 33 px de alto. */
  .ah-head a{display:inline-flex;align-items:center;min-height:44px}
  .ah-tabs__b{min-height:44px;padding:0 15px}
}

@media(max-width:767px){
  /* 6: últimos enlaces por debajo de 44 px — pies de tarjeta de la portada.
     Ojo: .ah-fight__foot es el contenedor (flex, space-between) y el enlace va
     dentro; tocar el contenedor le rompía el reparto. */
  .ah-link,.ah-fixture__foot{display:inline-flex;align-items:center;min-height:44px}
  .ah-fixture__foot{justify-content:center;width:100%}
  .ah-fight__foot{align-items:center;min-height:44px;padding-top:0;padding-bottom:0}
  .ah-fight__foot a{display:inline-flex;align-items:center;min-height:44px}
}

@media(max-width:767px){
  /* La tira de jornadas es un carrusel: `flex-basis:100%` venía de la versión
     apilada y convertía cada aviso de pausa en una columna de cuatro líneas. */
  .ah-jr__pause{flex:none;flex-basis:auto;white-space:nowrap;padding:0 10px;
    display:inline-flex;align-items:center;min-height:44px}
}

/* ============================================================
 * Правки №8 (01.08.2026) — §3 marcador en la columna del botón,
 * §4 tarjeta del jugador en su propia capa, §5 mitades del campo.
 * ============================================================ */

/* ---- §3 partido jugado dentro del bloque de la jornada ----
   Las celdas de momios se imprimen vacías para que la rejilla no se mueva:
   el marcador ocupa exactamente la columna del botón `Momios →`. */
.ah-game--fin{background:#f7f8fa}
.ah-game--fin .ah-game__t img,.ah-game--fin .ah-game__t i{filter:saturate(.35);opacity:.75}
.ah-game--fin .ah-game__home,.ah-game--fin .ah-game__away{color:#7b8494}
.ah-game__score{display:block;text-align:center;font:800 15px/1.2 var(--ah-sans);
  color:var(--ah-ink);font-variant-numeric:tabular-nums;position:relative;z-index:2;pointer-events:none}
.ah-game--fin time b{color:var(--ah-muted);font-size:10px;letter-spacing:.06em}

/* ---- §4 tarjeta del jugador, clonada en `body` ---- */
.ah-m2tip{position:absolute;z-index:1000;display:flex;flex-direction:column;gap:2px;
  width:max-content;min-width:160px;max-width:220px;padding:10px 12px;border-radius:10px;
  background:rgba(15,17,24,.94);color:#fff;box-shadow:0 8px 24px rgba(11,13,18,.35);
  text-align:left;pointer-events:none;opacity:0;transition:opacity .12s ease}
.ah-m2tip.is-on{opacity:1}
.ah-m2tip[hidden]{display:none}
.ah-m2tip b{font:700 14.5px/1.25 var(--ah-sans);color:#fff}
.ah-m2tip i{font-style:normal;font-size:12.5px;color:#b9c0cf}
.ah-m2tip .ah-m2pl__cn{color:#8b93a4;font-weight:600}
/* el indicador apunta al avatar: `--px` lo coloca el JS */
.ah-m2tip:after{content:"";position:absolute;left:var(--px,50%);top:100%;margin-left:-6px;
  border:6px solid transparent;border-top-color:rgba(15,17,24,.94)}
.ah-m2tip.is-down:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:rgba(15,17,24,.94)}

/* ---- §5 mitad del campo sin posiciones (B) o sin once (C) ---- */
.ah-m2half{position:absolute;top:0;bottom:0;width:50%;box-sizing:border-box;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 10px}
.ah-m2half.t0{left:0}
.ah-m2half.t1{right:0}
.ah-m2half--list>b{color:#fff;font:800 13px/1.2 var(--ah-sans);text-shadow:0 1px 2px #0009;text-align:center}
.ah-m2half--list ul{display:flex;flex-direction:column;flex-wrap:wrap;gap:2px 14px;
  max-height:100%;margin:0;padding:0;list-style:none;align-content:center}
.ah-m2half--list li{color:#fff;font:700 11px/1.45 var(--ah-sans);text-shadow:0 1px 2px #0009;white-space:nowrap}
.ah-m2half--none span{color:#ffffffd9;font:700 12.5px/1.3 var(--ah-sans);text-shadow:0 1px 2px #0009;text-align:center}
.ah-m2field__nota{margin:8px 0 0;color:var(--ah-muted);font-size:12.5px;line-height:1.5;text-align:left}

@media(max-width:760px){
  /* el campo se pone vertical: las mitades pasan a arriba y abajo */
  .ah-m2half{top:auto;left:0;right:auto;width:100%;height:50%}
  .ah-m2half.t0{top:0}
  .ah-m2half.t1{bottom:0}
  .ah-m2half--list li{font-size:10.5px}
}
@media(max-width:700px){
  /* la columna del botón desaparece en móvil, pero el marcador no: se queda
     en la parte derecha de la tarjeta, en el sitio que ocupaba el botón */
  .ah-game--2l.ah-game--fin{grid-template-columns:52px 1fr 108px auto}
  .ah-game--fin .ah-game__score{padding-left:8px}
}
@media(max-width:560px){
  .ah-game--2l.ah-game--fin{grid-template-columns:48px 1fr auto}
  .ah-game--fin .ah-game__odds,.ah-game--fin .ah-game__ou,.ah-game--fin .ah-game__btts{display:none}
}
@media (hover: hover) and (pointer: fine){
  .ah-game--fin.has-link:hover{background:#eef1f5}
}


/* ——— ТЗ-10 (15.08.2026): классифицированные LC + результаты вкладками ——— */
.ah-lcq{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ah-lcq__col{padding:18px;border-top:4px solid var(--ah-accent);background:#fff;border:1px solid #e5e7eb;border-top-width:4px;border-top-color:var(--ah-accent);border-radius:8px}
.ah-lcq__col h3{margin:0 0 10px;font-size:14px;letter-spacing:-.01em}
.ah-lcq__row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eef0f3}
.ah-lcq__row:last-child{border-bottom:0}
.ah-lcq__row i{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--ah-ink);color:#fff;font-style:normal;font-size:10px;font-weight:800}
.ah-lcq__row b{font-size:13.5px}
.ah-lcq__row small{margin-left:auto;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){.ah-lcq{grid-template-columns:1fr}}
.ah-lcres__tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.ah-lcres__tabs button{min-height:40px;padding:0 14px;border:1px solid #d6dae1;border-radius:6px;background:#fff;font:800 12px var(--ah-sans,sans-serif);cursor:pointer;color:var(--ah-ink)}
.ah-lcres__tabs button.is-on{background:var(--ah-ink);color:#fff;border-color:var(--ah-ink)}
.ah-lcres__mx{margin-left:auto;display:flex;gap:7px;align-items:center;font-size:12.5px;font-weight:600;cursor:pointer}
.ah-lcres__mx input{width:16px;height:16px;accent-color:var(--ah-primary)}
@media(max-width:700px){.ah-lcres__mx{margin-left:0;width:100%}}

/* v0.31.0 (03.09.2026): обзоры операторов, бонус-страницы, витрина, стики-бар */
.ah-brand--betmexico{background:#006847}
.ah-brand--novibet{background:#0f7bd4}
.ah-review-hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.ah-review-hero__meta{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;color:#4b5563;font-size:14px}
.ah-review-score{background:var(--ah-ink,#111827);color:#fff;font-weight:800;border-radius:14px;padding:3px 11px;font-size:13px}
.ah-offer-card{border:2px solid var(--ah-line);border-radius:12px;padding:16px;margin-bottom:16px;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.ah-offer-card__score{font-size:24px;letter-spacing:-.02em}
.ah-offer-card__bonus{margin:0;font-weight:700;font-size:14.5px;line-height:1.4}
.ah-offer-card small{color:var(--ah-muted);font-size:12px}
.ah-offer-card__badges{display:flex;flex-wrap:wrap;gap:5px}
.ah-offer-card__badges b{background:var(--ah-soft,#f3f4f6);border:1px solid var(--ah-line);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}
.ah-offer-card .ah-btn{width:100%;text-align:center;justify-content:center}
.ah-verdict-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--ah-line);border-left:5px solid var(--ah-accent,#16a34a);border-radius:11px;padding:18px 22px;background:#fff}
.ah-verdict-strip b{display:block;font-size:18px;margin:4px 0 6px}
.ah-verdict-strip p{margin:0;color:var(--ah-muted);font-size:13.5px;max-width:560px}
.ah-verdict-strip .ah-btn{white-space:nowrap}
.ah-bonocard{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ah-ink,#111827);color:#fff;border-radius:12px;padding:20px 24px}
.ah-bonocard__body{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.ah-bonocard__body b{font-size:clamp(16px,2vw,20px);line-height:1.3}
.ah-bonocard__body small{color:#9ca3af;font-size:12.5px}
.ah-bonocard .ah-btn{white-space:nowrap}
.ah-bono-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:22px}
.ah-bono-tile{position:relative;display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--ah-line);border-radius:11px;padding:17px}
.ah-bono-tile--top{border:2px solid var(--ah-accent,#16a34a);box-shadow:0 4px 16px #11182714}
.ah-bono-tile__flag{position:absolute;top:-10px;left:14px;background:var(--ah-accent,#16a34a);color:#fff;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:11px}
.ah-bono-tile__head{display:flex;align-items:center;gap:10px}
.ah-bono-tile__head b{font-size:15.5px}
.ah-bono-tile p{margin:0;font-size:14px;font-weight:700;line-height:1.4;min-height:40px}
.ah-bono-tile small{color:var(--ah-muted);font-size:12px}
.ah-bono-tile__act{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.ah-bono-tile__more{font-size:13px;font-weight:700;white-space:nowrap}
.ah-sticky-offer{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:50%;min-width:560px;max-width:820px;z-index:990;display:flex;align-items:center;gap:12px;background:var(--ah-ink,#111827);color:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 8px 26px #11182752}
.ah-sticky-offer__txt{min-width:0;flex:1;line-height:1.25}
.ah-sticky-offer__txt b{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af}
.ah-sticky-offer__txt span{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ah-sticky-offer__btn{white-space:nowrap;flex:none}
.ah-sticky-offer__close{flex:none;background:none;border:0;color:#9ca3af;font-size:21px;line-height:1;cursor:pointer;padding:3px 6px}
.ah-sticky-offer__close:hover{color:#fff}
body.ah-has-sticky{padding-bottom:84px}
@media(max-width:760px){
.ah-review-hero__row{flex-direction:column;align-items:flex-start}
.ah-sticky-offer{bottom:0;left:0;transform:none;width:100%;min-width:0;max-width:none;border-radius:0;padding:9px 11px;gap:9px}
body.ah-has-sticky{padding-bottom:76px}
.ah-bonocard{flex-direction:column;align-items:flex-start}
.ah-bonocard .ah-btn{width:100%;justify-content:center;text-align:center}
.ah-verdict-strip{flex-direction:column;align-items:flex-start}
.ah-verdict-strip .ah-btn{width:100%;text-align:center;justify-content:center}
}
.ah-brand--melbet{background:#f0aa12;color:#111827}

/* ---- 0.32.0 (08.09.2026): NFL en vivo + Leagues Cup en modo balance ---- */
.ah-nfl .ah-game__t small{white-space:normal}
.ah-nfl__confs{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ah-nfl__conf h3{margin:0 0 12px;font-size:16px;letter-spacing:-.01em}
.ah-nfl__div{margin-bottom:14px}
.ah-stand--nfl{min-width:0;font-size:13px}
.ah-stand--nfl th.ah-stand__team{font-size:11px}
.ah-stand--nfl .ah-stand__team{min-width:150px}
.ah-stand--nfl td{padding:9px 6px}
@media(max-width:920px){.ah-nfl__confs{grid-template-columns:1fr}}
@media(max-width:560px){.ah-stand--nfl{min-width:0}.ah-stand--nfl .ah-stand__team{min-width:120px}.ah-stand--nfl .ah-stand__team span{font-size:12px}}
.ah-lcwin{display:grid;gap:16px}
.ah-lcwin__champ{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--ah-line);border-left:4px solid var(--ah-accent);border-radius:10px;background:#fff}
.ah-lcwin__logo{width:64px;height:64px;object-fit:contain;flex:none}
.ah-lcwin__champ>div{min-width:0}
.ah-lcwin__champ small{display:block;color:var(--ah-muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ah-lcwin__champ b{display:block;margin:4px 0 6px;font-size:clamp(24px,3.4vw,34px);line-height:1;letter-spacing:-.03em}
.ah-lcwin__champ span{display:block;color:#3d4553;font-size:13px;line-height:1.5}
.ah-lcwin__champ span small{display:inline;color:var(--ah-muted);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.ah-lcq__row img,.ah-lcq__row .ah-initial{width:22px;height:22px;object-fit:contain;flex:none}
.ah-lcq__row--path{align-items:flex-start}
.ah-lcq__row--path>div{min-width:0}
.ah-lcq__row--path b em{margin-left:6px;padding:2px 6px;border-radius:4px;background:#e9f5ee;color:#08603a;font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;vertical-align:1px}
.ah-lcq__row--path small{display:block;margin:3px 0 0;white-space:normal;color:#6b7280;font-size:12px;line-height:1.45}
.ah-game__odds i.ah-score small{font-size:10px;font-weight:700;color:var(--ah-muted)}
@media(max-width:560px){.ah-lcwin__champ{gap:12px;padding:16px}.ah-lcwin__logo{width:48px;height:48px}}

/* ---- 0.33.0 (08.09.2026): Selección Mexicana — hub y página de partido (B1) ---- */
.ah-selcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ah-selcard{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px 20px;border:1px solid var(--ah-line);border-top:4px solid var(--ah-accent);border-radius:10px;background:#fff}
@media (hover: hover) and (pointer: fine){.ah-selcard.has-link{transition:border-color .18s ease,box-shadow .18s ease}.ah-selcard.has-link:hover{border-top-color:var(--ah-primary);box-shadow:0 10px 26px rgba(20,22,29,.08)}}
.ah-selcard__top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.ah-selcard__top span{color:var(--ah-accent)}
.ah-selcard__top time{color:var(--ah-muted)}
.ah-selcard__vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}
.ah-selcard__team{display:flex;align-items:center;gap:10px;min-width:0}
.ah-selcard__team--away{flex-direction:row-reverse;text-align:right}
.ah-selcard__team img{width:34px;height:24px;object-fit:cover;border-radius:3px;flex:none;box-shadow:0 0 0 1px var(--ah-line)}
.ah-selcard__team .ah-initial{width:34px;height:24px;border-radius:3px}
.ah-selcard__team b{font-size:17px;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere}
.ah-selcard__vs i{font-style:normal;color:#8a94a6;font-size:13px;font-weight:800}
.ah-selcard__score{font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ah-selcard__meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#5a6472;font-size:13px}
.ah-selcard__meta a{position:relative;z-index:2;color:var(--ah-primary);font-weight:800;text-decoration:none;white-space:nowrap}
.ah-selres .ah-game__t small{white-space:normal}
.ah-selres .ah-game__odds{align-items:center}
.ah-selres .ah-game__odds .ah-frm{width:20px;height:20px;font-size:10px;padding:0;border:0}
.ah-selhero{padding:38px 0 34px}
.ah-selhero__vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;max-width:760px;margin:22px 0 0;padding:18px 0 0;border-top:1px solid #ffffff1a}
.ah-selhero__team{display:flex;align-items:center;gap:14px;min-width:0}
.ah-selhero__team>div{min-width:0}
.ah-selhero__team--away{flex-direction:row-reverse;text-align:right}
.ah-selhero__team img{width:60px;height:42px;object-fit:cover;border-radius:4px;flex:none;box-shadow:0 0 0 1px #ffffff33}
.ah-selhero__team .ah-initial{width:60px;height:42px;border-radius:4px;font-size:14px}
.ah-selhero__team b{display:block;font-size:clamp(20px,2.8vw,30px);line-height:1.02;letter-spacing:-.03em;overflow-wrap:anywhere}
.ah-selhero__team small{display:block;margin-top:5px;color:#9aa2b4;font-size:10px;font-weight:900;letter-spacing:.1em}
.ah-selhero__mid{text-align:center}
.ah-selhero__mid i{font-style:normal;color:#8a94a6;font-size:20px;font-weight:800}
.ah-selhero__mid small{display:block;margin-top:4px;color:#ffd0dc;font-size:10px;font-weight:900;letter-spacing:.1em}
.ah-selhero__score{font-size:clamp(30px,4vw,44px);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ah-selhero__goles{margin:10px 0 0;color:#b9c0cf;font-size:13px}
.ah-selhero .ah-event-meta{margin-top:18px}
@media(max-width:700px){.ah-selcards{grid-template-columns:1fr}}
@media(max-width:560px){
  .ah-selhero__vs{gap:10px}
  .ah-selhero__team{flex-direction:column;align-items:flex-start;gap:8px}
  .ah-selhero__team--away{align-items:flex-end}
  .ah-selhero__team img,.ah-selhero__team .ah-initial{width:46px;height:32px}
  .ah-selcard{padding:16px}
  .ah-selcard__team b{font-size:15px}
}

/* ---- 0.34.0 (08.09.2026): MLB, LMP, LNBP y UFC — hubs en vivo (plan C1–C4) ---- */
.ah-dep .ah-game__t small{white-space:normal}
.ah-dep__confs{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ah-dep__conf h3{margin:0 0 12px;font-size:16px;letter-spacing:-.01em}
.ah-dep__div{margin-bottom:14px}
.ah-stand--dep{min-width:0;font-size:13px}
.ah-stand--dep th.ah-stand__team{font-size:11px}
.ah-stand--dep .ah-stand__team{min-width:150px}
.ah-stand--dep td{padding:9px 6px}
.ah-stand--lmp,.ah-stand--lnbp{min-width:600px}
.ah-stand--wc th{background:#2b3040}
.ah-stand tr.is-playin td{background:#f4f9f6}
.ah-stand tr.is-playin td:first-child{box-shadow:inset 3px 0 0 #9ccfb0}
.ah-dep__pic{padding:16px 18px;border:1px solid var(--ah-line);border-left:4px solid var(--ah-accent);border-radius:8px;background:#fff}
.ah-dep__pic h3{margin:0 0 10px}
.ah-dep__pic p{margin:0 0 8px;font-size:14px;line-height:1.5;color:#333b47}
.ah-dep__pic p:last-child{margin:0}
.ah-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px}
.ah-teams__t{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--ah-line);border-radius:8px;background:#fff;font-size:14px}
.ah-teams__t img{width:26px;height:26px;object-fit:contain;flex:none}
.ah-teams__t b{overflow-wrap:anywhere}
.ah-series{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ah-serie{min-width:0;border:1px solid var(--ah-line);border-radius:10px;background:#fff;overflow:hidden}
.ah-serie.is-final{border-top:3px solid var(--ah-accent)}
.ah-serie__head{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--ah-ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ah-serie__vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:14px}
.ah-serie__team{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px}
.ah-serie__team--r{flex-direction:row-reverse;text-align:right}
.ah-serie__team img{width:26px;height:26px;object-fit:contain;flex:none}
.ah-serie__team b{overflow-wrap:anywhere}
.ah-serie__team.is-win b{color:#08603a}
.ah-serie__score{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ah-primary);white-space:nowrap}
.ah-serie__games{margin:0;padding:0 14px 12px;list-style:none;font-size:12.5px;color:#3d4553}
.ah-serie__games li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:8px;padding:5px 0;border-top:1px solid var(--ah-line)}
.ah-serie__games li span:first-child{color:var(--ah-muted);white-space:nowrap}
.ah-serie__games b{color:var(--ah-ink);white-space:nowrap}
.ah-ufc__list{display:grid;gap:16px}
.ah-ufc{min-width:0;border:1px solid var(--ah-line);border-radius:10px;background:#fff;overflow:hidden}
.ah-ufc__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;padding:13px 16px;background:var(--ah-ink);color:#fff}
.ah-ufc__head b{font-size:15px;letter-spacing:-.01em}
.ah-ufc__head span{color:#b9c0cf;font-size:12px}
.ah-ufc__fight{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--ah-line);font-size:14px}
.ah-ufc__fight.is-main{background:#fbf7f7}
.ah-ufc__fight small{color:var(--ah-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-align:center;white-space:nowrap}
.ah-ufc__f{min-width:0;font-weight:700;overflow-wrap:anywhere}
.ah-ufc__f--r{text-align:right}
.ah-ufc__f.is-win{color:#08603a}
.ah-ufc__f i{margin-left:5px;padding:1px 5px;border-radius:4px;background:#e9f5ee;color:#08603a;font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;vertical-align:1px}
.ah-ufc__f--r i{margin:0 5px 0 0}
@media(max-width:920px){.ah-dep__confs,.ah-series{grid-template-columns:1fr}}
@media(max-width:560px){
  .ah-stand--dep{min-width:440px}
  .ah-stand--lmp,.ah-stand--lnbp{min-width:600px}
  .ah-stand--dep .ah-stand__team{min-width:120px;left:0}
  .ah-stand--lmp .ah-stand__team,.ah-stand--lnbp .ah-stand__team{left:34px}
  .ah-stand--dep .ah-stand__team span{font-size:12px}
  .ah-ufc__fight{font-size:13px;gap:8px;padding:10px 12px}
  .ah-ufc__fight small{white-space:normal;max-width:84px}
  .ah-serie__games li{grid-template-columns:82px minmax(0,1fr) auto}
  .ah-teams{grid-template-columns:1fr 1fr}
}
