/* g22b25rm 6ucdof */
/* ════════════════════════════════════════════════════════
   betting-directory — Copa do Mundo 2026 site template
   Consolidated stylesheet (union of the 3 mockups).
   Theme colours come from CSS variables; per-site overrides
   are injected inline in <head> (see partials/head.gpxn0f2o).
   Anti-footprint post-processor renames classes/vars/ids.
════════════════════════════════════════════════════════ */

:root {
  --gdl2v: #F7F8FA;
  --mqqn4ed: #FFFFFF;
  --rc3is678: #E4E7ED;
  --gsnjqp04: #1A1E2C;
  --t9p1c7k: #6B7280;
  --dejo30j: #1A56DB;
  --g7g2bk: #E8222A;
  --xbto8m4: #F59E0B;
  --dz4yddjs: #0F1629;
  --r4i9ifc: #FFFFFF;
  --jc4p0els: #1E2A45;
  --ysqth91: #22C55E;
  --tdt9a: #22C55E;
  --hbhos: #F59E0B;
  --z6s8ws: #E8222A;
  --k5z37: #D1D5DB;
  --vivmfjt: 6px;
  --g50wo8pq: 10px;
  --ev2yabf: 16px;
  --worsh: 0 1px 3px rgba(0, 0, 0, .08);
  --ifj6h: 0 4px 16px rgba(0, 0, 0, .10);
  --i8r23: 'Barlow Condensed', sans-serif;
  --aehd84w: 'Inter', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; } /* clip horizontal overflow at the viewport scroller (body-level clip doesn't propagate here); html is the scroll root so sticky still works */
