/* ==================== CLASSICS BRAND STYLES ==================== */
/* Loaded only on pages rendered under the `classics` theme. */

/* Display / headline — Placard Next (slab serif, matches crest wordmark) */
@font-face {
    font-family: 'Placard Next';
    src: url('/fonts/classics/PlacardNext-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Placard Next';
    src: url('/fonts/classics/PlacardNext-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Placard Next';
    src: url('/fonts/classics/PlacardNext-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Placard Next Condensed';
    src: url('/fonts/classics/PlacardNext-CondBold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Body / UI — Inter (variable) */
@font-face {
    font-family: 'Inter';
    src: url('/fonts/classics/Inter.ttf') format('truetype-variations'),
         url('/fonts/classics/Inter.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* Font stacks scoped to classics theme */
body.classics-theme,
body.classics-theme input,
body.classics-theme textarea,
body.classics-theme button {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
    letter-spacing: -0.005em;
}

body.classics-theme h1,
body.classics-theme h2,
body.classics-theme h3,
body.classics-theme .title,
body.classics-theme .team-name,
body.classics-theme .info-title,
body.classics-theme .classics-gate-title,
body.classics-theme .event-title {
    font-family: 'Placard Next', 'Inter', serif;
    font-weight: 700;
    letter-spacing: 0.01em;
}

body.classics-theme .team-name,
body.classics-theme .info-title,
body.classics-theme .classics-gate-title {
    font-family: 'Placard Next Condensed', 'Placard Next', serif;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

body.classics-theme .team-section-title,
body.classics-theme .info-section-title,
body.classics-theme .info-label,
body.classics-theme .team-tagline,
body.classics-theme .bottom-tab-label {
    font-family: 'Placard Next', 'Inter', serif;
    font-weight: 500;
    letter-spacing: 0.12em;
}

body.classics-theme .title {
    font-family: 'Placard Next Condensed', 'Placard Next', serif;
    letter-spacing: 0.04em;
}

/* Tighter display sizing to match slab-serif character */
body.classics-theme .info-title {
    font-size: 1.8rem;
    line-height: 1.05;
}

body.classics-theme .team-name {
    font-size: 1.75rem;
    line-height: 1.05;
}

/* Centred lockup header (logo only, no title text) */
body.classics-theme .header-content {
    justify-content: center;
    padding: 16px 20px;
}

body.classics-theme .header-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

body.classics-theme .header-logo {
    height: 56px;
    max-width: 90vw;
    width: auto;
    object-fit: contain;
}

/* Hide the global header when the Clips tab is active — the embedded player
   takes the full viewport (minus the bottom tab bar). */
body.classics-theme:has(.tab-panel[data-panel="clips"].active) .main-header {
    display: none;
}

/* Neutralise the default red accent on the tab bar and Info tab — classics
   is a monochrome brand, so use off-white for the active highlights. */
body.classics-theme {
    --classics-accent: #ececec;
}

body.classics-theme .bottom-tab.active {
    color: var(--classics-accent);
}

body.classics-theme .bottom-tab.active::after {
    background: var(--classics-accent);
}

body.classics-theme .info-subtitle,
body.classics-theme .info-section-title {
    color: var(--classics-accent);
}

/* Video titles inside the clips player stay in Inter (cleaner at small sizes
   and over video). Overrides the generic h3 → Placard rule above. */
body.classics-theme .video-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 600;
    letter-spacing: -0.005em;
    text-transform: none;
}

/* ===== Team panels — per-team colour palettes ===== */

/* NZL — The Classics: black + silver */
body.classics-theme .team-panel-nzl {
    --team-primary: #ffffff;
    --team-accent: #c8c8c8;
    --team-bg: #000000;
    --team-card: #101010;
    --team-border: #2a2a2a;
}

/* AUS — Classic Australia: green + gold (from their crest) */
body.classics-theme .team-panel-aus {
    --team-primary: #006a3d;   /* dark green */
    --team-accent: #ffc72c;    /* gold */
    --team-bg: #00512e;
    --team-card: #063b25;
    --team-border: #0a5a37;
}

body.classics-theme .team-panel-nzl.active,
body.classics-theme .team-panel-aus.active {
    background: var(--team-bg);
    color: var(--team-primary);
}

body.classics-theme .team-panel-nzl .team-hero,
body.classics-theme .team-panel-nzl .team-section,
body.classics-theme .team-panel-aus .team-hero,
body.classics-theme .team-panel-aus .team-section {
    background: var(--team-card);
    border-color: var(--team-border);
}

body.classics-theme .team-panel-nzl .team-tagline,
body.classics-theme .team-panel-nzl .team-section-title {
    color: var(--team-accent);
}

body.classics-theme .team-panel-aus .team-tagline,
body.classics-theme .team-panel-aus .team-section-title {
    color: var(--team-accent);
}

body.classics-theme .team-panel-aus .team-name,
body.classics-theme .team-panel-aus .team-description,
body.classics-theme .team-panel-aus .player-name,
body.classics-theme .team-panel-aus .player-pos {
    color: #ffffff;
}

body.classics-theme .team-logo {
    background: transparent;
}

body.classics-theme .team-logo-aus {
    width: 160px;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

body.classics-theme .team-logo-nzl {
    width: auto;
    height: 140px;
    max-width: 85%;
    object-fit: contain;
    filter: invert(1); /* black-on-white lockup → white-on-dark */
}

/* ===== Roster rows ===== */
body.classics-theme .team-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.classics-theme .player-row {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--team-border, var(--border-color));
    border-radius: var(--radius-sm);
    font-size: 0.95rem;
}

body.classics-theme .player-row-empty {
    display: block;
    color: var(--text-muted);
    font-style: italic;
}

body.classics-theme .player-num {
    font-family: 'Placard Next Condensed', 'Placard Next', serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--team-accent, var(--primary));
    text-align: center;
    letter-spacing: 0.02em;
}

body.classics-theme .player-name {
    font-family: 'Placard Next', 'Inter', serif;
    font-weight: 500;
    letter-spacing: 0.01em;
}

body.classics-theme .player-pos {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--team-accent, var(--text-secondary));
    opacity: 0.85;
    white-space: nowrap;
}
