/* =========================================================================
   ENZO Ashdod LP — One Click Accessibility (Pojo) font-resize corrections
   -------------------------------------------------------------------------
   WHY THIS FILE EXISTS
   The Pojo "One Click Accessibility" plugin resizes text by putting
   `body.pojo-a11y-resize-font-NNN` on <body> and then forcing
   `font-size: NNN% !important` on body / p / li / span / label / input /
   select / textarea / dd / dt / blockquote, plus a separate (larger)
   percentage on h1..h6 AND on `h_ span`.

   On this site that misbehaves in four ways:
     1. Almost every size on the page is expressed in `vw` (Elementor page
        CSS + the page's custom CSS). `vw` is viewport-relative, so the
        plugin's percentage on <body> never reaches those elements —
        headings simply never change.
     2. The plugin's percentages COMPOUND through nesting. Contact-Form-7
        wraps every control in <p><span class="wpcf7-form-control-wrap">,
        so at step 200 an input stacks p% x span% x input% and explodes.
     3. Elements switch units per breakpoint (e.g. a heading is 0.9vw on
        desktop but 4.4vw on mobile, the toolbar-form is 1vw / 16px), so a
        single override would silently break one of the breakpoints.
     4. The cookie banner (#cc-banner-root) lives OUTSIDE .elementor, and
        .cc-btn is `font: inherit`, so the plugin either runs it away
        (.cc-body 14 -> ~45px) or freezes it (.cc-btn stuck at 14px).

   HOW IT IS FIXED
   Every declaration below is gated behind
   `body[class*="pojo-a11y-resize-font-"]`, so with NO accessibility size
   selected (and after Reset) this file contributes exactly zero computed
   differences — the design renders untouched.
   Every generic rule is scoped inside `.elementor` (or `.cc-*`) so the
   accessibility toolbar itself (#pojo-a11y-toolbar — a SIBLING of
   .elementor) keeps scaling exactly the way the plugin always made it.

   DO NOT add rules here that are not gated behind the body class.
   ========================================================================= */


/* =========================================================================
   Section 1 — STEP -> MULTIPLIERS (two curves)
   -------------------------------------------------------------------------
   Two curves, because form controls / buttons / messages start from the
   smallest sizes on the page and need a bigger first jump to actually feel
   bigger when the user presses "הגדל טקסט".

     --a11y-scale       headings, paragraphs, lists, general text
                        step 1: +18%  ...  max: +60%
     --a11y-scale-form  inputs, selects, labels, submit + Elementor buttons,
                        response / validation messages, cookie title+buttons
                        step 1: +30%  ...  max: +75%

   The toolbar exposes steps 130..200 (Reset removes the class). 120 is
   declared too because the plugin ships that class as well.
   ========================================================================= */
:root {
    --a11y-scale: 1;
    --a11y-scale-form: 1;
}

body.pojo-a11y-resize-font-120 { --a11y-scale: 1.10; --a11y-scale-form: 1.22; }
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.18; --a11y-scale-form: 1.30; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.25; --a11y-scale-form: 1.40; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.31; --a11y-scale-form: 1.48; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.37; --a11y-scale-form: 1.55; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.43; --a11y-scale-form: 1.62; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.49; --a11y-scale-form: 1.68; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.55; --a11y-scale-form: 1.72; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; }


/* =========================================================================
   Section 2 — Base pin on <body>
   -------------------------------------------------------------------------
   The theme's own body size is 18px (assets/css/style.css). Pin it to a
   SCALED value (never a flat px value) so everything that merely inherits
   still grows — including the cookie-settings modal, which is a direct
   child of <body>.
   NOT scoped to .elementor on purpose: #pojo-a11y-toolbar carries its own
   `font-size: 16px !important` from the plugin, so the toolbar popup is
   unaffected by this and keeps its native 12.8px -> 25.6px behaviour.

   The theme also sets a FIXED `line-height: 26px` on body. Left alone, a
   28.8px body font inside a 26px line box makes every inheriting block of
   text overlap itself, so the line-height is scaled by the same factor —
   the ratio, and therefore the look, is preserved exactly.
   ========================================================================= */
html body[class*="pojo-a11y-resize-font-"] {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: calc(26px * var(--a11y-scale)) !important;
}


/* =========================================================================
   Section 3 — Neutralise the plugin's compounding percentages INSIDE
               .elementor only.
   -------------------------------------------------------------------------
   These elements have no intentional size of their own on this site, so
   making them `inherit` lets the scaled cascade reach them exactly ONCE.
   This is what stops <span> inside <h2>/<p> from being scaled twice
   (the plugin's `h_ span` rule is ~1.7x on top of an already scaled
   heading) and what stops CF7's <p><span> nesting from multiplying.
   Anything that DOES carry an intentional size is re-declared in
   Sections 4 / 4b / 5 with higher specificity.
   ========================================================================= */
