/*
 * PC Geeks V2 — unified typography guard
 * Loaded after every V2 stylesheet. This is the single source of truth for
 * page headings, so older phase files cannot bring back oversized titles.
 */

body.pcg-v2-active {
    --pcg-type-h1: 20px;
    --pcg-type-h2: 18px;
    --pcg-type-h3: 16px;
    --pcg-type-body: 14px;
    --pcg-type-small: 12px;
    --pcg-weight-regular: 400;
    --pcg-weight-medium: 500;
    --pcg-weight-semibold: 600;
    --pcg-weight-title: 650;
}

body.pcg-v2-active.pcg-v2-active.pcg-v2-active h1 {
    font-size: var(--pcg-type-h1) !important;
    font-weight: var(--pcg-weight-title) !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}

body.pcg-v2-active.pcg-v2-active.pcg-v2-active h2 {
    font-size: var(--pcg-type-h2) !important;
    font-weight: var(--pcg-weight-semibold) !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
}

body.pcg-v2-active.pcg-v2-active.pcg-v2-active h3 {
    font-size: var(--pcg-type-h3) !important;
    font-weight: var(--pcg-weight-semibold) !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
}

/* Readex becomes visually dense when every link and control uses 680–800.
 * Keep a clear hierarchy instead: regular copy, medium links, semibold
 * controls/card titles, and one slightly stronger level for H1 only. */
body.pcg-v2-active p,
body.pcg-v2-active li,
body.pcg-v2-active dd,
body.pcg-v2-active .pcg-mode-guide__card {
    font-weight: var(--pcg-weight-regular) !important;
}

body.pcg-v2-active a,
body.pcg-v2-active label,
body.pcg-v2-active small {
    font-weight: var(--pcg-weight-medium) !important;
}

body.pcg-v2-active :is(strong, b),
body.pcg-v2-active button,
body.pcg-v2-active :is(.button, [class*="__button"], [class*="-btn"], [class*="__action"]),
body.pcg-v2-active .pcg-v2-nav a,
body.pcg-v2-active .pcg-v2-header-account,
body.pcg-v2-active .pcg-v2-card__title,
body.pcg-v2-active .pcg-v2-card__title a,
body.pcg-v2-active .pcg-mode-guide__card strong {
    font-weight: var(--pcg-weight-semibold) !important;
}

body.pcg-v2-active :is(
    [class*="eyebrow"],
    [class*="kicker"],
    [class*="badge"],
    [class*="__label"]
) {
    font-weight: var(--pcg-weight-semibold) !important;
}

body.pcg-v2-active.pcg-v2-active.pcg-v2-active :is(h1, h2, h3) a {
    font-weight: inherit !important;
}

body.pcg-v2-active .pcg-v2-brand {
    font-weight: 700 !important;
}

/* Numbers and decorative text that previously reached 25–160px. */
body.pcg-v2-active.pcg-v2-active.pcg-v2-active :is(
    .pcg-taxonomy-hero__meta strong,
    .pcg-404-code,
    .pcg-v2-card__rank,
    .pcg-v2-stats__number,
    .pcg-v2-explore__number,
    .pcg-today-hero__stats b,
    .pcg-library-summary b,
    .pcg-support-goal strong,
    .pcg-most-downloaded__stat strong,
    .pcg-v2-feature-panel__watermark
) {
    font-size: 20px !important;
    letter-spacing: 0 !important;
}

body.pcg-v2-active .pcg-taxonomy-description,
body.pcg-v2-active .pcg-taxonomy-description p,
body.pcg-v2-active .pcg-mode-guide__head p,
body.pcg-v2-active .pcg-mode-authority p {
    font-size: var(--pcg-type-body) !important;
    line-height: 1.8 !important;
}

@media (max-width: 767px) {
    body.pcg-v2-active {
        --pcg-type-h1: 18px;
        --pcg-type-h2: 17px;
        --pcg-type-h3: 15px;
        --pcg-type-body: 13px;
        --pcg-type-small: 11px;
    }

    body.pcg-v2-active.pcg-v2-active.pcg-v2-active h1 {
        line-height: 1.5 !important;
    }

    body.pcg-v2-active.pcg-v2-active.pcg-v2-active :is(
        .pcg-taxonomy-hero__meta strong,
        .pcg-404-code,
        .pcg-v2-card__rank,
        .pcg-v2-stats__number,
        .pcg-v2-explore__number,
        .pcg-today-hero__stats b,
        .pcg-library-summary b,
        .pcg-support-goal strong,
        .pcg-most-downloaded__stat strong,
        .pcg-v2-feature-panel__watermark
    ) {
        font-size: 18px !important;
    }
}
