﻿/* WC2026 Live Scores - Frontend Styles */
:root {
    --wc2026-primary:   #00a844;
    --wc2026-accent:    #e53935;
    --wc2026-live:      #00c853;
    --wc2026-gold:      #f59e0b;
    --wc2026-silver:    #9ca3af;
    --wc2026-bronze:    #92400e;
    --wc2026-bg:        #ffffff;
    --wc2026-bg2:       #f4f6f9;
    --wc2026-border:    #e0e4ea;
    --wc2026-text:      #1a1a2e;
    --wc2026-text-mute: #6b7280;
    --wc2026-radius:    10px;
    --wc2026-shadow:    0 2px 12px rgba(0,0,0,.08);
    --wc2026-fs:        10px; /* base font unit — override via admin setting */
}


/* ── Base ── */
.wc2026-schedule-wrap,
.wc2026-standings-wrap,
.wc2026-scorers-wrap,
.wc2026-stats-card,
.wc2026-h2h-wrap,
.wc2026-bracket-wrap,
.wc2026-scoreboard,
.wc2026-predict-wrap {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--wc2026-text);
    line-height: 1.5;
}

/* ── Tables ── */
.wc2026-schedule-table,
.wc2026-standings-table,
.wc2026-scorers-table,
.wc2026-h2h-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    overflow: hidden;
    box-shadow: var(--wc2026-shadow);
    margin-bottom: 1.5rem;
}

.wc2026-schedule-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--wc2026-radius);
}

.wc2026-schedule-table {
    min-width: 580px;
}

.wc2026-schedule-table thead,
.wc2026-standings-table thead,
.wc2026-scorers-table thead,
.wc2026-h2h-table thead {
    background: linear-gradient(135deg, #00a844 0%, #007a32 100%) !important;
}
.wc2026-schedule-table thead th,
.wc2026-standings-table thead th,
.wc2026-scorers-table thead th,
.wc2026-h2h-table thead th {
    background: transparent !important;
    color: #fff !important;
}

.wc2026-schedule-table th,
.wc2026-standings-table th,
.wc2026-scorers-table th,
.wc2026-h2h-table th {
    padding: 14px 16px;
    text-align: left;
    font-size: calc(1.6 * var(--wc2026-fs));
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 600;
}

/* Schedule table column alignment (new 8-col layout) */
.wc2026-schedule-table th { text-align: left; }
.wc2026-schedule-table th:nth-child(3) { text-align: center; width: 5em; } /* 比分/VS */
.wc2026-schedule-table th:nth-child(6),
.wc2026-schedule-table td.wc2026-sched-group { text-align: center; }
.wc2026-schedule-table th:last-child,
.wc2026-schedule-table td.wc2026-cal { text-align: center; width: 3em; }

.wc2026-schedule-table td,
.wc2026-standings-table td,
.wc2026-scorers-table td,
.wc2026-h2h-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--wc2026-border);
    font-size: calc(1.6 * var(--wc2026-fs));
    vertical-align: middle;
}

.wc2026-schedule-table tbody tr:last-child td,
.wc2026-standings-table tbody tr:last-child td,
.wc2026-scorers-table tbody tr:last-child td,
.wc2026-h2h-table tbody tr:last-child td {
    border-bottom: none;
}

.wc2026-schedule-table tbody tr:nth-child(even) {
    background: rgba(0, 168, 68, .04);
}

.wc2026-schedule-table tbody tr:hover,
.wc2026-standings-table tbody tr:hover,
.wc2026-h2h-table tbody tr:hover {
    background: var(--wc2026-bg2);
    transition: background .15s;
}

/* ── Status badges ── */
.wc2026-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: calc(1.4 * var(--wc2026-fs));
    font-weight: 700;
    background: var(--wc2026-bg2);
    color: var(--wc2026-text-mute);
}
.wc2026-status.live {
    background: var(--wc2026-live);
    color: #fff;
}
.wc2026-status.ft {
    background: var(--wc2026-primary);
    color: #fff;
}
.wc2026-status.ns {
    background: transparent;
    color: var(--wc2026-text-mute);
    font-weight: 400;
}

/* ── Pulse dot ── */
.wc2026-pulse {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    animation: wc2026pulse 1.4s infinite;
}
@keyframes wc2026pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: .5; transform: scale(1.4); }
}

/* ── Score ── */
.wc2026-score, .wc2026-score-val {
    font-size: calc(2 * var(--wc2026-fs));
    font-weight: 700;
    text-align: center;
}
.wc2026-score-val.live {
    color: var(--wc2026-live);
}
.wc2026-vs {
    color: var(--wc2026-text-mute);
    font-size: calc(1.6 * var(--wc2026-fs));
}

/* ── Team cell ── */
.wc2026-team-cell,
.wc2026-player-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}
.wc2026-team.home,
.wc2026-team.away {
    vertical-align: middle;
}
.wc2026-flag-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 26px;
    background: var(--wc2026-primary);
    color: #fff;
    font-size: calc(1.1 * var(--wc2026-fs));
    font-weight: 700;
    border-radius: 3px;
}
.fi {
    font-size: calc(2 * var(--wc2026-fs));
    border-radius: 2px;
}

/* ── Live row ── */
.wc2026-row.is-live {
    background: rgba(34,197,94,.06);
}