body[class*="pojo-a11y-resize-font-"] .elementor p,
body[class*="pojo-a11y-resize-font-"] .elementor li,
body[class*="pojo-a11y-resize-font-"] .elementor span,
body[class*="pojo-a11y-resize-font-"] .elementor label,
body[class*="pojo-a11y-resize-font-"] .elementor legend,
body[class*="pojo-a11y-resize-font-"] .elementor blockquote,
body[class*="pojo-a11y-resize-font-"] .elementor dd,
body[class*="pojo-a11y-resize-font-"] .elementor dt {
    font-size: inherit !important;
}


/* =========================================================================
   Section 4 — FORM CONTROLS + response / validation messages
   -------------------------------------------------------------------------
   Values mirror the page's own custom CSS, one explicit value per
   breakpoint, multiplied by --a11y-scale-form.
   Explicit values (never em / rem) are what immunises these against CF7's
   <p><span> nesting: em would compound to hundreds of px, rem would shrink
   the controls below their designed size on wide screens.
   ========================================================================= */

/* --- text controls: theme value 1vw ------------------------------------ */
html body[class*="pojo-a11y-resize-font-"] .elementor input,
html body[class*="pojo-a11y-resize-font-"] .elementor textarea,
html body[class*="pojo-a11y-resize-font-"] .elementor select {
    font-size: calc(1vw * var(--a11y-scale-form)) !important;
}

/* --- the visible label span in front of each control: 1.18vw ----------- */
html body[class*="pojo-a11y-resize-font-"] .main-contact-form label span:first-child {
    font-size: calc(1.18vw * var(--a11y-scale-form)) !important;
}

