
:root {
    --accent:      #006847;
    --accent-h:    #005238;
    --accent-lite: #e8f7f0;
    --red:         #CE1126;
    --red-h:       #a60e1e;
    --gold:        #C9921A;
    --gold-lite:   #fff9ee;
    --dark-bg:     #f4f6f5;
    --card-bg:     #ffffff;
    --text-dark:   #111827;
    --text-mid:    #4b5563;
    --text-soft:   #9ca3af;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',-apple-system,sans-serif; background:var(--dark-bg); color:var(--text-dark); overflow-x:hidden; }

/* ── NAVBAR ─────────────────────────────────────── */
/* nav — see _event_mexico_nav.html */

/* ── HERO ───────────────────────────────────────── */
.games-hero {
    background:linear-gradient(160deg,#071a0e 0%,#0d3420 60%,#0f2a1a 100%);
    padding:86px 48px 0; text-align:center; overflow:hidden; position:relative;
}
.games-hero::after {
    content:'';
    position:absolute; inset:0; pointer-events:none;
    background:
        radial-gradient(ellipse 800px 400px at 80% -10%, rgba(206,17,38,.20) 0%, transparent 60%),
        radial-gradient(ellipse 600px 500px at 10% 110%, rgba(0,104,71,.28) 0%, transparent 60%);
}
.games-hero-inner { position:relative; z-index:1; padding-bottom:0; }
.hero-eyebrow { font-size:.7rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.hero-title { font-size:clamp(1.75rem,4vw,2.8rem); font-weight:900; letter-spacing:-1px; color:#fff; margin-bottom:10px; }
.hero-sub { font-size:.9rem; color:rgba(255,255,255,.55); max-width:520px; margin:0 auto 22px; line-height:1.7; }
.hero-meta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 22px; margin-bottom:28px; }
.hero-meta-item { display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:rgba(255,255,255,.5); font-weight:500; }
.hero-meta-item i { color:var(--gold); font-size:.72rem; }

/* ── STATS STRIP ─────────────────────────────────── */
.stats-strip {
    display:flex; justify-content:center; gap:0;
    margin-top:24px; border-top:1px solid rgba(255,255,255,.08);
}
.stat-pill {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:14px 28px; gap:2px; flex:1; max-width:160px;
    border-right:1px solid rgba(255,255,255,.08);
}
.stat-pill:last-child { border-right:none; }
.stat-pill-num { font-size:1.6rem; font-weight:900; color:#fff; line-height:1; }
.stat-pill-lbl { font-size:.6rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.4); }
.stat-pill.live .stat-pill-num { color:#f87171; }
.stat-pill.done .stat-pill-num { color:#34d399; }

/* ── FILTERS WRAPPER ─────────────────────────────── */
.filters-outer {
    background:#071a0e;
    border-bottom:1px solid rgba(255,255,255,.08);
    position:sticky; top:64px; z-index:50;
}
.filters-inner {
    max-width:1280px; margin:0 auto;
    display:flex; flex-direction:column;
}
/* Date tabs — scrollable row */
.date-tabs-row {
    display:flex; align-items:center; gap:0;
    overflow-x:auto; scrollbar-width:none; padding:0 48px;
}
.date-tabs-row::-webkit-scrollbar { display:none; }
.date-tab {
    flex-shrink:0; display:flex; flex-direction:column; align-items:center;
    padding:12px 18px; cursor:pointer; transition:all .2s;
    border-bottom:3px solid transparent; gap:1px;
    background:none; border-top:none; border-left:none; border-right:none;
    color:rgba(255,255,255,.5);
}
.date-tab:hover { color:rgba(255,255,255,.8); border-bottom-color:rgba(255,255,255,.25); }
.date-tab.active { color:#fff; border-bottom-color:var(--gold); }
.date-tab-day { font-size:.62rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.date-tab-date { font-size:.95rem; font-weight:900; line-height:1; }
.date-tab-all { font-size:.75rem; font-weight:700; }
/* Division pills row */
.div-pills-row {
    display:flex; align-items:center; gap:6px; flex-wrap:wrap;
    padding:10px 48px 12px; border-top:1px solid rgba(255,255,255,.06);
}
.div-pill-label { font-size:.62rem; font-weight:700; color:rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:2px; margin-right:4px; flex-shrink:0; }
.div-pill {
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
    border-radius:999px; color:rgba(255,255,255,.6);
    font-size:.72rem; font-weight:600; padding:5px 14px;
    cursor:pointer; transition:all .2s; white-space:nowrap;
}
.div-pill:hover { background:rgba(255,255,255,.15); color:#fff; }
.div-pill.active { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 4px 14px rgba(0,104,71,.4); }
.team-pill.active { background:var(--gold); border-color:var(--gold); color:#000; box-shadow:0 4px 14px rgba(201,146,26,.4); }

/* Filters row */
.filters-row {
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    padding:10px 48px 14px; border-top:1px solid rgba(255,255,255,.06);
}
.team-select-label {
    font-size:.62rem; font-weight:700; color:#fff; text-transform:uppercase;
    letter-spacing:2px; flex-shrink:0;
}

/* Custom dropdown (tsel = team select, dsel = division select) */
.tsel {
    position:relative;
    flex:1; max-width:420px;
}
.dsel {
    position:relative;
    flex:1; max-width:300px;
}
.tsel-face {
    display:flex; align-items:center; gap:8px; width:100%;
    height:36px; border-radius:999px; padding:0 36px 0 10px;
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
    color:rgba(255,255,255,.85); font-size:.8rem; font-weight:600;
    cursor:pointer; transition:border-color .2s, background .2s;
    user-select:none; position:relative;
}
.tsel-face:hover { background:rgba(255,255,255,.15); }
.tsel-face.active { border-color:var(--gold); background:rgba(201,146,26,.22); color:#fde68a; }
.tsel-face.open { border-color:rgba(255,255,255,.35); }
/* Chevron and X share the same right slot inside the face */
.tsel-chevron {
    position:absolute; right:12px; top:50%; transform:translateY(-50%);
    font-size:.6rem; opacity:.5; transition:transform .2s; pointer-events:none;
}
.tsel-face.open .tsel-chevron { transform:translateY(-50%) rotate(180deg); }
.tsel-clear {
    position:absolute; right:8px; top:50%; transform:translateY(-50%);
    display:none; align-items:center; justify-content:center;
    width:22px; height:22px; border-radius:50%;
    background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.2);
    color:rgba(255,255,255,.65); font-size:.6rem;
    cursor:pointer; transition:all .15s; padding:0; z-index:2;
}
.tsel-clear:hover { background:rgba(220,38,38,.6); border-color:rgba(220,38,38,.5); color:#fff; }
.tsel-logo {
    width:22px; height:22px; border-radius:50%;
    background:rgba(255,255,255,.12); flex-shrink:0; display:flex;
    align-items:center; justify-content:center; font-size:.6rem; font-weight:900;
    color:#fff; overflow:hidden;
}
.tsel-logo img { width:100%; height:100%; object-fit:contain; }
.tsel-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.tsel-dropdown {
    display:none; position:absolute; top:calc(100% + 6px); left:0; right:0;
    background:#0d2a18; border:1px solid rgba(255,255,255,.15);
    border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.5);
    max-height:300px; overflow-y:auto; z-index:200;
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.2) transparent;
}
.tsel-dropdown::-webkit-scrollbar { width:4px; }
.tsel-dropdown::-webkit-scrollbar-thumb { background:rgba(255,255,255,.2); border-radius:4px; }
.tsel-dropdown.open { display:block; }
.tsel-search {
    padding:10px 12px 8px; border-bottom:1px solid rgba(255,255,255,.08); position:sticky; top:0; background:#0d2a18; z-index:1;
}
.tsel-search input {
    width:100%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
    border-radius:8px; padding:5px 10px; font-size:.78rem; color:#fff; outline:none;
}
.tsel-search input::placeholder { color:rgba(255,255,255,.35); }

/* Sheet header (title + close btn) — visible on mobile */
.tsel-sheet-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    position: sticky;
    top: 0;
    background: #0d2a18;
    z-index: 2;
}
.tsel-sheet-title {
    font-size: .82rem;
    font-weight: 800;
    color: rgba(255,255,255,.7);
    letter-spacing: 1px;
    text-transform: uppercase;
}
.tsel-sheet-close {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    border: none;
    color: rgba(255,255,255,.7);
    font-size: .8rem;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .15s;
}
.tsel-sheet-close:hover { background: rgba(255,255,255,.2); color: #fff; }
.tsel-option {
    display:flex; align-items:center; gap:9px;
    padding:8px 14px; cursor:pointer; font-size:.8rem; font-weight:600;
    color:rgba(255,255,255,.75); transition:background .12s;
}
.tsel-option:hover { background:rgba(255,255,255,.08); color:#fff; }
.tsel-option.selected { background:rgba(201,146,26,.18); color:#fde68a; }
.tsel-option-logo {
    width:26px; height:26px; border-radius:50%; flex-shrink:0; overflow:hidden;
    background:rgba(255,255,255,.1); display:flex; align-items:center;
    justify-content:center; font-size:.62rem; font-weight:900; color:#fff;
}
.tsel-option-logo img { width:100%; height:100%; object-fit:contain; }
.tsel-option-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.content-wrap { max-width:1280px; margin:0 auto; padding:32px 48px 80px; }

/* ── DIVISION BLOCK ──────────────────────────────── */
.div-block { margin-bottom:40px; }
.div-block-header {
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:10px; margin-bottom:16px; padding-bottom:14px;
    border-bottom:2px solid #e5e7eb;
}
.div-block-left { display:flex; align-items:center; gap:10px; }
.div-accentbar { width:4px; height:40px; border-radius:4px; background:linear-gradient(180deg,var(--accent),var(--gold)); flex-shrink:0; }
.div-title { font-size:1.1rem; font-weight:900; color:var(--text-dark); }
.div-subtitle { font-size:.75rem; color:var(--text-soft); margin-top:1px; }
.div-chips { display:flex; gap:5px; flex-wrap:wrap; }
.div-chip { display:inline-flex; align-items:center; gap:4px; font-size:.65rem; font-weight:700; color:var(--accent); background:var(--accent-lite); border:1px solid rgba(0,104,71,.18); padding:3px 10px; border-radius:999px; }

/* ── GAME LIST & DATE HEADERS ────────────────────── */
.games-list { display:flex; flex-direction:column; gap:0; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 16px rgba(0,0,0,.07); }
.date-separator {
    display:flex; align-items:center; justify-content:space-between;
    padding:13px 24px 12px;
    background:linear-gradient(90deg,#f0f7f3,#f8fafb);
    border-top:2px solid #d1e8da;
    border-bottom:1px solid #d1e8da;
}
.date-separator:first-child { border-top:none; }
.date-sep-text {
    font-size:1rem; font-weight:800; color:var(--text-dark);
    letter-spacing:-.2px; display:flex; align-items:center; gap:8px;
}
.date-sep-text::before {
    content:''; display:inline-block; width:4px; height:18px;
    background:var(--accent); border-radius:3px; flex-shrink:0;
}
.date-sep-action {
    font-size:.72rem; font-weight:600; color:var(--accent);
    text-decoration:none; display:inline-flex; align-items:center; gap:4px;
}
.date-sep-action:hover { color:var(--accent-h); text-decoration:underline; }

/* ── SORT TOGGLE ─────────────────────────────── */
.sort-toggle {
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.75); font-family:inherit; font-size:.72rem;
    font-weight:700; letter-spacing:.5px; padding:7px 14px;
    border-radius:999px; cursor:pointer; transition:background .2s,color .2s,border-color .2s;
    white-space:nowrap; flex-shrink:0;
}
.sort-toggle:hover { background:rgba(255,255,255,.15); color:#fff; }
.sort-toggle.active {
    background:var(--gold); border-color:var(--gold);
    color:#000; box-shadow:0 2px 10px rgba(201,146,26,.4);
}
.sort-toggle.active i { color:#000; }

/* ── SCHEDULE VIEW (flat chronological list) ─ */
#scheduleView { display:none; }
#scheduleView.visible { display:block; }
#gamesContent.schedule-mode > .div-block { display:none; }
#gamesContent.schedule-mode > #live-now-section { display:none !important; }
.sched-div-badge { color:var(--accent) !important; font-weight:700; font-size:.68rem; letter-spacing:.03em; }

/* ── LIVE NOW SECTION ────────────────────────── */
.live-now-wrap {
    background:#fff; border-radius:12px; overflow:hidden;
    box-shadow:0 2px 12px rgba(206,17,38,.12);
    border:1.5px solid rgba(206,17,38,.25);
    margin-bottom:12px;
}
.live-now-header {
    background:linear-gradient(90deg,#CE1126 0%,#a60e1e 100%);
    padding:10px 20px; display:flex; align-items:center; gap:10px;
}
.live-now-dot {
    width:9px; height:9px; border-radius:50%; background:#fff;
    animation:live-blink 1s ease-in-out infinite;
    flex-shrink:0;
}
@keyframes live-blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }
.live-now-title {
    font-size:.72rem; font-weight:800; letter-spacing:3px;
    text-transform:uppercase; color:#fff;
}
.live-now-count {
    margin-left:auto; background:rgba(255,255,255,.2);
    color:#fff; font-size:.65rem; font-weight:700;
    padding:2px 8px; border-radius:20px; letter-spacing:1px;
}
.live-now-list { }
.live-now-list .game-card {
    border-left:3px solid var(--red) !important;
}
.live-now-list .game-card:last-child { border-bottom:none; }

/* ── GAME CARD — FIFA-style centered row ──────── */
.game-card {
    background:#fff; display:block;
    border-bottom:1px solid #f0f4f2;
    transition:background .15s; cursor:pointer; position:relative;
}
.game-card:last-child { border-bottom:none; }
.game-card:hover { background:#f7fcf9; }
.game-card.is-live   { border-left:3px solid var(--red); }
.game-card.is-cancelled { opacity:.6; }
@keyframes stat-pulse { 0%,100%{opacity:1} 50%{opacity:.7} }
@keyframes stream-pulse { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(206,17,38,.5)} 50%{opacity:.85;box-shadow:0 0 0 5px rgba(206,17,38,0)} }

/* Match row — three-column grid */
.gc-match {
    display:grid; grid-template-columns:1fr auto 1fr;
    align-items:center; gap:10px; padding:16px 24px 6px;
}
/* Home side: name + flag right-aligned */
.gc-home-side {
    display:flex; align-items:center; justify-content:flex-end;
    gap:10px; min-width:0; text-align:right;
}
/* Away side: flag + name left-aligned */
.gc-away-side {
    display:flex; align-items:center; justify-content:flex-start;
    gap:10px; min-width:0; text-align:left;
}
.gc-team-name {
    font-size:.95rem; font-weight:700; color:var(--text-dark);
    white-space:normal; word-break:break-word; line-height:1.25;
}
.gc-team-name.winner { color:var(--accent); }
a.gc-team-name-link { text-decoration:none; color:inherit; }
a.gc-team-name-link:hover { text-decoration:underline; color:var(--accent); }
.gc-team-name-link .team-plink { display:inline-flex; align-items:center; gap:3px; font-size:.6rem; font-weight:700; color:var(--accent); background:rgba(0,104,71,.08); padding:2px 7px; border-radius:20px; margin-left:5px; border:1px solid rgba(0,104,71,.15); white-space:nowrap; }
.gc-flag {
    width:24px; height:17px; border-radius:2px; flex-shrink:0;
    box-shadow:0 0 0 1px rgba(0,0,0,.10); display:block;
}

/* Center score / time block */
.gc-center {
    display:flex; flex-direction:column; align-items:center;
    min-width:130px; flex-shrink:0; gap:3px;
}
.gc-score-line {
    display:flex; align-items:center; gap:6px;
}
.gc-s {
    font-size:1.7rem; font-weight:900; color:var(--text-dark);
    line-height:1; min-width:30px; text-align:center;
}
.gc-s.winner { color:var(--accent); }
.gc-s.live   { color:var(--red); }
.gc-sep {
    display:flex; flex-direction:column; align-items:center; gap:2px;
    min-width:56px;
}
.gc-sep-bar { width:100%; height:1.5px; background:#e5e7eb; border-radius:2px; }
.gc-sep-lbl {
    font-size:.58rem; font-weight:800; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--text-soft); white-space:nowrap;
}
.gc-sep-lbl.live { color:var(--red); animation:stat-pulse 1.2s ease-in-out infinite; }
.gc-sep-lbl.cancelled { color:#9ca3af; }
/* Scheduled: show time only */
.gc-time-only {
    font-size:1.5rem; font-weight:900; color:var(--text-dark); line-height:1;
}
.gc-time-tbd { font-size:.85rem; font-weight:700; color:var(--text-soft); }

/* Team logo bubble in game cards */
.gc-team-logo {
    width:36px; height:36px; border-radius:50%;
    background:var(--accent-lite); border:1.5px solid rgba(0,104,71,.15);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden; font-size:.8rem; font-weight:900; color:var(--accent);
    flex-shrink:0;
}
.gc-team-logo img { width:100%; height:100%; object-fit:contain; }

/* Details bar below the match row */
.gc-details {
    display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
    gap:4px; padding:4px 24px 10px;
    font-size:.7rem; color:var(--text-soft); font-weight:500;
}
.gc-detail-sep { color:#d1d5db; margin:0 2px; }
.gc-detail-stream {
    display:inline-flex; align-items:center; gap:4px;
    font-size:.65rem; font-weight:700; color:var(--red);
    background:rgba(206,17,38,.08); border:1px solid rgba(206,17,38,.25);
    border-radius:999px; padding:2px 8px;
}
.gc-detail-stream.live { background:var(--red); color:#fff; border-color:var(--red); animation:stream-pulse 1s ease-in-out infinite; }
.gc-detail-btn {
    display:inline-flex; align-items:center; gap:4px;
    background:transparent; color:var(--accent); font-size:.68rem; font-weight:700;
    text-decoration:none; padding:2px 0; border:none; transition:color .15s;
    white-space:nowrap; cursor:pointer;
}
.gc-detail-btn:hover { color:var(--accent-h); text-decoration:underline; }

/* ── STANDINGS ───────────────────────────────────── */
.standings-wrap { margin-top:16px; }
.standings-title { font-size:.65rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--text-soft); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.standings-title::after { content:''; flex:1; height:1px; background:#e5e7eb; }
.standings-strip { display:flex; flex-wrap:wrap; gap:10px; }
.standing-card { background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:12px; padding:12px 18px; display:flex; align-items:center; gap:12px; transition:all .2s; box-shadow:0 1px 6px rgba(0,0,0,.04); flex:1; min-width:180px; }
.standing-card:hover { box-shadow:0 6px 20px rgba(0,104,71,.10); border-color:rgba(0,104,71,.25); transform:translateY(-2px); }
a.standing-card--link { text-decoration:none; color:inherit; cursor:pointer; }
a.standing-card--link:hover { box-shadow:0 6px 20px rgba(0,104,71,.18); border-color:rgba(0,104,71,.4); transform:translateY(-2px); }
.standing-view-btn { margin-left:auto; width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.65rem; flex-shrink:0; transition:background .2s, transform .2s; }
a.standing-card--link:hover .standing-view-btn { background:var(--accent-h,#005a3c); transform:scale(1.12); }
.standing-rank { font-size:1.1rem; font-weight:900; color:rgba(0,0,0,.13); width:24px; text-align:center; flex-shrink:0; }
.standing-rank.top1 { color:var(--gold); }
.standing-rank.top2 { color:#94a3b8; }
.standing-rank.top3 { color:#b45309; }
.standing-logo { width:32px; height:32px; border-radius:50%; background:var(--accent-lite); border:1.5px solid rgba(0,104,71,.15); display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:.78rem; font-weight:900; color:var(--accent); flex-shrink:0; }
.standing-logo img { width:100%; height:100%; object-fit:contain; }
.standing-name { font-weight:700; color:var(--text-dark); font-size:.85rem; }
.standing-record { font-size:.68rem; color:var(--text-soft); margin-top:2px; }
.standing-stat { font-size:.75rem; font-weight:800; color:var(--accent); margin-left:auto; }

/* ── NO GAMES / COMING SOON ─────────────────────── */
.no-games { background:#fff; border:1px dashed rgba(0,104,71,.22); border-radius:14px; padding:36px 24px; text-align:center; color:var(--text-soft); font-size:.88rem; }
.no-games i { font-size:1.8rem; margin-bottom:10px; display:block; color:rgba(0,104,71,.22); }
.coming-soon-wrap { max-width:560px; margin:80px auto; padding:0 24px; text-align:center; }
.coming-soon-icon { font-size:3.5rem; color:var(--gold); opacity:.4; margin-bottom:16px; }
.coming-soon-title { font-size:1.5rem; font-weight:900; color:var(--text-dark); margin-bottom:8px; }
.coming-soon-text { color:var(--text-mid); line-height:1.75; margin-bottom:28px; }
.btn-ev { display:inline-flex; align-items:center; gap:8px; background:var(--red); color:#fff; font-weight:700; font-size:.9rem; padding:13px 28px; border-radius:999px; text-decoration:none; border:none; cursor:pointer; transition:all .25s; }
.btn-ev:hover { background:var(--red-h); transform:translateY(-2px); box-shadow:0 8px 24px rgba(206,17,38,.35); color:#fff; }

/* ── FOOTER ──────────────────────────────────────── */
.ev-footer { background:#071a0e; border-top:3px solid var(--gold); padding:24px 48px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.82rem; color:rgba(255,255,255,.4); }
.ev-footer a { color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s; }
.ev-footer a:hover { color:#fff; }
.ev-footer-links { display:flex; gap:20px; }

/* ── RESPONSIVE ──────────────────────────────────── */
@media (max-width:991px) {
    .games-hero { padding:86px 20px 0; }
    .date-tabs-row { padding:0 16px; }
    .div-pills-row { padding:10px 16px 12px; }
    .filters-row { padding:10px 16px 14px; gap:8px; flex-wrap:nowrap; }
    .team-select-label { display:none; }
    .tsel, .dsel { max-width:none; flex:1 1 0; min-width:0; }
    .tsel-clear { width:20px; height:20px; right:7px; font-size:.55rem; }
    .content-wrap { padding:24px 16px 64px; }
    .ev-footer { padding:20px 20px; flex-direction:column; }
    .gc-match { padding:14px 16px 5px; gap:8px; }
    .gc-details { padding:4px 16px 10px; }
    .gc-team-name { font-size:.85rem; }
    .gc-s { font-size:1.4rem; min-width:24px; }
    .gc-center { min-width:110px; }

    /* Center modal dropdowns on mobile */
    .tsel-dropdown {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        bottom: auto !important;
        right: auto !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 32px) !important;
        max-width: 420px !important;
        max-height: 70vh !important;
        border-radius: 20px !important;
        box-shadow: 0 20px 60px rgba(0,0,0,.7) !important;
        z-index: 1050 !important;
        display: none;
        overflow-y: auto;
    }
    .tsel-dropdown.open { display: block !important; }

    /* Backdrop when any dropdown is open */
    .tsel-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.55);
        z-index: 1040;
        backdrop-filter: blur(2px);
    }
    .tsel-backdrop.show { display: block; }

    /* Show sheet header on mobile */
    .tsel-sheet-header { display: flex; }
    /* Search sits below the sticky header */
    .tsel-search { top: 49px; }
}
@media (max-width:576px) {
    .stats-strip { overflow-x:auto; justify-content:flex-start; }
    .stat-pill { padding:12px 20px; }
    .gc-match { padding:12px 12px 4px; gap:6px; }
    .gc-team-name { font-size:.78rem; }
    .gc-flag { width:18px; height:13px; }
    .gc-s { font-size:1.2rem; min-width:20px; }
    .gc-center { min-width:90px; }
    .gc-time-only { font-size:1.2rem; }
    .standings-strip { flex-direction:column; }
    .standing-card { min-width:unset; }
}

/* ── Live toasts ─────────────────────────────────────── */
#pg-toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;width:340px;pointer-events:none}
@media(max-width:480px){#pg-toast-container{width:calc(100vw - 28px);right:14px;top:70px}}
.pg-toast{background:rgba(10,20,14,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.09);border-radius:14px;overflow:hidden;pointer-events:all;box-shadow:0 8px 32px rgba(0,0,0,.45);opacity:0;transform:translateX(24px);transition:opacity .28s ease,transform .28s ease}
.pg-toast.show{opacity:1;transform:translateX(0)}
.pg-nt-header{display:flex;align-items:center;gap:8px;padding:9px 12px 8px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.pg-nt-ev-logo{width:26px;height:26px;border-radius:6px;overflow:hidden;flex-shrink:0;background:rgba(0,104,71,.3);border:1px solid rgba(0,104,71,.45);display:flex;align-items:center;justify-content:center}
.pg-nt-ev-logo img{width:100%;height:100%;object-fit:contain}
.pg-nt-ev-logo i{font-size:.66rem;color:#4ade80}
.pg-nt-ev-name{flex:1;font-size:.58rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.28);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-nt-close{background:none;border:none;color:rgba(255,255,255,.22);font-size:.72rem;cursor:pointer;padding:3px 4px;border-radius:6px;flex-shrink:0;line-height:1;transition:all .15s}
.pg-nt-close:hover{color:rgba(255,255,255,.75);background:rgba(255,255,255,.07)}
.pg-nt-body-row{display:flex;align-items:center;gap:12px;padding:12px 16px 14px 16px}
.pg-nt-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.pg-nt-body{flex:1;min-width:0}
.pg-nt-title{font-weight:800;font-size:.92rem;color:#f1f5f9;line-height:1.25;margin-bottom:3px}
.pg-nt-sub{font-size:.78rem;color:rgba(255,255,255,.42);line-height:1.4;min-width:0}
.pg-nt-sub-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-score-row{display:flex;align-items:center;gap:6px;margin-top:7px}
.pg-snum{font-size:1.5rem;font-weight:900;color:rgba(255,255,255,.4);font-variant-numeric:tabular-nums;line-height:1;display:inline-block;letter-spacing:-.02em}
.pg-snum.pop{color:#4ade80;animation:pg-score-pop .6s cubic-bezier(.36,.07,.19,.97) both}
.pg-sdash{font-size:1.1rem;color:rgba(255,255,255,.18);font-weight:800;line-height:1;margin:0 1px}
@keyframes pg-score-pop{0%{transform:scale(1);opacity:.4}22%{transform:scale(1.75);opacity:1}55%{transform:scale(.82)}78%{transform:scale(1.14)}100%{transform:scale(1)}}
.pg-nt-team-logo{width:44px;height:44px;border-radius:10px;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}
.pg-nt-team-logo img{width:100%;height:100%;object-fit:contain}
.pg-nt-logos-pair{display:flex;align-items:center;gap:5px;flex-shrink:0}
.pg-nt-logos-pair .pg-nt-team-logo{width:36px;height:36px;border-radius:8px}
.pg-nt-logos-vs{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.2);flex-shrink:0}
.pg-nt-progress{height:2px;background:rgba(255,255,255,.06)}
.pg-nt-bar{height:100%;width:100%}
.pg-toast-score{--pg-accent:#4ade80}.pg-toast-score .pg-nt-icon{background:rgba(34,197,94,.18);color:#4ade80}.pg-toast-score .pg-nt-bar{background:#4ade80}.pg-toast-score .pg-nt-title{color:#4ade80}
.pg-toast-live{--pg-accent:#f87171}.pg-toast-live .pg-nt-icon{background:rgba(239,68,68,.18);color:#f87171;animation:pg-pulse 1.2s ease-in-out infinite}.pg-toast-live .pg-nt-bar{background:#f87171}
.pg-toast-stream{--pg-accent:#c084fc}.pg-toast-stream .pg-nt-icon{background:rgba(168,85,247,.18);color:#c084fc;animation:pg-pulse 1.5s ease-in-out infinite}.pg-toast-stream .pg-nt-bar{background:#c084fc}
.pg-toast-final{--pg-accent:#38bdf8}.pg-toast-final .pg-nt-icon{background:rgba(14,165,233,.18);color:#38bdf8}.pg-toast-final .pg-nt-bar{background:#38bdf8}
.pg-toast-info{--pg-accent:#94a3b8}.pg-toast-info .pg-nt-icon{background:rgba(148,163,184,.12);color:#94a3b8}
@keyframes pg-pulse{0%,100%{opacity:1}50%{opacity:.45}}


/* ═══ NCS Caribbean World Series 2026 — Puerto Rico color override ═══ */
:root {
--accent:      #0E3F72 !important;
--accent-h:    #091e4a !important;
--accent-lite: #e8f0ff !important;
--red:         #5BAFD6 !important;
--red-h:       #4a9ec5 !important;
--gold:        #CE1126 !important;
--gold-lite:   #fff0f0 !important;
--dark-bg:     #e8f0ff !important;
--card-bg:     #ffffff !important;
}
body { background: #e8f0ff !important; }
.games-hero { background: linear-gradient(160deg,#061220 0%,#0E3F72 60%,#091e4a 100%) !important; padding-bottom: 48px !important; }
.games-hero-inner { padding-bottom: 0 !important; }
.games-hero::after { background:
radial-gradient(ellipse 800px 400px at 80% -10%,rgba(206,17,38,.18) 0%,transparent 60%),
radial-gradient(ellipse 600px 500px at 10% 110%,rgba(14,63,114,.30) 0%,transparent 60%) !important; }
.filters-outer, .filters-outer .tsel-search { background: #061220 !important; }
.tsel-dropdown { background: #091e4a !important; }
.tsel-search { background: #091e4a !important; }
.tsel-logo, .tsel-option-logo { background: rgba(14,63,114,.3) !important; }
.tsel-logo i, .tsel-option-logo i { color: #5BAFD6 !important; }
.div-pill.active { background: var(--accent) !important; border-color: var(--accent) !important; box-shadow: 0 4px 14px rgba(14,63,114,.4) !important; }
.team-pill.active { box-shadow: 0 4px 14px rgba(206,17,38,.4) !important; }
.tsel-face.active { background: rgba(206,17,38,.22) !important; border-color: #CE1126 !important; color: #ffb3be !important; }
.live-now-header { background: linear-gradient(90deg,#0E3F72 0%,#1a5ea8 100%) !important; }
.live-now-wrap { border-color: rgba(206,17,38,.30) !important; box-shadow: 0 2px 12px rgba(14,63,114,.15) !important; }
.game-card.is-live, .live-now-list .game-card { border-left-color: #CE1126 !important; }
@keyframes stream-pulse { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(206,17,38,.5)} 50%{opacity:.85;box-shadow:0 0 0 5px rgba(206,17,38,0)} }
.game-card:hover { background: #f0f4ff !important; }
.div-accentbar { background: linear-gradient(180deg,#0E3F72,#CE1126) !important; }
.btn-ev { background: #CE1126 !important; color: #fff !important; font-weight: 800 !important; }
.btn-ev:hover { background: #a50e1f !important; box-shadow: 0 8px 24px rgba(206,17,38,.35) !important; color: #fff !important; }
.coming-soon-wrap {
background: #fff !important; border-radius: 20px !important;
padding: 56px 48px !important;
box-shadow: 0 4px 32px rgba(14,63,114,.10) !important;
border: 1px solid rgba(14,63,114,.08) !important;
margin: 64px auto !important;
}
.coming-soon-icon { opacity: .85 !important; font-size: 3rem !important; }
.coming-soon-title { font-size: 1.6rem !important; color: #0E3F72 !important; }
.coming-soon-text { color: #4b5563 !important; }
.stat-pill.done .stat-pill-num { color: #CE1126 !important; }
.pg-nt-ev-logo i { color: #CE1126 !important; }
.pg-snum.pop { color: #CE1126 !important; }
.pg-toast-score { --pg-accent: #CE1126; }
.pg-toast-score .pg-nt-icon { background: rgba(206,17,38,.18) !important; color: #CE1126 !important; }
.pg-toast-score .pg-nt-bar { background: #CE1126 !important; }
.pg-toast-score .pg-nt-title { color: #CE1126 !important; }
.ev-footer { background: #061220 !important; }
.gc-team-name-link .team-plink { border-color: rgba(14,63,114,.15) !important; }
.standing-card:hover { box-shadow: 0 6px 20px rgba(14,63,114,.10) !important; border-color: rgba(14,63,114,.25) !important; }
a.standing-card--link:hover { box-shadow: 0 6px 20px rgba(14,63,114,.18) !important; border-color: rgba(14,63,114,.40) !important; }
.standing-logo { border-color: rgba(14,63,114,.18) !important; }
.no-games { border-color: rgba(14,63,114,.22) !important; }
.no-games i { color: rgba(14,63,114,.22) !important; }
.pg-nt-ev-logo { background: rgba(14,63,114,.3) !important; border-color: rgba(14,63,114,.45) !important; }
.sync-icon-wrap { border-color: rgba(206,17,38,.35) !important; background: rgba(206,17,38,.10) !important; }
.sync-icon-wrap i { color: #CE1126 !important; }
.sync-eyebrow { color: #CE1126 !important; }
.ev-nav { background: #061220 !important; border-bottom-color: rgba(206,17,38,.15) !important; }
.ev-nav-cta { background: #CE1126 !important; color: #fff !important; }


/* ═══ South Coast World Series 2026 — full color override ═══ */
:root {
--accent:      #132040 !important;
--accent-h:    #0d1830 !important;
--accent-lite: #e8edf5 !important;
--red:         #5BAFD6 !important;
--red-h:       #4a9ec5 !important;
--gold:        #E8B800 !important;
--gold-lite:   #fffbe6 !important;
--dark-bg:     #e8edf5 !important;
--card-bg:     #ffffff !important;
}
/* Page body */
body { background: #e8edf5 !important; }
/* Hero */
.games-hero { background: linear-gradient(160deg,#07101e 0%,#132040 60%,#0d1f3c 100%) !important; padding-bottom: 48px !important; }
.games-hero-inner { padding-bottom: 0 !important; }
.games-hero::after { background:
radial-gradient(ellipse 800px 400px at 80% -10%,rgba(91,175,214,.18) 0%,transparent 60%),
radial-gradient(ellipse 600px 500px at 10% 110%,rgba(19,32,64,.30) 0%,transparent 60%) !important; }
/* Filter bar */
.filters-outer, .filters-outer .tsel-search { background: #07101e !important; }
.tsel-dropdown { background: #0d1f3c !important; }
.tsel-search { background: #0d1f3c !important; }
/* Filter icon badges — override inline style */
.tsel-logo, .tsel-option-logo { background: rgba(19,32,64,.3) !important; }
.tsel-logo i, .tsel-option-logo i { color: #5BAFD6 !important; }
/* Active filter states */
.div-pill.active { background: var(--accent) !important; border-color: var(--accent) !important; box-shadow: 0 4px 14px rgba(19,32,64,.4) !important; }
.team-pill.active { box-shadow: 0 4px 14px rgba(232,184,0,.4) !important; }
.tsel-face.active { background: rgba(232,184,0,.22) !important; border-color: #E8B800 !important; color: #fde68a !important; }
/* Live games */
.live-now-header { background: linear-gradient(90deg,#132040 0%,#1e3a6e 100%) !important; }
.live-now-wrap { border-color: rgba(91,175,214,.30) !important; box-shadow: 0 2px 12px rgba(19,32,64,.15) !important; }
.game-card.is-live, .live-now-list .game-card { border-left-color: #5BAFD6 !important; }
@keyframes stream-pulse { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(91,175,214,.5)} 50%{opacity:.85;box-shadow:0 0 0 5px rgba(91,175,214,0)} }
/* Game cards */
.game-card:hover { background: #f0f4fb !important; }
/* Division header accent */
.div-accentbar { background: linear-gradient(180deg,#132040,#E8B800) !important; }
/* CTA buttons — gold for South Coast */
.btn-ev { background: #E8B800 !important; color: #07101e !important; font-weight: 800 !important; }
.btn-ev:hover { background: #c99f00 !important; box-shadow: 0 8px 24px rgba(232,184,0,.35) !important; color: #07101e !important; }
/* Coming soon — card style */
.coming-soon-wrap {
background: #fff !important;
border-radius: 20px !important;
padding: 56px 48px !important;
box-shadow: 0 4px 32px rgba(19,32,64,.10) !important;
border: 1px solid rgba(19,32,64,.08) !important;
margin: 64px auto !important;
}
.coming-soon-icon { opacity: .85 !important; font-size: 3rem !important; }
.coming-soon-title { font-size: 1.6rem !important; color: #132040 !important; }
.coming-soon-text { color: #4b5563 !important; }
/* Stats strip */
.stat-pill.done .stat-pill-num { color: #5BAFD6 !important; }
/* Notifications */
.pg-nt-ev-logo i { color: #5BAFD6 !important; }
.pg-snum.pop { color: #5BAFD6 !important; }
.pg-toast-score { --pg-accent: #5BAFD6; }
.pg-toast-score .pg-nt-icon { background: rgba(91,175,214,.18) !important; color: #5BAFD6 !important; }
.pg-toast-score .pg-nt-bar { background: #5BAFD6 !important; }
.pg-toast-score .pg-nt-title { color: #5BAFD6 !important; }
/* Footer */
.ev-footer { background: #07101e !important; }
/* Team profile links */
.gc-team-name-link .team-plink { border-color: rgba(19,32,64,.15) !important; }
/* Standing cards */
.standing-card:hover { box-shadow: 0 6px 20px rgba(19,32,64,.10) !important; border-color: rgba(19,32,64,.25) !important; }
a.standing-card--link:hover { box-shadow: 0 6px 20px rgba(19,32,64,.18) !important; border-color: rgba(19,32,64,.40) !important; }
.standing-logo { border-color: rgba(19,32,64,.18) !important; }
/* Empty state */
.no-games { border-color: rgba(19,32,64,.22) !important; }
.no-games i { color: rgba(19,32,64,.22) !important; }
/* Notification event logo */
.pg-nt-ev-logo { background: rgba(19,32,64,.3) !important; border-color: rgba(19,32,64,.45) !important; }
/* Sync overlay (fallback) */
.sync-icon-wrap { border-color: rgba(232,184,0,.35) !important; background: rgba(232,184,0,.10) !important; }
.sync-icon-wrap i { color: #E8B800 !important; }
.sync-eyebrow { color: #E8B800 !important; }
/* Nav */
.ev-nav { background: #07101e !important; border-bottom-color: rgba(232,184,0,.15) !important; }
.ev-nav-cta { background: #E8B800 !important; color: #07101e !important; }


  .sync-overlay {
position: fixed; inset: 0; z-index: 9999;
background: linear-gradient(160deg, #071a0e 0%, #0d3420 60%, #0f2a1a 100%);
display: flex; align-items: center; justify-content: center;
flex-direction: column; gap: 0;
font-family: 'Inter', -apple-system, sans-serif;
  }
  .sync-overlay::before {
content: '';
position: absolute; inset: 0; pointer-events: none;
background:
  radial-gradient(ellipse 800px 400px at 80% -10%, rgba(206,17,38,.20) 0%, transparent 60%),
  radial-gradient(ellipse 600px 500px at 10% 110%, rgba(0,104,71,.28) 0%, transparent 60%);
  }
  .sync-box {
position: relative; z-index: 1;
text-align: center; padding: 48px 40px;
max-width: 520px; width: 90%;
  }
  .sync-icon-wrap {
width: 80px; height: 80px; margin: 0 auto 28px;
border-radius: 50%;
background: rgba(201,146,26,.12);
border: 2px solid rgba(201,146,26,.35);
display: flex; align-items: center; justify-content: center;
  }
  .sync-icon-wrap i {
font-size: 2rem; color: #C9921A;
animation: sync-spin 1.6s linear infinite;
  }
  @keyframes sync-spin { to { transform: rotate(360deg); } }
  .sync-eyebrow {
font-size: .65rem; font-weight: 700; letter-spacing: 4px;
text-transform: uppercase; color: #C9921A; margin-bottom: 14px;
  }
  .sync-title {
font-size: clamp(1.5rem, 4vw, 2.2rem);
font-weight: 900; letter-spacing: -1px;
color: #fff; margin-bottom: 14px; line-height: 1.15;
  }
  .sync-desc {
font-size: .9rem; color: rgba(255,255,255,.55);
line-height: 1.75; margin-bottom: 32px;
  }
  .sync-dots { display: flex; align-items: center; justify-content: center; gap: 7px; }
  .sync-dot {
width: 8px; height: 8px; border-radius: 50%; background: #C9921A;
animation: sync-bounce .9s ease-in-out infinite;
  }
  .sync-dot:nth-child(2) { animation-delay: .18s; }
  .sync-dot:nth-child(3) { animation-delay: .36s; }
  @keyframes sync-bounce { 0%,80%,100% { transform: scale(.6); opacity: .4; } 40% { transform: scale(1); opacity: 1; } }
  .sync-back-link {
display: inline-flex; align-items: center; gap: 7px;
margin-top: 32px; font-size: .8rem; color: rgba(255,255,255,.4);
text-decoration: none; transition: color .2s;
  }
  .sync-back-link:hover { color: rgba(255,255,255,.75); }


.mx-htag{position:fixed;bottom:20px;left:20px;z-index:8000;display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 13px;border-radius:999px;background:rgba(7,26,14,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(0,104,71,.45);color:#fff;font-family:'Inter',-apple-system,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.3px;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.30);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.mx-htag:hover{color:#fff;transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,104,71,.35);border-color:rgba(0,104,71,.7)}
@media(max-width:480px){.mx-htag{bottom:14px;left:14px;font-size:.7rem;padding:7px 13px 7px 10px}}


.mx-htag{position:fixed;bottom:20px;left:20px;z-index:8000;display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 13px;border-radius:999px;background:rgba(6,18,32,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(14,63,114,.45);color:#fff;font-family:'Inter',-apple-system,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.3px;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.30);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.mx-htag:hover{color:#fff;transform:translateY(-3px);box-shadow:0 8px 28px rgba(14,63,114,.35);border-color:rgba(14,63,114,.7)}
@media(max-width:480px){.mx-htag{bottom:14px;left:14px;font-size:.7rem;padding:7px 13px 7px 10px}}