/* ── Scoreboard ── */
.wc2026-scoreboard {
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    padding: 1.5rem;
    max-width: 520px;
    margin: 0 auto 1.5rem;
    border-top: 4px solid var(--wc2026-primary);
}
.wc2026-scoreboard.is-live {
    border-top-color: var(--wc2026-live);
}
.wc2026-sb-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    font-size: calc(1.4 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
}
.wc2026-sb-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.wc2026-sb-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
    text-align: center;
}
.wc2026-sb-team .fi { font-size: calc(2.5 * var(--wc2026-fs)); }
.wc2026-sb-score {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: calc(3.5 * var(--wc2026-fs));
    font-weight: 900;
    color: var(--wc2026-text);
}
.wc2026-sb-venue {
    text-align: center;
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-top: .75rem;
}
.wc2026-sb-events {
    margin-top: 1rem;
    border-top: 1px solid var(--wc2026-border);
    padding-top: .75rem;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.wc2026-event {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: calc(1.4 * var(--wc2026-fs));
}
.wc2026-event.away {
    flex-direction: row-reverse;
}

/* ── Standings ── */
.wc2026-group-title {
    font-size: calc(1.8 * var(--wc2026-fs));
    font-weight: 700;
    color: var(--wc2026-primary);
    margin: 1.2rem 0 .4rem;
}
.wc2026-qualify {
    background: rgba(0,168,68,.05);
}
.wc2026-qualify-badge {
    color: var(--wc2026-live);
    font-weight: 700;
    margin-left: 4px;
}
.wc2026-pts { color: var(--wc2026-primary); }

/* ── Scorers ── */
.wc2026-rank {
    display: inline-block;
    font-size: calc(1.8 * var(--wc2026-fs));
    min-width: 28px;
    text-align: center;
}
.wc2026-goals-val strong {
    font-size: calc(2 * var(--wc2026-fs));
    color: var(--wc2026-primary);
}

/* ── Stats card ── */
.wc2026-stats-card {
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.wc2026-stats-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.2rem;
    font-weight: 700;
}
.wc2026-stats-team {
    display: flex;
    align-items: center;
    gap: 8px;
}
.wc2026-stats-team.right {
    flex-direction: row-reverse;
}
.wc2026-stat-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
}
.wc2026-stat-val-a,
.wc2026-stat-val-b {
    min-width: 42px;
    font-weight: 700;
    font-size: calc(1.6 * var(--wc2026-fs));
}
.wc2026-stat-val-b { text-align: right; }
.wc2026-stat-bar-wrap {
    flex: 1;
    text-align: center;
}
.wc2026-stat-label {
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-bottom: 3px;
}
.wc2026-stat-bar {
    display: flex;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--wc2026-bg2);
}
.wc2026-bar-a {
    background: var(--wc2026-primary);
    transition: width .4s ease;
}
.wc2026-bar-b {
    background: var(--wc2026-accent);
    transition: width .4s ease;
}

/* ── H2H ── */
.wc2026-h2h-wrap {
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Team selectors */
.wc2026-h2h-selectors {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.2rem;
}
.wc2026-h2h-sel-side { flex: 1; min-width: 0; }
.wc2026-h2h-select {
    width: 100%;
    padding: .55em .75em;
    border: 1px solid var(--wc2026-border);
    border-radius: var(--wc2026-radius);
    font-size: calc(1.5 * var(--wc2026-fs));
    background: var(--wc2026-bg2);
    color: var(--wc2026-text);
    cursor: pointer;
    appearance: auto;
}
.wc2026-h2h-select:focus { outline: 2px solid var(--wc2026-primary); outline-offset: 1px; }
.wc2026-h2h-vs-badge {
    flex-shrink: 0;
    font-weight: 800;
    font-size: calc(1.6 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
}

/* Banner */
.wc2026-h2h-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, var(--wc2026-primary), var(--wc2026-accent));
    color: #fff;
    border-radius: var(--wc2026-radius);
    padding: 1.5rem 1rem;
    margin-bottom: 1.4rem;
    transition: opacity .2s;
}
.wc2026-h2h-banner.is-loading { opacity: .5; pointer-events: none; }
.wc2026-h2h-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
}
.wc2026-h2h-side .fi { font-size: calc(4 * var(--wc2026-fs)); }
.wc2026-h2h-name { font-weight: 700; font-size: calc(1.8 * var(--wc2026-fs)); text-align: center; }
.wc2026-h2h-vs {
    font-size: calc(2.5 * var(--wc2026-fs));
    font-weight: 900;
    opacity: .7;
    flex-shrink: 0;
}

/* Win/draw/loss record bar */
.wc2026-h2h-record {
    margin-bottom: 1.4rem;
}
.wc2026-h2h-record-labels {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: calc(1.4 * var(--wc2026-fs));
    margin-bottom: .4rem;
    gap: .5rem;
}
.wc2026-h2h-rl-a  { color: var(--wc2026-primary); font-weight: 700; text-align: left; }
.wc2026-h2h-rl-draw { color: var(--wc2026-text-mute); text-align: center; }
.wc2026-h2h-rl-b  { color: var(--wc2026-accent);  font-weight: 700; text-align: right; }
.wc2026-h2h-rl-name { font-weight: 400; font-size: calc(1.2 * var(--wc2026-fs)); color: var(--wc2026-text-mute); margin: 0 .2em; }

