/**
 * Safety net for real heading tags inside the pasted, namespaced content blocks
 * (.wfv-page, .wsb-page, and the 30-odd other `<ns>-page` wrappers on the site).
 *
 * Those blocks bring their own <style> block and style themselves through
 * namespaced classes (.wfv-h1, .wsb-h2, …). Where a heading is still a <div>
 * nothing else applies to it; once it becomes a real <h1>/<h2> the theme's own
 * heading defaults in css/style.css (font-size / font-weight / line-height on
 * bare h1–h6) start applying underneath. This file neutralises those defaults
 * inside the blocks only, so the namespaced classes remain the only thing
 * styling them.
 *
 * SPECIFICITY IS THE WHOLE POINT — do not add !important, and do not unwrap the
 * :where(). Every rule here resolves to (0,0,1), element-level: just enough to
 * beat the theme's bare `h1 { … }` (this file loads after style.css), and low
 * enough that ANY class-based rule wins, whether or not it carries !important.
 * The version of this reset in the audit doc used `.wfv-page h1 { font: inherit
 * !important }` — at (0,1,1) that outranks `.wfv-h1 { … !important }` and would
 * have stripped the font and colour off every heading it was meant to protect.
 *
 * Two selectors, because the two things do not always co-occur: 32 namespaces
 * have an `<ns>-page` wrapper, 39 have `<ns>-h1…h6` classes.
 * `search-page` is the theme's own search template, hence the exclusion.
 */
:where([class$="-page"]:not([class*="search-page"])) :is(h1, h2, h3, h4, h5, h6),
:is(h1, h2, h3, h4, h5, h6):where(
    [class*="-h1"], [class*="-h2"], [class*="-h3"],
    [class*="-h4"], [class*="-h5"], [class*="-h6"]
) {
    font: inherit;
    margin: 0;
    color: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}