/* --- submit button: 1.4vw --------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
    font-size: calc(1.4vw * var(--a11y-scale-form)) !important;
}

/* --- checkbox row ------------------------------------------------------ */
html body[class*="pojo-a11y-resize-font-"] .elementor .privacy-checkbox p,
html body[class*="pojo-a11y-resize-font-"] .elementor .checkbox-group .first.last .wpcf7-list-item-label {
    font-size: calc(0.9vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor .privacy-checkbox .wpcf7-list-item-label,
html body[class*="pojo-a11y-resize-font-"] .elementor .privacy-checkbox .custom-check-label {
    font-size: calc(0.7vw * var(--a11y-scale-form)) !important;
}
/* the "✓" glyph drawn with ::before must track the box, not the text */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"]:checked::before {
    font-size: 0.9vw !important;
}

/* --- per-field validation tip: 0.8vw ----------------------------------- */
/* unitless line-height so the tip does not crowd itself as it grows       */
html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7-not-valid-tip {
    font-size: calc(0.8vw * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}

/* --- consent-checkbox validation tip ----------------------------------
   The theme pins this one tip absolutely (bottom:-1.5vw on desktop,
   top:32px on mobile) with `text-wrap: nowrap`, and its containing block
   is the tiny .wpcf7-form-control-wrap around the checkbox — which the
   flex row centres vertically. At the default size the consent label is
   one line, so the tip lands just under it. As soon as the text grows the
   label wraps to 3+ lines, the row gets taller, and the tip — still glued
   to the vertically-centred checkbox — ends up printed ON TOP of the
   label text (measured: 124x26px of overlap at 1440, step 200).

   Re-anchor it to the row itself and let it wrap, so it always sits below
   the whole block, and reserve the space it needs (only while the error
   is actually on screen — :has() releases it the moment the box is
   ticked). Gated, so the default layout is byte-identical.             */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first > p {
    position: relative;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first .wpcf7-form-control-wrap {
    position: static !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first .wpcf7-not-valid-tip {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-wrap: wrap !important;
    text-align: right !important;
    margin: 4px 0 0 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first:has(.wpcf7-not-valid-tip) {
    padding-bottom: 1.8em !important;
}

/* --- form response message: 0.8vw ------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7 form .wpcf7-response-output {
    font-size: calc(0.8vw * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important;
}

/* --- success message injected after a successful submit: 1.5vw --------- */
html body[class*="pojo-a11y-resize-font-"] .elementor .success-title {
    font-size: calc(1.5vw * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}


/* =========================================================================
   Section 4b — Spans / links that carry an intentional size of their own
   -------------------------------------------------------------------------
   Section 3 flattens every .elementor span to `inherit`; these carry a
   deliberate size in the page CSS and must be re-declared.
   (.pv-links / .pv-link / .privacy-wrapper belong to the privacy &
   accessibility-statement modals rendered by the theme shortcodes — they
   are not always in the DOM, the rules are here so they behave when they
   are.)
   ========================================================================= */
html body[class*="pojo-a11y-resize-font-"] .pv-links > span,
html body[class*="pojo-a11y-resize-font-"] .pv-link {
    font-size: calc(0.8vw * var(--a11y-scale)) !important;
    line-height: 1.2 !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.4 !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.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content :where(p, li, a, div) {
    font-size: calc(0.8vw * var(--a11y-scale)) !important;
    line-height: 1.6 !important;
}


/* =========================================================================
   Section 4c — Cookie banner + cookie-settings modal
   -------------------------------------------------------------------------
   #cc-banner-root and .cc-modal-wrap are DIRECT CHILDREN OF <body>, i.e.
   outside .elementor, so Section 3's inherit-fix never reaches them.
   Left alone the plugin does this:
       .cc-body   (a <p>)  14px -> ~45px at max      (runaway)
       .cc-title  (an <h2>) 16px -> ~37px at max     (runaway)
       .cc-btn    `font: inherit` in cc-style        (frozen at 14px)

   Fix: pin every .cc-* explicitly so the plugin cannot reach it, and make
   every pin `calc(<px> * var(--a11y-scale…))` — a FIXED px pin would stop
   the runaway but also FREEZE the banner, which is worse for the user.
   .cc-title / .cc-btn get a slightly bumped baseline (16->18, 14->15) so
   the FIRST click is an obvious jump rather than a nudge; the rules are
   gated, so at default the banner still renders at its original 16 / 14.
   The banner is pinned through #cc-banner-root (an id) so nothing in this
   file or in the plugin can out-specify it.
   ========================================================================= */

/* generic inherit-fix for the banner + modal subtree */
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-modal-wrap p,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap li,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap span,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap label {
    font-size: inherit !important;
}

/* ---- the banner itself ------------------------------------------------ */
html body[class*="pojo-a11y-resize-font-"] #cc-banner-root.cc-root {
    font-size: calc(14px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] #cc-banner-root .cc-title {
    font-size: calc(18px * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] #cc-banner-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-banner-root .cc-btn {
    font-size: calc(15px * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] #cc-banner-root .cc-lang-toggle {
    font-size: calc(12px * var(--a11y-scale)) !important;
}

/* ---- the "הגדרות" settings modal -------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-head h2 {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-close {
    font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cat-desc {
    font-size: calc(13px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-required-badge {
    font-size: calc(11px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list summary,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list td {
    font-size: calc(12px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-btn {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}


/* =========================================================================
   Section 5 — Per-element Elementor sizes (page 926)
   -------------------------------------------------------------------------
   Every font-size Elementor emits for .elementor-926, re-declared with the
   scale, at EVERY breakpoint it exists at (base / max-width:1024 /
   max-width:767). Skipping a breakpoint would silently break that size.
   The Elementor button uses --a11y-scale-form (it is a call-to-action and
   needs the bigger jump).
   ========================================================================= */

/* ---- base (desktop) --------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-15d75d9f .elementor-heading-title { font-size: calc(1vw    * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-5956caf0 .elementor-heading-title { font-size: calc(4.6vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-f251975  .elementor-heading-title { font-size: calc(2.1vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-fb8903b  .elementor-heading-title { font-size: calc(1.9vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-4ba51759 .elementor-heading-title { font-size: calc(1.2vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-cac650f  .elementor-heading-title { font-size: calc(1.15vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-96b14d4  .elementor-heading-title { font-size: calc(1.6vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-e30f0fe  .elementor-heading-title { font-size: calc(2vw    * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-a94ec2a  .elementor-heading-title { font-size: calc(0.9vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-7da0f63  .elementor-heading-title { font-size: calc(0.9vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-69484d9  .elementor-heading-title { font-size: calc(0.9vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-50f544b6 .elementor-heading-title { font-size: calc(0.9vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-748118ee .elementor-heading-title { font-size: calc(0.9vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-66c56247 .elementor-heading-title { font-size: calc(1.5vw  * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-54527a16 .elementor-heading-title { font-size: calc(1.5vw  * var(--a11y-scale)) !important; }

html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-57270bfe .elementor-icon-list-item > .elementor-icon-list-text,
html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-57270bfe .elementor-icon-list-item > a {
    font-size: calc(0.8vw * var(--a11y-scale)) !important;
}

html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-693e4c3 .elementor-button {
    font-size: calc(1.23vw * var(--a11y-scale-form)) !important;
}

/* ---- Elementor tablet breakpoint -------------------------------------- */
@media (max-width: 1024px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-693e4c3 .elementor-button {
        font-size: calc(2.4vw * var(--a11y-scale-form)) !important;
    }
}

/* ---- Elementor mobile breakpoint -------------------------------------- */
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-15d75d9f .elementor-heading-title { font-size: calc(12px  * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-5956caf0 .elementor-heading-title { font-size: calc(13vw  * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-f251975  .elementor-heading-title { font-size: calc(7vw   * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-fb8903b  .elementor-heading-title { font-size: calc(7vw   * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-4ba51759 .elementor-heading-title { font-size: calc(4.5vw * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-cac650f  .elementor-heading-title { font-size: calc(4.4vw * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-96b14d4  .elementor-heading-title { font-size: calc(5vw   * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-e30f0fe  .elementor-heading-title { font-size: calc(8vw   * var(--a11y-scale)) !important; }

    /* these five share a FIXED 20px line-height on mobile — it must be
       scaled too, otherwise the 2-3 line headings overlap themselves      */
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-a94ec2a  .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-7da0f63  .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-69484d9  .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-50f544b6 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-748118ee .elementor-heading-title {
        font-size: calc(4.4vw * var(--a11y-scale)) !important;
        line-height: calc(20px * var(--a11y-scale)) !important;
    }

    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-66c56247 .elementor-heading-title { font-size: calc(19px * var(--a11y-scale)) !important; }

    /* same problem: fixed 26px line-height on a two-line heading          */
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-54527a16 .elementor-heading-title {
        font-size: calc(27px * var(--a11y-scale)) !important;
        line-height: calc(26px * var(--a11y-scale)) !important;
    }

    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-57270bfe .elementor-icon-list-item > .elementor-icon-list-text,
    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-57270bfe .elementor-icon-list-item > a {
        font-size: calc(12px * var(--a11y-scale)) !important;
    }

    html body[class*="pojo-a11y-resize-font-"] .elementor-926 .elementor-element.elementor-element-693e4c3 .elementor-button {
        font-size: calc(4.6vw * var(--a11y-scale-form)) !important;
    }
}


/* =========================================================================
   Section 6 — Mobile form breakpoint + layout guards
   -------------------------------------------------------------------------
   The page's custom CSS switches the form to px on mobile AND gives the
   controls / submit button a FIXED height: 40px. Once the text grows, a
   fixed 40px box clips the text and the submit label starts sitting on top
   of its own border. These guards release the fixed height into
   `min-height` so the control grows with its text — only while an
   accessibility size is active, so the default design is untouched.
   ========================================================================= */
@media (max-width: 767px) {

    /* --- sizes (page custom CSS mobile values) ------------------------- */
    html body[class*="pojo-a11y-resize-font-"] .elementor input,
    html body[class*="pojo-a11y-resize-font-"] .elementor textarea,
    html body[class*="pojo-a11y-resize-font-"] .elementor select {
        font-size: calc(16px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .form-field select {
        font-size: calc(4.4vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .main-contact-form label span:first-child {
        font-size: calc(3.4vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
        font-size: calc(5vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .privacy-checkbox .wpcf7-list-item-label,
    html body[class*="pojo-a11y-resize-font-"] .elementor .privacy-checkbox .custom-check-label {
        font-size: calc(2.25vw * var(--a11y-scale-form)) !important;
        line-height: 1.3 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .first.last .wpcf7-list-item-label {
        font-size: calc(14px * var(--a11y-scale-form)) !important;
        line-height: 1.2 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"]:checked::before {
        font-size: 12px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7-not-valid-tip {
        font-size: calc(3vw * var(--a11y-scale-form)) !important;
        line-height: 1.3 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7 form .wpcf7-response-output {
        font-size: calc(12px * var(--a11y-scale-form)) !important;
        line-height: 1.5 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .success-title {
        font-size: calc(20px * var(--a11y-scale-form)) !important;
        line-height: 1.3 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .pv-links > span,
    html body[class*="pojo-a11y-resize-font-"] .pv-link {
        font-size: calc(14px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 {
        font-size: calc(18px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h3 {
        font-size: calc(16px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content :where(p, li, a, div) {
        font-size: calc(12px * var(--a11y-scale)) !important;
    }

    /* --- guards: let the boxes grow with their text -------------------- */
    html body[class*="pojo-a11y-resize-font-"] .elementor input:not([type="checkbox"]):not([type="radio"]),
    html body[class*="pojo-a11y-resize-font-"] .elementor textarea,
    html body[class*="pojo-a11y-resize-font-"] .elementor select {
        height: auto !important;
        min-height: 40px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
        height: auto !important;
        min-height: 40px !important;
    }
}