.wc2026-h2h-record-bar {
    display: flex;
    height: 1.4rem;
    border-radius: 4px;
    overflow: hidden;
    background: var(--wc2026-border);
    margin-bottom: .4rem;
}
.wc2026-h2h-bar-win-a {
    background: var(--wc2026-primary);
    transition: width .4s ease;
    min-width: 0;
}
.wc2026-h2h-bar-draw {
    background: var(--wc2026-text-mute);
    transition: width .4s ease;
    min-width: 0;
}
.wc2026-h2h-bar-win-b {
    background: var(--wc2026-accent);
    transition: width .4s ease;
    min-width: 0;
}
.wc2026-h2h-total {
    text-align: center;
    font-size: calc(1.2 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin: 0;
}

/* History section */
.wc2026-h2h-history-title {
    font-size: calc(1.6 * var(--wc2026-fs));
    font-weight: 700;
    color: var(--wc2026-primary);
    margin: 0 0 .8rem;
    padding-bottom: .4rem;
    border-bottom: 2px solid var(--wc2026-border);
}
.wc2026-h2h-match-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.wc2026-h2h-match {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem .75rem;
    padding: .7rem .9rem;
    background: var(--wc2026-bg2);
    border-radius: calc(var(--wc2026-radius) - 2px);
    border-left: 3px solid transparent;
    font-size: calc(1.4 * var(--wc2026-fs));
}
.wc2026-h2h-result-row-A { border-left-color: var(--wc2026-primary); }
.wc2026-h2h-result-row-B { border-left-color: var(--wc2026-accent); }
.wc2026-h2h-result-row-draw { border-left-color: var(--wc2026-text-mute); }

.wc2026-h2h-match-date {
    color: var(--wc2026-text-mute);
    font-size: calc(1.25 * var(--wc2026-fs));
    white-space: nowrap;
    min-width: 6em;
}
.wc2026-h2h-match-comp {
    color: var(--wc2026-text-mute);
    font-size: calc(1.25 * var(--wc2026-fs));
    flex: 1;
    min-width: 6em;
}
.wc2026-h2h-match-score {
    font-size: calc(1.4 * var(--wc2026-fs));
    white-space: nowrap;
}
.wc2026-h2h-match-score strong {
    font-family: monospace;
    letter-spacing: .1em;
    font-size: calc(1.5 * var(--wc2026-fs));
}
.wc2026-h2h-result-badge {
    display: inline-block;
    padding: .2em .55em;
    border-radius: 4px;
    font-size: calc(1.2 * var(--wc2026-fs));
    font-weight: 700;
    white-space: nowrap;
}
.wc2026-h2h-rb-A    { background: var(--wc2026-primary); color: #fff; }
.wc2026-h2h-rb-B    { background: var(--wc2026-accent);  color: #fff; }
.wc2026-h2h-rb-draw { background: var(--wc2026-border);  color: var(--wc2026-text); }

/* Loading spinner overlay */
.wc2026-h2h-loading {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--wc2026-text-mute);
    font-size: calc(1.5 * var(--wc2026-fs));
}

/* Legacy classes (kept for backward compat) */
.wc2026-win-a { background: rgba(0,61,165,.07); }
.wc2026-win-b { background: rgba(200,16,46,.07); }
.wc2026-result { font-weight: 700; }
.wc2026-result.draw { color: var(--wc2026-text-mute); }
.wc2026-result.win  { color: var(--wc2026-live); }

/* ── Bracket ── */
.wc2026-bracket {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 1rem;
}
/* ── Bracket — dark theme ── */
.wc2026-bracket-wrap {
    background: #0b1a3e;
    border-radius: var(--wc2026-radius);
    padding: 1.5rem 1rem 1.2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: var(--wc2026-shadow);
    margin-bottom: 1.5rem;
}
.wc2026-bk-container {
    display: flex;
    align-items: stretch;
    gap: .5rem;
    min-width: 700px;
}

/* Column */
.wc2026-bk-col { display: flex; flex-direction: column; flex: 1; }
.wc2026-bk-col-label {
    text-align: center;
    font-size: calc(1.3 * var(--wc2026-fs));
    font-weight: 700;
    color: #8eaaff;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .6rem;
}
.wc2026-bk-matches {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    flex: 1;
    gap: .5rem;
}

/* Match card */
.wc2026-bk-match {
    background: #1a2a52;
    border: 1px solid #2a3a6e;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}
.wc2026-bk-date {
    display: block;
    text-align: center;
    font-size: calc(1.1 * var(--wc2026-fs));
    color: #8eaaff;
    padding: .25rem 0 .1rem;
    background: #0f1e45;
}
.wc2026-bk-team {
    padding: .45rem .65rem;
    font-size: calc(1.35 * var(--wc2026-fs));
    color: #c8d5f5;
    border-top: 1px solid #2a3a6e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.wc2026-bk-team:first-of-type { border-top: none; }

/* Center "冠軍" column */
.wc2026-bk-col-final { flex: 0 0 auto; min-width: 100px; }
.wc2026-bk-col-label-final {
    color: #ffd740 !important;
    font-size: calc(1.5 * var(--wc2026-fs)) !important;
    text-shadow: 0 0 10px rgba(255,215,64,.5);
}
.wc2026-bk-match-final {
    border-color: #ffd740 !important;
    box-shadow: 0 0 0 1px #ffd740, 0 0 12px rgba(255,215,64,.25);
}
.wc2026-bk-finalist {
    color: #fff9e0 !important;
    font-weight: 700;
}
.wc2026-bk-third-label {
    text-align: center;
    font-size: calc(1.1 * var(--wc2026-fs));
    color: #4a6b4a;
    margin-top: .5rem;
}

/* ── Schedule phase tabs ── */
.wc2026-sched-tabs {
    display: flex;
    gap: .5rem;
    margin-bottom: 1rem;
}
.wc2026-sched-tab {
    padding: .45em 1.1em;
    border: 1px solid var(--wc2026-border);
    border-radius: 20px;
    background: var(--wc2026-bg2);
    color: var(--wc2026-text-mute);
    font-size: calc(1.4 * var(--wc2026-fs));
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
}
.wc2026-sched-tab:hover { border-color: var(--wc2026-primary); color: var(--wc2026-primary); }
.wc2026-sched-tab.active {
    background: var(--wc2026-primary);
    border-color: var(--wc2026-primary);
    color: #fff;
}

/* Group badge */
.wc2026-group-badge {
    display: inline-block;
    width: 2em; height: 2em; line-height: 2em;
    border-radius: 50%;
    background: var(--wc2026-primary);
    color: #fff;
    font-weight: 700;
    font-size: calc(1.3 * var(--wc2026-fs));
    text-align: center;
}

/* More button */
.wc2026-sched-more {
    text-align: center;
    margin-top: 1rem;
}
.wc2026-btn-more {
    display: inline-block;
    padding: .65em 2.2em;
    background: var(--wc2026-primary);
    color: #fff;
    border-radius: 24px;
    font-size: calc(1.5 * var(--wc2026-fs));
    font-weight: 700;
    text-decoration: none;
    transition: background .15s;
}
.wc2026-btn-more:hover { background: #00a844; color: #fff; }

/* ── Today compact (no status / calendar cols) ── */
.wc2026-schedule-compact { min-width: 360px; }
.wc2026-schedule-compact .wc2026-sched-time { min-width: 5em; }
.wc2026-schedule-compact .wc2026-sched-venue { max-width: 14em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Schedule column sizing */
.wc2026-sched-time   { white-space: nowrap; min-width: 6em; }
.wc2026-sched-score  { text-align: center; min-width: 4em; }
.wc2026-sched-team   { white-space: nowrap; }
.wc2026-sched-venue  { font-size: calc(1.35 * var(--wc2026-fs)); color: var(--wc2026-text-mute); }
.wc2026-sched-cd     { font-size: calc(1.15 * var(--wc2026-fs)); color: var(--wc2026-text-mute); }

/* ── Predict ── */
.wc2026-predict-wrap {
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    padding: 1.2rem;
    margin-bottom: 1.5rem;
}
.wc2026-predict-btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: .8rem 0;
}
.wc2026-vote-btn {
    flex: 1;
    padding: 10px;
    border: 2px solid var(--wc2026-primary);
    background: transparent;
    color: var(--wc2026-primary);
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s;
    min-width: 80px;
}
.wc2026-vote-btn:hover {
    background: var(--wc2026-primary);
    color: #fff;
}
.wc2026-predict-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.wc2026-predict-label { min-width: 70px; font-size: calc(1.4 * var(--wc2026-fs)); }
.wc2026-predict-bar {
    flex: 1;
    height: 10px;
    background: var(--wc2026-bg2);
    border-radius: 5px;
    overflow: hidden;
}
.wc2026-predict-fill {
    height: 100%;
    border-radius: 5px;
    transition: width .4s ease;
}
.wc2026-predict-fill.home { background: var(--wc2026-primary); }
.wc2026-predict-fill.draw { background: var(--wc2026-silver); }
.wc2026-predict-fill.away { background: var(--wc2026-accent); }
.wc2026-predict-pct { min-width: 32px; font-size: calc(1.4 * var(--wc2026-fs)); font-weight: 700; text-align: right; }
.wc2026-predict-total { font-size: calc(1.3 * var(--wc2026-fs)); color: var(--wc2026-text-mute); margin-top: 6px; }
.wc2026-predict-bars.hidden { display: none; }

/* ── Widget ── */
.wc2026-widget-list { display: flex; flex-direction: column; gap: 8px; }
.wc2026-widget-match {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    background: var(--wc2026-bg2);
    border-radius: 6px;
    font-size: calc(1.5 * var(--wc2026-fs));
}
.wc2026-widget-match.is-live { background: rgba(34,197,94,.08); }
.wc2026-widget-teams {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
}
.wc2026-widget-score {
    font-weight: 700;
    min-width: 40px;
    text-align: center;
}
.wc2026-live-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--wc2026-live);
    font-size: calc(1.3 * var(--wc2026-fs));
    font-weight: 700;
}

/* ── Universal emoji img fix ──────────────────────────────────────────────
   WordPress replaces emoji text with <img class="emoji">.
   Themes often set img { max-width:100%; height:auto } which makes them huge.
   One rule covers every element inside any plugin component. ── */
[class*="wc2026-"] img.emoji {
    width: 1em;
    height: 1em;
    vertical-align: -.1em;
    margin: 0;
    max-width: none !important;  /* override theme max-width:100% */
    display: inline;
}
/* Special sizes for specific contexts */
.wc2026-countdown img.emoji { width: .85em; height: .85em; }
.wc2026-btn-cal   img.emoji { width: 1.1em; height: 1.1em; vertical-align: -.15em; }
.wc2026-rank      img.emoji { width: 1.3em; height: 1.3em; vertical-align: -.2em; }

/* ── Countdown ── */
.wc2026-countdown {
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-top: 3px;
}

/* ── Calendar dropdown ── */
.wc2026-cal-dropdown { position: relative; display: inline-block; }
.wc2026-btn-cal {
    background: none;
    border: none;
    cursor: pointer;
    font-size: calc(1.8 * var(--wc2026-fs));
    padding: 2px 4px;
    line-height: 1;
}
.wc2026-cal-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--wc2026-bg);
    border: 1px solid var(--wc2026-border);
    border-radius: 6px;
    box-shadow: var(--wc2026-shadow);
    min-width: 150px;
    z-index: 99;
    display: flex;
    flex-direction: column;
}
.wc2026-cal-menu a {
    padding: 8px 12px;
    font-size: calc(1.5 * var(--wc2026-fs));
    text-decoration: none;
    color: var(--wc2026-text);
    border-bottom: 1px solid var(--wc2026-border);
}
.wc2026-cal-menu a:last-child { border-bottom: none; }
.wc2026-cal-menu a:hover { background: var(--wc2026-bg2); }
[hidden] { display: none !important; }

/* ── Powered by ── */
.wc2026-powered-by {
    font-size: calc(1.2 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    text-align: right;
    margin-top: .5rem;
}
.wc2026-powered-by a {
    color: var(--wc2026-text-mute);
    text-decoration: none;
}
.wc2026-powered-by a:hover {
    text-decoration: underline;
}

/* ── Live Scores (wc2026_livescores) ── */
.wc2026-ls-wrap {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--wc2026-text);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

/* Date tabs */
.wc2026-ls-dates-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: .8rem;
    padding-bottom: 4px;
}
.wc2026-ls-dates {
    display: flex;
    gap: 6px;
    white-space: nowrap;
    min-width: min-content;
}
.wc2026-ls-date-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 7px 14px;
    border: 2px solid var(--wc2026-border);
    border-radius: 8px;
    background: var(--wc2026-bg);
    cursor: pointer;
    font-size: calc(1.5 * var(--wc2026-fs));
    color: var(--wc2026-text);
    transition: border-color .15s, background .15s, color .15s;
    white-space: nowrap;
    line-height: 1.3;
}
.wc2026-ls-date-btn.active {
    border-color: var(--wc2026-primary);
    background: var(--wc2026-primary);
    color: #fff;
}
.wc2026-ls-date-btn:hover:not(.active) {
    border-color: var(--wc2026-primary);
    color: var(--wc2026-primary);
}
.wc2026-ls-date-count {
    font-size: calc(1.2 * var(--wc2026-fs));
    opacity: .7;
}

