/* =============================================================================
 * ADA Typography  -  Cosmos Club child theme
 * Sitewide body/paragraph/description set to 18px (17px ≤767px) for
 * older-reader legibility. Pills, badges, footer, calendar chips, and buttons
 * are explicitly locked at their existing small sizes so the cascade can't bump
 * them.
 * Loaded by functions.php at priority 30 (after style.css @ 20 and module CSS).
 *
 * 2026-08-07 consistency pass:
 *  - ESP search SSR styles removed from this file; the plugin stylesheet
 *    (elastic-search-plus/assets/css/style.css, v1.6.0) is now their single
 *    owner. The rendered look is unchanged.
 *  - "Regular" block-editor preset (theme.json: 20px) normalized to the body
 *    variable on paragraphs/list items. This closes the "18px on some pages,
 *    20px on others" drift: editors who picked Regular from the size picker
 *    now render at the sitewide body size. Headings are unaffected.
 * ========================================================================== */

:root {
    --cc-fs-body: 18px;
    --cc-fs-body-mobile: 17px;
    --cc-lh-body: 1.6;
}

/* --- Sitewide page content ---
   !important is required because Kadence Blocks (.kt-inside-inner-col p)
   and similar block-builder rules ship higher-specificity font-size
   declarations. The pill/button locks below also use !important, so the
   cascade stays symmetric. */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content blockquote,
.entry-content dd,
.entry-content dt,
.entry-content .kt-inside-inner-col p,
.entry-content .kt-inside-inner-col li,
.entry-content .wp-block-paragraph,
.entry-content .wp-block-list li {
    font-size: var(--cc-fs-body) !important;
    line-height: var(--cc-lh-body);
}

/* --- Block-editor "Regular" preset (20px in theme.json) -> body variable ---
   Scoped to paragraph/list content only; headings keep their own scale. */
.entry-content p.has-regular-font-size,
.entry-content li.has-regular-font-size,
.entry-content .has-regular-font-size p,
.entry-content .has-regular-font-size li {
    font-size: var(--cc-fs-body) !important;
    line-height: var(--cc-lh-body);
}

/* --- Custom-module description blocks --- */
.cosmos-product-single__description,
.cosmos-product-single__description p,
.cosmos-cal-v2__panel-desc,
.cosmos-cal__list-event-desc,
.cosmos-rclub-review-body,
.cosmos-rr-body p,
.cosmos-rr-body label {
    font-size: var(--cc-fs-body) !important;
    line-height: var(--cc-lh-body);
}

/* --- Mobile step-down (≤767px) --- */
@media (max-width: 767px) {
    .entry-content,
    .entry-content p,
    .entry-content li,
    .entry-content blockquote,
    .entry-content dd,
    .entry-content dt,
    .entry-content .kt-inside-inner-col p,
    .entry-content .kt-inside-inner-col li,
    .entry-content .wp-block-paragraph,
    .entry-content .wp-block-list li,
    .entry-content p.has-regular-font-size,
    .entry-content li.has-regular-font-size,
    .cosmos-product-single__description,
    .cosmos-product-single__description p,
    .cosmos-cal-v2__panel-desc,
    .cosmos-cal__list-event-desc,
    .cosmos-rclub-review-body,
    .cosmos-rr-body p,
    .cosmos-rr-body label {
        font-size: var(--cc-fs-body-mobile) !important;
    }
}

/* --- Locks: components that must stay small (immune to cascade) --- */
.cosmos-cal-v2__chip-title  { font-size: 13px   !important; }
.cosmos-cal-v2__chip-time   { font-size: 11.5px !important; }
.cosmos-cal-v2__chip-badge  { font-size: 9px    !important; }
.cosmos-cal-v2__panel-label { font-size: 11px   !important; }
.cosmos-album-view-btn,
.cosmos-gallery-lb-caption  { font-size: 14px   !important; }
.footer-btn,
.footer-menu a,
.nv-footer .menu-item a     { font-size: 14px   !important; }

