/* TFA Betting Layer — design system (from "TFA Betting Update" design).
   Light editorial: warm-grey page, white cards, pink #E6007E, green #138A4E odds. */
:root{
  --page:#e7e5df; --sec:#f7f7f5; --card:#fff; --ink:#15171a; --body:#222;
  --muted:#888888; --muted2:#9a9a9a; --line:#e8e8e8; --line2:#f0f0f0;
  --pink:#E6007E; --red:#E1131D; --green:#138A4E; --amber:#ffce5c;
  /* Brand fonts — aligned to the production TFA design (Roboto Slab headings, Roboto body). */
  --serif:'Roboto Slab',Georgia,'Times New Roman',serif; --sans:'Roboto',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--page);font-family:var(--sans);color:var(--ink);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased}
body.home-white{background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.tnum{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.green{color:var(--green)} .pink{color:var(--pink)} .red{color:var(--red)}

/* --- Insulate Brand Management widgets from our global element resets ---
   On takeover we dequeue the theme's CSS, but BM toplist/compare widgets ship their OWN
   namespaced CSS (+ the theme Customizer "Additional CSS", which we keep). Our globals
   (a{color:inherit}, img{display:block}, base font/line-height) must NOT bleed into them or
   the toplist renders subtly off vs the native theme. Reset to UA defaults inside BM wrappers;
   BM's own higher-specificity rules still win wherever it styles an element. */
[class*="toplist-customtheme-v2"] a,[class*="compare-bookies"] a,[class*="bm_toplist"] a{color:revert;text-decoration:revert}
[class*="toplist-customtheme-v2"] img,[class*="compare-bookies"] img,[class*="bm_toplist"] img{display:revert}
[class*="toplist-customtheme-v2"] ul,[class*="toplist-customtheme-v2"] ol,[class*="toplist-customtheme-v2"] li{list-style:revert;margin:revert;padding:revert}

/* --- Editorial tables — recover the jnews `.entry-content table` styling (theme CSS is
   dequeued on takeover). Scoped to our content wrappers (.prose = articles, .commercial-body). --- */
.prose table,.commercial-body table{width:-moz-fit-content;width:fit-content;max-width:100%;overflow-x:auto;word-break:break-word;margin:1em 0 30px;line-height:normal;color:#7b7b7b;border-collapse:collapse}
.prose table.has-fixed-layout,.commercial-body table.has-fixed-layout{width:100%}
.prose tr,.commercial-body tr{border-bottom:1px solid #eee}
.prose thead tr,.commercial-body thead tr{border-bottom:2px solid #eee}
.prose tbody tr:hover,.commercial-body tbody tr:hover{color:#53585c;background:#f7f7f7}
.prose td,.prose th,.commercial-body td,.commercial-body th{font-size:.85em;padding:8px 20px;border:0;border-left:1px solid #eee;border-right:1px solid #eee;text-align:left}
.prose th,.commercial-body th{color:#53585c;font-weight:700;vertical-align:middle}
.prose tbody tr:last-child,.prose td:first-child,.prose td:last-child,.prose th:first-child,.prose th:last-child,.commercial-body tbody tr:last-child,.commercial-body td:first-child,.commercial-body td:last-child,.commercial-body th:first-child,.commercial-body th:last-child{border:0}
/* Never let editorial table styling touch BM toplist tables (this selector out-specifies the rules above). */
.commercial-body [class*="toplist-customtheme-v2"] table,.commercial-body [class*="toplist-customtheme-v2"] tr,.commercial-body [class*="toplist-customtheme-v2"] td,.commercial-body [class*="toplist-customtheme-v2"] th{border:revert;padding:revert;font-size:revert;color:revert;background:revert;line-height:revert;text-align:revert;width:revert;margin:revert}

/* horizontal scrollbars */
.hs::-webkit-scrollbar,.lhs::-webkit-scrollbar{height:8px}
.hs::-webkit-scrollbar-thumb{background:rgba(0,0,0,.16);border-radius:8px}
.lhs::-webkit-scrollbar-thumb{background:#cfcfcf;border-radius:8px}

/* ---------- HEADER (two-tier, per updated design) ---------- */
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}
/* top utility bar */
.topbar{background:#15171a;color:#cfd3da}
.topbar-in{max-width:1180px;margin:0 auto;padding:8px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12.5px}
.topbar .tagline{font-weight:700;color:#e7e9ee}
.topbar-right{display:flex;align-items:center;gap:14px}
.topbar .badge18{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid #5a6072;border-radius:50%;font-size:9.5px;font-weight:900;color:#aab0bf}
.tb-oddsfmt{display:flex;align-items:center;gap:6px}
.tb-oddsfmt-lbl{font-size:11px;color:#8b92a0}
.tb-fmt{font-size:11px;font-weight:700;background:#21242b;border:1px solid #30343d;color:#cfd3da;border-radius:6px;padding:4px 9px;cursor:pointer;font-family:inherit}
.tb-fmt.on{border-color:var(--pink);color:var(--pink)}
/* main nav */
.hdr-outer{background:#fff;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--pink)}
.hdr{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:16px}
.hdr-logo{display:flex;align-items:center;line-height:1;cursor:pointer}
.hdr-logo img{height:32px;width:auto;display:block}
.hdr-nav{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:700;flex:1;flex-wrap:nowrap;margin-left:14px;min-width:0}
.hdr-nav a{color:var(--ink)}
.hdr-nav a.pink{color:var(--pink)}
.hdr-sep{width:1px;height:16px;background:#e0e0e0}
/* real WP "Header" menu with hover dropdowns */
.hdr-menu{display:flex;align-items:center;gap:13px;list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.hdr-menu > li{position:relative}
.hdr-menu > li > a{color:var(--ink);font-weight:700;font-size:13px;white-space:nowrap}
.hdr-menu .menu-item-has-children > a::after{content:"▾";color:#c4c4c4;font-size:10px;margin-left:4px}
.hdr-menu .sub-menu{position:absolute;top:100%;left:0;margin-top:9px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.13);min-width:215px;max-height:72vh;overflow-y:auto;padding:7px 0;display:none;z-index:60;list-style:none}
/* invisible bridge so the cursor can cross the gap without the menu closing */
.hdr-menu > li.menu-item-has-children::after{content:"";position:absolute;top:100%;left:0;width:100%;height:11px}
.hdr-menu li:hover > .sub-menu{display:block}
.hdr-menu .sub-menu li{display:block;position:relative}
.hdr-menu .sub-menu .sub-menu{top:-7px;left:100%;margin-top:0} /* 3rd level flies out to the RIGHT of its parent */
/* A parent menu that holds a flyout child must NOT clip it — overflow-y:auto forces overflow-x
   to clip too, which traps the 3rd level. Drop the scroll on those; leaf menus keep it. */
.hdr-menu .sub-menu:has(.menu-item-has-children){overflow:visible;max-height:none}
.hdr-menu .sub-menu a{display:block;padding:7px 16px;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.hdr-menu .sub-menu a:hover{background:var(--sec);color:var(--pink)}
.hdr-betting{display:flex;align-items:center;gap:13px}
.hdr-betting a{color:var(--pink);font-weight:700;font-size:13px;white-space:nowrap}
.hdr-search{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e6e6e6;border-radius:10px;color:#9a9a9a;cursor:pointer}
/* hamburger (mobile only) + scrim */
.hdr-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;margin-left:auto;background:#fff;border:1px solid #e6e6e6;border-radius:10px;cursor:pointer;padding:0 10px}
.hdr-burger span{display:block;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.hdr-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hdr-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hdr-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hdr-scrim{display:none;position:fixed;inset:0;background:rgba(15,17,20,.45);z-index:55}
.hdr-scrim.open{display:block}
/* drawer header (close button) — only shown inside the mobile drawer */
.hdr-nav-head{display:none}
.hdr-nav-close{background:none;border:0;font-size:30px;line-height:1;color:var(--ink);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.hdr-nav-close:hover{color:var(--pink)}

/* odds-format switcher */
.fmt-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.fmt-lbl{font-size:11px;color:var(--muted2)}
.fmt-btns{display:flex;gap:6px}
.fmt-btn{font-size:12px;font-weight:700;background:#fff;border:1px solid var(--line);color:#555;border-radius:8px;padding:7px 14px;cursor:pointer;font-family:inherit}
.fmt-btn.on{border-color:var(--pink);color:var(--pink)}
.odd{font-variant-numeric:tabular-nums}

/* ---------- LIVE ODDS TICKER ---------- */
.ticker-outer{border-bottom:1px solid #e6e6e6;background:#fff}
.ticker{max-width:1180px;margin:0 auto;display:flex;align-items:stretch;min-height:48px}
.ticker-btn{flex:none;display:flex;align-items:center;gap:9px;background:var(--ink);color:#fff;border:none;padding:0 18px;font-family:inherit}
.ticker-btn .dot{background:var(--red);box-shadow:0 0 7px var(--red)}
.ticker-btn .lbl{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.tick-comp{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0f1115;background:var(--amber);border-radius:5px;padding:3px 7px;margin-left:2px}
.ticker-scroll{flex:1;min-width:0;display:flex;align-items:stretch;overflow-x:auto}
.tick{flex:none;display:flex;align-items:center;gap:12px;padding:0 16px;border-right:1px solid #eee;cursor:pointer}
.tick:hover{background:#fafafa}
.tick-status{font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px;color:var(--green)}
.tick-teams{font-size:12.5px;font-weight:800;white-space:nowrap}
.tick-teams .v{color:#c8c8c8;font-weight:600}
.omini{display:flex;align-items:stretch;border:1px solid #eaeaea;border-radius:3px;overflow:hidden}
.omini > div{text-align:center;padding:3px 9px;border-right:1px solid #f1f1f1}
.omini > div:last-child{border-right:none}
.omini .k{font-size:8px;color:#bbb;font-weight:800;line-height:1}
.omini .v{font-family:var(--mono);font-size:13px;font-weight:600;line-height:1.3}
.ticker-all{flex:none;display:flex;align-items:center;padding:0 20px;font-size:11px;font-weight:800;color:var(--pink);white-space:nowrap;letter-spacing:.04em}

/* ---------- SECTION HEADERS ---------- */
.sec-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sec-bar{width:4px;height:17px;border-radius:2px;background:var(--pink)}
.sec-bar.black{background:#111}
.sec-title{font-size:13px;font-weight:800;letter-spacing:.02em}
.sec-rule{flex:1;height:1px;background:#e2e2e2}
.badge-new{background:var(--pink);color:#fff;font-size:9.5px;font-weight:900;letter-spacing:.1em;padding:2px 7px;border-radius:4px}

/* ---------- EDITORIAL ---------- */
.ed-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:30px;align-items:start;padding:30px 0 10px}
.ed-hero{border:1px solid #eaeaea;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.ed-hero-img{height:300px;background:linear-gradient(160deg,#1b3a5c,#0d1b2e);background-size:cover;background-position:center}
.ed-hero-body{padding:18px 20px 22px}
.cat{color:var(--red);font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ed-hero h2{font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.18;margin:8px 0;letter-spacing:-.01em}
.ed-hero p{color:#555;font-size:14px;line-height:1.6;margin:0 0 12px}
.byline{display:flex;align-items:center;gap:10px;font-size:12px;color:#888}
.byline b{color:var(--red)}
.ed-list{display:flex;flex-direction:column}
.ed-item{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid #efefef}
.ed-thumb{flex:none;width:78px;height:60px;border-radius:5px;background:#e7edf2 center/cover}
.ed-item .cat{font-size:9.5px;letter-spacing:.07em}
.ed-item h3{font-family:var(--serif);font-size:14.5px;font-weight:600;line-height:1.28;margin:3px 0 0}
.ed-item .date{font-size:11px;color:#999;margin-top:5px}

/* ---------- COMMERCIAL HUB TILES ---------- */
.hub{padding:26px 0 6px}
.hub-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.hub-tile{cursor:pointer;border-radius:11px;padding:16px 14px;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .12s}
.hub-tile:hover{transform:translateY(-2px)}
.hub-ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}
.hub-tile .t{font-size:14px;font-weight:800;line-height:1.2}
.hub-tile .s{font-size:11px;margin-top:3px}

/* ---------- SHORTCUTS + LINE MOVES ---------- */
.cols{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:start;padding:26px 0 40px}
.sc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}
.sc-card{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 15px;display:flex;align-items:center;justify-content:space-between}
.sc-card:hover{border-color:var(--pink)}
.sc-card .n{font-size:13.5px;font-weight:800}
.sc-card .c{font-size:11px;color:#999;margin-top:2px}
.sc-card .arr{color:#cdcdcd;font-size:17px}
.moves{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.move{cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--line2)}
.move:hover{background:#fafafa}
.move .m{font-size:13px;font-weight:700}
.move .mk{font-size:11px;color:#999;margin-top:2px}
.move .to{font-size:14px;font-weight:800;color:var(--green)}

/* ---------- GENERIC PAGE (sub-pages) ---------- */
.page{background:var(--sec)}
.page .wrap{padding:30px 22px 50px}
.crumb{font-size:12px;color:var(--muted2);font-weight:600;margin-bottom:14px}
.crumb a{cursor:pointer}
.page-h1{font-family:var(--serif);font-size:38px;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.05}
.page-sub{color:#666;font-size:15px;max-width:660px;margin:12px 0 0;line-height:1.6}
.upd{display:flex;align-items:center;gap:8px;color:var(--muted2);font-size:11.5px;margin:10px 0 26px}

/* market tabs */
.market-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px}
.market-tabs .tab{font-size:12px;font-weight:700;background:#fff;border:1px solid var(--line);color:#555;border-radius:20px;padding:7px 14px;cursor:pointer;white-space:nowrap}
.market-tabs .tab.on{background:#fff;color:var(--green);border-color:var(--green)}

/* odds board table */
.board{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.board-head{display:flex;align-items:center;gap:16px;padding:11px 18px;border-bottom:1px solid var(--line);background:#f4f4f5}
.board-head .fx{flex:1;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted2)}
.board-head .cols{display:flex;gap:8px;flex:none;padding:0}
.board-head .cols span{width:92px;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted2)}
.board-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line2)}
.board-row:hover{background:#fafafa}
.board-row .fx{flex:1;min-width:0}
.team-row{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.team-row:last-of-type{margin-bottom:0}
.tcode{width:24px;height:17px;border-radius:3px;background:#eef0f2;color:#3a3f47;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center}
.team-name{font-size:14.5px;font-weight:700}
.fx-meta{font-size:10.5px;color:var(--muted2);margin-top:6px}
.ocells{display:flex;gap:8px;flex:none}
.ocell{background:var(--sec);border:1px solid var(--line);border-radius:9px;padding:8px 0;text-align:center;width:92px;cursor:pointer}
.ocell:hover{border-color:var(--green)}
.ocell .v{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--green)}
.ocell .b{font-size:9px;color:var(--muted2);margin-top:3px;font-weight:600}
.board-foot{padding:13px 18px;display:flex;align-items:center;justify-content:space-between;background:#f4f4f5;font-size:11px;color:var(--muted2)}

/* prediction page */
.pred-wrap{max-width:760px;margin:0 auto;padding:30px 22px 50px;background:#fff}
.pred-h1{font-family:var(--serif);font-size:34px;font-weight:700;letter-spacing:-.015em;line-height:1.12;margin:9px 0 14px}
.pred-author{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid #eee;margin-bottom:24px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:none}
.pickbox{background:#eef9f1;border-radius:16px;padding:24px;margin-bottom:26px}
.pickbox .tag{background:var(--green);color:#04210f;font-size:10px;font-weight:900;letter-spacing:.08em;padding:3px 9px;border-radius:5px}
.pickbox .reco-lbl{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.pickbox .reco{font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.15}
.pickbox .big-odd{font-size:40px;font-weight:900;color:var(--green);line-height:1;font-family:var(--mono)}
.btn-green{background:var(--green);border:none;color:#fff;border-radius:10px;padding:13px 0;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;width:100%}
.btn-green:hover{filter:brightness(1.08)}
.prob-bars{display:flex;flex-direction:column;gap:11px}
.prob-bars .row .top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}
.prob-bars .bar{height:7px;background:#eee;border-radius:4px;overflow:hidden}
.prob-bars .bar > span{display:block;height:100%;background:var(--green)}
.form-chips{display:flex;gap:4px}
.fc{width:18px;height:18px;border-radius:4px;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.splitbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#eee}
.splitbar .hh{background:var(--green)}
.splitbar .aa{background:#cbd5cf}
.prose{font-size:16.5px;line-height:1.72;color:var(--body)}
.prose h3{font-family:var(--serif);font-size:22px;font-weight:700;margin:26px 0 10px}
.note{background:var(--sec);border-left:3px solid var(--pink);border-radius:0 10px 10px 0;padding:14px 18px;margin:20px 0;font-size:14.5px;color:#444}

/* match-odds comparison */
.callout-best{display:flex;align-items:center;gap:16px;background:#eef9f1;border:1px solid rgba(21,194,107,.35);border-radius:13px;padding:16px 20px;margin-bottom:22px}
/* match-odds page: header */
.mo-head{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 22px;margin-bottom:18px}
.mo-head-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.mo-status{background:#f2f2f2;color:#888;font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.mo-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.mo-team{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;min-width:0}
.mo-team span{font-size:16px;font-weight:800;line-height:1.2}
.mo-team .tflag{width:46px;height:46px}
.mo-kick{text-align:center;flex:none}
.mo-kick-time{font-size:23px;font-weight:900;line-height:1}
.mo-kick-date{font-size:12px;color:#888;margin-top:2px}
.mo-venue{text-align:center;font-size:12px;color:#9aa0aa;margin-top:14px;border-top:1px solid var(--line2);padding-top:12px}
/* match-odds: compare header + table */
.mo-compare-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.mo-compare-title{font-size:13px;font-weight:800;color:#888;letter-spacing:.04em;text-transform:uppercase}
.mo-tablewrap{background:#fff;border:1px solid var(--line);border-radius:13px;overflow-x:auto}
.mo-table{width:100%;border-collapse:collapse}
.mo-table th{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2);padding:10px 8px;text-align:center;background:#f7f7f5;border-bottom:1px solid var(--line)}
.mo-table th.mo-bk{text-align:left;padding-left:16px}
.mo-table td{padding:9px 8px;text-align:center;border-bottom:1px solid var(--line2)}
.mo-table tr:last-child td{border-bottom:none}
.mo-table tr:hover td{background:#fafafa}
.mo-table td.mo-bk{text-align:left;padding-left:16px;font-size:13.5px;font-weight:700;white-space:nowrap}
.mo-odd{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--ink)}
.mo-odd.best{color:var(--green);font-weight:800;background:rgba(19,138,78,.08)}
.mo-go{text-align:right;padding-right:16px;width:60px}
.mo-go a{font-size:12px;font-weight:800;color:var(--pink);white-space:nowrap}
.mo-table-foot{font-size:11px;color:var(--muted2);line-height:1.5;padding:11px 4px 0}
/* match-odds: prediction CTA */
.mo-predcta{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fdeef6;border:1px solid rgba(230,0,126,.3);border-radius:13px;padding:16px 20px;margin-top:20px}
.mo-predcta:hover{border-color:var(--pink)}
.mo-predcta-lbl{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-bottom:5px}
.mo-predcta-pick{font-size:16px;font-weight:800;line-height:1.3}
.mo-predcta-meta{font-size:12.5px;color:#666;margin-top:4px}
.mo-predcta-arr{font-size:20px;color:var(--pink);flex:none}
@media(max-width:560px){
  .mo-teams{gap:10px}
  .mo-team span{font-size:13.5px}
  .mo-team .tflag{width:38px;height:38px}
  .mo-kick-time{font-size:19px}
  .mo-table th,.mo-table td{padding:8px 5px}
  .mo-table td.mo-bk,.mo-table th.mo-bk{padding-left:12px;font-size:12.5px;white-space:normal}
  .mo-go{display:none}
}

/* ---------- NEWS ARTICLE ---------- */
.news-grid{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.news-h1{font-family:var(--serif);font-size:33px;font-weight:700;letter-spacing:-.015em;line-height:1.14;margin:8px 0 12px}
.news-side{display:flex;flex-direction:column;gap:22px}
.news-main .prose img{border-radius:8px;margin:16px 0;height:auto}
.news-main .prose h2,.news-main .prose h3{font-family:var(--serif);font-weight:700;line-height:1.2}
.news-main .prose figure{margin:16px 0}
@media(max-width:900px){.news-grid{grid-template-columns:1fr}}

/* ---------- IN-ARTICLE WIDGETS ---------- */
.tfa-widget{margin:22px 0;font-family:var(--sans)}
.badge-widget{background:var(--pink);color:#fff;font-size:8.5px;font-weight:900;letter-spacing:.08em;padding:2px 6px;border-radius:4px}
.w-odds{border:1px solid #e3e3e3;border-radius:13px;overflow:hidden}
.w-odds .head{display:flex;align-items:center;gap:8px;background:var(--sec);padding:9px 15px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.w-odds .body{display:flex;align-items:center;gap:14px;padding:15px 18px;background:#fff;flex-wrap:wrap}
.w-cell{width:64px;text-align:center;background:#f7faf8;border:1px solid #d8ecdf;border-radius:8px;padding:8px 0}
.w-cell .k{font-size:9px;color:#888;font-weight:800}
.w-cell .v{font-family:var(--mono);font-size:15px;font-weight:800;color:var(--green)}
.w-pick{background:#eef9f1;border-radius:14px;padding:20px 22px}
.w-related{border:1px solid var(--line);border-radius:13px;padding:17px 19px}
.w-related .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}
.w-related .grid a{display:flex;align-items:center;justify-content:space-between;background:var(--sec);border-radius:9px;padding:12px 14px;font-size:13px;font-weight:700}
.w-related .grid a:hover{background:#f0f0ee}
@media(max-width:560px){.w-related .grid{grid-template-columns:1fr}}

/* ---------- PREDICTIONS HUB ---------- */
.pred-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;align-items:start}
.pred-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px 19px;display:block}
.pred-card:hover{border-color:var(--pink);box-shadow:0 4px 16px rgba(0,0,0,.05)}
.pred-pick{display:flex;align-items:stretch;gap:14px;background:#f7faf8;border:1px solid #d8ecdf;border-radius:10px;padding:13px 15px}
.dots{display:flex;gap:3px}
.dots span{width:7px;height:7px;border-radius:50%;background:#cfe6d8}
.dots span.on{background:var(--green)}

/* ---------- BETTING HUB ---------- */
.rank-row{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.rank-row:hover{border-color:#dcdcdc}
@media(max-width:760px){.rank-row{flex-wrap:wrap;gap:12px}.rank-row>div{width:100%!important}}

/* ---------- TEAM HUB ---------- */
.team-hero{color:#fff;padding:34px 22px}
.team-crest{width:64px;height:64px;border-radius:14px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900}
.team-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.next-odds{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.next-odds .c{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 0;text-align:center}
.next-odds .c.fav{border-color:rgba(21,194,107,.4)}
.tlist{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.tlist .row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line2)}
.tlist .row:hover{background:#fafafa}
@media(max-width:900px){.team-grid{grid-template-columns:1fr}}

/* ---------- ODDS HUB ---------- */
.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:38px}
.comp-card{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px 18px}
.comp-card:hover{border-color:#dcdcdc}
.comp-ic{width:38px;height:38px;border-radius:9px;background:var(--sec);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:17px}
.live-badge{background:rgba(21,194,107,.12);color:var(--green);font-size:11px;font-weight:800;padding:4px 9px;border-radius:20px;border:1px solid rgba(21,194,107,.3)}
.top-list{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:38px}
.top-row{display:flex;align-items:center;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line2)}
.top-row:hover{background:#fafafa}
.top-cell{width:62px;text-align:center;background:var(--sec);border:1px solid var(--line);border-radius:8px;padding:7px 0}
.book-strip{display:flex;flex-wrap:wrap;gap:9px}
.book-pill{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 15px;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}
@media(max-width:900px){.comp-grid{grid-template-columns:1fr 1fr}.pred-grid{grid-template-columns:1fr}}
@media(max-width:560px){.comp-grid{grid-template-columns:1fr}}

/* ---------- FOOTER ---------- */
.ftr{background:var(--sec);color:var(--muted);border-top:3px solid var(--pink);margin-top:10px}
.ftr-in{max-width:1180px;margin:0 auto;padding:30px 22px}
.ftr-resp{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 18px;margin-bottom:24px;font-size:12px;line-height:1.6}
.ftr-18{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid #4b5563;border-radius:50%;font-size:12px;font-weight:900;color:#3a3f47}
.ftr-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.ftr-logo img{height:34px;width:auto;display:block}
.ftr-col h4{color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px}
.ftr-col .links{display:flex;flex-direction:column;gap:8px;font-size:13px}
.ftr-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:18px;font-size:11.5px;color:#5f6b85;flex-wrap:wrap;gap:10px}
.ftr-bottom .legal{display:flex;gap:16px}
.ftr-menu{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}
.ftr-menu a{font-size:11.5px;color:#5f6b85}
.ftr-menu a:hover{color:var(--pink)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .ed-grid,.cols{grid-template-columns:1fr}
  .hub-grid{grid-template-columns:repeat(3,1fr)}
  .sc-grid{grid-template-columns:1fr 1fr}
  .ftr-cols{grid-template-columns:1fr 1fr}
  .topbar .tagline{display:none}
  .page-h1{font-size:30px}
  .hdr-burger{display:flex}
  /* nav becomes a slide-in drawer from the right */
  .hdr-nav{position:fixed;top:0;right:0;height:100%;width:min(86vw,360px);margin:0;
    background:#fff;border-left:3px solid var(--pink);box-shadow:-14px 0 40px rgba(0,0,0,.18);
    z-index:60;display:block;flex:none;overflow-y:auto;padding:0 0 30px;
    transform:translateX(100%);transition:transform .25s ease}
  .hdr-nav.open{transform:none}
  /* sticky drawer header with the close (×) button — no blank gap at the top */
  .hdr-nav-head{display:flex;align-items:center;justify-content:space-between;
    position:sticky;top:0;z-index:2;background:#fff;padding:14px 18px 14px 22px;
    border-bottom:1px solid var(--line)}
  .hdr-nav-title{font-family:var(--sans);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
  .hdr-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .hdr-menu > li{width:100%;border-bottom:1px solid var(--line2)}
  .hdr-menu > li > a{display:block;padding:13px 22px;font-size:15px}
  .hdr-menu .menu-item-has-children > a::after{float:right;transition:transform .2s}
  .hdr-menu li.open > a::after{transform:rotate(180deg)}
  .hdr-menu > li.menu-item-has-children::after{display:none} /* drop desktop hover bridge */
  .hdr-menu .sub-menu{position:static;display:none;margin:0;border:none;border-radius:0;
    box-shadow:none;max-height:none;background:var(--sec);padding:4px 0}
  .hdr-menu li.open > .sub-menu{display:block}
  .hdr-menu .sub-menu a{padding:10px 34px}
  .hdr-menu .sub-menu .sub-menu a{padding-left:46px}
  .hdr-menu .sub-menu .sub-menu{left:auto;top:auto} /* reset desktop flyout — nested stacks inline on mobile */
  .hdr-sep{display:none}
  .hdr-betting{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .hdr-betting a{padding:13px 22px;border-bottom:1px solid var(--line2);font-size:15px}
}
@media(max-width:560px){
  .hub-grid{grid-template-columns:1fr 1fr}
  .ocell,.board-head .cols span{width:64px}
}

/* ---------- TOOLS (acca calculator + odds converter) ---------- */
.tool-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:start}
.tool-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px 22px}
.tool-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tool-h2{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0}
.tool-tag{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--pink);background:rgba(230,0,126,.08);border:1px solid rgba(230,0,126,.22);border-radius:20px;padding:4px 10px}
.tool-rows{display:flex;flex-direction:column;gap:9px}
.tool-row{display:flex;align-items:center;gap:10px}
.tool-row-n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--sec);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:600;color:#666}
.tool-input{flex:1;min-width:0;font-family:var(--mono);font-size:15px;font-weight:600;color:var(--ink);background:var(--sec);border:1px solid var(--line);border-radius:9px;padding:10px 12px;outline:none;width:100%}
.tool-input:focus{border-color:var(--green);background:#fff}
.tool-rm{flex:none;width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--muted2);font-size:12px;cursor:pointer;line-height:1}
.tool-rm:hover{border-color:var(--red);color:var(--red)}
.tool-add{margin-top:13px;width:100%;background:#fff;border:1px dashed #d4d4d4;color:var(--pink);border-radius:10px;padding:11px 0;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}
.tool-add:hover{border-color:var(--pink);background:rgba(230,0,126,.03)}
.tool-stake{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.tool-stake label{font-size:13px;font-weight:800;color:var(--ink)}
.tool-stake-in{display:flex;align-items:center;gap:0;flex:none;width:160px}
.tool-cur{flex:none;display:flex;align-items:center;justify-content:center;padding:10px 11px;background:#f1f1f0;border:1px solid var(--line);border-right:none;border-radius:9px 0 0 9px;font-family:var(--mono);font-size:14px;font-weight:600;color:#666}
.tool-stake-in .tool-input{border-radius:0 9px 9px 0}
.tool-results{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden}
.tool-res{background:#fff;padding:14px 16px}
.tool-res-l{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2);margin-bottom:5px}
.tool-res-v{font-size:22px;font-weight:600;color:var(--ink);line-height:1.1}
.tool-conv-in{margin-bottom:16px}
.tool-conv-in label{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2);margin-bottom:7px}
.tool-conv-out{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden}
.tool-conv-out .tool-res{display:flex;align-items:center;justify-content:space-between}
.tool-conv-out .tool-res-l{margin-bottom:0}
.tool-conv-out .tool-res-v{font-size:18px}
.tool-note{font-size:11.5px;color:#888;line-height:1.55;margin:14px 0 0}
.tool-link-btn{display:inline-block;background:var(--green);color:#04210f;border-radius:10px;padding:11px 22px;font-size:13px;font-weight:800;text-decoration:none}
.tool-link-btn:hover{filter:brightness(1.08)}
@media(max-width:820px){
  .tool-layout{grid-template-columns:1fr}
}

/* ====================== WORLD CUP 2026 HUB ====================== */
.sec-link{margin-left:auto;font-size:12px;font-weight:700;color:var(--pink)}
/* national-team flags */
.tflag{border-radius:3px;object-fit:cover;vertical-align:middle;flex:none;background:#eee}
.tflag-code{display:inline-flex;align-items:center;justify-content:center;background:#15171a;color:#fff;font-size:9px;font-weight:800;border-radius:3px}
/* hero band */
.wc-hero{background:linear-gradient(120deg,#15171a 0%,#221016 60%,#3a0a23 100%);color:#fff;padding:34px 0 30px}
.wc-hero-eyebrow{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f7a8d2}
.wc-dot{width:7px;height:7px;border-radius:50%;background:var(--pink);display:inline-block;box-shadow:0 0 0 4px rgba(230,0,126,.25)}
.wc-h1{font-family:var(--serif);font-size:42px;font-weight:700;letter-spacing:-.02em;margin:10px 0 0;line-height:1.02}
.wc-hero-sub{color:#c8ccd3;font-size:15px;max-width:680px;margin:11px 0 0;line-height:1.6}
/* sub-nav */
.wc-subnav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.wc-subnav-in{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;gap:4px;overflow-x:auto}
.wc-subnav a{padding:14px 16px;font-size:13.5px;font-weight:700;color:#5a626e;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.wc-subnav a:hover{color:var(--ink)}
.wc-subnav a.on{color:var(--pink);border-bottom-color:var(--pink)}
/* quick-stat nav cards */
.wc-navcards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.wc-navcard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 18px;display:flex;flex-direction:column;gap:3px}
.wc-navcard:hover{border-color:var(--pink)}
.wc-navcard .n{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--ink);line-height:1}
.wc-navcard .l{font-size:12.5px;color:#888;font-weight:600}
/* two-column layout */
.wc-cols{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
.wc-side{display:flex;flex-direction:column;gap:18px}
/* match list */
.wc-matchlist{display:flex;flex-direction:column;gap:10px}
.wc-match{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 16px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px}
.wc-match-meta{grid-column:1/-1;font-size:11px;color:#9aa0aa;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.wc-match-teams{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;min-width:0}
.wc-team{display:inline-flex;align-items:center;gap:8px;min-width:0}
.wc-team>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wc-team-a{flex-direction:row}
.wc-vs{color:#b9bdc4;font-weight:600;font-size:12px}
.wc-match-odds{display:flex;gap:6px}
.wc-oc{display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--sec);border:1px solid var(--line);border-radius:8px;padding:6px 11px;min-width:50px}
.wc-oc .k{font-size:9px;font-weight:800;color:#9aa0aa}
.wc-oc .v{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink)}
.wc-oc:hover{border-color:var(--green)}
.wc-match-soon,.wc-soon{font-size:11px;color:#aaa;font-weight:600}
.wc-match-cta{background:#15171a;color:#fff;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:700;white-space:nowrap}
.wc-match-cta:hover{background:var(--pink)}
/* results strip */
.wc-results{display:flex;flex-direction:column;gap:8px}
.wc-result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 16px;font-size:14px;font-weight:600}
.wc-result .wc-team-a{justify-content:flex-end;text-align:right}
.wc-score{font-family:var(--mono);font-weight:700;background:var(--sec);border-radius:7px;padding:3px 10px;font-size:13px;color:var(--ink)}
/* side panels */
.wc-panel{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.wc-panel-h{background:var(--sec);padding:11px 16px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#888;display:flex;align-items:center;justify-content:space-between}
.wc-panel-h a{font-size:10.5px;color:var(--pink);font-weight:700}
.wc-scorers,.wc-qual{padding:6px 0}
.wc-scorer{display:flex;align-items:center;gap:11px;padding:8px 16px}
.wc-scorer-r{width:20px;font-size:12px;font-weight:800;color:#bbb;text-align:center}
.wc-scorer-n{flex:1;font-size:13.5px;font-weight:700;display:flex;flex-direction:column;line-height:1.2}
.wc-scorer-n small{font-size:11px;color:#999;font-weight:600}
.wc-scorer-g{font-family:var(--mono);font-weight:700;color:var(--green)}
.wc-qual-row{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--line2)}
.wc-qual-row:first-child{border-top:none}
.wc-qual-g{width:34px;font-size:11px;font-weight:800;color:#9aa0aa}
.wc-qual-teams{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700}
.wc-q2{color:#777;font-weight:600}
/* articles */
.wc-articles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wc-article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 16px}
.wc-article:hover{border-color:var(--pink)}
.wc-article-t{font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.3;color:var(--ink);margin:8px 0 6px}
.wc-article-d{font-size:11.5px;color:#999}
/* empty state */
.wc-empty{background:#fff;border:1px dashed var(--line);border-radius:12px;padding:34px;text-align:center;color:#999}
/* ---------- schedule ---------- */
.wc-day{margin-bottom:22px}
.wc-day-h{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);margin:0 0 10px;display:flex;align-items:baseline;justify-content:space-between}
.wc-day-h span{font-family:var(--sans,inherit);font-size:11.5px;font-weight:600;color:#aaa}
.wc-day-list{display:flex;flex-direction:column;gap:8px}
.wc-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 16px}
.wc-row-time{display:flex;flex-direction:column;line-height:1.2}
.wc-row-time .t{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink)}
.wc-row-time .r{font-size:10px;color:#aaa;font-weight:600}
.wc-row-fx{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:14.5px;font-weight:700;min-width:0}
.wc-row-fx .wc-team-a{justify-content:flex-end;text-align:right}
.wc-row-end{justify-self:end}
.wc-row-odds{display:flex;gap:5px}
.wc-row-odds span{font-family:var(--mono);font-size:12px;font-weight:600;background:var(--sec);border:1px solid var(--line);border-radius:7px;padding:5px 9px;color:var(--ink)}
.wc-row-odds:hover span{border-color:var(--green)}
.wc-ft-badge{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#9aa0aa;background:var(--sec);border-radius:6px;padding:5px 9px}
/* ---------- standings ---------- */
.wc-legend{display:flex;gap:18px;margin-bottom:16px;font-size:12px;color:#777;font-weight:600}
.wc-legend span{display:inline-flex;align-items:center;gap:7px}
.wc-key{width:11px;height:11px;border-radius:3px;display:inline-block}
.wc-key-q{background:var(--green)}
.wc-key-p{background:var(--amber)}
.wc-tables,.wc-groupgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.wc-table,.wc-group{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.wc-table-h,.wc-group-h{background:#15171a;color:#fff;padding:10px 16px;font-size:13px;font-weight:800;letter-spacing:.02em}
.wc-table table{width:100%;border-collapse:collapse;font-size:13px}
.wc-table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#aaa;font-weight:800;text-align:left;padding:9px 8px}
.wc-table th.c,.wc-table td.c{text-align:center}
.wc-table th.f{text-align:right;padding-right:16px}
.wc-table td{padding:9px 8px;border-top:1px solid var(--line2)}
.wc-table td.team{display:flex;align-items:center;gap:9px;font-weight:700}
.wc-table td.pos{color:#aaa;font-weight:800;width:30px;padding-left:16px}
.wc-table td.pts{font-weight:800}
.wc-table td.f{text-align:right;padding-right:16px}
.wc-table tr.q td.pos{box-shadow:inset 3px 0 0 var(--green)}
.wc-table tr.p td.pos{box-shadow:inset 3px 0 0 var(--amber)}
/* ---------- groups ---------- */
.wc-group-rows{padding:4px 0}
.wc-group-row{display:flex;align-items:center;gap:11px;padding:9px 16px;border-top:1px solid var(--line2);font-size:13.5px;font-weight:700}
.wc-group-row:first-child{border-top:none}
.wc-group-row.q{background:rgba(19,138,78,.05)}
.wc-group-pos{width:18px;text-align:center;font-size:12px;font-weight:800;color:#bbb}
.wc-group-row .wc-team{flex:1}
.wc-group-stat{font-size:12px;color:#888;font-weight:600}
.wc-group-stat b{color:var(--ink);font-size:14px}
.wc-group-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--line);font-size:11.5px;color:#999}
.wc-group-foot a{color:var(--pink);font-weight:700}
/* ---------- bracket ---------- */
.wc-bracket{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}
.wc-bracket-col{flex:1;min-width:150px}
.wc-bracket-rh{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin-bottom:10px;display:flex;flex-direction:column;gap:2px}
.wc-bracket-rh span{font-size:10px;font-weight:600;color:#aaa;text-transform:none;letter-spacing:0}
.wc-bracket-slots{display:flex;flex-direction:column;gap:8px;height:100%;justify-content:space-around}
.wc-bracket-slot{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:52px;justify-content:center}
.wc-bracket-slot span{height:9px;background:repeating-linear-gradient(90deg,#eee,#eee 6px,transparent 6px,transparent 12px);border-radius:3px}
.wc-note{font-size:12.5px;color:#888;margin:14px 0 0;font-style:italic}
.wc-qualgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wc-qualcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wc-qualcard-h{background:var(--sec);padding:8px 13px;font-size:12px;font-weight:800;color:var(--ink)}
.wc-qualcard-row{display:flex;align-items:center;gap:9px;padding:9px 13px;border-top:1px solid var(--line2);font-size:13px;font-weight:700}
.wc-qualcard-pos{font-size:10px;font-weight:800;color:#9aa0aa;width:24px}
.wc-qualcard-row .wc-team{flex:1;min-width:0}
.wc-qualcard-pts{font-family:var(--mono);color:var(--green);font-weight:700}
/* ---------- WC responsive ---------- */
@media(max-width:900px){
  .wc-cols{grid-template-columns:1fr}
  .wc-navcards{grid-template-columns:repeat(2,1fr)}
  .wc-tables,.wc-groupgrid{grid-template-columns:1fr}
  .wc-articles,.wc-qualgrid{grid-template-columns:repeat(2,1fr)}
  .wc-h1{font-size:32px}
}
@media(max-width:560px){
  .wc-navcards{grid-template-columns:1fr 1fr}
  .wc-articles,.wc-qualgrid{grid-template-columns:1fr}
  .wc-match{grid-template-columns:1fr;gap:10px}
  .wc-match-odds{justify-content:flex-start}
  .wc-row{grid-template-columns:64px 1fr;grid-template-areas:'time fx' 'time end'}
  .wc-row-time{grid-area:time}.wc-row-fx{grid-area:fx}.wc-row-end{grid-area:end;justify-self:start}
}

/* ====================== ODDS + PREDICTIONS additions ====================== */
/* board "all" button + out-of-season soon list */
.board-all{width:62px;flex:none;background:#f2f2f2;border:1px solid #e2e2e2;color:#3a3f47;border-radius:8px;padding:9px 0;text-align:center;font-size:11.5px;font-weight:700}
.board-all:hover{border-color:var(--pink);color:var(--pink)}
.soon-badge{background:#eef0f2;color:#6b7280;font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:6px;letter-spacing:.03em}
.soon-list{display:flex;flex-direction:column;gap:8px}
.soon-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 16px}
.soon-row:hover{border-color:var(--pink)}
.soon-when{display:flex;flex-direction:column;line-height:1.2}
.soon-when span{font-size:11px;color:#999;font-weight:700}
.soon-when .t{font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:600}
.soon-fx{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:14px;font-weight:700;min-width:0}
.soon-fx .wc-team-a{justify-content:flex-end;text-align:right}
.soon-cta{font-size:12px;font-weight:700;color:var(--pink);justify-self:end}
/* board team rows now carry flags */
.board-row .team-row{display:flex;align-items:center;gap:8px}
/* predictions page team band */
.pred-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;background:var(--sec);border:1px solid var(--line);border-radius:13px;padding:16px 20px;margin:14px 0 20px}
.pt-side{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:800;min-width:0}
.pt-side>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-away{justify-content:flex-end;text-align:right}
.pt-mid{text-align:center;flex:none}
.pt-score{font-family:var(--mono);font-size:30px;font-weight:700;line-height:1}
.pt-score span{color:#bbb;margin:0 5px}
.pt-time{font-family:var(--mono);font-size:26px;font-weight:700;line-height:1}
.pt-status{font-size:11px;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.note-ft{background:#f3f6f4;border-color:#d8e6dd}
/* predictions hub card team line */
.pred-card-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:13px;font-family:var(--serif);font-size:18px;font-weight:700}
.pred-card-teams .wc-team-a{justify-content:flex-end;text-align:right}

/* ====================== ARCHIVE / SEARCH / 404 ====================== */
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.arch-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.arch-card:hover{border-color:var(--pink)}
.arch-thumb{height:160px;background:#eee center/cover no-repeat}
.arch-body{padding:15px 17px 17px;display:flex;flex-direction:column;gap:7px;flex:1}
.arch-title{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.3;color:var(--ink)}
.arch-excerpt{font-size:12.5px;color:#777;line-height:1.5;flex:1}
.arch-date{font-size:11.5px;color:#aaa}
.arch-pager{display:flex;justify-content:center;gap:6px;margin:30px 0 0}
.arch-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px;font-weight:700;color:var(--ink)}
.arch-pager .page-numbers.current{background:var(--pink);color:#fff;border-color:var(--pink)}
.arch-pager .page-numbers:hover{border-color:var(--pink);color:var(--pink)}
.arch-pager .page-numbers.current:hover{color:#fff}
@media(max-width:900px){.arch-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.arch-grid{grid-template-columns:1fr}}
/* homepage category rows (Coach&Player, Team) — 4-up cards */
.home-cat{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.home-cat .arch-thumb{height:130px}
@media(max-width:900px){.home-cat{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.home-cat{grid-template-columns:1fr}}

/* show-more leagues on /odds */
.comp-grid .comp-extra{display:none}
.comp-grid.show-all .comp-extra{display:block}
.show-more-wrap{margin:-22px 0 34px;text-align:center}
.show-more-btn{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 22px;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;font-family:inherit}
.show-more-btn:hover{border-color:var(--pink);color:var(--pink)}

/* standout matches (/odds) — mobile */
@media(max-width:640px){
  .top-row{flex-wrap:wrap;gap:10px}
  .top-row>div:nth-child(1){width:100%!important}
  .top-row>div:nth-child(2){width:100%;min-width:0}
  .top-row>div:nth-child(3){width:100%;justify-content:space-between}
  .top-row>div:nth-child(3) .top-cell{flex:1}
}

/* ====================== HOMEPAGE: WORLD CUP SPOTLIGHT ====================== */
.wcs{background:linear-gradient(180deg,#fbf3f8 0%,#fff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0 30px;margin-bottom:34px}
.wcs .sec-head{margin-bottom:16px}
.wcs-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}
.wcs-side{display:flex;flex-direction:column;gap:14px}
/* feature match card */
.wcs-feature{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;box-shadow:0 8px 26px rgba(230,0,126,.05)}
.wcs-feat-meta{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#9aa0aa;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}
.wcs-feat-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:16px}
.wcs-feat-team{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:800;font-family:var(--serif);min-width:0}
.wcs-feat-teams>.wcs-feat-team:last-child{flex-direction:row-reverse;text-align:right;justify-content:flex-end}
.wcs-feat-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wcs-feat-v{color:#c4c4c4;font-weight:600;font-size:13px}
.wcs-feat-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.wcs-oc{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--sec);border:1px solid var(--line);border-radius:10px;padding:9px 0}
.wcs-oc .k{font-size:9.5px;font-weight:800;color:#9aa0aa}
.wcs-oc .v{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink)}
.wcs-oc:hover{border-color:var(--green)}
.wcs-feat-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line2);padding-top:13px}
.wcs-pick{font-size:13px;color:#555}.wcs-pick b{color:var(--ink)}
.wcs-feat-cta{font-size:13px;font-weight:800;color:var(--pink)}
.wcs-next-h{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#888;margin:18px 0 9px}
.wcs-next{display:flex;flex-direction:column;gap:7px}
.wcs-nextrow{display:grid;grid-template-columns:62px 1fr auto 1fr auto;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:700}
.wcs-nextrow:hover{border-color:var(--pink)}
.wcs-nextwhen{display:flex;flex-direction:column;font-size:10.5px;color:#9aa0aa;font-weight:700;line-height:1.25}
.wcs-nextwhen b{color:var(--ink);font-family:var(--mono);font-size:12.5px}
.wcs-nextrow .wc-team-a{justify-content:flex-end;text-align:right}
.wcs-nextodd{font-family:var(--mono);font-weight:700;color:var(--green);font-size:13px}
.wcs-news{padding:4px 0}
.wcs-newsrow{display:block;padding:9px 16px;border-top:1px solid var(--line2);font-size:13px;font-weight:600;line-height:1.4;color:var(--ink)}
.wcs-newsrow:first-child{border-top:none}
.wcs-newsrow:hover{color:var(--pink)}
.wcs-newsrow span{display:block;font-size:10.5px;color:#aaa;font-weight:600;margin-top:2px}
.wcs-hubcta{display:block;background:#15171a;color:#fff;border-radius:13px;padding:15px 18px}
.wcs-hubcta b{display:block;font-size:15px;font-family:var(--serif)}
.wcs-hubcta span{display:block;font-size:11.5px;color:#b9bdc4;margin-top:3px}
.wcs-hubcta:hover{background:var(--pink)}
/* homepage model picks */
.home-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:6px}
.hpick{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 17px;display:flex;flex-direction:column;gap:11px}
.hpick:hover{border-color:var(--green)}
.hpick-top{display:flex;align-items:center;justify-content:space-between}
.hpick-when{font-size:11px;color:#aaa}
.hpick-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:14px;font-weight:700}
.hpick-teams .wc-team-a{justify-content:flex-end;text-align:right}
.hpick-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-top:1px solid var(--line2);padding-top:11px}
.hpick-lbl{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin-bottom:3px}
.hpick-pick{font-size:14.5px;font-weight:800;line-height:1.2}
.hpick-meta{font-size:11px;color:#888;margin-top:3px}
.hpick-odd{text-align:center;flex:none}
.hpick-odd .tnum{font-family:var(--mono);font-size:22px;font-weight:800;color:var(--green);line-height:1}
.hpick-book{font-size:10px;color:#aaa;margin-top:2px}
@media(max-width:900px){
  .wcs-grid{grid-template-columns:1fr}
  .home-picks{grid-template-columns:1fr}
}
@media(max-width:560px){
  .wcs-feat-team{font-size:16px}
  .wcs-nextrow{grid-template-columns:54px 1fr auto;gap:8px}
  .wcs-nextrow .wc-team-a,.wcs-nextodd{display:none}
}

/* ====================== COMMERCIAL PARTNER CTA (BM) ====================== */
.tfa-partner{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:22px 0}
.tfa-partner-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#15171a;margin-bottom:13px}
.tfa-partner-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(19,138,78,.15)}
.tfa-partner-top{display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#f3faf6,#fff);border:1px solid rgba(19,138,78,.28);border-radius:12px;padding:13px 16px}
.tfa-partner-top:hover{border-color:var(--green)}
.tfa-partner-logo{flex:none;width:84px;height:40px;display:flex;align-items:center;justify-content:center}
.tfa-partner-logo img{max-width:84px;max-height:40px;width:auto;height:auto;object-fit:contain}
.tfa-partner-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tfa-partner-name{font-size:15px;font-weight:800;color:var(--ink)}
.tfa-partner-offer{font-size:12.5px;color:#555;line-height:1.4}
.tfa-partner-btn{flex:none;background:var(--green);color:#fff;border-radius:9px;padding:11px 18px;font-size:13px;font-weight:800;white-space:nowrap}
.tfa-partner-top:hover .tfa-partner-btn{filter:brightness(1.07)}
.tfa-partner-more{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.tfa-partner-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:9px 14px}
.tfa-partner-row:hover{border-color:var(--green)}
.tfa-partner-row-logo{flex:none;width:58px;height:26px;display:flex;align-items:center}
.tfa-partner-row-logo img{max-width:58px;max-height:26px;width:auto;height:auto;object-fit:contain}
.tfa-partner-row-name{font-size:13px;font-weight:800;color:var(--ink);flex:none;min-width:74px}
.tfa-partner-row-offer{flex:1;min-width:0;font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tfa-partner-row-cta{flex:none;font-size:12px;font-weight:800;color:var(--green)}
.tfa-partner-note{font-size:10.5px;color:#9aa0aa;margin-top:11px}
.tfa-partner-note a{color:#9aa0aa;text-decoration:underline}
.tfa-partner-compact{margin:0}
.tfa-partner-compact .tfa-partner-top{flex-wrap:wrap;gap:10px}
.tfa-partner-compact .tfa-partner-btn{width:100%;text-align:center}
@media(max-width:560px){
  .tfa-partner-top{flex-wrap:wrap;gap:10px}
  .tfa-partner-btn{width:100%;text-align:center}
  .tfa-partner-row{flex-wrap:wrap}
  .tfa-partner-row-offer{width:100%;white-space:normal;order:3}
}

/* ====================== PREDICTIONS TABLE ====================== */
.ptab-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.ptab-pill{font-size:12.5px;font-weight:700;padding:7px 14px;border:1px solid var(--line);border-radius:20px;background:#fff;color:#555;cursor:pointer;font-family:inherit}
.ptab-pill:hover{border-color:var(--ink)}
.ptab-pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ptab-value{margin-left:auto;border-color:rgba(19,138,78,.4);color:var(--green)}
.ptab-value.on{background:var(--green);color:#fff;border-color:var(--green)}
.ptab-wrap{background:#fff;border:1px solid var(--line);border-radius:13px;overflow-x:auto}
.ptab{width:100%;border-collapse:collapse;font-size:13.5px}
.ptab th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted2);font-weight:800;text-align:left;padding:11px 12px;background:#f7f7f5;border-bottom:1px solid var(--line);white-space:nowrap}
.ptab th.c{text-align:center}
.ptab td{padding:10px 12px;border-bottom:1px solid var(--line2);vertical-align:middle}
.ptab tr:last-child td{border-bottom:none}
.ptab tr:hover td{background:#fafafa}
.ptab td.c{text-align:center}
.ptab-date{white-space:nowrap;font-size:11.5px;color:#888;line-height:1.3}
.ptab-date b{display:block;color:var(--ink);font-family:var(--mono);font-size:12.5px}
.ptab-match{min-width:210px}
.ptab-match a{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.ptab-match a:hover{color:var(--pink)}
.ptab-match .wc-team>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}
.ptab-comp{display:block;font-size:10.5px;color:#9aa0aa;margin-top:3px}
.ptab-pick{font-weight:800;white-space:nowrap}
.ptab-edge{color:#9aa0aa}
.ptab-edge.pos{color:var(--green);font-weight:800}
.ptab-odd{font-family:var(--mono);font-weight:700;display:block}
.ptab-book{font-size:10px;color:#aaa}
.ptab-view{color:var(--pink);font-weight:800;font-size:12px;white-space:nowrap}
.ptab-foot{font-size:11.5px;color:var(--muted2);margin-top:11px;line-height:1.5}
@media(max-width:680px){
  .ptab-comp{display:none}
  .ptab th:nth-child(4),.ptab td:nth-child(4),.ptab th:nth-child(7),.ptab td:nth-child(7){display:none}
  .ptab-match{min-width:150px}
  .ptab-value{margin-left:0}
}

/* ====================== PREDICTIONS VIEWS + TRACK RECORD ====================== */
.pred-views{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.pred-view-btn{background:none;border:none;border-bottom:3px solid transparent;padding:10px 4px;margin:0 18px -1px 0;font-family:inherit;font-size:14px;font-weight:800;color:#8a8f98;cursor:pointer}
.pred-view-btn.on{color:var(--ink);border-bottom-color:var(--pink)}
.pred-view-n{background:var(--pink);color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:1px 7px;margin-left:3px}
.ptab-val{font-size:12.5px;color:var(--green);font-weight:700;white-space:nowrap}
.ptab-val b{font-weight:800}
.track-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.track-stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 18px;text-align:center}
.track-n{font-family:var(--mono);font-size:28px;font-weight:800;line-height:1;color:var(--ink)}
.track-n.green{color:var(--green)}
.track-n.red{color:#c0392b}
.track-l{font-size:11px;color:#888;margin-top:5px}
.track-last{display:flex;align-items:center;gap:5px;margin:0 0 6px;font-size:12px;color:#888}
.track-last span:first-child{margin-right:4px}
.track-chip{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff}
.track-chip.w{background:var(--green)}
.track-chip.l{background:#c0392b}
.track-res{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:6px}
.track-res.w{background:rgba(19,138,78,.12);color:var(--green)}
.track-res.l{background:rgba(192,57,43,.1);color:#c0392b}
@media(max-width:560px){.track-strip{grid-template-columns:1fr 1fr}}

/* ============================ LIVE SCORES ============================ */
@keyframes tfaPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}100%{opacity:1;transform:scale(1)}}
.live-page{background:#fff}
.lb-wrap{max-width:900px;margin:0 auto;padding:20px 22px 60px}
.lb-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 4px}
.lb-livepill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;letter-spacing:.08em;color:#b3b3b3;text-transform:uppercase;border:1px solid #e2e2e2;border-radius:20px;padding:4px 11px}
.lb-livepill .dot{background:#c9c9c9}
.lb-livepill.on{color:var(--red);border-color:rgba(225,19,29,.35)}
.lb-livepill.on .dot{background:var(--red);animation:tfaPulse 1.3s infinite}
.lb-h1{font-family:var(--serif);font-size:27px;font-weight:700;line-height:1.15;margin:2px 0 16px}
/* scoreboard */
.lb-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;padding:22px 18px;background:linear-gradient(180deg,#fbfbfa,#fff)}
.lb-team{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;min-width:0}
.lb-team .tflag{width:54px;height:54px;border-radius:9px;object-fit:cover}
.lb-tname{font-size:15px;font-weight:800;line-height:1.2}
.lb-mid{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 6px}
.lb-score{font-family:var(--mono);font-size:44px;font-weight:700;line-height:1;letter-spacing:-1px;display:flex;align-items:center;gap:4px}
.lb-colon{color:#cfcfcf}
.lb-clock .lb-min{font-size:13px;font-weight:800;color:var(--red)}
.lb-clock .lb-min.ft{color:#666}.lb-clock .lb-min.ns{color:#999;font-weight:700}
.lb-statuslong{font-size:11px;color:#aaa;font-weight:600}
.lb-note{margin:16px 0 0;background:#f7f7f5;border:1px solid var(--line);border-radius:11px;padding:12px 15px;font-size:13px;color:#666}
.lb-links{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 4px}
.lb-link{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:8px 13px;font-size:12.5px;font-weight:700;color:var(--ink);background:#fff}
.lb-link:hover{border-color:var(--pink);color:var(--pink)}
.lb-link svg{width:16px;height:16px}
/* two columns: timeline + stats */
.lb-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin:22px 0 0;align-items:start}
.lb-sec-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#999;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.lb-live-note{color:var(--red);font-weight:800}
.lb-live-note:empty{display:none}
/* timeline */
.lb-timeline{list-style:none;margin:0;padding:0;position:relative}
.lb-timeline:before{content:"";position:absolute;left:46px;top:4px;bottom:4px;width:2px;background:#f0f0f0}
.lb-ev{display:grid;grid-template-columns:38px 16px 1fr;align-items:start;gap:8px;padding:9px 0;position:relative}
.lb-ev-min{font-size:12px;font-weight:800;color:#888;text-align:right;padding-top:1px}
.lb-ev-dot{width:14px;height:14px;border-radius:50%;margin-top:2px;background:#c9c9c9;border:2px solid #fff;box-shadow:0 0 0 1px #e5e5e5;z-index:1}
.lb-ev-goal .lb-ev-dot{background:var(--green);box-shadow:0 0 0 1px var(--green)}
.lb-ev-miss .lb-ev-dot{background:#e8a33d;box-shadow:0 0 0 1px #e8a33d}
.lb-ev-red .lb-ev-dot{background:var(--red);box-shadow:0 0 0 1px var(--red)}
.lb-ev-yellow .lb-ev-dot{background:var(--amber);box-shadow:0 0 0 1px #e6b84c}
.lb-ev-sub .lb-ev-dot{background:#3b8dd6;box-shadow:0 0 0 1px #3b8dd6}
.lb-ev-var .lb-ev-dot{background:#8a53c4;box-shadow:0 0 0 1px #8a53c4}
.lb-ev-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.lb-ev-txt{font-size:13.5px;font-weight:600;color:#1c1c1c;line-height:1.35}
.lb-ev-goal .lb-ev-txt{font-weight:800}
.lb-ev-team{font-size:11px;color:#a0a0a0;font-weight:600}
.lb-empty,.lb-stats-empty{font-size:13px;color:#999;padding:14px 0;line-height:1.5}
/* stats */
.lb-stats-wrap{border:1px solid var(--line);border-radius:14px;padding:15px 16px;background:#fbfbfa;position:sticky;top:78px}
.lb-stats{display:flex;flex-direction:column;gap:13px}
.lb-stat-top{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:800;margin-bottom:5px}
.lb-stat-lbl{font-size:10.5px;color:#999;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.lb-stat-bar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:#eee}
.lb-stat-bar .hh{background:var(--ink)}.lb-stat-bar .aa{background:#c7c7c7}
.lb-disclaimer{margin:26px 0 0;font-size:11px;color:#aaa;line-height:1.5}
@media(max-width:720px){.lb-cols{grid-template-columns:1fr}.lb-stats-wrap{position:static}.lb-score{font-size:38px}}

/* ---- live hub ---- */
.lh-shell{background:#fff}
.lh-inner{max-width:1080px;margin:0 auto;padding:22px 22px 60px}
.lh-head{display:flex;align-items:baseline;gap:14px;margin:0 0 20px}
.lh-h1{font-family:var(--serif);font-size:28px;font-weight:700;margin:0}
.lh-count{font-size:12.5px;font-weight:800;color:#aaa}
.lh-count.on{color:var(--red)}
.lh-sec{margin:0 0 26px}
.lh-sec-h{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#888;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.lh-sec-n{background:#f0f0f0;color:#777;border-radius:20px;padding:1px 8px;font-size:11px}
.lh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px}
.lh-card{display:block;border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:#fff;transition:border-color .15s,box-shadow .15s}
.lh-card:hover{border-color:#d5d5d5;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.lh-card.on{border-color:rgba(225,19,29,.28)}
.lh-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}
.lh-comp{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lh-clock{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--red);flex:none}
.lh-clock .dot{background:var(--red);animation:tfaPulse 1.3s infinite}
.lh-clock.ft{color:#888}.lh-clock.ns{color:#999}
.lh-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}
.lh-team{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;min-width:0}
.lh-team .tflag{width:24px;height:24px;border-radius:5px;flex:none}
.lh-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lh-sc{font-family:var(--mono);font-size:19px;font-weight:700;flex:none}
.lh-last{margin-top:9px;padding-top:9px;border-top:1px solid var(--line2);font-size:11.5px;color:#999;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lh-blank{text-align:center;padding:60px 20px;color:#999}
.lh-blank svg{color:#d0d0d0;margin:0 auto 14px}
.lh-blank h2{font-family:var(--serif);font-size:22px;color:#444;margin:0 0 8px}
.lh-blank p{font-size:14px;max-width:440px;margin:0 auto 18px;line-height:1.6}
.lh-blank-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.lh-blank-links a{border:1px solid var(--line);border-radius:9px;padding:9px 15px;font-size:13px;font-weight:700;color:var(--ink)}
.lh-blank-links a:hover{border-color:var(--pink);color:var(--pink)}

/* ---- header live nav item + homepage live band ---- */
/* "Live" nav item: neutral (like the other betting links) with NO dot when nothing is
   live; only turns red with a pulsing dot + count when games are actually in play. */
.hdr-live{display:inline-flex;align-items:center;gap:6px}
.hdr-live.on{color:var(--red)!important;font-weight:800!important}
.hdr-live .dot{background:var(--red)}
.hdr-live.on .dot{animation:tfaPulse 1.3s infinite}
.hdr-live .lc{background:var(--red);color:#fff;border-radius:20px;font-size:10px;font-weight:900;padding:1px 6px;line-height:1.5}
.live-band{background:#15171a;color:#fff}
.live-band-in{max-width:1180px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;gap:14px;overflow-x:auto}
.live-band-lbl{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;flex:none}
.live-band-lbl .dot{background:var(--red);animation:tfaPulse 1.3s infinite}
.live-chip{display:inline-flex;align-items:center;gap:9px;background:#21242b;border:1px solid #30343d;border-radius:10px;padding:7px 12px;flex:none;color:#fff}
.live-chip:hover{border-color:var(--red)}
.live-chip .lc-min{font-size:10.5px;font-weight:800;color:#ff6b6b;flex:none}
.live-chip .lc-min.ns{color:#8b92a0}.live-chip .lc-min.ft{color:#8b92a0}
.live-chip .lc-t{font-size:12.5px;font-weight:700;white-space:nowrap}
.live-chip .lc-sc{font-family:var(--mono);font-size:13px;font-weight:700;color:#fff}
@media(max-width:560px){.lh-h1{font-size:23px}.lb-h1{font-size:22px}}

/* full-time recap badge (finished match liveblog) */
.lb-ftpill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#666;background:#f0f0f0;border-radius:20px;padding:4px 12px}
.lh-card .lh-clock.ft,.lh-sec[data-live-group="results"] .lh-clock{color:#888}

/* ---- commercial (Brand Management toplist) pages — unified chrome, full width ---- */
.commercial-page,.tfa-commercial-wrap{background:#fff}
.tfa-commercial{max-width:1180px;margin:0 auto;padding:22px 22px 56px}
.commercial-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.commercial-main{min-width:0}
.commercial-side{min-width:0;font-family:var(--sans)}
.commercial-side .cside-cta{margin:0 0 22px}
.commercial-side .cside-widget{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 22px}
.commercial-side .cside-title{font-weight:800;font-size:14px;color:var(--ink);margin:0 0 12px;padding-bottom:9px;border-bottom:2px solid var(--ink)}
.commercial-side .cside-widget ul{list-style:none;margin:0;padding:0}
.commercial-side .cside-widget li{padding:9px 0;border-bottom:1px solid var(--line2)}
.commercial-side .cside-widget li:last-child{border-bottom:0}
.commercial-side .cside-widget a{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.4}
.commercial-side .cside-widget a:hover{color:var(--pink)}
@media(max-width:900px){.commercial-grid{grid-template-columns:1fr;gap:30px}}
.commercial-h1{font-family:var(--serif);font-size:clamp(24px,4vw,32px);font-weight:700;line-height:1.2;margin:6px 0 22px;color:var(--ink)}
.commercial-body{font-size:15px;line-height:1.7;color:var(--body)}
/* Only style class-less editorial elements so namespaced BM widget markup is untouched. */
.commercial-body a:not([class]){color:var(--pink);text-decoration:underline}
.commercial-body p:not([class]){margin:0 0 1.1em}
.commercial-body h2:not([class]){font-family:var(--serif);font-size:22px;margin:1.4em 0 .5em;color:var(--ink)}
.commercial-body h3:not([class]){font-size:18px;margin:1.2em 0 .5em;color:var(--ink)}
.commercial-body ul:not([class]),.commercial-body ol:not([class]){padding-left:1.4em;margin:0 0 1.1em}

/* live hub: live dot + pagination */
.lh-livedot{display:inline-flex}.lh-livedot .dot{background:var(--red);animation:tfaPulse 1.3s infinite;width:8px;height:8px}
.lh-pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:24px 0 0;justify-content:center}
.lh-pg{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:700;color:var(--ink);background:#fff}
.lh-pg:hover{border-color:var(--pink);color:var(--pink)}
.lh-pg.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.lh-gap{color:#bbb;padding:0 2px}

/* news article author box (production-parity) */
.news-authorbox{display:flex;gap:16px;align-items:flex-start;margin:34px 0 0;padding:20px;background:#fafafa;border:1px solid var(--line);border-radius:14px}
.news-authorbox-av{border-radius:50%;width:60px;height:60px;flex:none}
.news-authorbox-name{font-weight:800;font-size:15px;color:var(--ink)}
.news-authorbox-bio{font-size:13px;color:#666;line-height:1.7;margin-top:4px}
.news-authorbox-bio p{margin:0 0 .5em}

/* commercial page byline (production parity: author + date + category) */
.commercial-byline{display:flex;align-items:center;gap:11px;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.commercial-av{border-radius:50%;width:40px;height:40px;flex:none}
.commercial-byline-text{font-size:13px;color:#555}
.commercial-byline-text b{color:var(--ink);font-weight:800}
.commercial-byline-meta{color:#999}
.commercial-byline-meta a{color:#999;text-decoration:none}
.commercial-byline-meta a:hover{color:var(--pink)}

/* author archive profile box (photo + name + bio) */
.author-box{display:flex;gap:22px;align-items:flex-start;margin:6px 0 26px;padding:24px;background:var(--sec);border:1px solid var(--line);border-radius:16px}
.author-box-av{border-radius:50%;width:104px;height:104px;flex:none}
.author-box-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.author-box-name{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.1;margin:4px 0 10px;color:var(--ink)}
.author-box-bio{font-size:14px;color:#555;line-height:1.75;max-width:760px}
.author-box-bio p{margin:0 0 .6em}
@media(max-width:560px){.author-box{flex-direction:column;gap:14px;padding:18px}.author-box-av{width:76px;height:76px}.author-box-name{font-size:24px}}

/* header search (icon toggles a search bar; submits to /?s=) */
.hdr-search{background:none;border:1px solid #e6e6e6;cursor:pointer;padding:0}
.hdr-search[aria-expanded="true"]{border-color:var(--pink);color:var(--pink)}
.hdr-searchbar{background:#fff;border-bottom:1px solid var(--line)}
.hdr-searchbar[hidden]{display:none}
.hdr-searchform{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:12px}
.hdr-searchform svg{color:var(--muted);flex:none}
.hdr-searchform input[type="search"]{flex:1;min-width:0;border:0;outline:none;font-family:var(--sans);font-size:16px;color:var(--ink);background:none;padding:6px 0}
.hdr-searchform input[type="search"]::placeholder{color:#aaa}
.hdr-searchform button[type="submit"]{flex:none;background:var(--ink);color:#fff;border:0;border-radius:8px;padding:9px 18px;font-family:var(--sans);font-weight:700;font-size:13px;cursor:pointer}
.hdr-searchform button[type="submit"]:hover{background:var(--pink)}

/* 404 / empty-state shortcut chips */
.err-shortcuts{display:flex;gap:10px;flex-wrap:wrap}
.err-shortcuts a{border:1px solid var(--line);border-radius:10px;padding:10px 18px;font-weight:700;font-size:13.5px;color:var(--ink);background:#fff;text-decoration:none}
.err-shortcuts a:hover{border-color:var(--pink);color:var(--pink)}