body {
  font-family: var(--aehd84w);
  background: var(--gdl2v);
  color: var(--gsnjqp04);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

.eb8y3lmc { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ─── HEADER / NAV ─────────────────────────────────────── */
.site-header { background: var(--jc4p0els); position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
.l2m3p72 { display: flex; align-items: center; height: 62px; gap: 0; }
.fylhpbxp { display: flex; align-items: center; gap: 10px; color: #fff; font-family: var(--i8r23); font-size: 1.5rem; font-weight: 800; letter-spacing: .5px; white-space: nowrap; margin-right: 32px; flex-shrink: 0; }
.fylhpbxp .any70vk { background: var(--g7g2bk); color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: 1px; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; }
.sac184mg { display: flex; align-items: center; gap: 4px; flex: 1; }
.sac184mg a { color: rgba(255, 255, 255, .85); font-size: .9rem; font-weight: 600; padding: 8px 14px; border-radius: var(--vivmfjt); transition: background .15s, color .15s; white-space: nowrap; }
.sac184mg a:hover, .sac184mg a.active { background: rgba(255, 255, 255, .12); color: #fff; }
.sac184mg a.vxgogl { background: var(--dejo30j); color: #fff; }
.sac184mg a.vxgogl:hover { filter: brightness(.92); }
.hylswktn { display: flex; align-items: center; gap: 4px; margin-left: auto; flex-shrink: 0; }
.hylswktn a { color: rgba(255, 255, 255, .75); font-size: .82rem; font-weight: 500; padding: 6px 12px; border-radius: var(--vivmfjt); transition: background .15s, color .15s; white-space: nowrap; }
.hylswktn a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.c2s1le3 { background: var(--g7g2bk) !important; color: #fff !important; font-weight: 700 !important; padding: 7px 20px !important; }
.c2s1le3:hover { filter: brightness(1.1); }
.burger { display: none; flex-direction: column; justify-content: center; align-items: center; width: 40px; height: 40px; cursor: pointer; gap: 5px; border: none; background: transparent; padding: 0; margin-left: auto; }
.burger span { display: block; width: 22px; height: 2px; background: #fff; border-radius: 2px; transition: transform .25s, opacity .25s; }
.burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; }
.burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-drawer { display: none; flex-direction: column; background: var(--dz4yddjs); padding: 12px 20px 20px; gap: 2px; }
/* full-screen overlay (like escort): fills the whole viewport below the sticky header.
   JS sets `top` to the exact header height so it works across all header variants. */
.nav-drawer.open { display: flex; position: fixed; left: 0; right: 0; bottom: 0; top: 62px; z-index: 99; overflow-y: auto; -webkit-overflow-scrolling: touch; }
body.nav-open { overflow: hidden; }
/* overflow:hidden above breaks position:sticky on the header (it sticks to body, which no longer scrolls)
   → pin the header to the viewport while the burger drawer is open so it stays put with the close (X) */
body.nav-open .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 101; }
.nav-drawer a { color: rgba(255, 255, 255, .85); font-size: 1.05rem; font-weight: 500; padding: 14px 12px; border-radius: var(--vivmfjt); border-bottom: 1px solid rgba(255, 255, 255, .06); }
.nav-drawer a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
/* header section-variant modifiers */
.j0wkf { background: var(--dz4yddjs); }
.c4c8rd { box-shadow: none; border-bottom: 3px solid var(--dejo30j); }
.p4m0r .sac184mg a { background: rgba(255, 255, 255, .08); }
.r1i87 .l2m3p72 { height: 54px; }
.r1i87 .fylhpbxp { font-size: 1.3rem; }
.o9xhkgv { font-size: .7rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(255, 255, 255, .35); padding: 12px 12px 4px; }

/* ─── ODDS STRIP ───────────────────────────────────────── */
.odds-strip { background: #fff; border-bottom: 1px solid var(--rc3is678); position: relative; }
.ik18n1 { display: flex; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; scroll-behavior: smooth; padding: 8px 32px; gap: 8px; }
.ik18n1::-webkit-scrollbar { display: none; }
.ypz001 { position: absolute; top: 0; bottom: 0; width: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; border: none; font-size: .9rem; color: #A3A3A3; background: #fff; transition: color .15s; }
.ypz001:hover { color: #404040; }
.ypz001.left { left: 0; border-right: 1px solid var(--rc3is678); }
.ypz001.right { right: 0; border-left: 1px solid var(--rc3is678); }
.odds-card { flex-shrink: 0; width: 280px; border: 1px solid var(--rc3is678); border-radius: 8px; background: #fff; display: flex; flex-direction: column; align-items: center; overflow: hidden; }
.odds-meta { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 5px 8px; gap: 4px; }
.odds-meta-league { font-size: .6rem; color: #A3A3A3; font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.odds-meta-time { display: flex; align-items: center; gap: 4px; font-size: .6rem; font-weight: 500; color: #404040; white-space: nowrap; flex-shrink: 0; }
.odds-divider { width: 100%; height: 1px; background: var(--rc3is678); flex-shrink: 0; }
.odds-teams { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 6px 8px; width: 100%; min-height: 48px; }
.odds-team { display: flex; align-items: center; gap: 4px; font-size: .88rem; color: #404040; }
.odds-team.away { flex-direction: row-reverse; }
.ewbgh { font-size: .85rem; line-height: 1; flex-shrink: 0; }
.odds-crest { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.odds-row { display: flex; justify-content: center; gap: 6px; padding: 0 6px 6px; width: 100%; }
.odds-btn { display: flex; align-items: center; background: #F5F5F5; padding: 2px 6px; border-radius: 3px; gap: 4px; cursor: pointer; border: none; text-decoration: none; transition: background .12s; }
.odds-btn:hover { background: #E8EAFF; }
.odds-btn-val { font-size: .7rem; font-weight: 500; color: #404040; }
.odds-btn-label { font-size: .65rem; font-weight: 500; color: #A3A3A3; }
.odds-trend { font-size: .55rem; line-height: 1; }
.odds-trend.up { color: #16A34A; }
.odds-trend.down { color: #DC2626; }
.z8n6jv { width: 0; height: 0; border-left: 3px solid transparent; border-right: 3px solid transparent; flex-shrink: 0; }
.z8n6jv.up { border-bottom: 5px solid #47A167; }
.z8n6jv.down { border-top: 5px solid #E72535; }
.odds-status { font-size: .7rem; font-weight: 600; color: var(--dejo30j); text-align: center; padding: 4px 8px; width: 100%; display: block; text-decoration: none; transition: background .12s; }
.odds-status:hover { background: #F0F4FF; }
.czphdua6 { font-size: .6rem; color: var(--t9p1c7k); text-align: center; padding: 3px 20px; background: #FAFBFC; border-top: 1px solid var(--rc3is678); }
/* odds-strip section-variant modifiers (id/JS hooks preserved) */
.o8u20tl .odds-card { width: 240px; }
.uonkcv0u .odds-card { width: 320px; }
.uonkcv0u .odds-btn-val { font-size: .78rem; }
.ycfqghe .odds-card { border-top: 3px solid var(--dejo30j); }
.z73wz1i { background: var(--jc4p0els); }
.z73wz1i .ypz001 { background: var(--jc4p0els); color: rgba(255, 255, 255, .55); }
.z73wz1i .ypz001.left { border-right-color: rgba(255, 255, 255, .12); }
.z73wz1i .ypz001.right { border-left-color: rgba(255, 255, 255, .12); }

/* ─── HERO ─────────────────────────────────────────────── */
.hiivu0 { background: linear-gradient(135deg, #0F1629 0%, #1A2545 60%, var(--dejo30j) 100%); color: #fff; padding: 56px 0 52px; position: relative; overflow: hidden; }
.hiivu0::before { content: '2026'; position: absolute; right: -20px; top: 50%; transform: translateY(-50%); font-family: var(--i8r23); font-size: clamp(120px, 18vw, 220px); font-weight: 800; color: rgba(255, 255, 255, .04); line-height: 1; pointer-events: none; user-select: none; }
.fdhho { display: inline-flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); color: rgba(255, 255, 255, .85); font-size: .75rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; margin-bottom: 16px; }
.hiivu0 h1 { font-family: var(--i8r23); font-size: clamp(2.4rem, 6vw, 4.2rem); font-weight: 800; line-height: 1.05; letter-spacing: -.5px; margin-bottom: 16px; max-width: 680px; }
.hiivu0 h1 em { font-style: normal; color: var(--xbto8m4); }
.p6ccnim6 { font-size: 1.05rem; color: rgba(255, 255, 255, .75); max-width: 520px; margin-bottom: 28px; line-height: 1.55; }
.sn6kuzgz { display: flex; flex-wrap: wrap; gap: 12px; }
/* hero section-variant modifiers */
.zicmnkt .eb8y3lmc { text-align: center; }
.zicmnkt h1, .zicmnkt .p6ccnim6 { margin-left: auto; margin-right: auto; }
.zicmnkt .sn6kuzgz { justify-content: center; }
.tvot8fxt::before { display: none; }
.shmph .eb8y3lmc { text-align: right; }
.shmph h1, .shmph .p6ccnim6 { margin-left: auto; }
.shmph .sn6kuzgz { justify-content: flex-end; }
.shmph::before { right: auto; left: -20px; }
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 12px 24px; border-radius: var(--vivmfjt); font-size: .9rem; font-weight: 600; cursor: pointer; transition: filter .15s, transform .1s; border: none; }
.btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.p2k50 { background: var(--dejo30j); color: #fff; }
.d6o3n635 { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .4); }
.d6o3n635:hover { background: rgba(255, 255, 255, .1); }

/* ─── SECTION ──────────────────────────────────────────── */
.section { padding: 56px 0; }
.bwk7vzv { padding: 36px 0; }
.o86mip { background: var(--mqqn4ed); }
.jt8koq4 { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 28px; gap: 12px; flex-wrap: wrap; }
.section-title { font-family: var(--i8r23); font-size: 1.9rem; font-weight: 800; letter-spacing: -.2px; line-height: 1.1; position: relative; padding-left: 14px; }
.section-title::before { content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px; background: var(--dejo30j); border-radius: 2px; }
.e676j { font-size: .85rem; font-weight: 600; color: var(--dejo30j); white-space: nowrap; }
.e676j:hover { text-decoration: underline; }

/* ─── STATS STRIP ──────────────────────────────────────── */
.w4t10e { background: var(--mqqn4ed); border-top: 1px solid var(--rc3is678); border-bottom: 1px solid var(--rc3is678); }
.stats-grid { display: flex; align-items: stretch; }
.stats-cell { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 16px; border-right: 1px solid var(--rc3is678); text-align: center; transition: background .15s; }
.stats-cell:last-child { border-right: none; }
.stats-cell:hover { background: #F7F9FF; }
.stats-cell-body { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.stats-num { font-family: var(--i8r23); font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 800; color: var(--dejo30j); line-height: 1; letter-spacing: -1px; }
.stats-label { font-size: .65rem; font-weight: 700; color: var(--t9p1c7k); text-transform: uppercase; letter-spacing: 1px; white-space: nowrap; }
/* stats section-variant modifiers (anti-footprint layout uniqueness) */
.tgvcm0r .stats-cell { flex-direction: row; align-items: baseline; gap: 8px; }
.tgvcm0r .stats-num { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.zudgn .stats-cell { border-top: 3px solid var(--dejo30j); }
.zudgn .stats-num { color: var(--gsnjqp04); }
.zudgn .stats-label { color: var(--dejo30j); }
.rcgdab .stats-grid { flex-wrap: wrap; }
.rcgdab .stats-cell { flex: 0 0 50%; }
.rcgdab .stats-cell:nth-child(odd) { border-right: 1px solid var(--rc3is678); }
.rcgdab .stats-cell:nth-child(-n+2) { border-bottom: 1px solid var(--rc3is678); }

/* ─── PROSE / ARTICLE ──────────────────────────────────── */
.xrqbqqr { max-width: 100%; }
/* article section-variant modifiers (H2 .section-title + html preserved) */
.xielee { background: var(--gdl2v); }
.yf7hc6 .xrqbqqr { max-width: 760px; margin: 0 auto; }
.yf7hc6 .jt8koq4 { text-align: center; }
.vd82c .section-title { border-left: 4px solid var(--dejo30j); padding-left: 14px; }
.vd82c .section-title::before { display: none; } /* variant uses the border-left bar — drop the ::before so there is no double line */
.eh1zjnk { border-top: 1px solid var(--rc3is678); }
.xrqbqqr h2 { font-family: var(--i8r23); font-size: 1.7rem; font-weight: 800; margin: 36px 0 12px; line-height: 1.15; }
.xrqbqqr h3 { font-family: var(--i8r23); font-size: 1.25rem; font-weight: 700; margin: 28px 0 10px; line-height: 1.2; }
.xrqbqqr h4 { font-size: 1rem; font-weight: 700; margin: 20px 0 8px; color: var(--gsnjqp04); }
.xrqbqqr p { color: #374151; margin-bottom: 16px; line-height: 1.7; }
.xrqbqqr ul { list-style: none; margin: 0 0 18px 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.xrqbqqr ul li { padding-left: 22px; position: relative; color: #374151; line-height: 1.6; }
.xrqbqqr ul li::before { content: ''; position: absolute; left: 6px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--dejo30j); }
.xrqbqqr ol { counter-reset: ol-counter; list-style: none; margin: 0 0 18px 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.xrqbqqr ol li { counter-increment: ol-counter; padding-left: 36px; position: relative; color: #374151; line-height: 1.6; }
.xrqbqqr ol li::before { content: counter(ol-counter); position: absolute; left: 0; top: 0; width: 24px; height: 24px; background: var(--dejo30j); color: #fff; font-size: .75rem; font-weight: 700; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.xrqbqqr strong { font-weight: 700; color: var(--gsnjqp04); }
.xrqbqqr a { color: var(--dejo30j); text-decoration: underline; }

.lgmfl1vo { margin: 24px 0 28px; }
.tld4e7cn { width: 100%; height: 280px; background: #F1F3F7; border: 2px dashed var(--rc3is678); border-radius: var(--g50wo8pq); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
.tld4e7cn .aski44 { font-size: 2rem; opacity: .4; }
.tld4e7cn .aocc4rrr { font-size: .8rem; font-weight: 600; color: var(--t9p1c7k); }
.bgct0u4z { width: 100%; height: 280px; object-fit: cover; border-radius: var(--g50wo8pq); display: block; }
.c6tlhh { font-size: .75rem; color: var(--t9p1c7k); margin-top: 8px; font-style: italic; }

/* prose inline table */
.vu4yta { overflow-x: auto; margin: 20px 0 24px; border-radius: var(--g50wo8pq); border: 1px solid var(--rc3is678); box-shadow: var(--worsh); }
.x0fad { width: 100%; border-collapse: collapse; background: var(--mqqn4ed); font-size: .875rem; }
.x0fad thead tr { background: #F1F3F7; }
.x0fad thead th { padding: 10px 16px; text-align: left; font-size: .68rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--t9p1c7k); border-bottom: 2px solid var(--rc3is678); white-space: nowrap; }
.x0fad tbody tr { border-bottom: 1px solid var(--rc3is678); transition: background .12s; }
.x0fad tbody tr:first-child { background: #EFF6FF; }
.x0fad tbody tr:first-child td { font-weight: 600; }
.x0fad tbody tr:last-child { border-bottom: none; }
.x0fad tbody tr:hover { background: #F7F9FF; }
.x0fad tbody td { padding: 11px 16px; vertical-align: middle; }
.kr5p4t { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: .78rem; font-weight: 700; }
.kr5p4t.l39j3m39 { background: var(--dejo30j); color: #fff; }

/* prose CTA blocks */
.w4b1u { margin: 28px 0; background: linear-gradient(135deg, #EFF6FF 0%, #E0EAFF 100%); border: 1px solid rgba(26, 86, 219, .18); border-left: 4px solid var(--dejo30j); border-radius: var(--g50wo8pq); padding: 20px 24px; }
.ys66lg8 { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.fvjkpcgr { display: flex; flex-direction: column; gap: 4px; }
.fvjkpcgr strong { font-size: 1rem; font-weight: 700; color: var(--gsnjqp04); }
.fvjkpcgr span { font-size: .8rem; color: var(--t9p1c7k); }
.uv987w7 { background: var(--dejo30j); color: #fff !important; padding: 11px 24px; border-radius: var(--vivmfjt); font-size: .9rem; font-weight: 700; font-family: var(--aehd84w); white-space: nowrap; text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; transition: filter .15s, transform .1s; flex-shrink: 0; line-height: 1.4; }
.uv987w7:hover { filter: brightness(1.08); transform: translateY(-1px); }
.mfkus9 { margin: 20px 0 28px; background: var(--jc4p0els); border-radius: var(--g50wo8pq); padding: 22px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; position: relative; overflow: hidden; }
.mfkus9::after { content: '2026'; position: absolute; right: 180px; top: 50%; transform: translateY(-50%); font-family: var(--i8r23); font-size: 5rem; font-weight: 800; color: rgba(255, 255, 255, .05); line-height: 1; pointer-events: none; letter-spacing: -2px; } /* subtle background year art (button fills the right) */
.b1ja8 { display: flex; flex-direction: column; gap: 5px; }
.jaczhq { font-size: .68rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.fxzd0v { font-family: var(--i8r23); font-size: 1.3rem; font-weight: 800; color: #fff; line-height: 1.2; }
.b2o0tn { font-size: .75rem; color: rgba(255, 255, 255, .5); }
.gruwz { background: var(--dejo30j); color: #fff !important; padding: 12px 26px; border-radius: var(--vivmfjt); font-size: .9rem; font-weight: 700; font-family: var(--aehd84w); white-space: nowrap; text-decoration: none !important; display: inline-flex; align-items: center; flex-shrink: 0; transition: filter .15s, transform .1s; line-height: 1.4; position: relative; z-index: 1; }
.gruwz:hover { filter: brightness(1.1); transform: translateY(-1px); }

/* split block */
.r4wbusgh { margin: 32px 0 8px; padding-top: 32px; border-top: 1px solid var(--rc3is678); }
.lzujur { margin-bottom: 20px !important; }
/* r9: float the image so the text flows AROUND it and fills the space under it (no empty column) */
.w669x2o4 { display: block; }
.w669x2o4::after { content: ''; display: block; clear: both; }
.drf51j4a { float: left; width: 42%; margin: 4px 32px 14px 0; }
.w22j2l { width: 100%; }
.j5db7wd { height: 240px !important; }
.wpxp4u { display: block; }
.wpxp4u p { margin-bottom: 14px; }
.wpxp4u ul { margin-bottom: 0; }

/* ─── FAQ ──────────────────────────────────────────────── */
.us9mwos { display: flex; flex-direction: column; gap: 12px; max-width: none; } /* r10: full width */
.epe23crz { background: var(--mqqn4ed); border: 1px solid var(--rc3is678); border-radius: var(--g50wo8pq); padding: 16px 20px; box-shadow: var(--worsh); }
.j5qjd { font-family: var(--i8r23); font-size: 1.05rem; font-weight: 700; color: var(--gsnjqp04); margin: 0 0 6px; } /* r10: question is an <h3>, reset default margins */
.gh3i7v { font-size: .92rem; color: #374151; line-height: 1.6; }
/* faq section-variant modifiers */
.bs19hi .epe23crz { background: transparent; border: none; box-shadow: none; border-radius: 0; border-bottom: 1px solid var(--rc3is678); padding: 16px 0; }
.w1dkhv6 .us9mwos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); max-width: none; }
.l8ap49 .epe23crz { border-left: 3px solid var(--dejo30j); }
.v585yiqr .epe23crz { padding: 12px 16px; }
.v585yiqr .j5qjd { font-size: .95rem; margin-bottom: 3px; }

/* ─── HERO-SUB LINK + CONTACT FORM ─────────────────────── */
.y9zjl0 { color: var(--t9p1c7k); font-size: .82rem; margin-top: 6px; max-width: 760px; }
.bck3a9y2 { display: flex; flex-direction: column; gap: 14px; max-width: 520px; margin: 8px 0 4px; }
.bck3a9y2 label { display: flex; flex-direction: column; gap: 6px; font-size: .85rem; font-weight: 600; color: var(--gsnjqp04); }
.bck3a9y2 input, .bck3a9y2 textarea { font-family: var(--aehd84w); font-size: .95rem; padding: 10px 12px; border: 1px solid var(--rc3is678); border-radius: var(--vivmfjt); background: var(--mqqn4ed); color: var(--gsnjqp04); }
.bck3a9y2 input:focus, .bck3a9y2 textarea:focus { outline: none; border-color: var(--dejo30j); }
.bck3a9y2 button { align-self: flex-start; }

/* ─── LEGAL / INFO PAGES (sobre, contato, privacidade, cookies) ─── */
.pn4jo67 { display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start; }
.ky7b5 { max-width: none; }
.ky7b5 h3 { margin-top: 26px; }
.ky7b5 h3:first-child { margin-top: 0; }
.nfe2v { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 80px; }
.qzvdjc { background: var(--mqqn4ed); border: 1px solid var(--rc3is678); border-radius: var(--ev2yabf); padding: 22px 24px; box-shadow: var(--worsh); }
.gr380 { font-family: var(--i8r23); font-size: 1.2rem; font-weight: 800; color: var(--gsnjqp04); margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.rk7bsc { font-size: .82rem; color: var(--t9p1c7k); line-height: 1.55; margin-bottom: 16px; }
.bn4nn { font-size: .65rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--t9p1c7k); margin: 14px 0 8px; }
.vmtiw5j { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.vmtiw5j a { font-size: .9rem; color: var(--dejo30j); font-weight: 600; }
.vmtiw5j a:hover { text-decoration: underline; }
.ddpofcc { font-size: .88rem; color: var(--gsnjqp04); word-break: break-all; font-weight: 600; }
.oes540sd { background: var(--dejo30j); color: #fff; text-align: center; padding: 13px 18px; border-radius: var(--vivmfjt); font-weight: 700; font-size: .9rem; transition: filter .15s, transform .1s; }
.oes540sd:hover { filter: brightness(1.08); transform: translateY(-1px); }
.dllq4 { font-size: .8rem; color: var(--t9p1c7k); margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--rc3is678); }
@media (max-width: 860px) { .pn4jo67 { grid-template-columns: 1fr; } .nfe2v { position: static; } }

/* ─── GENERIC TABLE (home preview) ─────────────────────── */
.v350v2w { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--g50wo8pq); border: 1px solid var(--rc3is678); box-shadow: var(--worsh); }
table { width: 100%; border-collapse: collapse; background: var(--mqqn4ed); font-size: .88rem; }
/* tabela-preview section-variant modifiers */
.doqg1cji table tbody tr:nth-child(even) { background: #FAFBFC; }
.gw4y3b table th, .gw4y3b table td { padding: 6px 8px; font-size: .8rem; }
.wjcavl6 table thead tr { background: var(--jc4p0els); }
.wjcavl6 table thead th { color: rgba(255, 255, 255, .85); }
.aempm7 table tbody tr { border-bottom: 1px solid var(--rc3is678); }
thead tr { background: #F1F3F7; }
thead th { padding: 11px 14px; text-align: left; font-size: .72rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--t9p1c7k); white-space: nowrap; border-bottom: 2px solid var(--rc3is678); }
thead th:not(:first-child) { text-align: center; }
tbody tr { border-bottom: 1px solid var(--rc3is678); transition: background .12s; }
tbody tr:last-child { border-bottom: none; }
tbody tr:hover { background: #F7F9FF; }
tbody td { padding: 11px 14px; vertical-align: middle; white-space: nowrap; }
tbody td:not(:first-child) { text-align: center; }
.team-cell { display: flex; align-items: center; gap: 10px; }
.dgigyop { width: 26px; height: 18px; border-radius: 3px; background: linear-gradient(90deg, #E4E7ED 25%, #f0f2f5 50%, #E4E7ED 75%); flex-shrink: 0; }
.rank-pos { font-weight: 700; color: var(--t9p1c7k); font-size: .8rem; width: 24px; text-align: center; display: inline-block; }
.rank-pos.qualify { color: var(--dejo30j); }
.pts-badge { display: inline-block; background: var(--dejo30j); color: #fff; font-weight: 700; font-size: .8rem; min-width: 28px; padding: 3px 7px; border-radius: 4px; text-align: center; }
.pts-badge.gray { background: #9CA3AF; }
.form-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin: 0 1px; }
.form-dot.w { background: var(--tdt9a); }
.form-dot.d { background: var(--xbto8m4); }
.form-dot.l { background: var(--g7g2bk); }

/* ─── MATCH CARDS (home + jogos full) ──────────────────── */
.matches-grid { display: flex; flex-direction: column; gap: 10px; }
.match-day-group { display: flex; flex-direction: column; gap: 8px; }
.jogos-hidden { display: none !important; }
.load-more-btn { align-self: center; margin-top: 18px; background: var(--mqqn4ed); border: 1.5px solid var(--dejo30j); color: var(--dejo30j); font-weight: 700; font-size: .9rem; padding: 12px 30px; border-radius: var(--vivmfjt); cursor: pointer; transition: background .15s, transform .1s; font-family: var(--aehd84w); }
.load-more-btn:hover { background: #EFF6FF; transform: translateY(-1px); }
.match-day-label { font-size: .75rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--t9p1c7k); padding: 8px 0 4px; border-top: 1px solid var(--rc3is678); margin-top: 4px; }
.match-day-label:first-child { border-top: none; margin-top: 0; }
/* jogos-preview section-variant modifiers */
.cke6ud5m .matches-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.cke6ud5m .match-day-label { grid-column: 1 / -1; }
.bnv8gmc .match-card { padding: 10px 16px; }
.bnv8gmc .score-nums { font-size: 1.4rem; }
.sou7hq .match-card { border-left: 3px solid var(--dejo30j); }
.y0u8uj .match-card { background: transparent; border: none; box-shadow: none; border-radius: 0; border-bottom: 1px solid var(--rc3is678); }
.match-day-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 0 6px; border-top: 1px solid var(--rc3is678); margin-top: 8px; }
.match-day-header:first-child { border-top: none; margin-top: 0; }
.match-day-date { font-size: .78rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--gsnjqp04); }
.match-day-phase { font-size: .72rem; font-weight: 600; color: var(--t9p1c7k); }
.match-card { background: var(--mqqn4ed); border: 1px solid var(--rc3is678); border-radius: var(--g50wo8pq); padding: 16px 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; transition: box-shadow .15s, border-color .15s; }
.match-card:hover { border-color: var(--dejo30j); box-shadow: 0 0 0 3px rgba(26, 86, 219, .08); }
.match-card.finished:hover { border-color: var(--rc3is678); box-shadow: none; }
.match-team { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: .95rem; min-width: 0; overflow-wrap: anywhere; }
.match-team.away { justify-content: flex-end; flex-direction: row; }
.match-team.away .team-flag-circle { order: 2; }
.match-team.away .team-name { order: 1; }
.team-flag-circle { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--rc3is678); background: linear-gradient(135deg, #E4E7ED 0%, #F7F8FA 100%); flex-shrink: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; line-height: 1; }
.team-flag-circle img { width: 100%; height: 100%; object-fit: cover; }
.match-center { text-align: center; min-width: 130px; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.match-score { text-align: center; min-width: 80px; }
.score-nums { font-family: var(--i8r23); font-size: 1.8rem; font-weight: 800; letter-spacing: 4px; line-height: 1; color: var(--gsnjqp04); }
.score-nums.upcoming { color: var(--t9p1c7k); letter-spacing: 2px; font-size: 1.3rem; }
.xrgs8cj { color: var(--rc3is678); }
.score-time { font-size: .72rem; color: var(--t9p1c7k); font-weight: 500; }
.score-status { display: inline-block; font-size: .65rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: 2px 8px; border-radius: 3px; }
.score-status.live { background: #FEE2E2; color: var(--g7g2bk); }
.score-status.finished { background: #F1F3F7; color: var(--t9p1c7k); }
.score-status.upcoming { background: #EFF6FF; color: var(--dejo30j); }
.match-venue { font-size: .7rem; color: var(--dejo30j); font-weight: 500; margin-top: 3px; }
.fslz6g { font-size: .66rem; color: var(--t9p1c7k); }

/* ─── BANNER STRIP ─────────────────────────────────────── */
.e807u0qr { background: #F1F3F7; border-top: 1px solid var(--rc3is678); border-bottom: 1px solid var(--rc3is678); }
.kol4q { display: block; }
.zq22pk { width: 100%; height: 90px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 2px dashed var(--rc3is678); cursor: pointer; transition: background .15s, border-color .15s; position: relative; overflow: hidden; }
.zq22pk:hover { background: #E8EBF0; border-color: var(--dejo30j); }
.bhnubgl3 { display: flex; align-items: center; gap: 10px; }
.aski44 { font-size: 1.4rem; opacity: .4; }
.aocc4rrr { font-size: .75rem; font-weight: 600; color: var(--t9p1c7k); letter-spacing: .3px; }
.fxs44ng { width: 100%; height: 90px; object-fit: cover; display: block; }
.yxwqx6wh { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.bkadpb5 { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: var(--vivmfjt); font-size: .85rem; font-weight: 700; white-space: nowrap; transition: filter .15s, transform .1s; text-decoration: none; }
.bkadpb5:hover { filter: brightness(1.08); transform: translateY(-1px); }
.cs0quayo { background: var(--dejo30j); color: #fff; }
.zsesoypz { background: transparent; color: var(--dejo30j); border: 1.5px solid var(--dejo30j); }
.zsesoypz:hover { background: #EFF6FF; }
/* banner section-variant modifiers */
.nuxc6x5v .zq22pk { justify-content: center; }
.nuxc6x5v .bhnubgl3 { gap: 16px; }
.dcoincnd .zq22pk { border-style: solid; }

/* ─── PAGE HEADER + PHASE TABS (tabela/jogos) ──────────── */
.qsa25v { background: var(--mqqn4ed); border-bottom: 1px solid var(--rc3is678); padding: 20px 0 0; }
.gu62sv { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 8px; }
.pit5yk { font-family: var(--i8r23); font-size: 1.8rem; font-weight: 800; letter-spacing: -.2px; }
.vbzvbuu { font-size: .8rem; color: var(--t9p1c7k); margin-top: 2px; }
.kkw1jgw1 { display: inline-block; font-size: .72rem; font-weight: 600; color: var(--dejo30j); background: #EFF6FF; border: 1px solid rgba(26,86,219,.18); padding: 3px 10px; border-radius: 20px; margin-top: 8px; }
.fvyqy { background: var(--mqqn4ed); border-bottom: 1px solid var(--rc3is678); }
.i36mlbe { display: flex; gap: 0; border-bottom: 2px solid var(--rc3is678); overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.i36mlbe::-webkit-scrollbar { display: none; }
.phase-tab { padding: 10px 18px; font-size: .82rem; font-weight: 600; color: var(--t9p1c7k); border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; white-space: nowrap; transition: color .15s, border-color .15s; }
.phase-tab:hover { color: var(--dejo30j); }
.phase-tab.active { color: var(--dejo30j); border-bottom-color: var(--dejo30j); }

/* ─── GROUP NAV PILLS (tabela) ─────────────────────────── */
.group-nav-wrap { background: var(--mqqn4ed); border-bottom: 1px solid var(--rc3is678); position: sticky; top: 62px; z-index: 90; }
.cn6rwlf { display: flex; align-items: center; gap: 0; overflow-x: auto; scrollbar-width: none; padding: 10px 0; }
.cn6rwlf::-webkit-scrollbar { display: none; }
.group-pill { flex-shrink: 0; padding: 6px 16px; border-radius: 20px; font-size: .8rem; font-weight: 600; cursor: pointer; color: var(--t9p1c7k); background: transparent; border: 1.5px solid transparent; transition: all .15s; white-space: nowrap; }
.group-pill:hover, .group-pill.active { color: var(--dejo30j); border-color: var(--dejo30j); background: #EFF6FF; }

/* ─── TABELA: groups + classification ──────────────────── */
.icg4vv { padding: 28px 0 56px; }
.group-block { margin-bottom: 48px; scroll-margin-top: 130px; }
.ao6fy { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; max-width: 1000px; margin: 0 auto; }
.ao6fy, .ao6fy * { min-width: 0; } /* grid items default to min-width:auto and refuse to shrink below the wide standings table → let them shrink so .v350v2w (overflow-x:auto) scrolls it on mobile instead of overflowing the page */
.win6j4 { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 12px; }
.win6j4 h2 { font-family: var(--i8r23); font-size: 1.4rem; font-weight: 800; letter-spacing: -.1px; }
.btn-completa { font-size: .72rem; font-weight: 700; color: var(--dejo30j); border: 1.5px solid var(--dejo30j); padding: 4px 12px; border-radius: 4px; cursor: pointer; background: transparent; transition: background .12s; white-space: nowrap; }
.btn-completa:hover { background: #EFF6FF; }
.btn-completa.is-expanded { color: var(--g7g2bk); border-color: var(--g7g2bk); background: transparent; }
.btn-completa.is-expanded:hover { background: #FEF2F2; }
/* Completa toggle: compact ↔ full-width table (D/GP/GC/SG/%) */
.col-extra { display: none; }
.group-block.expanded .col-extra { display: table-cell; }
.group-block.expanded .ao6fy { grid-template-columns: 1fr; max-width: 1140px; }
.group-block.expanded .ao6fy > div:nth-child(2) { display: none; }
.q5hk7vvh { display: none; width: 100%; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--rc3is678); }
.group-block.expanded .et4gg5ch { align-items: flex-start; }
.group-block.expanded .q5hk7vvh { display: flex; }
.t3a0qhb8 { display: flex; align-items: center; gap: 4px; font-size: .68rem; color: var(--t9p1c7k); }
.hxyrfc { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.vcibr9e { font-size: .68rem; color: var(--t9p1c7k); }
.vcibr9e b { color: var(--gsnjqp04); font-weight: 700; margin-right: 4px; }
table.cls-table { width: 100%; border-collapse: collapse; background: var(--mqqn4ed); font-size: .82rem; }
table.cls-table thead tr { background: #F1F3F7; }
table.cls-table thead th { padding: 9px 10px; text-align: center; font-size: .65rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--t9p1c7k); border-bottom: 2px solid var(--rc3is678); white-space: nowrap; }
table.cls-table thead th.dz32od54 { text-align: left; }
table.cls-table thead th.oy5ccumm { background: #EFF6FF; color: var(--dejo30j); }
table.cls-table tbody tr { border-bottom: 1px solid var(--rc3is678); transition: background .12s; }
table.cls-table tbody tr:last-child { border-bottom: none; }
table.cls-table tbody tr:hover { background: #F7F9FF; }
table.cls-table tbody td { padding: 9px 10px; text-align: center; vertical-align: middle; }
.qualify-bar { width: 3px; min-height: 38px; position: absolute; left: 0; top: 0; bottom: 0; background: var(--ysqth91); }
td.pos-cell { position: relative; width: 36px; padding-left: 14px; text-align: center; }
.pos-num { font-size: .75rem; font-weight: 700; color: var(--t9p1c7k); }
.cls-table .team-cell { display: flex; align-items: center; gap: 8px; text-align: left; }
.team-crest { width: 24px; height: 24px; object-fit: contain; border-radius: 50%; flex-shrink: 0; background: var(--rc3is678); }
.team-name { font-weight: 600; font-size: .82rem; }
.form-bullets { display: flex; gap: 3px; justify-content: center; }
.bullet { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; display: inline-block; }
.bullet.w { background: var(--tdt9a); }
.bullet.d { background: var(--hbhos); }
.bullet.l { background: var(--z6s8ws); }
.bullet.p { background: var(--k5z37); }
.et4gg5ch { padding: 8px 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--rc3is678); background: #FAFBFC; border-radius: 0 0 var(--g50wo8pq) var(--g50wo8pq); }
.p1qq0l { display: flex; align-items: center; gap: 6px; font-size: .68rem; color: var(--t9p1c7k); }
.clt4l1 { width: 10px; height: 10px; border-radius: 2px; background: var(--ysqth91); }
.g6kmms0 { display: flex; align-items: center; gap: 10px; }
.t3a0qhb8 { display: flex; align-items: center; gap: 4px; font-size: .68rem; color: var(--t9p1c7k); }

/* tabela match column */
.s17quba { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.s17quba h2 { font-family: var(--i8r23); font-size: 1.4rem; font-weight: 800; }
.round-nav { display: flex; align-items: center; gap: 8px; }
.bbw4e1o { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--rc3is678); background: var(--mqqn4ed); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: .85rem; color: var(--t9p1c7k); transition: border-color .15s, color .15s; }
.bbw4e1o:hover { border-color: var(--dejo30j); color: var(--dejo30j); }
.round-label { font-size: .8rem; font-weight: 600; color: var(--gsnjqp04); white-space: nowrap; }
.match-list { display: flex; flex-direction: column; gap: 8px; }
.round-matches { display: flex; flex-direction: column; gap: 8px; }
.match-list .match-card { display: block; padding: 0; overflow: hidden; cursor: pointer; }
.a5o9rsz { padding: 5px 12px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--rc3is678); background: #FAFBFC; }
.d2wow1 { font-size: .65rem; font-weight: 700; display: flex; align-items: center; gap: 4px; }
.d2wow1.finished { color: var(--t9p1c7k); }
.d2wow1.live { color: var(--g7g2bk); }
.d2wow1.upcoming { color: var(--dejo30j); }
.h3h7du { font-size: .65rem; color: var(--t9p1c7k); margin-left: auto; }
.vxhxh { font-size: .62rem; color: var(--t9p1c7k); }
.be7rv8gy { padding: 10px 12px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.be7rv8gy .match-team { font-size: .82rem; gap: 8px; }
.be7rv8gy .match-team.away { justify-content: flex-end; flex-direction: row-reverse; }
.k2p9d { text-align: center; min-width: 60px; }
.xj51s { font-family: var(--i8r23); font-size: 1.5rem; font-weight: 800; line-height: 1; letter-spacing: 2px; }
.vvydxzls { color: #CBD5E1; }

/* knockout */
.phase-content { display: none; }
.phase-content.active { display: block; }
.j6ixk { padding: 14px 0 18px; }
.bracket-link { font-size: .82rem; font-weight: 600; color: var(--dejo30j); cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.bracket-link:hover { text-decoration: underline; }
.ko-match-list { display: flex; flex-direction: column; gap: 10px; max-width: 820px; margin: 0 auto; }
.ko-match { display: grid; grid-template-columns: 200px 1fr; align-items: center; background: var(--mqqn4ed); border: 1px solid var(--rc3is678); border-radius: var(--g50wo8pq); overflow: hidden; transition: border-color .15s; }
.ko-match:hover { border-color: var(--dejo30j); }
.ko-match.is-final { border-color: var(--xbto8m4); box-shadow: 0 0 0 2px rgba(245, 158, 11, .15); }
.ko-datetime { padding: 16px 20px; border-right: 1px solid var(--rc3is678); background: #FAFBFC; }
.ko-datetime.is-final { background: #FFFBEB; }
.ko-date { font-size: .78rem; font-weight: 600; color: var(--gsnjqp04); line-height: 1.3; }
.ko-date.xu954ko0 { color: var(--xbto8m4); font-size: .85rem; font-weight: 800; }
.ko-time { font-size: .72rem; color: var(--t9p1c7k); margin-top: 2px; }
.ko-broadcast { font-size: .65rem; color: var(--dejo30j); margin-top: 4px; font-weight: 500; }
.ko-teams { padding: 16px 24px; display: flex; align-items: center; justify-content: center; gap: 16px; font-size: .9rem; color: var(--gsnjqp04); }
.ko-team { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.ko-team-crest { width: 28px; height: 28px; border-radius: 50%; object-fit: contain; flex-shrink: 0; }
.ko-team-ph { width: 28px; height: 28px; border-radius: 50%; background: #2D3748; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ko-team-ph svg { width: 16px; height: 16px; fill: #718096; }
.ko-sep { font-size: .85rem; color: var(--t9p1c7k); font-weight: 400; flex-shrink: 0; }
.ko-sep.ko-score { font-family: var(--i8r23); font-size: 1.15rem; font-weight: 800; color: var(--gsnjqp04); letter-spacing: 1px; min-width: 56px; text-align: center; }

/* ─── Chaveamento (knockout bracket) drawer + tree ─── */
.bk-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 200; display: none; }
.bk-overlay.open { display: block; }
body.bk-lock { overflow: hidden; }
.bk-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(1000px, 100%); background: var(--mqqn4ed); display: flex; flex-direction: column; box-shadow: -8px 0 30px rgba(0,0,0,.3); }
.bk-head { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-bottom: 1px solid var(--rc3is678); flex-shrink: 0; }
.bk-close { font-size: 1.7rem; line-height: 1; background: none; border: none; cursor: pointer; color: var(--t9p1c7k); padding: 0 4px; }
.bk-close:hover { color: var(--gsnjqp04); }
.bk-title { font-family: var(--i8r23); font-size: 1.4rem; font-weight: 800; }
.bk-scroll { flex: 1; overflow: auto; padding: 24px; -webkit-overflow-scrolling: touch; }
/* DESKTOP: equal-height columns; each game in an equal flex slot so pair midpoints line up,
   then proper bracket connectors (vertical join per pair + horizontal stub into the next round). */
.bk-tree { --goynr5jg: 38px; --wd8qgp: #9aa6b8; display: flex; align-items: stretch; min-width: max-content; gap: var(--goynr5jg); }
.bk-col { display: flex; flex-direction: column; min-width: 168px; }
.bk-roundhead { display: none; }
.bk-games { flex: 1; display: flex; flex-direction: column; }
.bk-game { flex: 1 1 0; min-height: 72px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.bk-card { background: var(--mqqn4ed); border: 1px solid var(--rc3is678); border-radius: 6px; box-shadow: var(--worsh); }
.bk-game.is-final .bk-card { border-color: var(--xbto8m4); }
/* vertical pair-join sits in the right half of the gap; top game draws center→bottom-edge, bottom game top-edge→center */
.bk-col:not(:last-child) .bk-games .bk-game::after { content: ''; position: absolute; right: calc(var(--goynr5jg) / -2); width: calc(var(--goynr5jg) / 2); border-right: 2.5px solid var(--wd8qgp); }
.bk-col:not(:last-child) .bk-games .bk-game:nth-of-type(odd)::after { top: 50%; bottom: 0; border-top: 2.5px solid var(--wd8qgp); }
.bk-col:not(:last-child) .bk-games .bk-game:nth-of-type(even)::after { top: 0; bottom: 50%; border-bottom: 2.5px solid var(--wd8qgp); }
/* horizontal line from the pair-join into the next round's game (left half of the gap) */
.bk-col:not(:first-child) .bk-games .bk-game::before { content: ''; position: absolute; left: calc(var(--goynr5jg) / -2); width: calc(var(--goynr5jg) / 2); top: 50%; height: 2.5px; background: var(--wd8qgp); }
.bk-slot { display: flex; align-items: center; gap: 7px; padding: 4px 9px; font-size: .8rem; line-height: 1.2; }
.bk-slot.is-team { font-weight: 600; }
.bk-slot + .bk-slot { border-top: 1px solid var(--rc3is678); }
.bk-slot img { width: 18px; height: 18px; object-fit: contain; flex-shrink: 0; }
.bk-ph { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bk-ph svg { width: 14px; height: 14px; fill: #94a3b8; }
.bk-name { flex: 1; min-width: 0; word-break: break-word; } /* wrap long slot labels instead of clipping */
.bk-sc { font-family: var(--i8r23); font-weight: 800; color: var(--gsnjqp04); margin-left: 4px; }
.bk-empty { padding: 50px; text-align: center; color: var(--t9p1c7k); width: 100%; }

/* MOBILE: no horizontal tree — stack rounds vertically (sticky round header + cards), no connectors */
@media (max-width: 768px) {
  .bk-panel { width: 100%; }
  .bk-scroll { padding: 12px 14px; }
  .bk-tree { flex-direction: column; min-width: 0; gap: 0; }
  .bk-col { min-width: 0; width: 100%; }
  .bk-roundhead { display: block; position: sticky; top: 0; background: var(--mqqn4ed); font-family: var(--i8r23); font-weight: 800; font-size: 1.05rem; padding: 10px 2px 6px; border-bottom: 2px solid var(--dejo30j); margin: 16px 0 8px; z-index: 1; }
  .bk-col:first-child .bk-roundhead { margin-top: 0; }
  .bk-games { display: block; }
  .bk-game { display: block; }
  .bk-card { margin: 6px 0; }
  .bk-game::before, .bk-game::after { display: none !important; }
}
.ko-team-label { font-size: .85rem; }

/* ad strip + tabela CTA */
.kv8snwc { background: #F1F3F7; border-top: 1px solid var(--rc3is678); border-bottom: 1px solid var(--rc3is678); margin: 32px 0; }
.lurmlz05 { height: 90px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.lurmlz05 span { font-size: .72rem; color: var(--t9p1c7k); font-weight: 500; }
.xczqn { background: var(--dz4yddjs); border-radius: var(--ev2yabf); padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 28px 0; position: relative; overflow: hidden; flex-wrap: wrap; }
.xczqn::before { content: '2026'; position: absolute; right: 190px; top: 50%; transform: translateY(-50%); font-family: var(--i8r23); font-size: 5rem; font-weight: 800; color: rgba(255, 255, 255, .05); line-height: 1; pointer-events: none; letter-spacing: -2px; } /* subtle background year art (button fills the right) */
/* r13: text block grows, button stays RIGHT on the same line in every variant */
.un30a3ac { display: flex; flex-direction: column; gap: 4px; position: relative; z-index: 1; flex: 1 1 auto; min-width: 0; order: 0; }
.y52gh81 { font-size: .65rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255, 255, 255, .5); }
.z2zzp6 { font-family: var(--i8r23); font-size: 1.25rem; font-weight: 800; color: #fff; line-height: 1.2; }
.r83irr { font-size: .75rem; color: rgba(255, 255, 255, .45); }
.yjjl2sqt { background: var(--dejo30j); color: #fff; padding: 11px 24px; border-radius: var(--vivmfjt); font-size: .88rem; font-weight: 700; white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: filter .15s, transform .1s; position: relative; z-index: 1; flex-shrink: 0; font-family: var(--aehd84w); order: 1; }
.yjjl2sqt:hover { filter: brightness(1.12); transform: translateY(-1px); }
/* tabela-cta section-variant modifiers — button stays RIGHT on one line in ALL of them (r13);
   variants differ by accent/decoration, NOT by stacking the button below the text. */
.ad4pu { border-left: 4px solid var(--dejo30j); }
.f201fr2 { border-top: 3px solid var(--dejo30j); }
.fd6c2f::before { display: none; }

/* ─── FOOTER ───────────────────────────────────────────── */
.qmk79 { background: var(--jc4p0els); color: rgba(255, 255, 255, .65); padding: 40px 0 28px; }
.ngbcc { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 36px; }
.med98ept { font-family: var(--i8r23); font-size: 1.3rem; font-weight: 800; color: #fff; margin-bottom: 10px; }
.rnuyhv7a { font-size: .85rem; line-height: 1.6; max-width: 280px; }
.ul21g { font-size: .72rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(255, 255, 255, .4); margin-bottom: 14px; }
.pvo1zh { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pvo1zh a { font-size: .85rem; color: rgba(255, 255, 255, .6); transition: color .15s; }
.pvo1zh a:hover { color: #fff; }
.qrz3ku { border-top: 1px solid rgba(255, 255, 255, .08); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; font-size: .8rem; color: rgba(255, 255, 255, .35); }
/* footer section-variant modifiers */
.sukilurv .ngbcc { grid-template-columns: 1fr 1fr 1fr; }
.s2ahz .ngbcc { grid-template-columns: 1fr 1fr 2fr; }
.q1nmx6 .ngbcc { grid-template-columns: 1fr; text-align: center; justify-items: center; }
.q1nmx6 .pvo1zh { align-items: center; }
.q1nmx6 .rnuyhv7a { max-width: 100%; }
.q1nmx6 .qrz3ku { justify-content: center; }
.mn7y7t .pvo1zh { flex-direction: row; flex-wrap: wrap; gap: 16px; }

/* ─── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 1140px) {
  /* full nav (long brand + badge + links + Apostar button) gets cramped/clipped below ~1080px → switch to
     the burger the moment it stops fitting comfortably (Коля: чуть не влезает в хедер → мобайл вариант) */
  .sac184mg { display: none; }
  .hylswktn { display: none; }
  .burger { display: flex; }
}
@media (max-width: 900px) {
  .ao6fy { grid-template-columns: 1fr; }
  .s17quba, .win6j4 { flex-wrap: wrap; }
}
@media (max-width: 768px) {
  .sac184mg { display: none; }
  .hylswktn { display: none; }
  .burger { display: flex; }
  .hiivu0 { padding: 36px 0 32px; }
  .hiivu0::before { display: none; }
  .section { padding: 36px 0; }
  .bwk7vzv { padding: 24px 0; }
  .stats-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .stats-cell { flex: none; border-right: none; border-bottom: none; padding: 22px 12px; }
  .stats-cell:nth-child(odd) { border-right: 1px solid var(--rc3is678); }
  .stats-cell:nth-child(-n+2) { border-bottom: 1px solid var(--rc3is678); }
  .zudgn .stats-cell { border-top: none; } /* drop per-cell purple cap on mobile — was a stray extra line */
  .match-card { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; padding: 12px 14px; }
  .team-flag-circle { width: 32px; height: 32px; font-size: 1rem; }
  .match-team { font-size: .82rem; gap: 8px; }
  .score-nums { font-size: 1.4rem; letter-spacing: 2px; }
  .match-center { min-width: 90px; }
  .ngbcc { grid-template-columns: 1fr; gap: 24px; }
  .rnuyhv7a { max-width: 100%; }
  .drf51j4a { float: none; width: 100%; margin: 0 0 16px; }
  .j5db7wd { height: 180px !important; }
  thead th:nth-child(n+4):not(:last-child) { display: none; }
  tbody td:nth-child(n+4):not(:last-child) { display: none; }
  .zq22pk, .fxs44ng { height: 60px; }
  .tld4e7cn, .bgct0u4z { height: 180px; }
}
@media (max-width: 640px) {
  .ko-match { grid-template-columns: 1fr; }
  .ko-datetime { border-right: none; border-bottom: 1px solid var(--rc3is678); }
  .ko-teams { justify-content: flex-start; }
  .xczqn { padding: 20px; }
  .xczqn::before { display: none; }
  .yjjl2sqt { width: 100%; justify-content: center; }
}
@media (max-width: 600px) {
  .yxwqx6wh { display: none; }
  .zq22pk { justify-content: center; }
  .ys66lg8 { flex-direction: column; align-items: flex-start; }
  .uv987w7 { width: 100%; justify-content: center; }
  .mfkus9 { padding: 18px 20px; }
  .mfkus9::after { display: none; }
  .gruwz { width: 100%; justify-content: center; }
}
@media (max-width: 480px) {
  .sn6kuzgz { flex-direction: column; }
  .btn { justify-content: center; }
  .phase-tab { padding: 8px 12px; font-size: .75rem; }
  /* standings table: fit on phones WITHOUT horizontal scroll while keeping the form (Últimos partidos)
     green dots → drop PJ (Jugados), tighten padding, smaller dots, ellipsis only for very long names */
  /* keep points (PG) + form (Últimos partidos) green dots; the >=768 rule already hides played/wins/…,
     so here we only drop the orphan PJ *header* and shrink so 4 cols (pos·team·points·form) fit, no scroll */
  table.cls-table thead th:nth-child(3) { display: none; }
  table.cls-table { font-size: .72rem; }
  table.cls-table td, table.cls-table th { padding: 7px 4px; }
  table.cls-table thead th { white-space: normal; font-size: .52rem; line-height: 1.1; }
  table.cls-table .bullet { width: 6px; height: 6px; }
  table.cls-table .team-name { display: inline-block; max-width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
}