/* Buttons: keep design-system 14px base; never bump from .entry-content cascade */
.entry-content .wp-block-button__link,
.entry-content .button,
.entry-content [class*="cc-btn"],
.entry-content [class*="cosmos-"][class*="-btn"] {
    font-size: 14px;
}

/* --- Headings: font + minimum size floors (core blocks only) ---
   2026-08-10 revision: Kadence advancedheadings are EXCLUDED from the
   !important floors below. The floors used to inflate Kadence blocks with
   explicit author-set sizes (e.g. the library page's 24px "JSTOR ACCESS"
   label and its 16px Quattrocento body blocks rendered 28px Sorts Mill
   Goudy). Kadence emits its authored size/family at (0,3,0) specificity
   with no !important, so:
   - core headings keep the !important floors (unchanged behavior);
   - Kadence headings get low-specificity defaults that any authored
     per-block typography overrides. */
.entry-content h1:not([class*="kt-adv-heading"]),
.entry-content h2:not([class*="kt-adv-heading"]),
.entry-content h3:not([class*="kt-adv-heading"]),
.entry-content h4:not([class*="kt-adv-heading"]),
.entry-content h5:not([class*="kt-adv-heading"]),
.entry-content h6:not([class*="kt-adv-heading"]) {
    font-family: 'Sorts Mill Goudy', Georgia, serif !important;
}

/* Per-level minimum sizes  -  only kick in when something tries to
   shrink a core heading below the body size. */
.entry-content h1:not([class*="kt-adv-heading"]) { font-size: max(2em, 32px) !important; }
.entry-content h2:not([class*="kt-adv-heading"]) { font-size: max(1.5em, 28px) !important; }
.entry-content h3:not([class*="kt-adv-heading"]) { font-size: max(1.25em, 24px) !important; }
.entry-content h4:not([class*="kt-adv-heading"]) { font-size: max(1.1em, 22px) !important; }
.entry-content h5:not([class*="kt-adv-heading"]) { font-size: max(1em, 20px) !important; }
.entry-content h6:not([class*="kt-adv-heading"]) { font-size: max(1em, 20px) !important; }

/* Kadence advancedheading defaults: single class (0,1,0), no !important,
   so Kadence's own emitted per-block rule (0,3,0) wins whenever an editor
   set explicit typography. Applies only when nothing was authored. */
.wp-block-kadence-advancedheading {
    font-family: 'Sorts Mill Goudy', Georgia, serif;
}


/* =============================================================================
 * Kadence advancedheading used as <p>  -  normalize to body size
 * Kadence Blocks ships per-block inline CSS that sets font-size on the
 * .kt-adv-heading-{id} container. When the block is used as plain paragraph
 * content (htmlTag="p"), those per-block sizes (often 16-22px) drift from
 * the sitewide body variable. Force them to body size so editors don't have
 * to manually retune every page when the ADA size changes.
 * ========================================================================== */
.entry-content p.wp-block-kadence-advancedheading,
.entry-content p[class*="kt-adv-heading"] {
    font-size: var(--cc-fs-body) !important;
    line-height: var(--cc-lh-body) !important;
}
@media (max-width: 767px) {
    .entry-content p.wp-block-kadence-advancedheading,
    .entry-content p[class*="kt-adv-heading"] {
        font-size: var(--cc-fs-body-mobile) !important;
    }
}

/* =============================================================================
 * Compact-notice locks (declared LAST on purpose)
 * The Letter of Introduction advisory notice is designed at 14px in
 * inc/loi.php but the sitewide .entry-content p rule above (equal
 * specificity, earlier in this file) was bumping it to body size. Ties on
 * specificity + !important resolve by source order, so these stay at the
 * end of the file.
 * ========================================================================== */
