:root{--site-nav-height:60px;--city-league-scroll-offset:120px}.city-league-page{min-height:60vh}.city-league-hero{border-bottom:3px solid var(--red);min-height:340px;position:relative;overflow:hidden}.city-league-hero-bg{object-fit:cover;opacity:.3;width:100%;height:100%;position:absolute;inset:0}.city-league-hero-gradient{background:linear-gradient(90deg,#08081af7 50%,#08081a80);position:absolute;inset:0}.city-league-hero-inner{z-index:1;padding:var(--sp-12) var(--sp-20);position:relative}.city-league-breadcrumb{color:var(--text-3);margin-bottom:var(--sp-3);font-size:12px}.city-league-breadcrumb-link{color:inherit;text-decoration:none}.city-league-breadcrumb-link:hover{color:var(--white)}.city-league-breadcrumb-hi{color:var(--red)}.city-league-hero-eyebrow{font-family:var(--font-display-next);color:var(--red);letter-spacing:3px;text-transform:uppercase;margin-bottom:var(--sp-2);font-size:18px;font-weight:900}.city-league-hero-title{font-family:var(--font-display-next);text-transform:uppercase;margin-bottom:var(--sp-6);font-size:clamp(40px,6vw,72px);font-weight:900;line-height:.9}.city-league-hero-title-accent{color:var(--red)}.city-league-hero-stats{gap:var(--sp-8);flex-wrap:wrap;align-items:flex-start;display:flex}.city-league-hero-stat-val{font-family:var(--font-display-next);font-size:20px;font-weight:700;display:block}.city-league-hero-stat-lbl{color:var(--text-3);font-size:12px}.city-league-hero-badge-wrap{align-items:center;display:flex}.city-league-subnav{top:var(--site-nav-height);z-index:50;background:var(--bg-card);border-bottom:1px solid var(--border-1);position:sticky}.city-league-subnav-inner{padding:0 var(--sp-20);gap:0;max-width:100%;display:flex;overflow-x:auto}.city-league-tab.nav-link{border-bottom:3px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:12px 16px}.city-league-section{scroll-margin-top:var(--city-league-scroll-offset)}.city-league-filter-bar--inline{gap:var(--sp-2);flex-shrink:0}.city-league-overview-grid{gap:var(--sp-16);margin-bottom:var(--sp-12);grid-template-columns:1fr 1fr;align-items:start;display:grid}.city-league-fixtures-split{margin-top:var(--sp-2)}.city-league-match-cell{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.city-league-match-team{align-items:center;gap:8px;min-width:0;display:flex}.city-league-match-team-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;overflow:hidden}.city-league-match-vs{color:var(--text-3);flex-shrink:0;font-weight:700}.city-team-carousel-media{background:#0003;justify-content:center;align-items:center;width:100%;min-height:200px;display:flex}.city-team-logo-ph{border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.city-team-logo-ph-text{font-family:var(--font-display-next);color:var(--white);letter-spacing:.5px;font-size:22px;font-weight:900}.city-player-avatar-ph{border:1px solid var(--border-1);font-family:var(--font-display-next);color:var(--text-2);background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.city-table-team-cell,.city-table-player-cell{align-items:center;gap:var(--sp-3);display:flex}.city-league-filter-bar{align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.city-league-filter-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.city-league-filter-select{color:var(--text-3);font-size:11px;font-family:var(--font-body-next);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:3px;padding:6px 10px}.city-league-filter-select option{color:#0b0b18}.city-league-filter-right{margin-left:var(--sp-2)}@media (max-width:900px){.city-league-overview-grid{grid-template-columns:1fr}@media (max-width:600px){.city-league-match-cell{display:block}}.city-league-fixtures-split{gap:var(--sp-6);grid-template-columns:1fr!important}.city-league-fixtures-split .card-header{align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap}.city-league-fixtures-split .card-header-title{width:100%}.city-league-match-team-name{max-width:140px}}.city-league-points-grouped{padding-bottom:var(--sp-4)}.city-standings-phase-title{padding:var(--sp-4) var(--page-pad,22px) 0 var(--page-pad,22px);color:var(--text-1);letter-spacing:.02em;margin:0;font-size:clamp(15px,1.06rem,17px);font-weight:700}.city-league-points-grouped>.city-standings-phase-title:first-child{padding-top:var(--sp-3)}.city-standings-phase-empty{padding:0 var(--page-pad,22px) var(--sp-3);color:var(--text-2);margin:0;font-size:14px}.city-standings-group-title{padding:var(--sp-3) var(--page-pad,22px) var(--sp-2);text-transform:uppercase;letter-spacing:1.2px;color:var(--text-3);margin:0;font-size:11px;font-weight:700}.city-standings-table-wrap{margin-bottom:var(--sp-5)}.city-standings-table-wrap:last-child{margin-bottom:var(--sp-2)}.city-league-points-grouped .data-table:first-of-type{margin-top:0}
