/* ==========================================================================
   Etos - "One Click Accessibility" (Pojo) font-resize corrections
   --------------------------------------------------------------------------
   The plugin only adds a body class and emits two !important rules:

     body...NN, p, li, label, input, select, textarea, legend, code, pre,
     dd, dt, span, blockquote            { font-size: NN%        !important }
     body...NN h1..h6, h1 span .. h6 span { font-size: NN*1.33%  !important }

   On this theme that produces (measured at 1440x900, plugin only):
     input               12.24px -> 45.70 (130) -> 256px   (200)   compounding
     submit input        21.60px -> 35.15       -> 128px           compounding
     consent label        8.78px -> 100.40      -> 2048px          compounding
     .wpcf7-response-output              frozen at 12.96px at every step (div)
     .content / .icon-list .text         frozen (div/p with a vw theme size)
     .cc-title (h2)      16px -> 24.21 -> 37.24px                  runaway
     .cc-body  (p)       14px -> 18.20 -> 28.00px                  runaway
     .cc-root / .cc-btn                  frozen at 14px (button + inherit)

   Every rule below is gated behind body[class*="pojo-a11y-resize-font-"], so
   with nothing selected - and again after Reset - this file contributes zero
   computed differences.

   #pojo-a11y-toolbar is a SIBLING of the content roots and is never selected
   here, so the toolbar keeps scaling exactly as the plugin always made it
   (12.8px -> 25.6px).

   Specificity notes:
     plugin generic rule  body.NN p:not(.cls)                       = (0,2,2)
     Section 3            html body[attr] :is(.root) :is(p,...)     = (0,2,3)
     :is() takes the specificity of its most specific argument, so the root
     list counts as one class and the element list as one type selector.
     Section 4/5 pins therefore carry an extra class (usually the theme's own
     wrapper) to land at (0,3,x) and out-specify Section 3.
   ========================================================================== */


/* --------------------------------------------------------------------------
   Section 1: STEP -> MULTIPLIERS (two curves)

   --a11y-scale       text / headings / lists      step 1 +15%  ...  max +60%
   --a11y-scale-form  inputs, submit, response output, validation tips,
                      checkbox labels, cookie title/body/buttons
                                                   step 1 +30%  ...  max +75%
   Form controls and the cookie banner start from the smallest sizes on the
   page, so they need a bigger first jump to read as "bigger".
   -------------------------------------------------------------------------- */
:root { --a11y-scale: 1; --a11y-scale-form: 1; }
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.15; --a11y-scale-form: 1.30; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.22; --a11y-scale-form: 1.40; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.28; --a11y-scale-form: 1.48; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.35; --a11y-scale-form: 1.55; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.42; --a11y-scale-form: 1.62; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.48; --a11y-scale-form: 1.68; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.54; --a11y-scale-form: 1.72; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; }


/* --------------------------------------------------------------------------
   Section 2: Base pin.
   Measured body baseline on this site is 16px (html is 16px too).
   Deliberately NOT scoped to a content root: the toolbar is anchored by the
   plugin's own `#pojo-a11y-toolbar { font-size:16px !important }`, so it is
   unaffected either way, and calc() (never a flat px) keeps every inheriting
   element live.
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] {
    font-size: calc(16px * var(--a11y-scale)) !important;
}


/* --------------------------------------------------------------------------
   Section 3: Kill the compounding percentages inside EVERY content root.

   Roots found by enumerating document.body.children on every page:
     home (template-home.php)  .privacy-modal-wrapper .lp-sec .mobile-view
                               .bg-541d3a .mobile-bottom .mobile-menu
     single.php                .login-banner .login-section .description-section
     404.php                   .gold-card-banner .description-section
     search.php                .home-banner .description-section
   This site has NO .elementor wrapper on any page - Elementor is active but
   never renders content, and post-3.css carries zero font-size rules.

   .container is in the list because 404.php and single.php put the breadcrumb
   in a bare `body > .container` that belongs to no other root. Without it the
   `>>` separator spans still compounded: measured 16px -> 51.2px at step 200
   while the sibling links sat at 25.6px.

   input/select/textarea are excluded on purpose - Section 4 pins those.
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"]
    :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu,
        .privacy-modal-wrapper, .login-banner, .login-section,
        .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation)
    :is(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
    font-size: inherit !important;
}


/* --------------------------------------------------------------------------
   Section 4: FORM CONTROLS + response / validation messages.

   Values mirror the theme 1:1; media blocks are emitted in the theme's own
   source order (BASE -> max-width:1024px -> max-width:767px).
   px only, never em (CF7 nests p > span > span and em would compound) and
   never rem (would shrink below the design size on wide screens).

   READABILITY FLOOR: several of these are authored in vw with no tablet
   override, so at a 900px viewport they fall back to the base vw value and
   render at 7-9px. max(<floor>, <themeValue>) keeps them legible at every
   step. The floor sits inside the gate, so the default render is untouched.
   Floors: 14px for messages (per brief), 12px for inputs and the consent
   label, which are unreadable at their computed 900px size.
   -------------------------------------------------------------------------- */

