/* ==========================================================================
   Crossmap typography override — loads AFTER Astra dynamic CSS.
   Keeps Astra header/layout intact; prevents Customizer font-size snap.
   ========================================================================== */

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

html body {
    font-family: var(--cm-font-body) !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

html body p,
html body li,
html body .entry-content p,
html body .entry-content li {
    font-family: var(--cm-font-body) !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

/* Override Astra Customizer heading sizes inside post content only */
html body .entry-content :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--cm-font-display) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

html body .entry-content h1 { font-size: 2.25rem !important; }
html body .entry-content h2 { font-size: 1.875rem !important; }
html body .entry-content h3 { font-size: 1.5rem !important; }
html body .entry-content h4 { font-size: 1.25rem !important; }
html body .entry-content h5 { font-size: 1.125rem !important; }
html body .entry-content h6 { font-size: 1rem !important; }

/* Review layout — Astra must not override component typography */
html body .rt-container,
html body .cm-grid-wrapper,
html body .cm-tv-episode-page {
    font-family: var(--cm-font-body);
}

/* --------------------------------------------------------------------------
   Cinematic hero (.mh-hero) — beats Astra body h1/h2 (higher specificity)
   -------------------------------------------------------------------------- */
html body .mh-hero {
    font-family: var(--cm-font-body);
    font-size: 1rem;
    line-height: 1.5;
}

html body .mh-hero h1.mh-title {
    font-family: var(--cm-font-display) !important;
    font-size: 2.9rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

html body .mh-hero .mh-year {
    font-size: 0.8em !important;
}

html body .mh-hero .mh-meta {
    font-family: var(--cm-font-body) !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
}

html body .mh-hero .mh-cert {
    font-family: var(--cm-font-condensed) !important;
    font-size: 0.85em !important;
}

html body .mh-hero .mh-signal-pill {
    font-family: var(--cm-font-condensed) !important;
    font-size: 0.85rem !important;
}

html body .mh-hero .mh-score-label,
html body .mh-hero .mh-rating-count {
    font-size: 0.82rem !important;
}

html body .mh-hero .mh-star-rating-val {
    font-size: 1.2rem !important;
}

html body .mh-hero .mh-overview-label {
    font-size: 1.05rem !important;
}

html body .mh-hero .mh-synopsis {
    font-family: var(--cm-font-body) !important;
    font-size: 1.1rem !important;
    line-height: 1.65 !important;
}

html body .mh-hero .mh-long-summary,
html body .mh-hero .mh-summary-body {
    font-size: 1rem !important;
}

html body .mh-hero .mh-play-btn,
html body .mh-hero .mh-share-btn,
html body .mh-hero .mh-see-stats-btn {
    font-size: 0.9rem !important;
}

@media (max-width: 768px) {
    html body .mh-hero h1.mh-title {
        font-size: 1.8rem !important;
    }

    html body .mh-hero .mh-meta {
        font-size: 0.95rem !important;
    }

    html body .mh-hero .mh-synopsis {
        font-size: 1rem !important;
    }
}

/* --------------------------------------------------------------------------
   Homepage IMDb-style hero — h2 title loses to Astra body h2 without this
   -------------------------------------------------------------------------- */
html body .cm-imdb-hero-container h2.cm-imdb-hero-title {
    font-family: var(--cm-font-display) !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

html body .cm-imdb-hero-container .cm-imdb-hero-subtitle {
    font-family: var(--cm-font-body) !important;
    font-size: 1.1rem !important;
}

@media (max-width: 768px) {
    html body .cm-imdb-hero-container h2.cm-imdb-hero-title {
        font-size: 1.6rem !important;
    }

    html body .cm-imdb-hero-container .cm-imdb-hero-subtitle {
        font-size: 0.9rem !important;
    }
}
