/* Typography ported from g-g/css/style.css.
   Pairs with the Google Fonts link (Inter + Montserrat + Roboto Condensed)
   in each page's <head>. Load this LAST so it overrides per-page inline
   <style> blocks where needed. */

body {
    font-family: 'Inter', sans-serif;
    color: var(--white, #ffffff);
    line-height: 1.5;
    animation: wiki-page-in 0.35s ease-out both;
}

@keyframes wiki-page-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

html {
    scroll-behavior: smooth;
}

/* Display headings use Montserrat like g-g .hero-title */
h1,
.hero h1,
.hero-title,
.section-card .card-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--white, #ffffff);
}

/* Section headings inherit Inter (matches g-g .section-title) */
h2,
h3,
.section-title {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.section-title span {
    color: var(--primary-color, #d32f2f);
}

/* Body / paragraph defaults from g-g .hero-description / .hero-subtitle */
p {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
}

.hero-subtitle,
.hero-description,
.hero-sub {
    font-family: 'Inter', sans-serif;
    font-size: 1.05rem;
    color: var(--text-grey, #b0b0b0);
    line-height: 1.6;
}

/* Hero date strip — Roboto Condensed instead of Roboto/Oswald */
.hero-date {
    font-family: 'Roboto Condensed', 'Roboto', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Helper text classes from g-g */
.text-stroke {
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.3);
    color: transparent;
}

.text-gradient {
    background: linear-gradient(135deg, var(--white, #ffffff) 30%, var(--primary-color, #d32f2f) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 30px rgba(211, 47, 47, 0.3);
}

.text-gradient-red {
    background: linear-gradient(90deg, var(--primary-color, #d32f2f) 0%, #ff6b6b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 20px rgba(211, 47, 47, 0.4));
}

.text-grey {
    color: var(--text-grey, #b0b0b0);
}

.text-accent,
.text-primary {
    color: var(--primary-color, #d32f2f);
}

/* Small uppercase labels (matches wiki .section-label / g-g badges) */
.section-label,
.eyebrow {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* ====================================================================
   RESPONSIVE — breakpoints aligned with Bootstrap 5 (lg/md/sm).
   Loaded last in <head>, so it overrides per-page inline <style> rules.
   ==================================================================== */

/* Tablet portrait and below — sidebar drops, 3-col nav becomes 1-col */
@media (max-width: 991.98px) {
    .wiki-container {
        padding: 40px 20px;
    }

    .wiki-layout {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .nav-cards {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .section-cards {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .latest-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .coming-soon-row {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .hero {
        padding: 40px 0 32px !important;
    }

    .hero h1,
    .hero-title {
        font-size: 2.4rem !important;
        letter-spacing: 3px !important;
    }

    .article-content {
        padding: 28px 22px !important;
    }

    .article-title {
        font-size: 1.8rem !important;
    }
}

/* Mobile landscape */
@media (max-width: 767.98px) {
    .wiki-container {
        padding: 28px 14px;
    }

    .nav-cards,
    .section-cards,
    .coming-soon-row {
        grid-template-columns: 1fr !important;
    }

    .hero h1,
    .hero-title {
        font-size: 2rem !important;
        letter-spacing: 2px !important;
    }

    .hero-sub,
    .hero-subtitle {
        font-size: 0.95rem !important;
    }

    .section-card {
        padding: 22px 18px 28px !important;
    }

    .card-icon {
        font-size: 22px !important;
    }

    .card-title {
        font-size: 13px !important;
        letter-spacing: 1px !important;
    }

    .article-content {
        padding: 22px 16px !important;
        border-radius: 8px !important;
    }

    .article-title {
        font-size: 1.5rem !important;
    }

    .article-body h2 {
        font-size: 1.2rem !important;
    }

    .article-body h3 {
        font-size: 1.05rem !important;
    }
}

/* Mobile portrait — smallest phones */
@media (max-width: 575.98px) {
    .wiki-container {
        padding: 22px 12px;
    }

    .hero {
        padding: 28px 0 22px !important;
    }

    .hero h1,
    .hero-title {
        font-size: 1.6rem !important;
        letter-spacing: 1.5px !important;
        line-height: 1.15 !important;
    }

    .hero-label {
        font-size: 10px !important;
        padding: 4px 10px !important;
    }

    .news-item {
        padding: 10px 0 !important;
    }

    .sidebar {
        padding: 18px 16px !important;
    }

    .mini-card {
        padding: 12px !important;
    }

    .article-meta {
        font-size: 0.78rem !important;
    }

    .article-body p {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
    }
}
