﻿/* FIX-021 Wave A/B: typography unification layer
 * Scope: UI/body/filter/button use sans; display headings can keep serif; mono info unified.
 * This file is loaded last from base.html to act as a non-destructive override layer.
 */

:root {
    --ga-font-ui: var(--ga-font-sans);
    --ga-font-display: var(--ga-font-heading);
    --ga-font-mono: "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", Menlo, Monaco, monospace;
}

body,
input,
select,
textarea,
button {
    font-family: var(--ga-font-ui, var(--ga-font-sans));
}

.nav-logo,
.brand-title,
.page-title {
    font-family: var(--ga-font-display, var(--ga-font-heading));
}

/* Card detail: force card names back to UI sans (desktop + mobile). */
.card-detail-page .card-info-detailed h1,
.card-detail-page .card-name-row h2,
.card-detail-page .mobile-card-title,
.mobile-card-detail-page .card-info-detailed h1,
.mobile-card-detail-page .card-name-row h2,
.mobile-card-detail-page .mobile-card-title {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Trade detail card names/list names. */
.trade-detail-page .flat-card-name,
.trade-detail-page .card-name,
.trade-detail-page .card-grid-name,
.trade-detail-mobile-page .flat-card-name,
.trade-detail-mobile-page .card-name,
.trade-detail-mobile-page .card-grid-name {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Deck builder card names/list names (desktop + mobile templates). */
.builder-container .library-card-name,
.builder-container .deck-card-name,
.builder-container .list-card-name,
.builder-container .draw-card-name,
.builder-container .mobile-quick-card-name,
.mobile-deck-builder-page .library-card-name,
.mobile-deck-builder-page .deck-card-name,
.mobile-deck-builder-page .list-card-name,
.mobile-deck-builder-page .draw-card-name,
.mobile-deck-builder-page .mobile-quick-card-name {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Search result names and filter labels. */
.search-container .card-name-cn,
.search-container .card-name-en,
.mobile-search-page .card-name-cn,
.mobile-search-page .card-name-en,
.mobile-search-page .mobile-search-card-name,
.search-container .filter-group h3,
.mobile-search-page .mobile-search-field > span,
.mobile-search-page .mobile-search-kicker,
.search-container .filter-tag,
.mobile-search-page .mobile-search-pill {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Trade plaza listing names + card-search suggestion names. */
.trade-plaza-page .listing-title,
.mobile-trade-plaza-page .listing-title,
.mobile-trade-plaza-page .mobile-card-suggestion-name,
.trade-plaza-page .filter-label,
.mobile-trade-plaza-page .filter-label,
.mobile-trade-plaza-page .mobile-filter-field > span,
.mobile-trade-plaza-page .trade-plaza-kicker {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Deck plaza listing names. */
.deck-plaza-page .deck-title-left,
.deck-plaza-page .mobile-deck-name,
.mobile-deck-plaza-page .deck-title-left,
.mobile-deck-plaza-page .mobile-deck-name,
.mobile-deck-plaza-page .mobile-deck-quick-field > span,
.mobile-deck-plaza-page .deck-mobile-filter-field > span,
.mobile-deck-plaza-page .deck-mobile-kicker,
.mobile-deck-plaza-page .mobile-active-filter-title {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Shared filter/button typography on target pages. */
.builder-container .filter-label,
.builder-container .filter-group h3,
.builder-container .filter-input,
.builder-container .filter-select,
.builder-container .advanced-search-btn,
.builder-container .search-btn,
.builder-container .reset-btn,
.builder-container .deck-btn,
.search-container .filter-input,
.search-container .filter-select,
.search-container .advanced-search-btn,
.trade-plaza-page .filter-input,
.trade-plaza-page .filter-select,
.trade-plaza-page .btn,
.deck-plaza-page .filter-select,
.deck-plaza-page .search-input,
.deck-plaza-page .btn {
    font-family: var(--ga-font-ui, var(--ga-font-sans)) !important;
}

/* Mono info unification. */
.card-id-display,
.card-number,
.mobile-search-card-meta,
.draw-card-number,
.deck-stats-text,
.import-area textarea,
.modal-textarea,
.export-textarea {
    font-family: var(--ga-font-mono) !important;
}