.entry-content .cosmos-loi-advisory p,
.cosmos-loi-advisory p {
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ===== BEGIN cc-bul locks (Bulletin, page 703) ===== */
/* Restores the Bulletin page's designed component scale against the
   normalizations earlier in this file:
     - .entry-content p / li             -> var(--cc-fs-body) !important  (0,1,1)
     - .entry-content .wp-block-paragraph
       .entry-content .wp-block-list li  -> var(--cc-fs-body) !important  (0,2,0)/(0,2,1)
     - .entry-content h1..h6:not([class*="kt-adv-heading"])
                                         -> font-size: max(Xem,Npx) !important (0,2,1)

   SPECIFICITY IS THE WHOLE POINT HERE. Every selector below is scoped through
   its component wrapper (.cc-bul-hero / .cc-bul-wrap) AND tag-qualified, giving
   (0,3,1) or better so it outranks all of the above regardless of source order.

   The 2026-08-11 attempt used bare `p.cc-bul-x` (0,1,1) and silently lost to
   `.entry-content .wp-block-paragraph` (0,2,0): WordPress adds wp-block-paragraph
   / wp-block-list to these blocks at RENDER time, so the class is not visible in
   post_content and a harness built from raw post_content will not reproduce the
   bug. Always verify against server-rendered HTML.

   Body copy in About/Submissions is deliberately NOT locked - it should keep
   tracking var(--cc-fs-body) including the <=767px step-down. The design spec
   lives in the cc-bul block of style.css; keep the two in sync. */

/* --- hero --- */
.entry-content .cc-bul-hero h1.cc-bul-hero-title  { font-size: clamp(38px, 5vw, 56px) !important; line-height: 1.15; }
.entry-content .cc-bul-hero p.cc-bul-hero-eyebrow { font-size: 13px !important; line-height: 1.3; }
.entry-content .cc-bul-hero p.cc-bul-hero-sub     { font-size: 17px !important; line-height: 1.55; }

/* --- featured card + sections --- */
.entry-content .cc-bul-wrap h2.cc-bul-section-h    { font-size: 28px !important; }
.entry-content .cc-bul-wrap h2.cc-bul-issue-title  { font-size: 32px !important; }
.entry-content .cc-bul-wrap h2.cc-bul-pubnav-h     { font-size: 19px !important; }
.entry-content .cc-bul-wrap h3.cc-bul-highlights-h { font-size: 21px !important; }
.entry-content .cc-bul-wrap h3.cc-bul-archives-h   { font-size: 20px !important; }
.entry-content .cc-bul-wrap h3.cc-bul-past-title   { font-size: 21px !important; }

.entry-content .cc-bul-wrap p.cc-bul-kicker      { font-size: 12.5px !important; line-height: 1.3; }
.entry-content .cc-bul-wrap p.cc-bul-issue-vol   { font-size: 15px !important; }
.entry-content .cc-bul-wrap p.cc-bul-past-links  { font-size: 15px !important; line-height: 1.9; }
.entry-content .cc-bul-wrap p.cc-bul-disclaimer,
.entry-content .cc-bul-wrap p.cc-bul-credit      { font-size: 14px !important; line-height: 1.5; }

.entry-content .cc-bul-wrap ul.cc-bul-pubnav-list li     { font-size: 15px !important; line-height: 1.45; }
.entry-content .cc-bul-wrap ul.cc-bul-highlights-list li { font-size: 15px !important; line-height: 1.5; }
.entry-content .cc-bul-wrap ul.cc-bul-archives-list li   { font-size: 15px !important; }

/* --- mobile: declared after the locks so it wins over them --- */
@media (max-width: 767px) {
    .entry-content .cc-bul-wrap h2.cc-bul-issue-title { font-size: 27px !important; }
    .entry-content .cc-bul-wrap h2.cc-bul-section-h   { font-size: 24px !important; }
    .entry-content .cc-bul-hero p.cc-bul-hero-sub     { font-size: 16px !important; }
}
/* ===== END cc-bul locks (Bulletin, page 703) ===== */

/* ===== BEGIN cc-hero-centered locks (acf/hero centered variant, page 703) =====
   Same reasoning as the cc-bul locks: the generic .entry-content h1/p floors
   above are !important, so the variant sizes must be re-asserted at higher
   specificity. Keep in sync with the design spec in assets/blocks/cc-blocks.css. */
.entry-content .custom-hero.cc-hero-centered h1.custom-hero-heading { font-size: clamp(38px, 5vw, 56px) !important; line-height: 1.15; }
.entry-content .custom-hero.cc-hero-centered p.custom-hero-tagline  { font-size: 13px !important; line-height: 1.3; }
.entry-content .custom-hero.cc-hero-centered p.custom-hero-subhead  { font-size: 17px !important; line-height: 1.55; }
@media (max-width: 767px) {
    .entry-content .custom-hero.cc-hero-centered p.custom-hero-subhead { font-size: 16px !important; }
}
/* ===== END cc-hero-centered locks ===== */

/* ===== BEGIN cc-arc locks (Bulletin archive year pages) ===== */
/* Same reasoning and the same specificity floor as the cc-bul locks above. */
.entry-content .cc-arc-hero h1.cc-arc-hero-title  { font-size: clamp(30px, 4vw, 42px) !important; line-height: 1.15; }
.entry-content .cc-arc-hero p.cc-arc-hero-eyebrow { font-size: 13px !important; line-height: 1.3; }
.entry-content .cc-arc-hero p.cc-arc-hero-sub     { font-size: 17px !important; line-height: 1.55; }

.entry-content .cc-arc-wrap h2.cc-arc-year-h      { font-size: 28px !important; }
.entry-content .cc-arc-wrap h2.cc-arc-years-h     { font-size: 19px !important; }
.entry-content .cc-arc-wrap h3.cc-arc-card-month  { font-size: 20px !important; }
.entry-content .cc-arc-wrap ul.cc-arc-years-list li { font-size: 15px !important; line-height: 1.45; }
.entry-content .cc-arc-wrap ul.cc-arc-card-links li { font-size: 15px !important; line-height: 1.45; }

@media (max-width: 767px) {
    .entry-content .cc-arc-wrap h2.cc-arc-year-h { font-size: 24px !important; }
    .entry-content .cc-arc-hero p.cc-arc-hero-sub { font-size: 16px !important; }
}
/* ===== END cc-arc locks (Bulletin archive year pages) ===== */

/* ===== BEGIN cc-bm locks (Board minutes, page 15241) ===== */
/* The page reuses cc-arc, so the existing cc-arc locks already cover the hero,
   year headings, pills and card link lists. Only the cc-bm additions need their
   own locks, at the same (0,3,1)-or-better floor and for the same reason: the
   normalizations earlier in this file are !important and WordPress adds
   wp-block-list / wp-block-paragraph at RENDER time, so anything weaker than
   the component-scoped selectors below loses silently. */

.entry-content .cc-arc-wrap ul.cc-arc-card-links li span.cc-arc-card-note { font-size: 13px !important; line-height: 1.35; }
.entry-content .cc-arc-wrap h3.cc-arc-card-month span.cc-arc-card-badge    { font-size: 11px !important; line-height: 1.4; }
.entry-content .cc-arc-wrap .cc-arc-note p.cc-arc-note-lede                { font-size: 16px !important; line-height: 1.6; }
/* ===== END cc-bm locks (Board minutes, page 15241) ===== */

/* ===== BEGIN cc-priv locks (Privacy, post 772) ===== */
/* Append to dist/css/ada-typography.css, after the cc-bm locks block.
   ada-typography.css is the ENFORCING OWNER of every component size on this
   page; cc-priv.css carries the same numbers as the design spec. Keep in sync.

   What these have to beat, all of it earlier in the same file and all
   !important:
     .entry-content, .entry-content p, .entry-content li          (0,1,0)/(0,1,1)
     .entry-content .wp-block-paragraph                           (0,2,0)
     .entry-content .wp-block-list li                             (0,2,1)
     .entry-content .kt-inside-inner-col p / li                   (0,2,1)
     .entry-content hN:not([class*="kt-adv-heading"])             (0,2,1)
       -> font-size: max(1.5em, 28px) !important on h2, etc.

   SPECIFICITY IS THE WHOLE POINT. Every selector below is scoped through its
   component wrapper (.cc-priv-hero / .cc-priv-wrap) AND tag-qualified, giving
   (0,3,1) or better, so it wins regardless of source order.

   The 2026-08-11 Bulletin build and the 2026-08-12 archive build both shipped
   bare `p.cc-x` (0,1,1) selectors first and lost silently to
   `.entry-content .wp-block-paragraph` (0,2,0): WordPress adds
   wp-block-paragraph / wp-block-list at RENDER time, so the class is not in
   post_content and a harness built from raw post_content will not reproduce
   the bug. Verify against server-rendered HTML, not the editor.

   DELIBERATELY NOT LOCKED, so they keep tracking var(--cc-fs-body) and its
   <=767px step-down (this is legal prose, it should get the ADA body size):
     .cc-priv-doc paragraphs and list items in the document column
     ul.cc-priv-list / ol.cc-priv-steps list items
     paragraphs inside .cc-priv-note / .cc-priv-commit / .cc-priv-caution
   Line-height for those is set in cc-priv.css at (0,1,1)+ without !important,
   which is enough because ada declares line-height without !important. */

/* --- hero --- */
.entry-content .cc-priv-hero h1.cc-priv-hero-title   { font-size: clamp(32px, 4.4vw, 46px) !important; line-height: 1.15; }
.entry-content .cc-priv-hero p.cc-priv-hero-eyebrow  { font-size: 13px !important;   line-height: 1.3; }
.entry-content .cc-priv-hero p.cc-priv-hero-promise  { font-size: 18px !important;   line-height: 1.55; }
.entry-content .cc-priv-hero p.cc-priv-hero-meta     { font-size: 13.5px !important; line-height: 1.5; }

/* --- section headings and section intros --- */
.entry-content .cc-priv-wrap h2.cc-priv-h2      { font-size: 28px !important; line-height: 1.2; }
.entry-content .cc-priv-wrap h3.cc-priv-h3      { font-size: 21px !important; line-height: 1.25; }
/* Card headings are h3 in the outline (section h2, then card h3), but the same
   treatment is wanted at h4 if a card is ever nested one level deeper. Both are
   qualified, because a class-only selector would lose to the hN floors above.
   Getting this wrong is what rendered the promise cards at 24px on 2026-08-13. */
.entry-content .cc-priv-wrap h3.cc-priv-card-h,
.entry-content .cc-priv-wrap h4.cc-priv-card-h  { font-size: 19px !important; line-height: 1.3; }
.entry-content .cc-priv-wrap p.cc-priv-lede     { font-size: 19px !important; line-height: 1.6; }
.entry-content .cc-priv-wrap p.cc-priv-meta     { font-size: 14px !important; line-height: 1.5; }

/* --- section rail (desktop rail + mobile disclosure) --- */
.entry-content .cc-priv-wrap h2.cc-priv-rail-h                     { font-size: 19px !important; line-height: 1.3; }
.entry-content .cc-priv-wrap ul.cc-priv-rail-list li               { font-size: 15px !important; line-height: 1.4; }
.entry-content .cc-priv-wrap details.cc-priv-rail-mobile > summary { font-size: 15px !important; line-height: 1.4; }

/* --- promise / subprocessor cards --- */
.entry-content .cc-priv-wrap .cc-priv-card p               { font-size: 16px !important; line-height: 1.6; }
.entry-content .cc-priv-wrap .cc-priv-card p.cc-priv-card-role   { font-size: 12px !important; line-height: 1.4; }
.entry-content .cc-priv-wrap .cc-priv-card p.cc-priv-card-region { font-size: 14px !important; line-height: 1.5; }
.entry-content .cc-priv-wrap .cc-priv-card span.cc-priv-badge,
.entry-content .cc-priv-wrap p.cc-priv-lede span.cc-priv-badge,
.entry-content .cc-priv-wrap li span.cc-priv-badge         { font-size: 11px !important; line-height: 1.4; }
/* The "Members" chip sits inside an h2 or an h3, and ada-typography normalizes
   heading sizes as well as body copy, so the chip needs its own lock or it
   inherits the heading's 30px and stops looking like a chip. */
.entry-content .cc-priv-wrap h2 span.cc-priv-badge--member,
.entry-content .cc-priv-wrap h3 span.cc-priv-badge--member { font-size: 11px !important; line-height: 1.4; }

/* --- callout eyebrows (the callout BODY copy is intentionally unlocked) --- */
.entry-content .cc-priv-wrap p.cc-priv-commit-eyebrow  { font-size: 12px !important; line-height: 1.3; }
.entry-content .cc-priv-wrap p.cc-priv-caution-eyebrow { font-size: 12px !important; line-height: 1.3; }

/* --- tables ---
   ada-typography does not target th / td today, so these are pre-emptive: a
   future `.entry-content td` normalization would otherwise inflate both tables
   past their column widths. */
.entry-content .cc-priv-wrap .cc-priv-table th { font-size: 12.5px !important; line-height: 1.3; }
.entry-content .cc-priv-wrap .cc-priv-table td { font-size: 16px !important;   line-height: 1.6; }
/* The 12.5px above is the COLUMN header size. A row header is the row's subject
   and is set at reading size, so it needs its own lock or the line above wins on
   source order and flattens it back to 12.5px uppercase. */
.entry-content .cc-priv-wrap .cc-priv-table tbody th { font-size: 15px !important; line-height: 1.5; }

/* --- privacy controls panel --- */
.entry-content .cc-priv-wrap .cc-priv-controls h3.cc-priv-ctl-label   { font-size: 19px !important; line-height: 1.3; }
.entry-content .cc-priv-wrap .cc-priv-controls p.cc-priv-ctl-desc     { font-size: 16px !important; line-height: 1.6; }
.entry-content .cc-priv-wrap .cc-priv-controls p.cc-priv-nojs         { font-size: 16px !important; line-height: 1.6; }
.entry-content .cc-priv-wrap .cc-priv-controls p.cc-priv-ctl-feedback { font-size: 15px !important; line-height: 1.5; }
.entry-content .cc-priv-wrap .cc-priv-controls p.cc-priv-ctl-note     { font-size: 15px !important; line-height: 1.6; }
.entry-content .cc-priv-wrap button.cc-priv-switch                    { font-size: 14px !important; line-height: 1.2; }
.entry-content .cc-priv-wrap button.cc-priv-switch span.cc-priv-switch-state { font-size: 14px !important; line-height: 1.2; }
.entry-content .cc-priv-wrap .cc-priv-controls p.cc-priv-status       { font-size: 15px !important; line-height: 1.4; }
.entry-content .cc-priv-wrap a.cc-priv-action,
.entry-content .cc-priv-wrap button.cc-priv-action                    { font-size: 14px !important; line-height: 1.2; }

/* --- changelog and contact --- */
.entry-content .cc-priv-wrap ul.cc-priv-changelog li                  { font-size: 16px !important; line-height: 1.6; }
.entry-content .cc-priv-wrap ul.cc-priv-changelog li span.cc-priv-changelog-date,
.entry-content .cc-priv-wrap ul.cc-priv-changelog li time             { font-size: 14px !important; line-height: 1.5; }
.entry-content .cc-priv-wrap .cc-priv-contact address                 { font-size: 16px !important; line-height: 1.7; }
.entry-content .cc-priv-wrap .cc-priv-contact p.cc-priv-contact-label { font-size: 12px !important; line-height: 1.4; }
.entry-content .cc-priv-wrap .cc-priv-contact p                       { font-size: 16px !important; line-height: 1.6; }

/* --- hero buttons: hold the design-system 14px against the .entry-content cascade --- */
.entry-content .cc-priv-hero .cc-priv-hero-buttons .wp-block-button__link { font-size: 14px !important; line-height: 1.2; }

/* --- mobile step-downs ---
   Declared after the locks above so they win on source order.
   NOTE the breakpoint: 781px, not the 767px ada uses for its body step-down.
   These sizes are tied to the LAYOUT switch (the rail collapses and the shell
   becomes one column at 781px), not to the reading-size step-down, so between
   768px and 781px the body text is still 18px while the headings are already
   at their narrow-column sizes. That is deliberate. */
@media (max-width: 781px) {
    .entry-content .cc-priv-wrap h2.cc-priv-h2     { font-size: 24px !important; }
    .entry-content .cc-priv-wrap h3.cc-priv-h3     { font-size: 20px !important; }
    .entry-content .cc-priv-wrap p.cc-priv-lede    { font-size: 18px !important; }
    .entry-content .cc-priv-hero p.cc-priv-hero-promise { font-size: 17px !important; }
    .entry-content .cc-priv-hero p.cc-priv-hero-meta    { font-size: 13px !important; }
    /* Stacked table cards: the first cell becomes the card's title. It is a th,
       not a td. The old `tbody tr td:first-child` selector matched nothing. */
    .entry-content .cc-priv-wrap .cc-priv-table tbody th { font-size: 20px !important; line-height: 1.3; }
}
/* ===== END cc-priv locks (Privacy, post 772) ===== */





/* ===== cosmos-login locks (Member Login 46214 + Forgot Password) =====
   The login panel is a fixed-height viewport layout: it must fit one screen
   without scrolling. Two generic locks above were inflating it and pushing the
   "Need Assistance?" / "New Member" row below the fold on ~800px laptops:
     - .entry-content h3 floor of max(1.25em, 24px)  -> support headings at 24px
     - the generic body-copy lock                    -> support text at 18px/27px
   Sizes below are the spec declared in inc/login-page.php. Keep the two in sync.
   They stay inside the design system's ranges (body 14-16px, small label 11-13px). */
.entry-content .cosmos-login-layout .cosmos-support-col h3 { font-size: 17px !important; line-height: 1.3 !important; }
.entry-content .cosmos-login-layout .cosmos-support-col p  { font-size: 15px !important; line-height: 1.45 !important; }
.entry-content .cosmos-login-layout p.cosmos-login-subtitle { font-size: 16px !important; line-height: 1.4 !important; }

/* Short desktop viewports (13-inch laptops leave roughly 720-800px of page).
   One step down so the whole panel, support row included, still fits one screen.
   Full sizes return on anything taller. */
@media (min-width: 769px) and (max-height: 800px) {
    .entry-content .cosmos-login-layout h1.cosmos-login-title      { font-size: 30px !important; line-height: 1.15 !important; }
    .entry-content .cosmos-login-layout .cosmos-support-col h3     { font-size: 16px !important; }
    .entry-content .cosmos-login-layout .cosmos-support-col p      { font-size: 14px !important; line-height: 1.4 !important; }
    .entry-content .cosmos-login-layout p.cosmos-login-subtitle    { font-size: 15px !important; }
}
/* ===== END cosmos-login locks ===== */

/* ===== BEGIN cc tile-content locks (acf/tile-content cards) ===== */
.entry-content .tile-content h2.tile_block-heading { font-size: 28px !important; line-height: 1.2; }
.entry-content .tile-content h3.tile-heading       { font-size: 22px !important; line-height: 1.25; }
.entry-content .tile-content .tile-subhead         { font-size: 13px !important; line-height: 1.3; }
.entry-content .tile-content p.tile-description    { font-size: 15px !important; line-height: 1.6; }
/* ===== END cc tile-content locks ===== */