/* Round filter pills */
.wc2026-ls-rounds {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: .8rem;
}
.wc2026-ls-round-btn {
    padding: 4px 12px;
    border: 1px solid var(--wc2026-border);
    border-radius: 20px;
    background: var(--wc2026-bg);
    cursor: pointer;
    font-size: calc(1.4 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    transition: border-color .15s, background .15s, color .15s;
}
.wc2026-ls-round-btn.active {
    border-color: var(--wc2026-primary);
    background: rgba(0,168,68,.08);
    color: var(--wc2026-primary);
    font-weight: 700;
}
.wc2026-ls-round-btn:hover:not(.active) {
    border-color: var(--wc2026-primary);
    color: var(--wc2026-primary);
}

/* Match list */
.wc2026-ls-matches {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.wc2026-ls-hidden { display: none !important; }

/* Match card */
.wc2026-ls-match {
    background: var(--wc2026-bg);
    border: 1px solid var(--wc2026-border);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    overflow: hidden;
    transition: border-color .2s;
}
.wc2026-ls-match.is-live {
    border-color: var(--wc2026-live);
}
.wc2026-ls-round-label {
    font-size: calc(1.2 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    background: var(--wc2026-bg2);
    padding: 3px 12px;
    border-bottom: 1px solid var(--wc2026-border);
}
.wc2026-ls-match-inner {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    gap: 8px;
}

/* Teams */
.wc2026-ls-team {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
}
.wc2026-ls-team.away {
    flex-direction: row-reverse;
    text-align: right;
}
.wc2026-ls-team-name {
    font-size: calc(1.5 * var(--wc2026-fs));
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Score / status center */
.wc2026-ls-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 96px;
    gap: 2px;
    flex-shrink: 0;
}
.wc2026-ls-goals {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: calc(2.2 * var(--wc2026-fs));
    font-weight: 700;
}
.wc2026-ls-dash {
    color: var(--wc2026-text-mute);
    font-weight: 300;
}
.wc2026-ls-kickoff {
    font-size: calc(1.5 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    text-align: center;
}
.wc2026-ls-vs {
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    letter-spacing: .05em;
}
.wc2026-ls-no-match {
    text-align: center;
    color: var(--wc2026-text-mute);
    padding: 1.5rem;
}

/* Chevron toggle */
.wc2026-ls-match-inner {
    cursor: pointer;
    user-select: none;
}
.wc2026-ls-chevron {
    font-size: calc(1.6 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    transition: transform .2s;
    flex-shrink: 0;
    line-height: 1;
    margin-left: 4px;
}
.wc2026-ls-match-inner.expanded .wc2026-ls-chevron {
    transform: rotate(180deg);
}

/* Expand panel */
.wc2026-ls-expand {
    border-top: 1px solid var(--wc2026-border);
    padding: 8px 14px;
    background: var(--wc2026-bg2);
}
.wc2026-ls-expand-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    align-items: center;
}
.wc2026-ls-expand-item {
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    display: flex;
    align-items: center;
    gap: 4px;
}
.wc2026-ls-expand-ft {
    font-weight: 700;
    color: var(--wc2026-text);
}

/* Desktop 2-column grid */
@media (min-width: 640px) {
    .wc2026-ls-matches {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .wc2026-ls-no-match {
        grid-column: 1 / -1;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .wc2026-ls-team-name { font-size: calc(1.3 * var(--wc2026-fs)); }
    .wc2026-ls-match-inner { padding: 8px; gap: 5px; }
    .wc2026-ls-goals { font-size: calc(1.9 * var(--wc2026-fs)); }
    .wc2026-ls-score { min-width: 80px; }
}

/* ── Coming Soon card ── */
.wc2026-coming-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 3rem 1.5rem;
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    text-align: center;
    margin-bottom: 1rem;
}
.wc2026-coming-soon-icon {
    font-size: 3rem;
    line-height: 1;
    display: block;
}
.wc2026-coming-soon-text {
    font-size: calc(1.7 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin: 0;
}

/* ── Misc ── */
.wc2026-no-matches,
.wc2026-error {
    color: var(--wc2026-text-mute);
    font-style: italic;
    padding: 1rem;
    text-align: center;
}
.wc2026-test-notice {
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-accent);
    margin-top: .5rem;
    padding: 6px 10px;
    background: rgba(200,16,46,.06);
    border-radius: 4px;
}

/* ── Goal animation ── */
@keyframes wc2026goal {
    0%   { color: var(--wc2026-gold); transform: scale(1.4); }
    100% { color: inherit; transform: scale(1); }
}
.wc2026-score-updated {
    animation: wc2026goal .6s ease;
}

/* ── RWD ── */
@media (max-width: 600px) {
    .wc2026-schedule-table th:nth-child(5),
    .wc2026-schedule-table td:nth-child(5) { display: none; }
    .wc2026-schedule-table th,
    .wc2026-schedule-table td { font-size: calc(1.2 * var(--wc2026-fs)); }
    .wc2026-sb-score { font-size: calc(2.4 * var(--wc2026-fs)); }
    .wc2026-sb-team .fi { font-size: calc(1.8 * var(--wc2026-fs)); }
    .wc2026-bracket { gap: .5rem; }
    .wc2026-bracket-round { min-width: 110px; }
    .wc2026-h2h-banner { padding: 1rem .5rem; }
    .wc2026-h2h-side .fi { font-size: calc(2.5 * var(--wc2026-fs)); }
    .wc2026-h2h-match { flex-direction: column; align-items: flex-start; gap: .25rem; }
    .wc2026-h2h-match-date, .wc2026-h2h-match-comp { min-width: unset; }
    .wc2026-h2h-record-labels { font-size: calc(1.2 * var(--wc2026-fs)); }
    .wc2026-h2h-rl-name { display: none; }
}

/* ── Teams Grid [wc2026_teams] ── */
.wc2026-teams-wrap {
    margin-bottom: 1.5rem;
}
.wc2026-teams-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
}
@media (max-width: 640px) {
    .wc2026-teams-grid { grid-template-columns: 1fr; }
}

.wc2026-teams-group-card {
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    overflow: hidden;
    border: 1px solid var(--wc2026-border);
}

.wc2026-teams-group-header {
    display: flex;
    align-items: center;
    gap: .6rem;
    background: linear-gradient(135deg, #00a844 0%, #007a32 100%);
    padding: .65rem 1rem;
}
.wc2026-teams-group-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2em;
    height: 2.2em;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    color: #fff;
    font-size: calc(1.8 * var(--wc2026-fs));
    font-weight: 900;
    flex-shrink: 0;
}
.wc2026-teams-group-label {
    color: #fff;
    font-size: calc(1.5 * var(--wc2026-fs));
    font-weight: 700;
    letter-spacing: .04em;
}

.wc2026-teams-table {
    width: 100%;
    border-collapse: collapse;
    font-size: calc(1.4 * var(--wc2026-fs));
}
.wc2026-teams-table thead tr {
    background: var(--wc2026-bg2);
}
.wc2026-teams-table thead th {
    padding: 6px 8px;
    text-align: center;
    font-size: calc(1.2 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    font-weight: 600;
    border-bottom: 1px solid var(--wc2026-border);
}
.wc2026-teams-th-team { text-align: left !important; }
.wc2026-teams-th-pts  { color: var(--wc2026-primary) !important; }
.wc2026-teams-th-rank { width: 1.8em; }

.wc2026-teams-table tbody tr {
    border-bottom: 1px solid var(--wc2026-border);
    transition: background .12s;
}
.wc2026-teams-table tbody tr:last-child { border-bottom: none; }
.wc2026-teams-table tbody tr:hover { background: var(--wc2026-bg2); }

.wc2026-tg-qualify {
    background: rgba(0,168,68,.05);
}
.wc2026-tg-qualify:hover { background: rgba(0,168,68,.1) !important; }

.wc2026-teams-table td {
    padding: 8px 8px;
    text-align: center;
    vertical-align: middle;
    color: var(--wc2026-text);
}
.wc2026-tg-rank {
    color: var(--wc2026-text-mute);
    font-size: calc(1.3 * var(--wc2026-fs));
    width: 1.8em;
}
.wc2026-tg-team-cell {
    text-align: left !important;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 8px !important;
    min-width: 0;
}
.wc2026-tg-name {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.wc2026-tg-conf {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 3px;
    color: #fff;
    font-size: calc(1.05 * var(--wc2026-fs));
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}
.wc2026-tg-pts {
    font-weight: 700;
    color: var(--wc2026-primary);
    font-size: calc(1.5 * var(--wc2026-fs));
}

.wc2026-teams-note {
    text-align: center;
    font-size: calc(1.3 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-top: 1rem;
}
/* ═══════════════════════════════════════════════════════════════════
   Teams Grid – logo + link additions (v1.5.0)
   ═══════════════════════════════════════════════════════════════════ */
.wc2026-tg-logo {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}
.wc2026-tg-name-link {
    color: var(--wc2026-text);
    text-decoration: none;
    font-weight: 600;
}
.wc2026-tg-name-link:hover {
    color: var(--wc2026-primary);
    text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════════════
   Team Profile – [wc2026_team_profile] (v1.5.2)
   ═══════════════════════════════════════════════════════════════════ */
.wc2026-tp-back { margin-bottom: 12px; }
.wc2026-tp-back-link {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: .88rem; color: #6b7280; text-decoration: none;
    padding: 4px 10px; border: 1px solid #e5e7eb;
    border-radius: 6px; transition: background .15s, color .15s;
}
.wc2026-tp-back-link:hover { background: #f3f4f6; color: #111827; text-decoration: none; }
.wc2026-tp-wrap {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--wc2026-text);
    line-height: 1.5;
    max-width: 900px;
    margin: 0 auto;
}

/* Header */
.wc2026-tp-header {
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, var(--wc2026-primary) 0%, #007a32 100%);
    border-radius: var(--wc2026-radius);
    padding: 20px 24px;
    margin-bottom: 20px;
    box-shadow: var(--wc2026-shadow);
}
.wc2026-tp-logo {
    width: 80px;
    height: 80px;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.3));
    flex-shrink: 0;
}
.wc2026-tp-header-info {
    flex: 1;
    min-width: 0;
}
.wc2026-tp-name {
    margin: 0 0 4px;
    font-size: calc(2.4 * var(--wc2026-fs));
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}
.wc2026-tp-name-en {
    margin: 0 0 8px;
    font-size: calc(1.3 * var(--wc2026-fs));
    color: rgba(255,255,255,.75);
}
.wc2026-tp-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.wc2026-tp-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: calc(1.1 * var(--wc2026-fs));
    font-weight: 700;
    color: #fff;
    letter-spacing: .03em;
}
.wc2026-tp-badge-group {
    background: rgba(255,255,255,.2);
    border: 1px solid rgba(255,255,255,.3);
}
.wc2026-tp-badge-code {
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.25);
    font-family: monospace;
    letter-spacing: .08em;
}

/* Section */
.wc2026-tp-section {
    background: var(--wc2026-bg);
    border-radius: var(--wc2026-radius);
    box-shadow: var(--wc2026-shadow);
    padding: 20px 20px 16px;
    margin-bottom: 16px;
}
.wc2026-tp-section-title {
    margin: 0 0 16px;
    font-size: calc(1.6 * var(--wc2026-fs));
    font-weight: 700;
    color: var(--wc2026-text);
    border-left: 4px solid var(--wc2026-primary);
    padding-left: 10px;
}

/* Stats Grid */
.wc2026-tp-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}
.wc2026-tp-stat-card {
    background: var(--wc2026-bg2);
    border-radius: 8px;
    padding: 12px 8px;
    text-align: center;
}
.wc2026-tp-stat-val {
    font-size: calc(2.4 * var(--wc2026-fs));
    font-weight: 800;
    line-height: 1;
    color: var(--wc2026-text);
}
.wc2026-tp-stat-win  { color: #00a844; }
.wc2026-tp-stat-loss { color: #e53935; }
.wc2026-tp-stat-pts  { color: var(--wc2026-primary); }
.wc2026-tp-stat-lbl {
    font-size: calc(1.1 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-top: 4px;
}

/* Win rate bar */
.wc2026-tp-winrate {
    margin-top: 12px;
}
.wc2026-tp-winrate-bar {
    display: flex;
    height: 28px;
    border-radius: 6px;
    overflow: hidden;
    gap: 2px;
    margin-bottom: 6px;
}
.wc2026-tp-wr-win, .wc2026-tp-wr-draw, .wc2026-tp-wr-loss {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: calc(1.1 * var(--wc2026-fs));
    font-weight: 700;
    color: #fff;
    min-width: 0;
    transition: flex .3s;
    border-radius: 4px;
}
.wc2026-tp-wr-win  { background: #00a844; }
.wc2026-tp-wr-draw { background: #9ca3af; }
.wc2026-tp-wr-loss { background: #e53935; }
.wc2026-tp-winrate-pct {
    font-size: calc(1.2 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    text-align: right;
}

/* Squad */
.wc2026-tp-pos-group {
    margin-bottom: 16px;
}
.wc2026-tp-pos-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: calc(1.3 * var(--wc2026-fs));
    font-weight: 700;
    color: var(--wc2026-text);
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--pos-color, var(--wc2026-border));
}
.wc2026-tp-pos-abbr {
    display: inline-block;
    background: var(--pos-color, #6b7280);
    color: #fff;
    font-size: calc(1.05 * var(--wc2026-fs));
    font-weight: 800;
    padding: 1px 6px;
    border-radius: 4px;
    letter-spacing: .04em;
}
.wc2026-tp-pos-count {
    margin-left: auto;
    font-size: calc(1.1 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    font-weight: 400;
}
.wc2026-tp-squad-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}
.wc2026-tp-player-card {
    background: var(--wc2026-bg2);
    border-radius: 6px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.wc2026-tp-player-num {
    font-size: calc(1.5 * var(--wc2026-fs));
    font-weight: 800;
    width: 2em;
    text-align: center;
    flex-shrink: 0;
    line-height: 1;
}
.wc2026-tp-player-name {
    font-size: calc(1.2 * var(--wc2026-fs));
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}
.wc2026-tp-player-age {
    font-size: calc(1.05 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    flex-shrink: 0;
}

/* ── Injuries ── */
.wc2026-tp-no-injuries {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--wc2026-radius);
    font-size: calc(1.1 * var(--wc2026-fs));
    color: #166534;
}
.wc2026-tp-injuries-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.wc2026-tp-injury-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: calc(1.1 * var(--wc2026-fs));
    border: 1px solid transparent;
}
.wc2026-tp-injury-out   { background: #fff1f2; border-color: #fecdd3; }
.wc2026-tp-injury-doubt { background: #fffbeb; border-color: #fde68a; }
.wc2026-tp-injury-icon  { font-size: 1rem; flex-shrink: 0; }
.wc2026-tp-injury-name  { font-weight: 600; flex: 1; }
.wc2026-tp-injury-type  { font-size: calc(1.0 * var(--wc2026-fs)); color: var(--wc2026-text-mute); }
.wc2026-tp-injury-reason {
    font-size: calc(0.95 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    font-style: italic;
}

/* ── Next Match / Odds / Prediction ── */
.wc2026-tp-nextmatch-section { }
.wc2026-tp-nextmatch-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    padding: 12px 14px;
    background: var(--wc2026-bg2);
    border-radius: var(--wc2026-radius);
    border: 1px solid var(--wc2026-border);
}
.wc2026-tp-nm-date  { font-size: calc(1.05 * var(--wc2026-fs)); color: var(--wc2026-text-mute); }
.wc2026-tp-nm-round { font-size: calc(1.05 * var(--wc2026-fs)); color: var(--wc2026-text-mute); }
.wc2026-tp-nm-teams {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    justify-content: center;
    font-size: calc(1.3 * var(--wc2026-fs));
    font-weight: 600;
}
.wc2026-tp-nm-this { color: var(--wc2026-primary); }
.wc2026-tp-nm-vs {
    font-size: calc(1.0 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    font-weight: 400;
}
.wc2026-tp-nm-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.wc2026-tp-nm-panel {
    background: var(--wc2026-bg2);
    border: 1px solid var(--wc2026-border);
    border-radius: var(--wc2026-radius);
    padding: 14px;
}
.wc2026-tp-nm-panel-title {
    font-size: calc(1.15 * var(--wc2026-fs));
    font-weight: 700;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.wc2026-tp-nm-bk {
    font-size: calc(0.9 * var(--wc2026-fs));
    font-weight: 400;
    color: var(--wc2026-text-mute);
    margin-left: auto;
}
/* Odds */
.wc2026-tp-odds-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.wc2026-tp-odds-cell {
    flex: 1;
    text-align: center;
    padding: 10px 6px;
    border-radius: 8px;
    border: 1px solid var(--wc2026-border);
    background: #fff;
}
.wc2026-tp-odds-this {
    border-color: var(--wc2026-primary);
    background: #f0fdf4;
}
.wc2026-tp-odds-label {
    font-size: calc(0.95 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.wc2026-tp-odds-val {
    font-size: calc(1.6 * var(--wc2026-fs));
    font-weight: 700;
    color: var(--wc2026-text);
}
.wc2026-tp-odds-source {
    font-size: calc(0.95 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin: 0 0 8px;
}
.wc2026-tp-odds-disclaimer {
    font-size: calc(0.88 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    font-style: italic;
    margin: 0;
}
/* Prediction bars */
.wc2026-tp-pred-advice {
    font-size: calc(1.05 * var(--wc2026-fs));
    font-weight: 600;
    color: var(--wc2026-text);
    margin: 0 0 10px;
}
.wc2026-tp-pred-bar-wrap { display: flex; flex-direction: column; gap: 8px; }
.wc2026-tp-pred-bar-item {
    display: grid;
    grid-template-columns: 80px 1fr 40px;
    align-items: center;
    gap: 8px;
    font-size: calc(1.05 * var(--wc2026-fs));
}
.wc2026-tp-pred-bar-lbl  { text-align: right; color: var(--wc2026-text-mute); font-size: calc(1.0 * var(--wc2026-fs)); }
.wc2026-tp-pred-bar-pct  { font-weight: 700; }
.wc2026-tp-pred-bar-track {
    height: 10px;
    background: #e5e7eb;
    border-radius: 99px;
    overflow: hidden;
}
.wc2026-tp-pred-bar-fill {
    height: 100%;
    border-radius: 99px;
    transition: width .4s ease;
}
.wc2026-tp-pred-home { background: var(--wc2026-primary); }
.wc2026-tp-pred-draw { background: #9ca3af; }
.wc2026-tp-pred-away { background: var(--wc2026-accent); }

/* ── Coach Card ── */
.wc2026-tp-coach-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--wc2026-bg2);
    border: 1px solid var(--wc2026-border);
    border-radius: var(--wc2026-radius);
    padding: 16px;
}
.wc2026-tp-coach-photo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--wc2026-border);
    flex-shrink: 0;
}
.wc2026-tp-coach-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e5e7eb;
    font-size: 2rem;
}
.wc2026-tp-coach-name {
    font-size: calc(1.5 * var(--wc2026-fs));
    font-weight: 700;
    color: var(--wc2026-text);
    margin-bottom: 4px;
}
.wc2026-tp-coach-meta {
    font-size: calc(1.1 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-top: 2px;
}

/* ── Trophies ── */
.wc2026-tp-trophies {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.wc2026-tp-trophy-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--wc2026-bg2);
    border: 1px solid var(--wc2026-border);
    border-radius: var(--wc2026-radius);
    padding: 10px 14px;
    min-width: 180px;
}
.wc2026-tp-trophy-wc {
    background: linear-gradient(135deg, #fef9ec, #fff8e1);
    border-color: #f59e0b;
}
.wc2026-tp-trophy-icon {
    font-size: 1.6rem;
    flex-shrink: 0;
}
.wc2026-tp-trophy-name {
    font-size: calc(1.15 * var(--wc2026-fs));
    font-weight: 600;
    color: var(--wc2026-text);
}
.wc2026-tp-trophy-count {
    font-size: calc(1.05 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    margin-top: 2px;
}

/* ── Fixtures Table ── */
.wc2026-tp-fixtures-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.wc2026-tp-fixtures-table {
    width: 100%;
    border-collapse: collapse;
    font-size: calc(1.1 * var(--wc2026-fs));
}
.wc2026-tp-fixtures-table th,
.wc2026-tp-fixtures-table td {
    padding: 8px 10px;
    text-align: left;
    border-bottom: 1px solid var(--wc2026-border);
}
.wc2026-tp-fixtures-table thead th {
    background: var(--wc2026-bg2);
    font-weight: 600;
    font-size: calc(1.0 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    white-space: nowrap;
}
.wc2026-tp-fx-date { color: var(--wc2026-text-mute); white-space: nowrap; }
.wc2026-tp-fx-round { white-space: nowrap; }
.wc2026-tp-fx-score { font-weight: 700; text-align: center; }
.wc2026-tp-fx-result { text-align: center; }
.wc2026-tp-venue-badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: calc(0.9 * var(--wc2026-fs));
    font-weight: 600;
}
.wc2026-tp-venue-home { background: #dbeafe; color: #1d4ed8; }
.wc2026-tp-venue-away { background: #fce7f3; color: #9d174d; }
.wc2026-tp-result-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: calc(0.9 * var(--wc2026-fs));
    font-weight: 700;
}
.wc2026-tp-result-w { background: #dcfce7; color: #166534; }
.wc2026-tp-result-d { background: #f3f4f6; color: #374151; }
.wc2026-tp-result-l { background: #fee2e2; color: #991b1b; }
.wc2026-tp-result-ns { background: #e0f2fe; color: #0369a1; }

/* ── Player Stats Table ── */
.wc2026-tp-pstats-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.wc2026-tp-pstats-table {
    width: 100%;
    border-collapse: collapse;
    font-size: calc(1.1 * var(--wc2026-fs));
}
.wc2026-tp-pstats-table th,
.wc2026-tp-pstats-table td {
    padding: 7px 10px;
    border-bottom: 1px solid var(--wc2026-border);
}
.wc2026-tp-pstats-table thead th {
    background: var(--wc2026-bg2);
    font-weight: 600;
    font-size: calc(1.0 * var(--wc2026-fs));
    color: var(--wc2026-text-mute);
    text-align: center;
}
.wc2026-tp-pstats-table thead th:first-child { text-align: left; }
.wc2026-tp-ps-name { font-weight: 500; }
.wc2026-tp-ps-num  { text-align: center; color: var(--wc2026-text-mute); }
.wc2026-tp-ps-goal   { color: #16a34a; font-weight: 700; }
.wc2026-tp-ps-assist { color: #2563eb; font-weight: 700; }

/* Responsive */
@media (max-width: 600px) {
    .wc2026-tp-header {
        flex-direction: column;
        text-align: center;
        padding: 16px;
    }
    .wc2026-tp-badges {
        justify-content: center;
    }
    .wc2026-tp-squad-row {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
    .wc2026-tp-stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .wc2026-tp-coach-card {
        flex-direction: column;
        text-align: center;
    }
    .wc2026-tp-trophies {
        flex-direction: column;
    }
    .wc2026-tp-trophy-item {
        min-width: unset;
    }
    .wc2026-tp-nm-panels {
        grid-template-columns: 1fr;
    }
    .wc2026-tp-pred-bar-item {
        grid-template-columns: 60px 1fr 36px;
    }
}