/* text inputs (checkbox + submit excluded, they are pinned separately) */
html body[class*="pojo-a11y-resize-font-"] input:not(input[type="checkbox"], input[type="submit"]) {
    font-size: calc(max(12px, 0.85vw) * var(--a11y-scale-form)) !important;
    line-height: 1.47 !important;
}

/* submit button */
html body[class*="pojo-a11y-resize-font-"] .submit-btn input {
    font-size: calc(max(14px, 1.5vw) * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}

/* response output - a <div>, so the plugin can never reach it (it froze at
   12.96px at every step). Unitless line-height: the theme uses 2vh, which
   does not grow with the font. */
html body[class*="pojo-a11y-resize-font-"] .wpcf7-response-output {
    font-size: calc(max(14px, 0.9vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}

/* validation tip - a <span>, so Section 3 would flatten it. .wpcf7 adds the
   third class needed to out-specify (0,2,3). */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .wpcf7-not-valid-tip {
    font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
    line-height: 1.35 !important;
}

/* consent checkbox label - the 2048px offender */
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
    font-size: calc(max(12px, 0.61vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}

/* the checkmark glyph is drawn with a pseudo-element on the checkbox */
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"]:checked::after {
    font-size: calc(max(10px, 0.8vw) * var(--a11y-scale-form)) !important;
    line-height: 1 !important;
}

/* the wrap is the positioned containing block for the absolute tip */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .wpcf7-form-control-wrap {
    line-height: 1.4 !important;
}


/* --------------------------------------------------------------------------
   Section 4b: elements carrying an intentional size of their own.
   Section 3 would flatten every <p>/<span>/<li> here, and the plugin cannot
   touch the <div>s at all, so each one is restated explicitly.
   Includes everything the theme wrote with :where(), which has ZERO
   specificity and would otherwise lose to Section 3.
   -------------------------------------------------------------------------- */

/* hero copy - a <div>, frozen under the plugin */
html body[class*="pojo-a11y-resize-font-"] .content {
    font-size: calc(1.3vw * var(--a11y-scale)) !important;
    line-height: 1.15 !important;
}
html body[class*="pojo-a11y-resize-font-"] .icon-list li > .text {
    font-size: calc(1.2vw * var(--a11y-scale)) !important;
    line-height: 1.08 !important;
}

/* small print inside the form */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .form-end-text {
    font-size: calc(max(12px, 0.9vw) * var(--a11y-scale)) !important;
    line-height: 1.25 !important;
}
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .form-bottom-text,
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .form-last-text {
    font-size: calc(max(11px, 0.61vw) * var(--a11y-scale)) !important;
    line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .form-top-text {
    font-size: calc(1.1vw * var(--a11y-scale)) !important;
    line-height: 1.1 !important;
}
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .main-form-title {
    font-size: calc(max(12px, 0.93vw) * var(--a11y-scale)) !important;
    line-height: 1.45 !important;
}

/* policy / accessibility links under the form */
html body[class*="pojo-a11y-resize-font-"] .pv-links > span,
html body[class*="pojo-a11y-resize-font-"] .pv-links .pv-link {
    font-size: calc(max(12px, 0.8vw) * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}

/* success message injected by the CF7 handler after submit */
html body[class*="pojo-a11y-resize-font-"] .cf7-success-message .success-title,
html body[class*="pojo-a11y-resize-font-"] .success-title {
    font-size: calc(1.5vw * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cf7-success-message .success-subtitle {
    font-size: calc(max(12px, 0.9vw) * var(--a11y-scale)) !important;
    line-height: 1.4 !important;
}

/* generic theme button (no instances today, kept so it cannot freeze later) */
html body[class*="pojo-a11y-resize-font-"] .global-btn,
html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
    font-size: calc(24px * var(--a11y-scale-form)) !important;
    line-height: 1.17 !important;
}

/* privacy + accessibility modals. The theme writes these with :where(), which
   is (0,2,0) and loses to Section 3 - restated explicitly here. */
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content p,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content li,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content a,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content div {
    font-size: calc(max(12px, 0.8vw) * var(--a11y-scale)) !important;
    line-height: 1.875 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 {
    font-size: calc(1.4vw * var(--a11y-scale)) !important;
    line-height: 1.16 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h3 {
    font-size: calc(1.1vw * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}


/* --------------------------------------------------------------------------
   Section 4c: Cookie banner (#cc-banner-root.cc-root).

   It is a direct child of <body>, OUTSIDE every content root, so Section 3
   cannot reach it. Its own stylesheet (inline <style id="cc-style">) declares
   .cc-btn { font-size: inherit } and gives .cc-root a flat 14px, which is why
   the plugin ran .cc-title/.cc-body away while .cc-root/.cc-btn stayed frozen.

   Generic inherit rule first, then explicit pins. Each pin gets a bare and a
   .cc-root-scoped selector so it wins in the banner and in the settings modal:
     html body[attr] .cc-root .cc-body  = (0,3,2)  beats
     html body[attr] .cc-root p         = (0,2,3)
   .cc-title and .cc-btn use the FORM curve with bumped baselines (16->18,
   14->15) so the very first click is a visible jump. Every pin is a calc() -
   a flat px would stop the runaway but freeze the banner again.
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .cc-root p,
html body[class*="pojo-a11y-resize-font-"] .cc-root li,
html body[class*="pojo-a11y-resize-font-"] .cc-root span,
html body[class*="pojo-a11y-resize-font-"] .cc-root label,
html body[class*="pojo-a11y-resize-font-"] .cc-root a {
    font-size: inherit !important;
}

html body[class*="pojo-a11y-resize-font-"] .cc-root {
    font-size: calc(14px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-title,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-title {
    font-size: calc(18px * var(--a11y-scale-form)) !important;
    line-height: 1.25 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-body,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-body {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-btn,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-btn {
    font-size: calc(15px * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-lang-toggle,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-lang-toggle {
    font-size: calc(12px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-head h2,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-modal-head h2 {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.25 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-close,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-modal-close {
    font-size: calc(24px * var(--a11y-scale)) !important;
    line-height: 1 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-cat-name,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cat-name {
    font-size: calc(14px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-cat-desc,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cat-desc {
    font-size: calc(13px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-required-badge,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-required-badge {
    font-size: calc(11px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list summary {
    font-size: calc(12px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}


/* --------------------------------------------------------------------------
   Section 4d: VALIDATION TIP POSITIONING - not required on this site.

   Audited both tips at 375 and 1440, steps none/130/160/200:
     plain fields   .wpcf7-not-valid-tip is position:absolute with
                    top:50% + translateY(-50%) inside .wpcf7-form-control-wrap
                    (position:relative). A 50% anchor auto-tracks, so it stays
                    centred as the message grows. spill stayed negative at
                    every step.
     consent row    .check-col .wpcf7-not-valid-tip is position:relative, i.e.
                    in normal flow. Nothing to correct.

   The theme's only fixed-px anchor (top:3.46vh at max-width:767px,
   responsive.css:511-519) is commented out and never applies, so no
   repositioning of the absolute tip is emitted - moving it would break a tip
   that is currently correct.

   The consent tip DOES need a correction, and it is the fixed-offset problem
   in disguise. style.css:484 sets ALL tips to
       position:absolute; top:50%; transform:translateY(-50%); left:0.5vw
   and style.css:492 then flips only the consent one back to
       position:relative; right:unset; margin-top:1vh
   without clearing `top` or `transform`. On a relatively positioned element
   those are pure visual drift that does not affect layout, and the drift is
   proportional to the parent's height - so it grows as the consent label is
   scaled. Measured at 360px, computed top reached 99.75px with a
   translateY(-33px), painting the red message across the label's last lines:
       2D tip/label overlap, before: none +2px | 180 -3px | 190 +13px | 200 +13px
   Resetting the leftover anchor puts the tip exactly where flow places it,
   and a font-proportional margin keeps the gap honest at every step:
       after: 130 -16px | 160 -18px | 190 -19px | 200 -20px, spill 0 throughout
   position:static is deliberately NOT used - the tip must keep its own
   positioning context. em is safe for a margin (it resolves against the
   element's own font-size and cannot compound like an em font-size would).
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .check-col .wpcf7-not-valid-tip {
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-top: calc(1vh + 0.5em) !important;
}


/* --------------------------------------------------------------------------
   Section 5: per-breakpoint values, in the theme's own source order.
   Source: assets/css/responsive.css. There are no Elementor post-*.css
   font-size rules on this site to mirror.
   -------------------------------------------------------------------------- */

/* Headings inside the content roots.

   These do not come from the theme at all - they come from Bootstrap, which
   this theme loads twice (CDN in header.php + assets/css/bootstrap.rtl.min.css).
   Bootstrap sizes h1-h4 fluidly and switches to fixed rem at >=1200px.

   Without this block the plugin's `h1..h6 { 1.33*NN% }` rule resolves against
   the (now sane) body pin and the biggest heading SHRINKS on the first click:
   measured on /hello-world/ at 1440, .login-banner h1 went 40px -> 31.81px at
   step 130. Mirroring Bootstrap's own values and multiplying keeps it
   monotonic (40 -> 46 -> 64px).

   rem is correct here - only <body> is pinned, <html> stays at 16px, so rem
   is a stable unit and matches what Bootstrap itself uses. */
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h1 {
    font-size: calc((1.375rem + 1.5vw) * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h2 {
    font-size: calc((1.325rem + 0.9vw) * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h3 {
    font-size: calc((1.3rem + 0.6vw) * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h4 {
    font-size: calc((1.275rem + 0.3vw) * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h5 {
    font-size: calc(1.25rem * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h6 {
    font-size: calc(1rem * var(--a11y-scale)) !important;
}

@media (min-width: 1200px) {
    html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h1 {
        font-size: calc(2.5rem * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h2 {
        font-size: calc(2rem * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h3 {
        font-size: calc(1.75rem * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-view, .bg-541d3a, .mobile-bottom, .mobile-menu, .privacy-modal-wrapper, .login-banner, .login-section, .description-section, .gold-card-banner, .home-banner, .container, .users-grid, .website-presentation) h4 {
        font-size: calc(1.5rem * var(--a11y-scale)) !important;
    }
}

@media (max-width: 1024px) {
    /* the theme only re-declares line-heights here, plus one font-size */
    html body[class*="pojo-a11y-resize-font-"] .wpcf7-response-output {
        font-size: calc(max(14px, 1vw) * var(--a11y-scale-form)) !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 767px) {
    /* the theme declares these in this order; the second .submit-btn input
       block overrides the first, so both are mirrored to keep the cascade
       identical */
    html body[class*="pojo-a11y-resize-font-"] .wpcf7 input[type="email"] {
        font-size: calc(15.031px * var(--a11y-scale-form)) !important;
        line-height: calc(35px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .submit-btn input {
        font-size: calc(4.1vw * var(--a11y-scale-form)) !important;
        line-height: 1.2 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .mob-wrapper > p > span {
        font-size: calc(32px * var(--a11y-scale)) !important;
        line-height: calc(15px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7 .wpcf7-form-control-wrap {
        line-height: calc(20px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] input:not(input[type="checkbox"], input[type="submit"]) {
        font-size: calc(14px * var(--a11y-scale-form)) !important;
        line-height: calc(18px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7 .wpcf7-not-valid-tip {
        font-size: calc(max(14px, 12px) * var(--a11y-scale-form)) !important;
        line-height: 1.35 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"]:checked::after {
        font-size: calc(11px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
        font-size: calc(max(12px, 10px) * var(--a11y-scale-form)) !important;
        line-height: calc(13px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .submit-btn input {
        font-size: calc(18px * var(--a11y-scale-form)) !important;
        line-height: calc(18px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7-response-output {
        font-size: calc(max(14px, 10px) * var(--a11y-scale-form)) !important;
        line-height: 1.4 !important;
    }

    /* mobile hero copy */
    html body[class*="pojo-a11y-resize-font-"] .mob-content > p {
        font-size: calc(17px * var(--a11y-scale)) !important;
        line-height: calc(18px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .mob-wrapper p:first-child,
    html body[class*="pojo-a11y-resize-font-"] .mob-wrapper p:nth-child(2) {
        font-size: calc(17px * var(--a11y-scale)) !important;
        line-height: 1.1 !important;
    }

    /* modals + policy links */
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 {
        font-size: calc(18px * var(--a11y-scale)) !important;
        line-height: calc(22px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h3 {
        font-size: calc(16px * var(--a11y-scale)) !important;
        line-height: calc(22px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content p,
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content li,
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content a,
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content div {
        font-size: calc(12px * var(--a11y-scale)) !important;
        line-height: calc(20px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .pv-links > span,
    html body[class*="pojo-a11y-resize-font-"] .pv-links .pv-link {
        font-size: calc(14px * var(--a11y-scale)) !important;
        line-height: 1.2 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .cf7-success-message .success-title,
    html body[class*="pojo-a11y-resize-font-"] .success-title {
        font-size: calc(20px * var(--a11y-scale)) !important;
        line-height: 1.2 !important;
    }
}
