/* =============================================================================
   WC2026 Plugin Styles
   =============================================================================
   Self-contained design system. Does not rely on the active theme.

   SPECIFICITY STRATEGY
   Every component selector is prefixed with the plugin-wrapper :is() group,
   giving it 0-2-0 specificity (two classes). This beats any theme rule that
   combines a single class + element (0-1-1). No !important needed on colors.
   ============================================================================= */

/* Shorthand comment — the prefix used on every component rule below:
   :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
       .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts)
   Abbreviated as [WC] in section comments.                                    */

/* -----------------------------------------------------------------------------
   1. Design Tokens
   ----------------------------------------------------------------------------- */
:root {
  --wc-bg:           #0d0d1a;
  --wc-surface:      #13131f;
  --wc-card:         #1a1a2e;
  --wc-card-hover:   #1f1f38;
  --wc-border:       rgba(255,255,255,.08);
  --wc-border-light: rgba(255,255,255,.04);

  --wc-gold:         #7C3AED;
  --wc-gold-light:   #9F67FF;
  --wc-gold-dim:     rgba(124,58,237,.15);

  --wc-live:         #e63946;
  --wc-live-dim:     rgba(230,57,70,.15);
  --wc-scheduled:    #4361ee;
  --wc-finished:     #6c757d;
  --wc-qualify:      #2dc653;

  --wc-text:         #f0f0f8;
  --wc-text-muted:   #a0a0c0;
  --wc-text-dim:     #666680;
  --wc-font:         'Inter', system-ui, -apple-system, sans-serif;

  --wc-radius:       10px;
  --wc-radius-sm:    6px;
  --wc-radius-lg:    16px;
  --wc-gap:          20px;
  --wc-section-gap:  56px;
  --wc-ease:         cubic-bezier(.4,0,.2,1);
}

/* -----------------------------------------------------------------------------
   2. Wrapper — base styles
   background/font use !important only because themes often set these on <main>
   Everything else wins via specificity (see strategy above).
   ----------------------------------------------------------------------------- */
.wc2026-dashboard,
.wc2026-single-team,
.wc2026-single-match,
.wc2026-single-group,
.wc2026-single-post,
.wc2026-archive-posts,
.wc2026-archive-matches,
.wc2026-archive-groups,
.wc2026-archive-teams {
  background:  #0d0d1a !important;
  color:       #f0f0f8 !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size:   15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* box-sizing reset — no color override needed here */
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) * {
  box-sizing: border-box;
}

/* Base text elements — explicit color with 2-class specificity */
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) p,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) span,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) li,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) td,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) th,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) label,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) time {
  color: #f0f0f8;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h1,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h2,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h3,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h4 {
  color: #ffffff;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) strong,
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) b {
  color: #f0f0f8;
}

/* Links — gold */
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) a {
  color: #7C3AED;
  text-decoration: none;
  transition: color .2s;
}
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) a:hover {
  color: #9F67FF;
}

img {
  max-width: 100%;
  height:    auto;
  display:   block;
}

/* -----------------------------------------------------------------------------
   3. Layout — Container & Sections
   ----------------------------------------------------------------------------- */
.wc2026-container {
  max-width: 1440px;
  margin:    0 auto;
  padding:   0 20px;
}

/* Archive pages: consistent content area vertical spacing */
:is(.wc2026-archive-groups, .wc2026-archive-matches, .wc2026-archive-posts, .wc2026-archive-teams) > .wc2026-container {
  padding-top:    40px;
  padding-bottom: 60px;
}

/* =============================================================================
   Shared page layout — controls header shell, container width, body spacing
   across ALL plugin templates. Add these classes in every template:
     • .wc2026-page-header     → outer header section (background + border)
     • .wc2026-page-header__inner → centered max-width container inside header
     • .wc2026-page-body       → main content area below the header
   Template-specific classes may override padding/layout but NEVER max-width (1440px).
   ============================================================================= */
/* SEO H1 — appears directly above post content */
:is(.wc2026-single-group,.wc2026-single-team) .wc2026-page-h1 {
  margin:        0 0 20px;
  font-size:     clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight:   800;
}

:is(.wc2026-single-match) .wc2026-page-h1 {
  margin:        0 0 16px;
  font-size:     clamp(1.1rem, 2vw, 1.4rem);
  font-weight:   700;
  color:         var(--wc-text);
  line-height:   1.25;
  letter-spacing: -.3px;
}

body.light-mode :is(.wc2026-single-group,.wc2026-single-team,.wc2026-single-match) .wc2026-page-h1 {
  color: #1F1B2E;
}

:is(.wc2026-single-match) .wc2026-page-h1 {
  color: #e0e0f0;
}

.wc2026-page-header {
  position:      relative;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(124,58,237,.18) 0%, transparent 70%),
    var(--wc-surface);
  border-bottom: 1px solid var(--wc-border);
  padding:       24px 0 32px;
  overflow:      hidden;
}

.wc2026-page-header::before {
  content:          '';
  position:         absolute;
  inset:            0;
  background-image:
    radial-gradient(circle at 10% 50%, rgba(124,58,237,.06) 0%, transparent 50%),
    radial-gradient(circle at 90% 50%, rgba(67,97,238,.06) 0%, transparent 50%);
  pointer-events:   none;
}

.wc2026-page-header__inner {
  max-width: 1440px;
  margin:    0 auto;
  padding:   0 20px;
}

.wc2026-page-body {
  max-width:      1440px;
  margin:         0 auto;
  padding:        40px 20px 60px;
}

.wc2026-section {
  padding: var(--wc-section-gap) 0;
}

.wc2026-section + .wc2026-section {
  border-top: 1px solid var(--wc-border);
}

.wc2026-section__header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             12px;
  margin-bottom:   28px;
  flex-wrap:       wrap;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-section__title {
  font-size:     1.4rem;
  font-weight:   700;
  letter-spacing:-.3px;
  color:         #ffffff;
  margin:        0;
  display:       flex;
  align-items:   center;
  gap:           10px;
}

.wc2026-section__title::before {
  content:      '';
  display:      inline-block;
  width:        4px;
  height:       22px;
  background:   var(--wc-gold);
  border-radius:2px;
  flex-shrink:  0;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-section__link {
  font-size:     .85rem;
  color:         #a0a0c0;
  border:        1px solid var(--wc-border);
  padding:       6px 14px;
  border-radius: 20px;
  transition:    all .2s var(--wc-ease);
  white-space:   nowrap;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-section__link:hover {
  color:       #7C3AED;
  border-color:#7C3AED;
  background:  var(--wc-gold-dim);
}

/* -----------------------------------------------------------------------------
   4. Hero — Dashboard
   ----------------------------------------------------------------------------- */
.wc2026-hero {
  position:   relative;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(124,58,237,.18) 0%, transparent 70%),
    linear-gradient(180deg, #0d0d1a 0%, #0d0d1a 100%);
  padding:    80px 0 60px;
  overflow:   hidden;
  text-align: center;
}

/* Compact hero variant — used on dashboard */
.wc2026-hero--compact {
  padding: 40px 0 32px;
}

.wc2026-hero--compact .wc2026-hero__title {
  font-size:     clamp(1.8rem, 4vw, 2.8rem) !important;
  margin-bottom: 12px !important;
}

.wc2026-hero--compact .wc2026-hero__edition {
  margin-bottom: 14px !important;
}

.wc2026-hero--compact .wc2026-countdown {
  margin-top: 20px !important;
}

.wc2026-hero--compact .wc2026-hero__cta {
  margin-top: 20px !important;
}

/* Compact row: dates + hosts side by side */
.wc2026-hero__compact-row {
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-wrap:       wrap;
  gap:             10px 20px;
  margin-bottom:   0;
}

.wc2026-hero__compact-row .wc2026-hero__dates {
  margin: 0 !important;
}

.wc2026-hero__compact-row .wc2026-hero__hosts {
  margin-bottom: 0 !important;
}

.wc2026-hero::before {
  content:          '';
  position:         absolute;
  inset:            0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(124,58,237,.06) 0%, transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(67,97,238,.06) 0%, transparent 50%);
  pointer-events:   none;
}

.wc2026-hero__inner {
  position:   relative;
  z-index:    1;
  max-width:  720px;
  margin:     0 auto;
  padding:    0 20px;
}

:is(.wc2026-dashboard) .wc2026-hero__edition {
  display:        inline-flex;
  align-items:    center;
  gap:            8px;
  background:     var(--wc-gold-dim);
  border:         1px solid rgba(124,58,237,.3);
  color:          #7C3AED;
  font-size:      .75rem;
  font-weight:    700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding:        5px 14px;
  border-radius:  20px;
  margin-bottom:  24px;
}

:is(.wc2026-dashboard) .wc2026-hero__title {
  font-size:      clamp(2.2rem, 6vw, 3.8rem);
  font-weight:    900;
  letter-spacing: -1.5px;
  line-height:    1.05;
  color:          #ffffff;
  margin:         0 0 16px;
}

:is(.wc2026-dashboard) .wc2026-hero__title span {
  color: #7C3AED;
}

:is(.wc2026-dashboard) .wc2026-hero__dates {
  font-size:     1rem;
  color:         #a0a0c0;
  margin:        0 0 20px;
}

:is(.wc2026-dashboard) .wc2026-hero__hosts {
  display:         inline-flex;
  align-items:     center;
  gap:             6px;
  background:      rgba(255,255,255,.04);
  border:          1px solid var(--wc-border);
  border-radius:   30px;
  padding:         8px 16px;
  font-size:       .9rem;
  color:           #a0a0c0;
  margin-bottom:   36px;
  flex-wrap:       wrap;
  justify-content: center;
}

.wc2026-hero__hosts-sep {
  width:        4px;
  height:       4px;
  border-radius:50%;
  background:   var(--wc-text-dim);
  flex-shrink:  0;
}

:is(.wc2026-dashboard) .wc2026-hero__cta {
  display:         inline-flex;
  align-items:     center;
  gap:             8px;
  background:      #7C3AED;
  color:           #ffffff;
  font-weight:     800;
  font-size:       1rem;
  padding:         14px 32px;
  border-radius:   8px;
  text-decoration: none;
  letter-spacing:  .2px;
  transition:      background .2s var(--wc-ease), transform .15s var(--wc-ease), box-shadow .2s var(--wc-ease);
  box-shadow:      0 4px 20px rgba(124,58,237,.35);
}

:is(.wc2026-dashboard) .wc2026-hero__cta:hover {
  background: #9F67FF;
  color:      #ffffff;
  transform:  translateY(-2px);
  box-shadow: 0 8px 28px rgba(124,58,237,.45);
}

/* Countdown */
.wc2026-countdown {
  display:         flex;
  justify-content: center;
  gap:             8px;
  margin-top:      44px;
  flex-wrap:       wrap;
}

.wc2026-countdown__unit {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius-sm);
  padding:       12px 18px;
  min-width:     72px;
  text-align:    center;
}

:is(.wc2026-dashboard) .wc2026-countdown__value {
  display:     block;
  font-size:   1.8rem;
  font-weight: 800;
  color:       #ffffff;
  line-height: 1;
}

:is(.wc2026-dashboard) .wc2026-countdown__label {
  display:        block;
  font-size:      .65rem;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color:          #a0a0c0;
  margin-top:     4px;
}

/* -----------------------------------------------------------------------------
   5. Match Cards
   ----------------------------------------------------------------------------- */
.wc2026-matches-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap:                   var(--wc-gap);
}

.wc2026-match-card {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
  transition:    border-color .2s var(--wc-ease), transform .2s var(--wc-ease);
  position:      relative;
}

.wc2026-match-card:hover {
  border-color: rgba(124,58,237,.35);
  transform:    translateY(-2px);
}

.wc2026-match-card--in_play,
.wc2026-match-card--paused {
  border-color: rgba(230,57,70,.4);
}

.wc2026-match-card__status-bar {
  height:     3px;
  background: var(--wc-border);
}

.wc2026-match-card--in_play  .wc2026-match-card__status-bar,
.wc2026-match-card--paused   .wc2026-match-card__status-bar { background: var(--wc-live); }
.wc2026-match-card--scheduled .wc2026-match-card__status-bar,
.wc2026-match-card--timed    .wc2026-match-card__status-bar { background: var(--wc-scheduled); }
.wc2026-match-card--finished .wc2026-match-card__status-bar { background: var(--wc-finished); }

.wc2026-match-card__body {
  padding: 20px;
}

.wc2026-match-card__meta {
  display:       flex;
  align-items:   center;
  gap:           8px;
  margin-bottom: 16px;
  font-size:     .78rem;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__date {
  color: #a0a0c0;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__group {
  margin-left:     auto;
  background:      rgba(255,255,255,.06);
  padding:         2px 8px;
  border-radius:   4px;
  color:           #a0a0c0;
  font-size:       .72rem;
  letter-spacing:  .3px;
  text-decoration: none;
  transition:      background .15s, color .15s;
}
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) a.wc2026-match-card__group:hover {
  background: rgba(124,58,237,.2);
  color:      #9F67FF;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-live-badge {
  display:        inline-flex;
  align-items:    center;
  gap:            5px;
  background:     var(--wc-live-dim);
  color:          #e63946;
  font-size:      .68rem;
  font-weight:    800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding:        2px 8px;
  border-radius:  4px;
  border:         1px solid rgba(230,57,70,.3);
}

.wc2026-live-badge::before {
  content:      '';
  width:        6px;
  height:       6px;
  border-radius:50%;
  background:   var(--wc-live);
  animation:    wc-pulse 1.2s ease-in-out infinite;
  flex-shrink:  0;
}

@keyframes wc-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .4; transform: scale(.7); }
}

.wc2026-match-card__teams {
  display:               grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:           center;
  gap:                   12px;
}

.wc2026-match-card__team {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            8px;
  text-align:     center;
}

.wc2026-match-card__flag {
  width:        48px;
  height:       48px;
  object-fit:   contain;
  border-radius:6px;
  background:   rgba(255,255,255,.05);
  padding:      4px;
}

.wc2026-match-card__flag-placeholder {
  width:        48px;
  height:       48px;
  background:   rgba(255,255,255,.05);
  border-radius:6px;
  border:       1px solid var(--wc-border);
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__score-sep {
  color:       #666680;
  font-weight: 300;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__team-name {
  font-size:   .82rem;
  font-weight: 600;
  color:       #f0f0f8;
  line-height: 1.2;
}

.wc2026-match-card__score-block {
  text-align: center;
  min-width:  70px;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__score {
  font-size:      1.6rem;
  font-weight:    900;
  color:          #ffffff;
  letter-spacing: -1px;
  line-height:    1;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__score--vs {
  font-size:   1rem;
  font-weight: 400;
  color:       #666680;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__time {
  display:     block;
  font-size:   .78rem;
  color:       #7C3AED;
  font-weight: 600;
  margin-top:  4px;
}

.wc2026-match-card__footer {
  padding:         12px 20px;
  border-top:      1px solid var(--wc-border-light);
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             8px;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__link {
  font-size:  .8rem;
  color:      #a0a0c0;
  transition: color .2s;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__link:hover {
  color: #f0f0f8;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__cta {
  font-size:     .78rem;
  font-weight:   700;
  color:         #7C3AED;
  background:    var(--wc-gold-dim);
  border:        1px solid rgba(124,58,237,.25);
  padding:       5px 12px;
  border-radius: 5px;
  transition:    background .2s, color .2s;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__cta:hover {
  background: #7C3AED;
  color:      #ffffff;
}

/* -----------------------------------------------------------------------------
   6. Group Cards & Standings
   ----------------------------------------------------------------------------- */
.wc2026-groups-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap:                   var(--wc-gap);
}

.wc2026-group-card {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
  transition:    border-color .2s var(--wc-ease), transform .2s var(--wc-ease);
}

.wc2026-group-card:hover {
  border-color: rgba(124,58,237,.3);
  transform:    translateY(-2px);
}

.wc2026-group-card__header {
  padding:         14px 16px 12px;
  border-bottom:   1px solid var(--wc-border-light);
  display:         flex;
  align-items:     center;
  justify-content: space-between;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__name {
  font-size:      .95rem;
  font-weight:    800;
  color:          #ffffff;
  letter-spacing: -.2px;
  margin:         0;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__name a {
  color: inherit;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__name a:hover {
  color: #7C3AED;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__view {
  font-size: .73rem;
  color:     #666680;
}

/* Standings table (inside group cards) */
.wc2026-standings {
  width:           100%;
  border-collapse: collapse;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings th {
  font-size:      .65rem;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:          #666680;
  font-weight:    600;
  padding:        7px 8px;
  text-align:     center;
  border-bottom:  1px solid var(--wc-border-light);
}

.wc2026-standings th:first-child,
.wc2026-standings th:nth-child(2) { text-align: left; }

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings td {
  padding:       8px 8px;
  text-align:    center;
  font-size:     .82rem;
  border-bottom: 1px solid var(--wc-border-light);
  color:         #a0a0c0;
}

.wc2026-standings tr:last-child td { border-bottom: none; }
.wc2026-standings td:nth-child(2)  { text-align: left; }

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__rank {
  width:     20px;
  color:     #666680;
  font-size: .75rem;
}

.wc2026-standings__team {
  display:    flex;
  align-items:center;
  gap:        7px;
  white-space:nowrap;
  overflow:   hidden;
}

/* .wc2026-standings__flag — kept for back-compat, same as __crest */
.wc2026-standings__flag {
  width:        28px;
  height:       28px;
  object-fit:   contain;
  border-radius:4px;
  background:   rgba(255,255,255,.06);
  flex-shrink:  0;
  padding:      2px;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__team-name {
  overflow:      hidden;
  text-overflow: ellipsis;
  font-weight:   500;
  color:         #f0f0f8;
  font-size:     .82rem;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__pts {
  font-weight: 700;
  color:       #f0f0f8;
}

.wc2026-standings__row--qualify-1,
.wc2026-standings__row--qualify-2 { position: relative; }

.wc2026-standings__row--qualify-1 td:first-child,
.wc2026-standings__row--qualify-2 td:first-child {
  box-shadow: inset 3px 0 0 var(--wc-qualify);
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__empty {
  padding:    16px;
  text-align: center;
  font-size:  .82rem;
  color:      #666680;
}

.wc2026-group-card__footer {
  padding:    10px 16px;
  border-top: 1px solid var(--wc-border-light);
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__matches-link {
  font-size: .78rem;
  color:     #666680;
}

/* -----------------------------------------------------------------------------
   7. Post / Article Cards
   ----------------------------------------------------------------------------- */
.wc2026-posts-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap:                   var(--wc-gap);
}

.wc2026-post-card {
  background:     var(--wc-card);
  border:         1px solid var(--wc-border);
  border-radius:  var(--wc-radius);
  overflow:       hidden;
  display:        flex;
  flex-direction: column;
  transition:     border-color .2s var(--wc-ease), transform .2s var(--wc-ease);
}

.wc2026-post-card:hover {
  border-color: rgba(124,58,237,.3);
  transform:    translateY(-2px);
}

.wc2026-post-card__thumbnail-link {
  display:      block;
  aspect-ratio: 16 / 9;
  overflow:     hidden;
  background:   var(--wc-surface);
}

.wc2026-post-card__thumbnail {
  width:      100%;
  height:     100%;
  object-fit: cover;
  transition: transform .4s var(--wc-ease);
}

.wc2026-post-card:hover .wc2026-post-card__thumbnail {
  transform: scale(1.04);
}

.wc2026-post-card__body {
  padding:        16px 18px 20px;
  display:        flex;
  flex-direction: column;
  flex:           1;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__type {
  display:        inline-block;
  font-size:      .68rem;
  font-weight:    700;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:          #7C3AED;
  margin-bottom:  8px;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__title {
  font-size:   .97rem;
  font-weight: 700;
  color:       #f0f0f8;
  margin:      0 0 8px;
  line-height: 1.35;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__title a {
  color: inherit;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__title a:hover {
  color: #7C3AED;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__excerpt {
  font-size:             .84rem;
  color:                 #a0a0c0;
  line-height:           1.55;
  flex:                  1;
  margin-bottom:         14px;
  display:               -webkit-box;
  -webkit-line-clamp:    3;
  -webkit-box-orient:    vertical;
  overflow:              hidden;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__meta {
  display:     flex;
  align-items: center;
  gap:         10px;
  font-size:   .76rem;
  color:       #666680;
  margin-top:  auto;
}

/* -----------------------------------------------------------------------------
   8. CTA Buttons — Shared
   ----------------------------------------------------------------------------- */
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta {
  display:         inline-flex;
  align-items:     center;
  gap:             6px;
  background:      #7C3AED;
  color:           #ffffff;
  font-weight:     800;
  font-size:       .9rem;
  padding:         11px 24px;
  border-radius:   7px;
  text-decoration: none;
  letter-spacing:  .1px;
  transition:      background .2s var(--wc-ease), transform .15s var(--wc-ease), box-shadow .2s var(--wc-ease);
  box-shadow:      0 3px 14px rgba(124,58,237,.3);
  white-space:     nowrap;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta:hover {
  background: #9F67FF;
  color:      #ffffff;
  transform:  translateY(-1px);
  box-shadow: 0 6px 20px rgba(124,58,237,.4);
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta--outline {
  background: transparent;
  color:      #7C3AED;
  border:     1.5px solid #7C3AED;
  box-shadow: none;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta--outline:hover {
  background: var(--wc-gold-dim);
  color:      #9F67FF;
  box-shadow: none;
}

/* CTA bar */
.wc2026-cta-bar {
  background:      linear-gradient(135deg, #1a1508 0%, #13100a 100%);
  border:          1px solid rgba(124,58,237,.2);
  border-radius:   var(--wc-radius);
  padding:         20px 24px;
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  flex-wrap:       wrap;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta-bar__text {
  font-size: .9rem;
  color:     #a0a0c0;
  margin:    0;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta-bar__text strong {
  color:         #f0f0f8;
  display:       block;
  font-size:     1rem;
  margin-bottom: 2px;
}

/* -----------------------------------------------------------------------------
   9. Single Match Page
   ----------------------------------------------------------------------------- */
.wc2026-single-match {
  padding-bottom: 60px;
}

.wc2026-single-match__header {
  padding:      48px 0 40px;
  border-bottom:1px solid var(--wc-border);
}

.wc2026-single-match__header-inner {
  display:               grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:           center;
  gap:                   20px;
}

.wc2026-single-match__team {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            12px;
  text-align:     center;
}

.wc2026-single-match__flag {
  width:        72px;
  height:       48px;
  object-fit:   cover;
  border-radius:6px;
  box-shadow:   0 4px 16px rgba(0,0,0,.5);
}

:is(.wc2026-single-match) .wc2026-single-match__team-name {
  font-size:   1.15rem;
  font-weight: 700;
  color:       #f0f0f8;
}

.wc2026-single-match__center {
  text-align: center;
  min-width:  100px;
}

:is(.wc2026-single-match) .wc2026-single-match__score {
  font-size:      3rem;
  font-weight:    900;
  color:          #ffffff;
  letter-spacing: -3px;
  line-height:    1;
}

:is(.wc2026-single-match) .wc2026-single-match__vs {
  font-size:      1.2rem;
  font-weight:    300;
  color:          #666680;
  letter-spacing: 2px;
}

.wc2026-single-match__info {
  margin-top:     10px;
  display:        flex;
  flex-direction: column;
  gap:            4px;
  align-items:    center;
}

:is(.wc2026-single-match) .wc2026-single-match__date,
:is(.wc2026-single-match) .wc2026-single-match__venue,
:is(.wc2026-single-match) .wc2026-single-match__stage {
  font-size: .8rem;
  color:     #a0a0c0;
}

:is(.wc2026-single-match) .wc2026-single-match__date {
  color:       #7C3AED;
  font-weight: 600;
}

.wc2026-single-match__cta-bar {
  max-width: 860px;
  margin:    28px auto 0;
  padding:   0 20px;
}

.wc2026-single-match__content {
  /* lives inside the body-inner CSS grid — no centering needed */
  min-width: 0;
}

/* Post content typography */
:is(.wc2026-single-match,.wc2026-single-post) .wc2026-single-match__content h2,
:is(.wc2026-single-match,.wc2026-single-post) .wc2026-single-post__content h2 {
  font-size:     1.3rem;
  font-weight:   700;
  color:         #ffffff;
  margin:        32px 0 12px;
  padding-bottom:10px;
  border-bottom: 1px solid var(--wc-border);
}

:is(.wc2026-single-match,.wc2026-single-post) .wc2026-single-match__content h3,
:is(.wc2026-single-match,.wc2026-single-post) .wc2026-single-post__content h3 {
  font-size:   1.05rem;
  font-weight: 700;
  color:       #f0f0f8;
  margin:      24px 0 10px;
}

:is(.wc2026-single-match,.wc2026-single-post) .wc2026-single-match__content p,
:is(.wc2026-single-match,.wc2026-single-post) .wc2026-single-post__content p {
  color:       #a0a0c0;
  line-height: 1.75;
  margin:      0 0 16px;
}

:is(.wc2026-single-match,.wc2026-single-post) .wp-block-table table {
  width:           100%;
  border-collapse: collapse;
  background:      var(--wc-card);
  border-radius:   var(--wc-radius-sm);
  overflow:        hidden;
  border:          1px solid var(--wc-border);
  font-size:       .88rem;
}

:is(.wc2026-single-match,.wc2026-single-post) .wp-block-table td {
  padding:       10px 14px;
  border-bottom: 1px solid var(--wc-border-light);
  color:         #a0a0c0;
}

:is(.wc2026-single-match,.wc2026-single-post) .wp-block-table td strong {
  color: #f0f0f8;
}

:is(.wc2026-single-match,.wc2026-single-post) .wp-block-separator {
  border:     none;
  border-top: 1px solid var(--wc-border);
  margin:     32px 0;
}

/* -----------------------------------------------------------------------------
   Content tables — plain <table> inside any editorial content area
   ----------------------------------------------------------------------------- */
.wc2026-single-group__content table,
.wc2026-single-team__content table,
.wc2026-single-match__content table,
.wc2026-single-post__content table {
  width:           100%;
  border-collapse: collapse;
  background:      var(--wc-card);
  border:          1px solid var(--wc-border);
  border-radius:   var(--wc-radius-sm);
  font-size:       .88rem;
  margin:          24px 0;
  overflow:        hidden;
  display:         table;
}

.wc2026-single-group__content thead,
.wc2026-single-team__content thead,
.wc2026-single-match__content thead,
.wc2026-single-post__content thead {
  background: rgba(124,58,237,.12);
}

.wc2026-single-group__content th,
.wc2026-single-team__content th,
.wc2026-single-match__content th,
.wc2026-single-post__content th {
  padding:        10px 14px;
  text-align:     left;
  font-weight:    700;
  font-size:      .8rem;
  letter-spacing: .4px;
  text-transform: uppercase;
  color:          #9F67FF;
  border-bottom:  1px solid var(--wc-border);
  white-space:    nowrap;
}

.wc2026-single-group__content td,
.wc2026-single-team__content td,
.wc2026-single-match__content td,
.wc2026-single-post__content td {
  padding:       10px 14px;
  border-bottom: 1px solid var(--wc-border-light);
  color:         var(--wc-text-muted);
  line-height:   1.5;
}

.wc2026-single-group__content td strong,
.wc2026-single-team__content td strong,
.wc2026-single-match__content td strong,
.wc2026-single-post__content td strong {
  color:       var(--wc-text);
  font-weight: 600;
}

.wc2026-single-group__content tbody tr:last-child td,
.wc2026-single-team__content tbody tr:last-child td,
.wc2026-single-match__content tbody tr:last-child td,
.wc2026-single-post__content tbody tr:last-child td {
  border-bottom: none;
}

.wc2026-single-group__content tbody tr:hover td,
.wc2026-single-team__content tbody tr:hover td,
.wc2026-single-match__content tbody tr:hover td,
.wc2026-single-post__content tbody tr:hover td {
  background: rgba(124,58,237,.06);
}

/* Light mode overrides */
body.light-mode .wc2026-single-group__content table,
body.light-mode .wc2026-single-team__content table,
body.light-mode .wc2026-single-match__content table,
body.light-mode .wc2026-single-post__content table {
  background:   #ffffff;
  border-color: #e0e0ec;
}

body.light-mode .wc2026-single-group__content thead,
body.light-mode .wc2026-single-team__content thead,
body.light-mode .wc2026-single-match__content thead,
body.light-mode .wc2026-single-post__content thead {
  background: rgba(124,58,237,.07);
}

body.light-mode .wc2026-single-group__content th,
body.light-mode .wc2026-single-team__content th,
body.light-mode .wc2026-single-match__content th,
body.light-mode .wc2026-single-post__content th {
  color:        #7C3AED;
  border-color: #e0e0ec;
}

body.light-mode .wc2026-single-group__content td,
body.light-mode .wc2026-single-team__content td,
body.light-mode .wc2026-single-match__content td,
body.light-mode .wc2026-single-post__content td {
  color:        #555566;
  border-color: #f0f0f8;
}

body.light-mode .wc2026-single-group__content td strong,
body.light-mode .wc2026-single-team__content td strong,
body.light-mode .wc2026-single-match__content td strong,
body.light-mode .wc2026-single-post__content td strong {
  color: #1F1B2E;
}

body.light-mode .wc2026-single-group__content tbody tr:hover td,
body.light-mode .wc2026-single-team__content tbody tr:hover td,
body.light-mode .wc2026-single-match__content tbody tr:hover td,
body.light-mode .wc2026-single-post__content tbody tr:hover td {
  background: rgba(124,58,237,.04);
}

/* -----------------------------------------------------------------------------
   10. Single Team Page
   ----------------------------------------------------------------------------- */
.wc2026-single-team {
  padding-bottom: 60px;
}

.wc2026-single-team__header {
  border-bottom: 1px solid var(--wc-border);
  padding:       48px 0;
}

.wc2026-single-team__header-inner {
  display:     flex;
  align-items: center;
  gap:         28px;
  flex-wrap:   wrap;
}

.wc2026-single-team__flag {
  width:        96px;
  height:       96px;
  object-fit:   contain;
  border-radius:12px;
  background:   rgba(255,255,255,.05);
  padding:      6px;
  flex-shrink:  0;
}

.wc2026-single-team__info {
  flex:    1;
  min-width:0;
}

:is(.wc2026-single-team) .wc2026-single-team__name {
  font-size:      2rem;
  font-weight:    900;
  color:          #ffffff;
  margin:         0 0 6px;
  letter-spacing: -0.5px;
}

:is(.wc2026-single-team) .wc2026-single-team__group-link {
  display:     inline-flex;
  align-items: center;
  gap:         6px;
  background:  var(--wc-gold-dim);
  border:      1px solid rgba(124,58,237,.25);
  color:       #7C3AED;
  font-size:   .8rem;
  font-weight: 600;
  padding:     4px 12px;
  border-radius:20px;
}

.wc2026-single-team__body,
.wc2026-single-group__body {
  display:               grid;
  grid-template-columns: 1fr 320px;
  gap:                   32px;
  align-items:           start;
}

.wc2026-single-team__sidebar,
.wc2026-single-group__sidebar {
  display:        flex;
  flex-direction: column;
  gap:            20px;
  position:       sticky;
  top:            80px;
  align-self:     start;
}

/* Stats card */
.wc2026-stats-card {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
}

:is(.wc2026-single-team) .wc2026-stats-card__title {
  font-size:      .78rem;
  font-weight:    700;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:          #a0a0c0;
  padding:        12px 16px;
  border-bottom:  1px solid var(--wc-border-light);
  margin:         0;
}

.wc2026-stats-card__list {
  display:               grid;
  grid-template-columns: 1fr 1fr;
}

.wc2026-stats-card__item {
  padding:       14px 16px;
  border-bottom: 1px solid var(--wc-border-light);
  border-right:  1px solid var(--wc-border-light);
}

.wc2026-stats-card__item:nth-child(even) { border-right: none; }

:is(.wc2026-single-team) .wc2026-stats-card__value {
  display:     block;
  font-size:   1.4rem;
  font-weight: 800;
  color:       #ffffff;
  line-height: 1;
}

:is(.wc2026-single-team) .wc2026-stats-card__label {
  display:    block;
  font-size:  .72rem;
  color:      #666680;
  margin-top: 3px;
}

/* Squad list */
.wc2026-squad {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
}

:is(.wc2026-single-team) .wc2026-squad__title {
  font-size:      .78rem;
  font-weight:    700;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:          #a0a0c0;
  padding:        12px 16px;
  border-bottom:  1px solid var(--wc-border-light);
  margin:         0;
}

.wc2026-squad__list {
  list-style: none;
  margin:     0;
  padding:    0;
}

.wc2026-squad__player {
  display:       flex;
  align-items:   center;
  gap:           10px;
  padding:       9px 16px;
  border-bottom: 1px solid var(--wc-border-light);
  font-size:     .82rem;
}

.wc2026-squad__player:last-child { border-bottom: none; }

:is(.wc2026-single-team) .wc2026-squad__position {
  font-size:      .68rem;
  font-weight:    700;
  letter-spacing: .5px;
  color:          #666680;
  background:     rgba(255,255,255,.05);
  padding:        2px 6px;
  border-radius:  3px;
  min-width:      30px;
  text-align:     center;
}

:is(.wc2026-single-team) .wc2026-squad__name {
  color: #f0f0f8;
}

/* -----------------------------------------------------------------------------
   11. Single Group Page
   ----------------------------------------------------------------------------- */
.wc2026-single-group {
  padding-bottom: 60px;
}

.wc2026-single-group__header {
  padding:       40px 0;
  border-bottom: 1px solid var(--wc-border);
}

.wc2026-single-group__header-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  flex-wrap:       wrap;
}

:is(.wc2026-single-group) .wc2026-single-group__title {
  font-size:      2rem;
  font-weight:    900;
  color:          #ffffff;
  margin:         0;
  letter-spacing: -.5px;
}

.wc2026-single-group__body {
  /* layout only — width/spacing from .wc2026-page-body */
}

/* Full standings table */
.wc2026-standings-table {
  width:           100%;
  border-collapse: collapse;
  background:      var(--wc-card);
  border:          1px solid var(--wc-border);
  border-radius:   var(--wc-radius);
  overflow:        hidden;
  font-size:       .88rem;
}

:is(.wc2026-single-group) .wc2026-standings-table thead th {
  font-size:      .68rem;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:          #666680;
  font-weight:    600;
  padding:        10px 14px;
  background:     rgba(255,255,255,.03);
  border-bottom:  1px solid var(--wc-border);
  text-align:     center;
}

.wc2026-standings-table thead th:nth-child(2) { text-align: left; }

:is(.wc2026-single-group) .wc2026-standings-table tbody td {
  padding:       11px 14px;
  border-bottom: 1px solid var(--wc-border-light);
  text-align:    center;
  color:         #a0a0c0;
}

.wc2026-standings-table tbody tr:last-child td { border-bottom: none; }
.wc2026-standings-table tbody td:nth-child(2)  { text-align: left; }

:is(.wc2026-single-group) .wc2026-standings-table__pts {
  font-weight: 800;
  color:       #ffffff;
  font-size:   .95rem;
}

.wc2026-standings-table tbody tr:nth-child(1) td:first-child,
.wc2026-standings-table tbody tr:nth-child(2) td:first-child {
  box-shadow: inset 4px 0 0 var(--wc-qualify);
}

/* Tournament winner odds — "Ganador Final" dashboard section */
.wc2026-dashboard-winner-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   12px;
}

.wc2026-dashboard-winner-footer {
  text-align:  center;
  margin-top:  24px;
}

@media (max-width: 768px) {
  .wc2026-dashboard-winner-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .wc2026-dashboard-winner-grid {
    grid-template-columns: 1fr;
  }
}

/* Team thumbs */
.wc2026-teams-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap:                   12px;
}

.wc2026-team-thumb {
  background:     var(--wc-card);
  border:         1px solid var(--wc-border);
  border-radius:  var(--wc-radius-sm);
  padding:        16px;
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            10px;
  text-align:     center;
  transition:     border-color .2s, transform .2s var(--wc-ease);
}

.wc2026-team-thumb:hover {
  border-color: rgba(124,58,237,.3);
  transform:    translateY(-2px);
}

.wc2026-team-thumb__flag {
  width:        52px;
  height:       35px;
  object-fit:   cover;
  border-radius:4px;
  box-shadow:   0 2px 8px rgba(0,0,0,.4);
}

:is(.wc2026-single-group) .wc2026-team-thumb__name {
  font-size:   .82rem;
  font-weight: 600;
  color:       #f0f0f8;
}

/* -----------------------------------------------------------------------------
   12. Posts Archive
   ----------------------------------------------------------------------------- */
.wc2026-archive-posts {
  padding-bottom: 60px;
}

.wc2026-archive-posts__header {
  /* background from .wc2026-page-header */
}

.wc2026-archive-posts__header-inner {
  /* width from .wc2026-page-header__inner */
}

.wc2026-archive-posts__title-row {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  flex-wrap:       wrap;
}

:is(.wc2026-archive-posts) .wc2026-archive-posts__title {
  font-size:   clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 700;
  color:       var(--wc-text);
  margin:      0 0 6px;
}

.wc2026-archive-posts__subtitle {
  font-size: .9rem;
  color:     var(--wc-text-muted);
  margin:    0;
}

/* Dashboard "Load more articles" button */
.wc2026-articles__load-more-wrap {
  text-align: center;
  margin-top: 36px;
}

.wc2026-articles__load-more[disabled] {
  opacity: .6;
  cursor:  default;
}

:is(.wc2026-archive-posts) .wc2026-post-card__read-more {
  font-size:  .8rem;
  color:      #a0a0c0;
  transition: color .2s;
  margin-left:auto;
}

:is(.wc2026-archive-posts) .wc2026-post-card__read-more:hover {
  color: var(--wc-gold);
}

/* Pagination */
.wc2026-pagination {
  margin-top:      40px;
  display:         flex;
  justify-content: center;
}

:is(.wc2026-archive-posts) .wc2026-pagination .page-numbers {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           38px;
  height:          38px;
  border-radius:   7px;
  font-size:       .85rem;
  font-weight:     600;
  color:           #a0a0c0;
  background:      var(--wc-card);
  border:          1px solid var(--wc-border);
  margin:          0 3px;
  transition:      all .2s;
}

:is(.wc2026-archive-posts) .wc2026-pagination .page-numbers.current,
:is(.wc2026-archive-posts) .wc2026-pagination .page-numbers:hover {
  background:   #7C3AED;
  color:        #ffffff;
  border-color: #7C3AED;
}

/* -----------------------------------------------------------------------------
   13. Single Post
   ----------------------------------------------------------------------------- */
.wc2026-single-post {
  padding-bottom: 60px;
}

.wc2026-single-post__thumbnail {
  display:    block;
  width:      100%;
  max-height: 420px;
  object-fit: cover;
}

.wc2026-single-post__header-inner {
  padding-top:    24px;
  padding-bottom: 0;
}

.wc2026-single-post__header-bottom {
  padding-bottom: 28px;
}

:is(.wc2026-single-post) .wc2026-single-post__label {
  display:        inline-block;
  font-size:      .72rem;
  font-weight:    700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color:          #7C3AED;
  margin-bottom:  10px;
}

:is(.wc2026-single-post) .wc2026-single-post__title {
  font-size:      clamp(1.5rem, 4vw, 2.2rem);
  font-weight:    900;
  color:          #ffffff;
  margin:         0 0 14px;
  letter-spacing: -.5px;
  line-height:    1.15;
}

:is(.wc2026-single-post) .wc2026-single-post__meta {
  display:     flex;
  align-items: center;
  gap:         12px;
  font-size:   .8rem;
  color:       #666680;
}

.wc2026-single-post__body {
  display:               grid;
  grid-template-columns: 1fr 280px;
  gap:                   40px;
  align-items:           start;
}

.wc2026-single-post__sidebar {
  display:        flex;
  flex-direction: column;
  gap:            20px;
}

/* Related sidebar card */
.wc2026-related-card {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
}

.wc2026-related-card__title {
  font-size:      .75rem;
  font-weight:    700;
  letter-spacing: .7px;
  text-transform: uppercase;
  color:          var(--wc-text-muted);
  padding:        12px 16px;
  border-bottom:  1px solid var(--wc-border-light);
  margin:         0;
}

.wc2026-related-card__title a {
  color: inherit;
  text-decoration: none;
}

.wc2026-related-card__title a:hover {
  color: var(--wc-gold);
}

.wc2026-related-card__list {
  list-style: none;
  margin:     0;
  padding:    0;
}

.wc2026-related-card__item {
  padding:       12px 16px;
  border-bottom: 1px solid var(--wc-border-light);
  font-size:     .84rem;
  display:       flex;
  align-items:   center;
  gap:           8px;
}

.wc2026-related-card__item:last-child { border-bottom: none; }

:is(.wc2026-single-post) .wc2026-related-card__item a       { color: #f0f0f8; }
:is(.wc2026-single-post) .wc2026-related-card__item a:hover { color: #7C3AED; }

.wc2026-related-card__link {
  display:         block;
  color:           #f0f0f8;
  text-decoration: none;
  font-size:       .84rem;
}
.wc2026-related-card__link:hover {
  color: var(--wc-gold);
}
.wc2026-related-card__link--active {
  color:       var(--wc-gold);
  font-weight: 700;
  pointer-events: none;
}

.wc2026-related-card__icon {
  font-size:   1rem;
  flex-shrink: 0;
}

/* All-Groups expanded sidebar nav */
.wc2026-groups-nav {
  display:        flex;
  flex-direction: column;
  max-height:     420px;
  overflow-y:     auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(124,58,237,.4) transparent;
}

.wc2026-groups-nav__group {
  border-bottom: 1px solid var(--wc-border-light);
  padding:       10px 16px;
}
.wc2026-groups-nav__group:last-child { border-bottom: none; }

.wc2026-groups-nav__group-name {
  display:         block;
  font-size:       .78rem;
  font-weight:     700;
  letter-spacing:  .5px;
  text-transform:  uppercase;
  color:           #c8c8e0;
  text-decoration: none;
  margin-bottom:   6px;
}
.wc2026-groups-nav__group-name:hover {
  color: var(--wc-gold);
}
.wc2026-groups-nav__group--active .wc2026-groups-nav__group-name {
  color:          var(--wc-gold);
  pointer-events: none;
}

.wc2026-groups-nav__teams {
  list-style: none;
  margin:     0;
  padding:    0;
  display:    flex;
  flex-direction: column;
  gap:        4px;
}

.wc2026-groups-nav__team {
  display:     flex;
  align-items: center;
  gap:         7px;
}

.wc2026-groups-nav__flag {
  width:         18px;
  height:        13px;
  object-fit:    cover;
  border-radius: 2px;
  flex-shrink:   0;
}
.wc2026-groups-nav__flag--placeholder {
  background:    rgba(255,255,255,.12);
  border-radius: 2px;
}

.wc2026-groups-nav__team-name {
  font-size:       .82rem;
  color:           #f0f0f8;
  text-decoration: none;
  white-space:     nowrap;
  overflow:        hidden;
  text-overflow:   ellipsis;
}
.wc2026-groups-nav__team-name:hover { color: var(--wc-gold); }

/* Sidebar match item — overlapping flags + info */
.wc2026-sidebar-match {
  gap: 12px;
}

.wc2026-sidebar-match__flags {
  position:   relative;
  width:       48px;
  height:      30px;
  flex-shrink: 0;
}

.wc2026-sidebar-match__flag {
  width:         28px;
  height:        28px;
  border-radius: 50%;
  object-fit:    cover;
  position:      absolute;
  top:           0;
  border:        2px solid var(--wc-card);
}

.wc2026-sidebar-match__flag--home {
  left:    0;
  z-index: 2;
}

.wc2026-sidebar-match__flag--away {
  left:    18px;
  z-index: 1;
}

.wc2026-sidebar-match__flag--placeholder {
  background: var(--wc-border);
}

.wc2026-sidebar-match__info {
  display:        flex;
  flex-direction: column;
  gap:            2px;
  min-width:      0;
}

.wc2026-sidebar-match__title {
  font-size:       .84rem;
  font-weight:     600;
  color:           var(--wc-text);
  text-decoration: none;
  white-space:     nowrap;
  overflow:        hidden;
  text-overflow:   ellipsis;
}

.wc2026-sidebar-match__title:hover {
  color: var(--wc-gold);
}

.wc2026-sidebar-match__meta {
  font-size: .75rem;
  color:     var(--wc-text-muted);
}

body.light-mode .wc2026-sidebar-match__flag {
  border-color: #ffffff;
}

body.light-mode .wc2026-sidebar-match__title {
  color: #111;
}

body.light-mode .wc2026-sidebar-match__title:hover {
  color: #8a6800;
}

/* CTA box inside sidebar (sidebar itself is sticky) */
.wc2026-sidebar-cta {
  background:    linear-gradient(135deg, #1a1508 0%, #13100a 100%);
  border:        1px solid rgba(124,58,237,.25);
  border-radius: var(--wc-radius);
  padding:       20px;
  text-align:    center;
}

:is(.wc2026-single-post,.wc2026-single-match,.wc2026-single-team) .wc2026-sidebar-cta__title {
  font-size:   .9rem;
  font-weight: 700;
  color:       #f0f0f8;
  margin:      0 0 6px;
}

:is(.wc2026-single-post,.wc2026-single-match,.wc2026-single-team) .wc2026-sidebar-cta__sub {
  font-size: .78rem;
  color:     #a0a0c0;
  margin:    0 0 16px;
}

.wc2026-sidebar-cta .wc2026-cta {
  width:            100%;
  justify-content:  center;
}

/* -----------------------------------------------------------------------------
   14. Breadcrumbs
   ----------------------------------------------------------------------------- */
:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-breadcrumb {
  display:        flex;
  align-items:    center;
  flex-wrap:      wrap;
  gap:            4px 6px;
  font-size:      .75rem;
  font-weight:    500;
  color:          var(--wc-text-muted);
  padding:        10px 20px 12px;
  max-width:      1440px;
  margin:         0 auto;
  letter-spacing: .1px;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-breadcrumb__sep {
  color:   var(--wc-border-light);
  opacity: .8;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-breadcrumb a {
  color:         var(--wc-text-muted);
  border-bottom: 1px solid transparent;
  padding-bottom:1px;
  transition:    color .15s, border-color .15s;
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-breadcrumb a:hover {
  color:        var(--wc-gold);
  border-color: var(--wc-gold);
}

:is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-breadcrumb [aria-current="page"] {
  color:   var(--wc-text-muted);
  opacity: .7;
}

/* -----------------------------------------------------------------------------
   15. Responsive
   ----------------------------------------------------------------------------- */
/* =============================================================================
   Mobile — ≤ 900px  (tablets and phones)
   ============================================================================= */
@media (max-width: 900px) {

  /* ── Collapse all 2-col body layouts to single column ── */
  .wc2026-single-team__body,
  .wc2026-single-group__body,
  .wc2026-single-post__body {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /* ── Hide ALL sidebars on mobile ── */
  .wc2026-single-team__sidebar,
  .wc2026-single-group__sidebar,
  .wc2026-single-post__sidebar,
  .wc2026-single-match__sidebar,
  .wc2026-archive-matches__sidebar,
  .wc2026-archive-teams__sidebar {
    display: none !important;
  }

  /* ── Page header: tighter ── */
  .wc2026-page-header { padding: 16px 0 20px; }

  .wc2026-single-group__header-inner,
  .wc2026-single-team__header-inner {
    flex-direction: column;
    align-items:    flex-start;
    gap:            12px;
  }

  /* ── Sections: reduce top padding ── */
  .wc2026-single-group__section,
  .wc2026-single-team__section  { padding-top: 24px; }

  .wc2026-single-team__section--odds {
    margin-top:    20px;
    margin-bottom: 20px;
  }

  /* ── Page body padding ── */
  .wc2026-page-body { padding-top: 20px; padding-bottom: 20px; }

  /* ── Grids ── */
  .wc2026-matches-grid  { grid-template-columns: 1fr; gap: 10px; }
  .wc2026-posts-grid    { grid-template-columns: 1fr; gap: 12px; }
  .wc2026-groups-grid   { grid-template-columns: 1fr 1fr; gap: 10px; }
  .wc2026-teams-grid    { grid-template-columns: repeat(3, 1fr); gap: 8px; }

  /* ── Dashboard hero ── */
  .wc2026-hero { padding: 40px 0 28px; }
  :is(.wc2026-dashboard) .wc2026-hero__title { font-size: 1.8rem; }

  /* ── Archive matches layout ── */
  .wc2026-archive-matches__body { grid-template-columns: 1fr; }

  /* ── Match header ── */
  .wc2026-single-match__header-inner { gap: 8px; }
  .wc2026-single-match__body { padding-top: 16px; }

  /* ── Probability row ── */
  .wc2026-probability-row { gap: 6px; }
  .wc2026-probability-row__box { padding: 12px 10px; }
  .wc2026-probability-row__pct { font-size: 1.4rem; }

  /* ── Countdown ── */
  .wc2026-countdown { gap: 6px; }
  .wc2026-countdown__unit { padding: 10px 12px; min-width: 56px; }
  :is(.wc2026-dashboard) .wc2026-countdown__value { font-size: 1.4rem; }
}

/* =============================================================================
   Mobile — ≤ 680px  (phones)
   ============================================================================= */
@media (max-width: 680px) {
  :root { --wc-section-gap: 28px; }

  /* ── Match header ── */
  .wc2026-single-match__header-inner { grid-template-columns: 1fr auto 1fr; }
  .wc2026-single-match__flag { width: 48px; height: 33px; }
  :is(.wc2026-single-match) .wc2026-single-match__score { font-size: 2rem; }

  /* ── Standings table: hide less important cols ── */
  .wc2026-standings-table th:nth-child(6),
  .wc2026-standings-table td:nth-child(6),
  .wc2026-standings-table th:nth-child(7),
  .wc2026-standings-table td:nth-child(7) { display: none; }

  /* ── Match list rows ── */
  .wc2026-match-list__row { gap: 8px; }

  /* ── Groups grid single col ── */
  .wc2026-groups-grid { grid-template-columns: 1fr; }

  /* ── Teams grid 2 col ── */
  .wc2026-teams-grid { grid-template-columns: repeat(2, 1fr); }

  /* ── Winner odds ── */
  .wc2026-winner-odds { grid-template-columns: 1fr; }

  /* ── Page header compact ── */
  .wc2026-single-group__title,
  .wc2026-single-team__name { font-size: 1.3rem; }

  .wc2026-section__title { font-size: 1.1rem; }

  /* ── Filter tabs wrap ── */
  .wc2026-filter-tabs { gap: 4px; }
  .wc2026-filter-tabs__tab { padding: 6px 12px; font-size: .78rem; }
}

/* =============================================================================
   Mobile — ≤ 420px  (small phones)
   ============================================================================= */
@media (max-width: 420px) {
  .wc2026-teams-grid { grid-template-columns: repeat(2, 1fr); }
  :is(.wc2026-dashboard) .wc2026-hero__title { font-size: 1.6rem; }
  .wc2026-probability-row__label { font-size: .72rem; }
}

/* =============================================================================
   16. Crest / Logo images
   =============================================================================
   football-data.org serves square SVG crests (logos), not rectangular flags.
   Display them as contained square images with a subtle dark bg.
   ============================================================================= */

/* Compact crest in standings rows */
.wc2026-standings__crest {
  width:        28px;
  height:       28px;
  object-fit:   contain;
  border-radius:4px;
  background:   rgba(255,255,255,.06);
  flex-shrink:  0;
  padding:      2px;
}

.wc2026-standings__crest-placeholder {
  display:      inline-block;
  width:        28px;
  height:       28px;
  border-radius:4px;
  background:   rgba(255,255,255,.06);
  border:       1px solid var(--wc-border);
  flex-shrink:  0;
}

/* Larger crest in team thumb cards */
.wc2026-team-thumb__crest {
  width:        56px;
  height:       56px;
  object-fit:   contain;
  border-radius:8px;
  background:   rgba(255,255,255,.05);
  padding:      4px;
}

.wc2026-team-thumb__crest-placeholder {
  width:        56px;
  height:       56px;
  border-radius:8px;
  background:   rgba(255,255,255,.06);
  border:       1px solid var(--wc-border);
}

/* Large crest in single-match header */
.wc2026-single-match__flag-wrap {
  width:           96px;
  height:          96px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      rgba(255,255,255,.04);
  border:          1px solid var(--wc-border);
  border-radius:   12px;
  margin-bottom:   12px;
  overflow:        hidden;
}

.wc2026-single-match__flag-wrap--empty {
  background: rgba(255,255,255,.03);
}

.wc2026-single-match__flag {
  width:      80px;
  height:     80px;
  object-fit: contain;
  padding:    4px;
}

.wc2026-single-match__flag-placeholder {
  font-size:   2rem;
  color:       #666680;
  line-height: 1;
}

/* Large crest in standings table (single-group / archive-groups) */
.wc2026-standings-table__crest {
  width:        32px;
  height:       32px;
  object-fit:   contain;
  border-radius:4px;
  background:   rgba(255,255,255,.06);
  flex-shrink:  0;
  padding:      2px;
}

.wc2026-standings-table__crest-placeholder {
  display:      inline-block;
  width:        32px;
  height:       32px;
  border-radius:4px;
  background:   rgba(255,255,255,.06);
  border:       1px solid var(--wc-border);
  flex-shrink:  0;
}

/* =============================================================================
   17. Single Match — rebuilt layout
   ============================================================================= */
.wc2026-single-match__status-strip {
  height:     4px;
  background: var(--wc-finished);
}
.wc2026-single-match--in_play  .wc2026-single-match__status-strip,
.wc2026-single-match--paused   .wc2026-single-match__status-strip { background: var(--wc-live); }
.wc2026-single-match--scheduled .wc2026-single-match__status-strip,
.wc2026-single-match--timed    .wc2026-single-match__status-strip { background: var(--wc-scheduled); }

.wc2026-single-match__header {
  border-bottom: 1px solid var(--wc-border);
}

.wc2026-single-match__header-inner {
  padding:               48px 20px 40px;
  display:               grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:           center;
  gap:                   24px;
}

:is(.wc2026-single-match) .wc2026-single-match__team {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            0;
  text-align:     center;
}

:is(.wc2026-single-match) .wc2026-single-match__team--home { align-items: center; }
:is(.wc2026-single-match) .wc2026-single-match__team--away { align-items: center; }

:is(.wc2026-single-match) .wc2026-single-match__team-name {
  font-size:      1.2rem;
  font-weight:    800;
  color:          #ffffff;
  letter-spacing: -.3px;
  line-height:    1.2;
  margin-top:     0;
}

:is(.wc2026-single-match) .wc2026-single-match__center {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            8px;
  text-align:     center;
  min-width:      120px;
}

:is(.wc2026-single-match) .wc2026-single-match__finished-label {
  font-size:      .72rem;
  font-weight:    700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color:          #666680;
}

:is(.wc2026-single-match) .wc2026-single-match__score {
  font-size:      3.2rem;
  font-weight:    900;
  color:          #ffffff;
  letter-spacing: -3px;
  line-height:    1;
}

:is(.wc2026-single-match) .wc2026-single-match__score-sep {
  color:      #666680;
  font-weight:300;
  padding:    0 4px;
}

:is(.wc2026-single-match) .wc2026-single-match__vs {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            4px;
}

:is(.wc2026-single-match) .wc2026-single-match__kickoff-time {
  font-size:      2rem;
  font-weight:    800;
  color:          #7C3AED;
  letter-spacing: -1px;
}

:is(.wc2026-single-match) .wc2026-single-match__kickoff-label {
  font-size:      .68rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color:          #666680;
}

:is(.wc2026-single-match) .wc2026-single-match__meta-pills {
  display:         flex;
  flex-wrap:       wrap;
  gap:             6px;
  justify-content: center;
  margin-top:      4px;
}

:is(.wc2026-single-match) .wc2026-single-match__pill {
  display:        inline-flex;
  align-items:    center;
  gap:            4px;
  font-size:      .73rem;
  color:          #a0a0c0;
  background:     rgba(255,255,255,.05);
  border:         1px solid var(--wc-border);
  padding:        3px 10px;
  border-radius:  20px;
  white-space:    nowrap;
}

:is(.wc2026-single-match) .wc2026-single-match__pill--link {
  color:         #7C3AED;
  border-color:  rgba(124,58,237,.25);
  background:    var(--wc-gold-dim);
}

:is(.wc2026-single-match) .wc2026-live-badge--lg {
  font-size:   .78rem;
  padding:     4px 12px;
}

.wc2026-single-match__cta-bar {
  /* width from .wc2026-page-body */
  padding-top: 24px;
}

.wc2026-single-match__body {
  padding-top: 32px;
}

.wc2026-single-match__body-inner {
  display:               grid;
  grid-template-columns: 1fr 300px;
  gap:                   32px;
  align-items:           start;
}

.wc2026-single-match__sidebar {
  display:        flex;
  flex-direction: column;
  gap:            20px;
  position:       sticky;
  top:            80px;
  align-self:     start;
}

:is(.wc2026-single-match) .wc2026-single-match__no-content {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  padding:       32px 24px;
  text-align:    center;
}

:is(.wc2026-single-match) .wc2026-single-match__no-content p {
  color:     #666680;
  font-size: .9rem;
  margin:    0;
}

:is(.wc2026-single-match) .wc2026-standings__row--highlight td {
  background: rgba(124,58,237,.06);
}

:is(.wc2026-single-match) .wc2026-related-match__title {
  display:     block;
  font-size:   .82rem;
  font-weight: 600;
  color:       #f0f0f8;
  line-height: 1.3;
}

:is(.wc2026-single-match) .wc2026-related-match__meta {
  display:   block;
  font-size: .73rem;
  color:     #666680;
  margin-top:2px;
}

/* =============================================================================
   18. Single Group — rebuilt layout
   ============================================================================= */
.wc2026-single-group__header {
  border-bottom: 1px solid var(--wc-border);
  padding:       40px 0;
}

.wc2026-single-group__header-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             20px;
  flex-wrap:       wrap;
}

:is(.wc2026-single-group) .wc2026-single-group__title {
  font-size:      2.4rem;
  font-weight:    900;
  color:          #ffffff;
  margin:         0 0 8px;
  letter-spacing: -.8px;
}

.wc2026-single-group__meta-pills {
  display:     flex;
  gap:         8px;
  flex-wrap:   wrap;
  align-items: center;
}

:is(.wc2026-single-group) .wc2026-single-group__pill {
  font-size:      .73rem;
  color:          #a0a0c0;
  background:     rgba(255,255,255,.05);
  border:         1px solid var(--wc-border);
  padding:        3px 10px;
  border-radius:  20px;
}

.wc2026-single-group__body {
  /* width/spacing from .wc2026-page-body */
}

.wc2026-single-group__section {
  padding-top: 40px;
}

.wc2026-single-group__section + .wc2026-single-group__section {
  border-top: 1px solid var(--wc-border);
}

/* Standings table wrap — horizontal scroll on mobile */
.wc2026-standings-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--wc-radius);
  border:        1px solid var(--wc-border);
}

.wc2026-standings-table-wrap .wc2026-standings-table {
  border: none;
  border-radius: 0;
  margin: 0;
}

/* Full standings table overrides for single-group */
:is(.wc2026-single-group) .wc2026-standings-table {
  min-width: 480px;
}

:is(.wc2026-single-group) .wc2026-standings-table thead th {
  padding:    12px 14px;
  font-size:  .7rem;
}

:is(.wc2026-single-group) .wc2026-standings-table tbody td {
  padding:   12px 14px;
  font-size: .88rem;
}

.wc2026-standings-table__rank {
  width:      32px;
  text-align: center;
  position:   relative;
}

.wc2026-standings-table__qualify-dot {
  display:      inline-block;
  width:        8px;
  height:       8px;
  border-radius:50%;
  background:   var(--wc-qualify);
  margin-right: 4px;
  vertical-align:middle;
}

.wc2026-standings-table__team-col {
  text-align: left;
  min-width:  160px;
}

.wc2026-standings-table__team-cell { text-align: left; }

.wc2026-standings-table__team {
  display:    flex;
  align-items:center;
  gap:        10px;
}

:is(.wc2026-single-group) .wc2026-standings-table__team-name {
  font-weight: 600;
  color:       #f0f0f8;
  font-size:   .88rem;
}

:is(.wc2026-single-group) .wc2026-standings-table__gd {
  font-size: .82rem;
  color:     #a0a0c0;
}

.wc2026-standings-table__row--qualify td:first-child {
  box-shadow: inset 4px 0 0 var(--wc-qualify);
}

:is(.wc2026-single-group) .wc2026-standings-table__pts {
  font-weight: 800;
  color:       #ffffff;
  font-size:   .95rem;
}

:is(.wc2026-single-group) .wc2026-standings-table__legend {
  font-size:   .75rem;
  color:       #666680;
  margin:      12px 0 0;
  display:     flex;
  align-items: center;
  gap:         6px;
}

.wc2026-standings-table__legend-dot {
  display:       inline-block;
  width:         8px;
  height:        8px;
  border-radius: 50%;
  background:    var(--wc-qualify);
  flex-shrink:   0;
}

:is(.wc2026-single-group) .wc2026-single-group__content p {
  color:       #a0a0c0;
  line-height: 1.75;
  margin:      0 0 16px;
}

/* =============================================================================
   19. Archive Matches
   ============================================================================= */

.wc2026-archive-matches__body {
  display:               grid;
  grid-template-columns: 1fr 300px;
  gap:                   32px;
  align-items:           start;
}

.wc2026-archive-matches__sidebar {
  display:        flex;
  flex-direction: column;
  gap:            20px;
  position:       sticky;
  top:            80px;
  align-self:     start;
}

@media (max-width: 900px) {
  .wc2026-archive-matches__body {
    grid-template-columns: 1fr;
  }
  .wc2026-archive-matches__sidebar {
    display: none;
  }
}

.wc2026-archive-matches__header {
  /* background from .wc2026-page-header */
}

.wc2026-archive-matches__header-inner {
  /* width from .wc2026-page-header__inner */
}

.wc2026-archive-matches__title-row {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  flex-wrap:       wrap;
  padding-top:     16px;
}

:is(.wc2026-archive-matches) .wc2026-archive-matches__title {
  font-size:      1.8rem;
  font-weight:    900;
  color:          #ffffff;
  margin:         0;
  letter-spacing: -.5px;
}

/* Filter bar */
.wc2026-archive-matches__filters-wrap {
  background:    var(--wc-surface);
  border-bottom: 1px solid var(--wc-border);
  padding:       0;
}

.wc2026-archive-matches__filters {
  display:     flex;
  align-items: center;
  justify-content: space-between;
  gap:         12px;
  flex-wrap:   wrap;
  padding:     12px 0;
}

.wc2026-filter-tabs {
  display:  flex;
  gap:      4px;
  flex-wrap:wrap;
}

:is(.wc2026-archive-matches) .wc2026-filter-tabs__tab {
  font-size:     .82rem;
  font-weight:   600;
  color:         #a0a0c0;
  padding:       7px 16px;
  border-radius: 6px;
  border:        1px solid transparent;
  transition:    all .2s var(--wc-ease);
  white-space:   nowrap;
}

:is(.wc2026-archive-matches) .wc2026-filter-tabs__tab:hover {
  color:       #f0f0f8;
  background:  rgba(255,255,255,.05);
}

:is(.wc2026-archive-matches) .wc2026-filter-tabs__tab--active {
  color:        #7C3AED;
  background:   var(--wc-gold-dim);
  border-color: rgba(124,58,237,.3);
}

:is(.wc2026-archive-matches) .wc2026-filter-group-select {
  font-size:     .82rem;
  color:         #a0a0c0;
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: 6px;
  padding:       7px 12px;
  cursor:        pointer;
  outline:       none;
  appearance:    none;
  -webkit-appearance: none;
  background-image:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666680'/%3E%3C/svg%3E");
  background-repeat:  no-repeat;
  background-position:right 10px center;
  padding-right: 28px;
}

:is(.wc2026-archive-matches) .wc2026-filter-group-select:hover {
  border-color: rgba(124,58,237,.3);
  color:        #f0f0f8;
}

/* Match day groups */
.wc2026-match-day {
  margin-bottom: 36px;
}

.wc2026-match-day__header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  margin-bottom:   16px;
  gap:             12px;
}

:is(.wc2026-archive-matches) .wc2026-match-day__date {
  font-size:   1rem;
  font-weight: 700;
  color:       #f0f0f8;
  margin:      0;
  display:     flex;
  align-items: center;
  gap:         8px;
}

:is(.wc2026-archive-matches) .wc2026-match-day__count {
  font-size:     .75rem;
  color:         #666680;
  background:    rgba(255,255,255,.05);
  border:        1px solid var(--wc-border);
  padding:       3px 10px;
  border-radius: 20px;
  white-space:   nowrap;
}

/* Empty state */
.wc2026-empty-state {
  text-align: center;
  padding:    60px 20px;
}

:is(.wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-empty-state__icon {
  font-size:     3rem;
  margin-bottom: 12px;
}

:is(.wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-empty-state__text {
  font-size:     .95rem;
  color:         #a0a0c0;
  margin-bottom: 24px;
}

.wc2026-empty-state--sm {
  padding: 28px 20px;
}

:is(.wc2026-single-group) .wc2026-empty-state--sm .wc2026-empty-state__text {
  font-size:   .85rem;
  color:       #666680;
  margin:      0;
}

/* =============================================================================
   20. Archive Groups
   ============================================================================= */
.wc2026-archive-groups__header {
  /* background from .wc2026-page-header */
}

.wc2026-archive-groups__header-inner {
  /* width from .wc2026-page-header__inner */
}

.wc2026-archive-groups__title-row {
  display:         flex;
  align-items:     flex-start;
  justify-content: space-between;
  gap:             16px;
  flex-wrap:       wrap;
  padding-top:     16px;
}

:is(.wc2026-archive-groups) .wc2026-archive-groups__title {
  font-size:      1.8rem;
  font-weight:    900;
  color:          #ffffff;
  margin:         0 0 4px;
  letter-spacing: -.5px;
}

:is(.wc2026-archive-groups) .wc2026-archive-groups__subtitle {
  font-size: .85rem;
  color:     #666680;
  margin:    0;
}

/* Full-width groups grid on archive-groups */
.wc2026-groups-full-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap:                   24px;
}

.wc2026-group-full-card {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
  transition:    border-color .2s var(--wc-ease);
}

.wc2026-group-full-card:hover {
  border-color: rgba(124,58,237,.3);
}

.wc2026-group-full-card__header {
  padding:         14px 16px;
  border-bottom:   1px solid var(--wc-border-light);
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             8px;
}

:is(.wc2026-archive-groups) .wc2026-group-full-card__name {
  font-size:      1rem;
  font-weight:    800;
  color:          #ffffff;
  margin:         0;
  letter-spacing: -.2px;
}

:is(.wc2026-archive-groups) .wc2026-group-full-card__name a {
  color: inherit;
}

:is(.wc2026-archive-groups) .wc2026-group-full-card__name a:hover {
  color: #7C3AED;
}

:is(.wc2026-archive-groups) .wc2026-group-full-card__link {
  font-size:  .75rem;
  color:      #666680;
  white-space:nowrap;
}

.wc2026-group-full-card__footer {
  padding:         10px 16px;
  border-top:      1px solid var(--wc-border-light);
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             8px;
}

:is(.wc2026-archive-groups) .wc2026-group-full-card__matches-link {
  font-size:  .78rem;
  color:      #7C3AED;
  font-weight:600;
}

:is(.wc2026-archive-groups) .wc2026-group-full-card__link--secondary {
  font-size: .75rem;
  color:     #666680;
}

/* Standings inside group-full-card share .wc2026-standings classes — already styled */
:is(.wc2026-archive-groups) .wc2026-standings th {
  font-size: .62rem;
  padding:   6px 8px;
}
:is(.wc2026-archive-groups) .wc2026-standings td {
  padding:   7px 8px;
  font-size: .80rem;
}

/* =============================================================================
   21. Responsive additions
   ============================================================================= */
@media (max-width: 900px) {
  .wc2026-single-match__body-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .wc2026-single-match__header-inner {
    grid-template-columns: 1fr auto 1fr;
    padding: 20px 16px 18px;
  }

  :is(.wc2026-single-match) .wc2026-single-match__flag-wrap {
    width: 56px; height: 56px;
  }
  :is(.wc2026-single-match) .wc2026-single-match__flag {
    width: 46px; height: 46px;
  }

  :is(.wc2026-single-match) .wc2026-single-match__team-name {
    font-size: .85rem;
  }

  :is(.wc2026-single-match) .wc2026-single-match__score {
    font-size: 2rem;
  }

  .wc2026-archive-matches__filters {
    flex-direction: column;
    align-items:    flex-start;
    gap:            8px;
  }

  .wc2026-groups-full-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================================================
   22. Editorial content blocks (optional text between sections)
   ============================================================================= */
.wc2026-editorial-block {
  padding:       32px 0;
  border-top:    1px solid var(--wc-border);
}

:is(.wc2026-dashboard) .wc2026-editorial-block p {
  color:       var(--wc-text-muted);
  font-size:   .95rem;
  line-height: 1.7;
  margin:      0 0 14px;
}

:is(.wc2026-dashboard) .wc2026-editorial-block p:last-child {
  margin-bottom: 0;
}

:is(.wc2026-dashboard) .wc2026-editorial-block a {
  color: var(--wc-gold);
}

:is(.wc2026-dashboard) .wc2026-editorial-block strong,
:is(.wc2026-dashboard) .wc2026-editorial-block b {
  color:       var(--wc-text);
  font-weight: 600;
}

/* Light mode editorial block */
body.light-mode .wc2026-editorial-block {
  border-color: rgba(0,0,0,.08);
}

body.light-mode :is(.wc2026-dashboard) .wc2026-editorial-block p {
  color: #555566;
}

body.light-mode :is(.wc2026-dashboard) .wc2026-editorial-block strong,
body.light-mode :is(.wc2026-dashboard) .wc2026-editorial-block b {
  color: #1a1a2e;
}

/* =============================================================================
   22b. Team meta pills (founded, venue, coach)
   ============================================================================= */
:is(.wc2026-single-team) .wc2026-single-team__meta-pills {
  display:    flex;
  flex-wrap:  wrap;
  gap:        6px;
  margin-top: 10px;
}

:is(.wc2026-single-team) .wc2026-single-team__pill {
  display:       inline-flex;
  align-items:   center;
  font-size:     .75rem;
  color:         var(--wc-text-muted);
  background:    rgba(255,255,255,.06);
  border:        1px solid var(--wc-border);
  padding:       3px 10px;
  border-radius: 20px;
  white-space:   nowrap;
}

/* -----------------------------------------------------------------------------
   23. Match finished label — FINAL variant
   ----------------------------------------------------------------------------- */
:is(.wc2026-single-match) .wc2026-single-match__finished-label--final {
  font-size:      .75rem;
  font-weight:    800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color:          var(--wc-finished);
  background:     rgba(108,117,125,.12);
  padding:        3px 10px;
  border-radius:  4px;
}


/* =============================================================================
   24. Light Mode Overrides — body.light-mode
   Triggered by themes/hard-rock-blog/assets/js/main.js (localStorage: hrb-theme)
   Strategy: body.light-mode prefix adds one class of specificity, beating all
   base rules (which use 2-class :is() prefix). !important only where the base
   also uses !important (wrapper background/color).
   ============================================================================= */

/* -- Shorthand selector alias used below -- */
/* WRP = body.light-mode :is(.wc2026-dashboard, …all wrappers…)  */

/* 1. CSS variable overrides -------------------------------------------------- */
body.light-mode :is(
  .wc2026-dashboard, .wc2026-single-team, .wc2026-single-match,
  .wc2026-single-group, .wc2026-single-post, .wc2026-archive-posts,
  .wc2026-archive-matches, .wc2026-archive-groups, .wc2026-archive-teams
) {
  --wc-bg:           #f0f0ea;
  --wc-surface:      #ffffff;
  --wc-card:         #ffffff;
  --wc-card-hover:   #f5f5f1;
  --wc-border:       rgba(0,0,0,.1);
  --wc-border-light: rgba(0,0,0,.07);
  --wc-gold-dim:     rgba(124,58,237,.1);
  --wc-text:         #1a1a2e;
  --wc-text-muted:   #555566;
  --wc-text-dim:     #888899;
}

/* 2. Wrapper — match base !important pair ------------------------------------- */
body.light-mode .wc2026-dashboard,
body.light-mode .wc2026-single-team,
body.light-mode .wc2026-single-match,
body.light-mode .wc2026-single-group,
body.light-mode .wc2026-single-post,
body.light-mode .wc2026-archive-posts,
body.light-mode .wc2026-archive-matches,
body.light-mode .wc2026-archive-groups,
body.light-mode .wc2026-archive-teams {
  background: #f0f0ea !important;
  color:      #1a1a2e !important;
}

/* 3. Base text elements — covers the :is() rule that sets color:#f0f0f8 ------- */
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) p,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) span,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) li,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) td,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) th,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) label,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) time,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) strong,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) b {
  color: #1a1a2e;
}

/* 4. Headings ----------------------------------------------------------------- */
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h1,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h2,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h3,
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) h4 {
  color: #0d0d1a;
}

/* 5. Links — keep gold, it works on light too --------------------------------- */
/* (gold is already readable on light bg — no override needed) */

/* 6. Section headers ---------------------------------------------------------- */
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-section__title {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-section__link {
  color:        #555566;
  border-color: rgba(0,0,0,.15);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-section__link:hover {
  color:        var(--wc-gold);
  border-color: var(--wc-gold);
  background:   var(--wc-gold-dim);
}

/* 7. Hero section ------------------------------------------------------------- */
body.light-mode .wc2026-hero {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(124,58,237,.12) 0%, transparent 70%),
    linear-gradient(180deg, #f0f0ea 0%, #eaeae4 100%);
}

body.light-mode .wc2026-page-header {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(124,58,237,.1) 0%, transparent 70%),
    var(--wc-surface);
}

body.light-mode :is(.wc2026-dashboard) .wc2026-hero__edition {
  color: #a07820;
  background: rgba(124,58,237,.1);
  border-color: rgba(124,58,237,.25);
}

body.light-mode :is(.wc2026-dashboard) .wc2026-hero__title {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard) .wc2026-hero__dates {
  color: #555566;
}

body.light-mode :is(.wc2026-dashboard) .wc2026-hero__hosts {
  background:   rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.1);
  color:        #555566;
}

/* Countdown */
body.light-mode .wc2026-countdown__unit {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
  box-shadow:   0 1px 4px rgba(0,0,0,.06);
}

body.light-mode :is(.wc2026-dashboard) .wc2026-countdown__value {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard) .wc2026-countdown__label {
  color: #888899;
}

/* 8. Match cards -------------------------------------------------------------- */
body.light-mode .wc2026-match-card {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
  box-shadow:   0 1px 4px rgba(0,0,0,.05);
}

body.light-mode .wc2026-match-card:hover {
  border-color: rgba(124,58,237,.4);
  box-shadow:   0 4px 14px rgba(0,0,0,.08);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__date {
  color: #888899;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__group {
  background:      rgba(0,0,0,.06);
  color:           #555566;
  text-decoration: none;
}
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) a.wc2026-match-card__group:hover {
  background: rgba(124,58,237,.12);
  color:      #7C3AED;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__team-name {
  color: #1a1a2e;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__score {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__score--vs {
  color: #aaaabd;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__score-sep {
  color: #aaaabd;
}

body.light-mode .wc2026-match-card__flag,
body.light-mode .wc2026-match-card__flag-placeholder {
  background: rgba(0,0,0,.04);
}

body.light-mode .wc2026-match-card__footer {
  border-color: rgba(0,0,0,.07);
  background:   rgba(0,0,0,.02);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__link {
  color: #888899;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-match-card__link:hover {
  color: #1a1a2e;
}

/* 9. Group cards + standings -------------------------------------------------- */
body.light-mode .wc2026-group-card {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
  box-shadow:   0 1px 4px rgba(0,0,0,.05);
}

body.light-mode .wc2026-group-card:hover {
  border-color: rgba(124,58,237,.4);
  box-shadow:   0 4px 14px rgba(0,0,0,.08);
}

body.light-mode .wc2026-group-card__header {
  border-color: rgba(0,0,0,.07);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__name {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__view {
  color: #888899;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings th {
  color:            #666677;
  border-color:     rgba(0,0,0,.07);
  background:       rgba(0,0,0,.03);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings td {
  color:        #555566;
  border-color: rgba(0,0,0,.06);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__team-name {
  color: #1a1a2e;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__pts {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__rank {
  color: #888899;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-standings__empty {
  color: #888899;
}

body.light-mode .wc2026-standings__flag {
  background: rgba(0,0,0,.04);
}

body.light-mode :is(.wc2026-single-group) .wc2026-standings-table__team-name {
  color: #1F1B2E;
}

body.light-mode .wc2026-group-card__footer {
  border-color: rgba(0,0,0,.07);
  background:   rgba(0,0,0,.02);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-group-card__matches-link {
  color: #888899;
}

/* 10. Post cards -------------------------------------------------------------- */
body.light-mode .wc2026-post-card {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
  box-shadow:   0 1px 4px rgba(0,0,0,.05);
}

body.light-mode .wc2026-post-card:hover {
  border-color: rgba(124,58,237,.4);
  box-shadow:   0 4px 14px rgba(0,0,0,.08);
}

body.light-mode .wc2026-post-card__thumbnail-link {
  background: rgba(0,0,0,.04);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__title {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__title a {
  color: inherit;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__excerpt {
  color: #555566;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-post-card__meta {
  color: #888899;
}

/* 11. CTA bar ---------------------------------------------------------------- */
body.light-mode .wc2026-cta-bar {
  background:   linear-gradient(135deg, #f3eeff 0%, #ede4ff 100%);
  border-color: rgba(124,58,237,.25);
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta-bar__text {
  color: #555566;
}

body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-cta-bar__text strong {
  color: #1F1B2E;
}

/* 12. Single match page ------------------------------------------------------- */
body.light-mode :is(.wc2026-single-match) .wc2026-single-match__header {
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__team-name {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__score {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__finished-label,
body.light-mode :is(.wc2026-single-match) .wc2026-single-match__kickoff-label,
body.light-mode :is(.wc2026-single-match) .wc2026-single-match__score-sep {
  color: #888899;
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__flag-wrap {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.08);
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__flag-wrap--empty {
  background:   rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__pill {
  background:   rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.1);
  color:        #555566;
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__body {
  background: #f0f0ea;
}

body.light-mode :is(.wc2026-single-match) .wc2026-single-match__sidebar > div:not(.wc2026-sidebar-cta) {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
}

/* 13. Single team page -------------------------------------------------------- */
body.light-mode :is(.wc2026-single-team) .wc2026-single-team__header {
  border-color: rgba(0,0,0,.08);
}

body.light-mode :is(.wc2026-single-team) .wc2026-single-team__name {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-single-team) .wc2026-single-team__group-link {
  color:      var(--wc-gold);
  background: rgba(124,58,237,.1);
  border-color: rgba(124,58,237,.2);
}

body.light-mode :is(.wc2026-single-team) .wc2026-single-team__pill {
  background:   rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.1);
  color:        #555566;
}

.wc2026-single-team__section {
  padding-top: 40px;
}

.wc2026-single-team__section + .wc2026-single-team__section {
  border-top: 1px solid var(--wc-border);
}

/* Odds card — no border-top divider, gap handled by margin */
.wc2026-single-team__section--odds {
  margin-top:    32px;
  margin-bottom: 32px;
  border-top:    none !important;
  padding-top:   0;
}

body.light-mode :is(.wc2026-single-team) .wc2026-single-team__section {
  border-color: rgba(0,0,0,.07);
}

body.light-mode .wc2026-stats-card {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-single-team) .wc2026-stats-card__title {
  color: #555566;
}

body.light-mode :is(.wc2026-single-team) .wc2026-stats-card__value {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-single-team) .wc2026-stats-card__label {
  color: #888899;
}

body.light-mode .wc2026-squad {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-single-team) .wc2026-squad__title {
  color: #555566;
}

body.light-mode :is(.wc2026-single-team) .wc2026-squad__player {
  border-color: rgba(0,0,0,.06);
}

body.light-mode :is(.wc2026-single-team) .wc2026-squad__position {
  color: #888899;
}

body.light-mode :is(.wc2026-single-team) .wc2026-squad__name {
  color: #1a1a2e;
}

/* 14. Single post page -------------------------------------------------------- */
body.light-mode :is(.wc2026-single-post) .wc2026-single-post__title {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-single-post) .wc2026-single-post__date {
  color: #888899;
}

body.light-mode :is(.wc2026-single-post) .wc2026-single-post__related {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-single-post) .wc2026-single-post__related-title {
  color:        #555566;
  border-color: rgba(0,0,0,.07);
}

/* 15. Match day headers (archive-matches) ------------------------------------- */
body.light-mode .wc2026-match-day__header {
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-archive-matches) .wc2026-match-day__date {
  color: #1a1a2e;
}

body.light-mode :is(.wc2026-archive-matches) .wc2026-match-day__count {
  color: #888899;
}

/* 16. Filter tabs ------------------------------------------------------------- */
body.light-mode .wc2026-archive-matches__filters-wrap {
  background:   #eaeae4;
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-archive-matches) .wc2026-filter-tabs__tab {
  color:      #555566;
  background: rgba(0,0,0,.05);
}

body.light-mode :is(.wc2026-archive-matches) .wc2026-filter-tabs__tab--active {
  background: var(--wc-gold);
  color:      #ffffff;
}

body.light-mode :is(.wc2026-archive-matches) .wc2026-filter-group-select {
  background:   #ffffff;
  border-color: rgba(0,0,0,.2);
  color:        #1a1a2e;
}

/* 17. Archive pages headers --------------------------------------------------- */
body.light-mode .wc2026-archive-matches__header,
body.light-mode .wc2026-archive-groups__header,
body.light-mode .wc2026-archive-posts__header {
  /* background from body.light-mode .wc2026-page-header */
  border-color: rgba(0,0,0,.08);
}

body.light-mode :is(.wc2026-archive-matches) .wc2026-archive-matches__title,
body.light-mode :is(.wc2026-archive-groups) .wc2026-archive-groups__title,
body.light-mode :is(.wc2026-archive-posts) .wc2026-archive-posts__title {
  color: #0d0d1a;
}

body.light-mode :is(.wc2026-archive-posts) .wc2026-post-card__read-more {
  color: #888899;
}

body.light-mode :is(.wc2026-archive-posts) .wc2026-post-card__read-more:hover {
  color: var(--wc-gold);
}

body.light-mode .wc2026-pagination .page-numbers {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
  color:        #555566;
}

/* 18. Single group page ------------------------------------------------------- */
body.light-mode :is(.wc2026-single-group) .wc2026-single-group__header {
  border-color: rgba(0,0,0,.08);
}

body.light-mode :is(.wc2026-single-group) .wc2026-single-group__name {
  color: #0d0d1a;
}

/* 19. Breadcrumbs — already use CSS vars, just verify ----------------------- */
/* (Breadcrumbs use --wc-text-muted and --wc-gold which are already overridden in step 1) */

/* 20. Section borders --------------------------------------------------------- */
body.light-mode .wc2026-section + .wc2026-section {
  border-color: rgba(0,0,0,.08);
}

/* 21. Team grid (team thumbs) ------------------------------------------------- */
body.light-mode .wc2026-team-thumb {
  background:   #ffffff;
  border-color: rgba(0,0,0,.1);
  box-shadow:   0 1px 4px rgba(0,0,0,.05);
}

body.light-mode .wc2026-team-thumb:hover {
  border-color: rgba(124,58,237,.4);
  box-shadow:   0 4px 14px rgba(0,0,0,.08);
}

body.light-mode .wc2026-team-thumb__crest-placeholder,
body.light-mode .wc2026-standings__crest-placeholder {
  background:   rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.1);
}

body.light-mode :is(.wc2026-dashboard) .wc2026-team-thumb__name {
  color: #1a1a2e;
}

/* 22. Sidebar CTA box --------------------------------------------------------- */
/* Sidebar CTA in light mode — warm cream/gold card, dark text */
body.light-mode .wc2026-sidebar-cta {
  background:   linear-gradient(135deg, #fdf8e8 0%, #f0e8c8 100%);
  border-color: rgba(124,58,237,.35);
}

body.light-mode .wc2026-sidebar-cta__title {
  color: #1a1508;
}

body.light-mode .wc2026-sidebar-cta__sub {
  color: #6b5a30;
}

/* 23. Empty state ------------------------------------------------------------- */
body.light-mode :is(.wc2026-dashboard,.wc2026-single-team,.wc2026-single-match,
    .wc2026-single-group,.wc2026-single-post,.wc2026-archive-posts,
    .wc2026-archive-matches,.wc2026-archive-groups,.wc2026-archive-teams) .wc2026-empty-state__text {
  color: #555566;
}

/* =============================================================================
   24. Teams Archive
   ============================================================================= */
.wc2026-archive-teams {
  padding-bottom: 60px;
}

.wc2026-archive-teams__header {
  /* background from .wc2026-page-header */
}

.wc2026-archive-teams__title-row {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  flex-wrap:       wrap;
}

.wc2026-archive-teams__title {
  font-size:   clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 700;
  color:       var(--wc-text);
  margin:      0 0 6px;
}

.wc2026-archive-teams__subtitle {
  font-size:  .9rem;
  color:      var(--wc-text-muted);
  margin:     0;
}

/* Section per group */
.wc2026-teams-section {
  margin-bottom: 48px;
}

.wc2026-teams-section__header {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  gap:             12px;
  margin-bottom:   16px;
  padding-bottom:  10px;
  border-bottom:   1px solid var(--wc-border);
}

.wc2026-teams-section__group-name {
  font-size:   1.1rem;
  font-weight: 700;
  color:       var(--wc-text);
  margin:      0;
}

.wc2026-teams-section__group-name a {
  color: inherit;
  text-decoration: none;
}

.wc2026-teams-section__group-name a:hover {
  color: var(--wc-gold);
}

.wc2026-teams-section__group-link {
  font-size:       .8rem;
  color:           var(--wc-text-muted);
  text-decoration: none;
  white-space:     nowrap;
}

.wc2026-teams-section__group-link:hover {
  color: var(--wc-gold);
}

/* Team card */
.wc2026-team-card {
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  gap:             10px;
  background:      var(--wc-card);
  border:          1px solid var(--wc-border);
  border-radius:   var(--wc-radius-sm);
  padding:         18px 12px;
  text-align:      center;
  text-decoration: none;
  color:           var(--wc-text);
  transition:      border-color .2s, transform .2s var(--wc-ease), box-shadow .2s;
}

.wc2026-team-card:hover {
  border-color: rgba(124,58,237,.4);
  transform:    translateY(-3px);
  box-shadow:   0 8px 24px rgba(0,0,0,.25);
}

.wc2026-team-card__flag-wrap {
  width:         72px;
  height:        72px;
  border-radius: 50%;
  overflow:      hidden;
  background:    var(--wc-surface);
  display:       flex;
  align-items:   center;
  justify-content: center;
  flex-shrink:   0;
}

.wc2026-team-card__flag {
  width:      100%;
  height:     100%;
  object-fit: cover;
}

.wc2026-team-card__flag--placeholder {
  display:       block;
  width:         40px;
  height:        40px;
  border-radius: 50%;
  background:    var(--wc-border);
}

.wc2026-team-card__info {
  display:        flex;
  flex-direction: column;
  gap:            4px;
  align-items:    center;
}

.wc2026-team-card__name {
  font-size:   .9rem;
  font-weight: 700;
  line-height: 1.2;
  color:       var(--wc-text);
}

.wc2026-team-card__coach {
  font-size: .75rem;
  color:     var(--wc-text-muted);
}

/* Teams grid — same base grid, overridden for archive */
.wc2026-archive-teams .wc2026-teams-grid,
.wc2026-dashboard .wc2026-teams-grid {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
}

/* Light mode */
body.light-mode .wc2026-archive-teams__header {
  /* background from body.light-mode .wc2026-page-header */
  border-color: rgba(0,0,0,.08);
}

body.light-mode .wc2026-archive-teams__title {
  color: #1a1a2e;
}

body.light-mode .wc2026-teams-section__header {
  border-color: #d8d8e8;
}

body.light-mode .wc2026-teams-section__group-name {
  color: #1a1a2e;
}

body.light-mode .wc2026-team-card {
  background:   #ffffff;
  border-color: #d8d8e8;
  color:        #1a1a2e;
}

body.light-mode .wc2026-team-card:hover {
  border-color: rgba(124,58,237,.5);
}

body.light-mode .wc2026-team-card__flag-wrap {
  background: #f0f0f8;
}

body.light-mode .wc2026-team-card__name {
  color: #1a1a2e;
}

/* =============================================================================
   New components: odds blocks, probability row, teams excerpt, archive layouts
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Archive Teams — 2-column layout (main + sidebar)
   ----------------------------------------------------------------------------- */
.wc2026-archive-teams__layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start;
}

@media (max-width: 900px) {
  .wc2026-archive-teams__layout {
    grid-template-columns: 1fr;
  }
  .wc2026-archive-teams__sidebar {
    display: none; /* hide on mobile to keep it clean */
  }
}

/* Sidebar standings stacked cards */
.wc2026-archive-teams__sidebar .wc2026-related-card + .wc2026-related-card {
  margin-top: 16px;
}

/* -----------------------------------------------------------------------------
   Editable text sections (archive pages)
   ----------------------------------------------------------------------------- */
.wc2026-text-section {
  padding-top: 0 !important;
  padding-bottom: 32px !important;
}

.wc2026-text-section--intro {
  padding-bottom: 0 !important;
}

.wc2026-text-section__title {
  font-size:    1.3rem;
  font-weight:  700;
  color:        #ffffff;
  margin:       0 0 16px;
  padding-left: 12px;
  border-left:  3px solid var(--wc-gold);
}

.wc2026-prose {
  color:       var(--wc-text-muted);
  font-size:   .95rem;
  line-height: 1.75;
}

.wc2026-prose p + p {
  margin-top: 12px;
}

/* -----------------------------------------------------------------------------
   Odds disclaimer
   ----------------------------------------------------------------------------- */
.wc2026-odds-disclaimer {
  font-size:   .78rem;
  color:       var(--wc-text-dim);
  font-style:  italic;
  margin:      10px 0 0;
  letter-spacing: .2px;
}

/* -----------------------------------------------------------------------------
   Group winner odds — 2×2 grid of team/odds boxes (single-group page)
   ----------------------------------------------------------------------------- */
.wc2026-winner-odds {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   12px;
  margin-bottom:         12px;
}

@media (max-width: 600px) {
  .wc2026-winner-odds {
    grid-template-columns: 1fr;
  }
}

.wc2026-winner-odds__item {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             8px;
  background:      rgba(90, 50, 160, .15);
  border:          1px solid rgba(140, 80, 220, .3);
  border-radius:   var(--wc-radius);
  padding:         14px 16px;
  text-decoration: none;
  transition:      background .2s, border-color .2s;
}

.wc2026-winner-odds__item:hover {
  background:  rgba(90, 50, 160, .28);
  border-color:rgba(140, 80, 220, .55);
}

.wc2026-winner-odds__team {
  font-size:   .9rem;
  color:       var(--wc-text);
  font-weight: 500;
}

.wc2026-winner-odds__line {
  font-size:   .95rem;
  font-weight: 700;
  color:       var(--wc-gold);
  white-space: nowrap;
}

/* -----------------------------------------------------------------------------
   Win probability row — 3 boxes on single-match page
   ----------------------------------------------------------------------------- */
.wc2026-probability-row {
  display:   flex;
  gap:       12px;
  margin:    0 0 4px;
  flex-wrap: wrap;
}

.wc2026-probability-row__box {
  flex:            1 1 0;
  min-width:       100px;
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  gap:             3px;
  background:      var(--wc-card);
  border:          1px solid var(--wc-border);
  border-radius:   var(--wc-radius);
  padding:         12px 12px;
  text-decoration: none;
  transition:      background .2s, border-color .2s;
}

.wc2026-probability-row__box:hover {
  background:  var(--wc-card-hover);
  border-color:var(--wc-gold);
}

.wc2026-probability-row__box--draw {
  background: var(--wc-surface);
}

.wc2026-probability-row__pct {
  font-size:   1.3rem;
  font-weight: 700;
  color:       #ffffff;
  line-height: 1;
}

.wc2026-probability-row__label {
  font-size:   .85rem;
  color:       var(--wc-text-muted);
  font-weight: 500;
  text-align:  center;
}

.wc2026-probability-row__line {
  font-size:   .9rem;
  font-weight: 600;
  color:       var(--wc-gold);
  margin-top:  4px;
}

/* -----------------------------------------------------------------------------
   Match odds table — 1/X/2 on single-team page
   ----------------------------------------------------------------------------- */

/* Card wrapper for the whole odds section — single-team */
.wc2026-single-team__section--odds {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius-lg);
  padding:       24px;
}

.wc2026-single-team__section--odds .wc2026-section__header {
  margin-bottom: 16px;
  padding-bottom: 0;
  border: none;
}

.wc2026-single-team__section--odds .wc2026-section__title {
  font-size:   1rem;
  font-weight: 600;
  color:       var(--wc-text-muted);
}

body.light-mode .wc2026-single-team__section--odds {
  background:   #f8f7ff;
  border-color: rgba(124,58,237,.15);
}

body.light-mode .wc2026-single-team__section--odds .wc2026-section__title {
  color: #555566;
}

.wc2026-match-odds-table {
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow:      hidden;
  margin-bottom: 12px;
}

.wc2026-match-odds-table__header {
  display:          grid;
  grid-template-columns: 1fr 64px 64px 64px;
  gap:              6px;
  background:       var(--wc-surface);
  border-bottom:    1px solid var(--wc-border);
  padding:          8px 12px;
}

.wc2026-match-odds-table__col-label {
  text-align:  center;
  font-size:   .72rem;
  font-weight: 700;
  color:       var(--wc-gold);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wc2026-match-odds-table__row {
  display:       grid;
  grid-template-columns: 1fr 64px 64px 64px;
  align-items:   center;
  gap:           6px;
  padding:       10px 12px;
  border-bottom: 1px solid var(--wc-border-light);
}

.wc2026-match-odds-table__row:last-child {
  border-bottom: none;
}

.wc2026-match-odds-table__teams {
  display:        flex;
  flex-direction: column;
  gap:            3px;
}

.wc2026-match-odds-table__team {
  display:     flex;
  align-items: center;
  gap:         6px;
  font-size:   .88rem;
  color:       var(--wc-text);
}

.wc2026-match-odds-table__team--away {
  color: var(--wc-text-muted);
}

.wc2026-match-odds-table__flag {
  width:         18px;
  height:        18px;
  border-radius: 3px;
  object-fit:    cover;
}

.wc2026-match-odds-table__date {
  font-size:  .75rem;
  color:      var(--wc-text-dim);
  margin-top: 2px;
}

.wc2026-match-odds-table__odds {
  display:         flex;
  align-items:     center;
  justify-content: center;
  text-align:      center;
  font-size:       .9rem;
  font-weight:     700;
  color:           var(--wc-text);
  text-decoration: none;
  padding:         8px 4px;
  border-radius:   6px;
  background:      rgba(255,255,255,0.06);
  border:          1px solid var(--wc-border-light);
  transition:      background .15s, color .15s;
  min-height:      38px;
}

.wc2026-match-odds-table__odds:hover {
  background: var(--wc-gold-dim);
  color:      var(--wc-gold);
  border-color: rgba(124,58,237,.4);
}

body.light-mode .wc2026-match-odds-table__odds {
  background:   #f0f0f8;
  border-color: #d0d0e0;
  color:        #222;
}

body.light-mode .wc2026-match-odds-table__odds:hover {
  background:   rgba(124,58,237,.12);
  color:        #7C3AED;
  border-color: rgba(124,58,237,.4);
}

/* -----------------------------------------------------------------------------
   Teams SEO excerpts — on single-group page
   ----------------------------------------------------------------------------- */
.wc2026-team-excerpts {
  display:        flex;
  flex-direction: column;
  gap:            24px;
}

.wc2026-team-excerpt {
  border-left:  3px solid var(--wc-border);
  padding-left: 16px;
}

.wc2026-team-excerpt__header {
  display:     flex;
  align-items: center;
  gap:         10px;
  margin-bottom: 8px;
}

.wc2026-team-excerpt__flag {
  width:         28px;
  height:        28px;
  border-radius: 50%;
  object-fit:    cover;
}

.wc2026-team-excerpt__name {
  font-size:   1rem;
  font-weight: 600;
  color:       #ffffff;
  margin:      0;
}

.wc2026-team-excerpt__text {
  font-size:   .9rem;
  color:       var(--wc-text-muted);
  line-height: 1.65;
  margin:      0 0 8px;
}

.wc2026-team-excerpt__link {
  font-size:   .85rem;
  color:       var(--wc-gold);
  font-weight: 500;
}

.wc2026-team-excerpt__link:hover {
  color: var(--wc-gold-light);
}

/* Light mode adjustments for new components */
body.light-mode .wc2026-winner-odds__item {
  background:  rgba(90, 50, 160, .08);
  border-color:rgba(90, 50, 160, .2);
}

body.light-mode .wc2026-probability-row__box {
  background:  #f8f7ff;
  border-color: rgba(124,58,237,.15);
}

body.light-mode .wc2026-probability-row__box--draw {
  background: #f0eeff;
}

body.light-mode .wc2026-probability-row__pct {
  color: #1a1a2e;
}

body.light-mode .wc2026-match-odds-table {
  border-color: #d8d8e8;
}

body.light-mode .wc2026-match-odds-table__header {
  background: #f5f5f5;
}

body.light-mode .wc2026-match-odds-table__row:hover {
  background: rgba(124,58,237,.04);
}

body.light-mode .wc2026-team-excerpt {
  border-left-color: #d8d8e8;
}

body.light-mode .wc2026-text-section__title {
  color: #1a1a2e;
}

body.light-mode .wc2026-prose {
  color: #444;
}

/* =============================================================================
   Teams archive — sidebar light-mode fixes, CTA block, match list
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Light mode: sidebar related-card and standings inside it
   ----------------------------------------------------------------------------- */
body.light-mode .wc2026-archive-teams__sidebar .wc2026-related-card {
  background:   #ffffff;
  border-color: #d8d8e8;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-related-card__title a {
  color: #1a1a2e;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-related-card__title a:hover {
  color: #7c3aed;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-standings th {
  color:            #888;
  border-bottom-color: #e0e0ec;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-standings td {
  color:        #1a1a2e;
  border-bottom-color: #f0f0f8;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-standings__team-name {
  color: #1a1a2e;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-standings__pts {
  color: #1a1a2e;
}

body.light-mode .wc2026-archive-teams__sidebar .wc2026-standings__crest-placeholder {
  background: #e8e8f0;
}

/* -----------------------------------------------------------------------------
   Sidebar CTA — hidden until sidebar becomes sticky
   ----------------------------------------------------------------------------- */
:is(
  .wc2026-single-team__sidebar,
  .wc2026-single-group__sidebar,
  .wc2026-single-match__sidebar,
  .wc2026-single-post__sidebar,
  .wc2026-archive-teams__sidebar,
  .wc2026-archive-matches__sidebar
) > .wc2026-cta--block {
  display: none;
}

:is(
  .wc2026-single-team__sidebar,
  .wc2026-single-group__sidebar,
  .wc2026-single-match__sidebar,
  .wc2026-single-post__sidebar,
  .wc2026-archive-teams__sidebar,
  .wc2026-archive-matches__sidebar
).is-sticky > .wc2026-cta--block {
  display: block;
}

/* Sidebars are fully hidden on mobile — no CTA override needed */

/* -----------------------------------------------------------------------------
   CTA block variant — full-width button for sidebar top
   ----------------------------------------------------------------------------- */
.wc2026-cta--block {
  display:          flex;
  justify-content:  center;
  text-align:       center;
  width:            100%;
  margin-bottom:    16px;
  box-sizing:      border-box;
}

/* Small CTA variant for match list rows */
.wc2026-cta--sm {
  padding:   8px 14px;
  font-size: .82rem;
}

/* -----------------------------------------------------------------------------
   Match list — horizontal rows with overlapping flags
   ----------------------------------------------------------------------------- */
.wc2026-teams-matches {
  padding-top: 0 !important;
}

.wc2026-match-list {
  display:        flex;
  flex-direction: column;
  gap:            0;
  border:         1px solid var(--wc-border);
  border-radius:  var(--wc-radius);
  overflow:       hidden;
}

.wc2026-match-list__row {
  display:        flex;
  align-items:    center;
  gap:            16px;
  padding:        14px 20px;
  border-bottom:  1px solid var(--wc-border-light);
  transition:     background .15s;
}

.wc2026-match-list__row:last-child {
  border-bottom: none;
}

.wc2026-match-list__row--hidden {
  display: none;
}

.wc2026-match-list__load-more {
  display:       block;
  width:         100%;
  margin-top:    12px;
  padding:       10px 20px;
  background:    transparent;
  border:        1px solid var(--wc-border);
  border-radius: 6px;
  color:         var(--wc-text-secondary);
  font-size:     0.875rem;
  cursor:        pointer;
  transition:    background 0.15s, color 0.15s;
}

.wc2026-match-list__load-more:hover {
  background: var(--wc-card);
  color:      var(--wc-text);
}

body.light-mode .wc2026-match-list__load-more {
  border-color: #d0d0e0;
  color:        #555;
}

body.light-mode .wc2026-match-list__load-more:hover {
  background: #f0f0f8;
  color:      #111;
}

.wc2026-match-list__row:hover {
  background: var(--wc-card-hover);
}

/* Overlapping flags */
.wc2026-match-list__flags {
  position:   relative;
  width:      52px;
  height:     36px;
  flex-shrink:0;
}

.wc2026-match-list__flag {
  width:         36px;
  height:        36px;
  border-radius: 50%;
  object-fit:    cover;
  position:      absolute;
  top:           0;
  border:        2px solid var(--wc-card);
}

.wc2026-match-list__flag--home {
  left: 0;
  z-index: 2;
}

.wc2026-match-list__flag--away {
  left: 16px;
  z-index: 1;
}

.wc2026-match-list__flag--placeholder {
  display:    block;
  background: var(--wc-surface);
}

/* Date column */
.wc2026-match-list__date {
  display:        flex;
  flex-direction: column;
  gap:            2px;
  flex-shrink:    0;
  min-width:      70px;
}

.wc2026-match-list__date-day {
  font-size:   .88rem;
  font-weight: 600;
  color:       var(--wc-text);
}

.wc2026-match-list__date-time {
  font-size: .78rem;
  color:     var(--wc-text-muted);
}

/* Match info */
.wc2026-match-list__info {
  flex:           1;
  display:        flex;
  flex-direction: column;
  gap:            2px;
  min-width:      0;
}

.wc2026-match-list__group {
  font-size:      .72rem;
  font-weight:    600;
  letter-spacing: .5px;
  text-transform: uppercase;
  color:          var(--wc-text-dim);
}

.wc2026-match-list__title {
  font-size:       .92rem;
  font-weight:     600;
  color:           var(--wc-text);
  text-decoration: none;
  white-space:     nowrap;
  overflow:        hidden;
  text-overflow:   ellipsis;
}

.wc2026-match-list__title:hover {
  color: var(--wc-gold);
}

.wc2026-match-list__venue {
  font-size:   .78rem;
  color:       var(--wc-text-dim);
  white-space: nowrap;
  overflow:    hidden;
  text-overflow: ellipsis;
}

/* Actions column */
.wc2026-match-list__actions {
  display:        flex;
  flex-direction: column;
  align-items:    flex-end;
  gap:            6px;
  flex-shrink:    0;
}

.wc2026-match-list__detail-link {
  font-size:       .82rem;
  color:           var(--wc-text-muted);
  text-decoration: none;
  white-space:     nowrap;
}

.wc2026-match-list__detail-link:hover {
  color: var(--wc-gold);
}

/* Responsive: collapse gracefully on small screens */
@media (max-width: 680px) {
  .wc2026-match-list__row {
    flex-wrap:  wrap;
    gap:        10px;
    padding:    12px 14px;
  }

  .wc2026-match-list__date {
    min-width: 56px;
  }

  .wc2026-match-list__actions {
    width:          100%;
    justify-content:flex-end;
    padding-top:    6px;
    border-top:     1px solid var(--wc-border-light);
  }
}

/* Light mode: match list */
body.light-mode .wc2026-match-list {
  background:   #ffffff;
  border-color: #d8d8e8;
}

body.light-mode .wc2026-match-list__row {
  border-bottom-color: #ebebf5;
}

body.light-mode .wc2026-match-list__row:hover {
  background: #fafafa;
}

body.light-mode .wc2026-match-list__flag {
  border-color: #ffffff;
}

body.light-mode .wc2026-match-list__flag--placeholder {
  background: #e8e8f0;
}

body.light-mode .wc2026-match-list__title {
  color: #1a1a2e;
}

body.light-mode .wc2026-match-list__actions {
  border-top-color: #ebebf5;
}

/* Match list — individual card variant (used on single-group)
   Each row becomes its own card instead of table rows inside one container */
.wc2026-match-list--cards {
  border:        none;
  border-radius: 0;
  overflow:      visible;
  gap:           8px;
}

.wc2026-match-list--cards .wc2026-match-list__row {
  background:    var(--wc-card);
  border:        1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  border-bottom: 1px solid var(--wc-border); /* override last-child reset */
}

.wc2026-match-list--cards .wc2026-match-list__row:last-child {
  border-bottom: 1px solid var(--wc-border);
}

.wc2026-match-list--cards .wc2026-match-list__row:hover {
  border-color: var(--wc-border-light);
}

body.light-mode .wc2026-match-list--cards {
  background: transparent;
  border:     none;
}

body.light-mode .wc2026-match-list--cards .wc2026-match-list__row {
  background:   #ffffff;
  border-color: #d8d8e8;
}

body.light-mode .wc2026-match-list--cards .wc2026-match-list__row:last-child {
  border-bottom: 1px solid #d8d8e8;
}


:is(.wc2026-archive-teams) .wc2026-standings th,
:is(.wc2026-archive-teams) .wc2026-standings td {
  padding: 7px 8px;
  font-size: .8rem;
}

:is(.wc2026-archive-teams) .wc2026-standings {
  width: 100%;
  border-collapse: collapse;
}


/* ============================================================
   Frontend — Related Posts section
   Reuses .wc2026-post-card + .wc2026-posts-grid — only the
   section wrapper and heading need custom rules here.
   ============================================================ */

.wc2026-related-posts {
  border-top: 1px solid var(--wc-border);
}

.wc2026-related-posts__inner {
  max-width: 1440px;
  margin:    0 auto;
  padding:   40px 20px 60px;
}

.wc2026-related-posts .wc2026-section__title {
  font-size:      1.25rem;
  font-weight:    800;
  color:          var(--wc-text);
  margin:         0 0 24px;
  letter-spacing: -.3px;
}

.wc2026-related-posts .wc2026-post-card__read-more {
  font-size:   .8rem;
  color:       var(--wc-text-muted);
  transition:  color .2s;
  margin-left: auto;
}

.wc2026-related-posts .wc2026-post-card__read-more:hover {
  color: var(--wc-gold);
}

body.light-mode .wc2026-related-posts {
  border-top-color: rgba(0,0,0,.08);
}

body.light-mode .wc2026-related-posts .wc2026-section__title {
  color: #1F1B2E;
}

body.light-mode .wc2026-related-posts .wc2026-post-card__read-more {
  color: #888;
}
