@charset "UTF-8";
/* ==========================================================================
   Accessibility font-resize compatibility layer
   --------------------------------------------------------------------------
   Makes the "One Click Accessibility" (Pojo) font-resize buttons work on this
   vw-based Elementor build.

   The plugin only adds a body class and emits two !important rules:
       body.pojo-a11y-resize-font-NN, p, li, label, input, select, textarea,
       legend, code, pre, dd, dt, span, blockquote   { font-size: NN%      }
       body.pojo-a11y-resize-font-NN h1..h6, h1..h6 span { font-size: NN*1.33% }

   On this site that produces, measured at 375px, step 200 (plugin only):
       h1 > span            33.75px -> 226.42px   (compounding heading rule)
       consent label            9px -> 128px      (p > span > span > span nesting)
       name input              16px -> 256px
       submit <button>         18px -> 18px       (frozen, not in the selector list)
       cookie banner .cc-body  14px -> 28px       (runaway)
       cookie banner .cc-btn   14px -> 14px       (frozen)

   RULE A - every rule below is gated behind body[class*="pojo-a11y-resize-font-"].
            With nothing selected, and again after Reset, this file contributes
            zero computed differences.
   RULE B - #pojo-a11y-toolbar is a SIBLING of .elementor. Every generic rule is
            scoped inside a content root so it cannot leak into the toolbar.
            ONE deliberate exception, requested: the toolbar's own option labels
            are put on a gentler curve in Section 1 (12.8px -> 16px at max
            instead of the plugin's 12.8px -> 25.6px), so the panel grows less
            than the content it controls. Nothing else in the toolbar is touched.

   Content roots on this site (there is no other published page):
       .elementor            - home / page id 2 (Elementor, contains .elementor-322)
       .description-section  - search.php and 404.php (theme templates, no Elementor)
   ========================================================================== */


/* ==========================================================================
   SECTION 1 - STEP -> MULTIPLIERS (three curves)
   The plugin steps none -> 130 -> 140 -> ... -> 200 (minFontSize 120 is never
   applied as a class; the first click lands on 130).

   --a11y-scale       text / headings / lists      step 1 +15%  ...  max +60%
   --a11y-scale-form  inputs, submit, Elementor buttons, response output,
                      validation tips, checkbox labels, cookie title/body/button
                                                   step 1 +30%  ...  max +75%
   Form controls and the banner start from the smallest sizes on the page, so
   they need a bigger first jump to read as "bigger".

   --a11y-scale-toolbar  the accessibility toolbar's own option labels. A third,
                      deliberately gentler curve (step 1 +6% ... max +25%) so the
                      panel grows noticeably less than the page content it
                      controls. Left to the plugin these went 12.8px -> 25.6px
                      (+100%).
   ========================================================================== */
:root { --a11y-scale: 1; --a11y-scale-form: 1; --a11y-scale-toolbar: 1; }
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.15; --a11y-scale-form: 1.30; --a11y-scale-toolbar: 1.06; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.22; --a11y-scale-form: 1.40; --a11y-scale-toolbar: 1.09; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.28; --a11y-scale-form: 1.48; --a11y-scale-toolbar: 1.12; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.35; --a11y-scale-form: 1.55; --a11y-scale-toolbar: 1.15; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.42; --a11y-scale-form: 1.62; --a11y-scale-toolbar: 1.18; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.48; --a11y-scale-form: 1.68; --a11y-scale-toolbar: 1.20; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.54; --a11y-scale-form: 1.72; --a11y-scale-toolbar: 1.23; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; --a11y-scale-toolbar: 1.25; }

/* Toolbar option labels on the gentle curve. The plugin sizes these purely
   through its generic `span { NN% }` rule, so this is the one place the file
   deliberately changes toolbar behaviour (see the note at the top of Section 3).
   The `:not(#pojo-a11y-toolbar)` on the span buys an ID column so this also
   outranks the site's own inline a11y overrides. 12.8px -> 13.57px -> 16px. */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a span:not(#pojo-a11y-toolbar) {
    font-size: calc(12.8px * var(--a11y-scale-toolbar)) !important;
}


/* ==========================================================================
   SECTION 2 - BASE PIN
   Deliberately NOT scoped to a content root: the toolbar must keep inheriting
   normally. #pojo-a11y-toolbar carries its own `font-size:16px !important`
   from the plugin stylesheet, so this pin cannot reach it.
   Measured body baseline at rest is 16px. calc(), never a flat px, or the
   toolbar popup would freeze.
   Specificity (0,1,2) beats the plugin's body.pojo-a11y-resize-font-NN (0,1,1).
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] {
    font-size: calc(16px * var(--a11y-scale)) !important;
}


/* ==========================================================================
   SECTION 3 - KILL THE COMPOUNDING PERCENTAGES
   One block per content root. input/select/textarea are deliberately excluded -
   they are pinned in Section 4 instead.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] .elementor p,
html body[class*="pojo-a11y-resize-font-"] .elementor li,
html body[class*="pojo-a11y-resize-font-"] .elementor span,
html body[class*="pojo-a11y-resize-font-"] .elementor label,
html body[class*="pojo-a11y-resize-font-"] .elementor blockquote,
html body[class*="pojo-a11y-resize-font-"] .elementor legend,
html body[class*="pojo-a11y-resize-font-"] .elementor code,
html body[class*="pojo-a11y-resize-font-"] .elementor pre,
html body[class*="pojo-a11y-resize-font-"] .elementor dd,
html body[class*="pojo-a11y-resize-font-"] .elementor dt,
html body[class*="pojo-a11y-resize-font-"] .description-section p,
html body[class*="pojo-a11y-resize-font-"] .description-section li,
html body[class*="pojo-a11y-resize-font-"] .description-section span,
html body[class*="pojo-a11y-resize-font-"] .description-section label,
html body[class*="pojo-a11y-resize-font-"] .description-section blockquote,
html body[class*="pojo-a11y-resize-font-"] .description-section legend,
html body[class*="pojo-a11y-resize-font-"] .description-section code,
html body[class*="pojo-a11y-resize-font-"] .description-section pre,
html body[class*="pojo-a11y-resize-font-"] .description-section dd,
html body[class*="pojo-a11y-resize-font-"] .description-section dt {
    font-size: inherit !important;
}

/* Headings inside the theme-template roots: neutralise the plugin's
   NN*1.33% heading rule, which otherwise compounds on the nested span. */
html body[class*="pojo-a11y-resize-font-"] .description-section h1,
html body[class*="pojo-a11y-resize-font-"] .gold-card-banner h1 {
    font-size: calc(30px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .description-section h2 {
    font-size: calc(24px * var(--a11y-scale)) !important;
}
/* 404.php carries an inline style="font-size:30px" on this h3; an author
   !important still wins over a non-important inline declaration. */
html body[class*="pojo-a11y-resize-font-"] .description-section h3 {
    font-size: calc(30px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .description-section h4,
html body[class*="pojo-a11y-resize-font-"] .description-section h5,
html body[class*="pojo-a11y-resize-font-"] .description-section h6 {
    font-size: calc(18px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .breadcrums a,
html body[class*="pojo-a11y-resize-font-"] .breadcrums span,
html body[class*="pojo-a11y-resize-font-"] .description-section .call-btn {
    font-size: calc(16px * var(--a11y-scale)) !important;
}


/* ==========================================================================
   SECTION 4 - FORM CONTROLS + RESPONSE / VALIDATION MESSAGES
   On --a11y-scale-form. Values mirror the theme 1:1; media blocks are emitted
   in the theme's own source order, because its bands overlap:
       1. base
       2. (min-width:768px) and (max-width:1079px)
       3. (min-width:500px) and (max-width:767px)
       4. (max-width:768px)          <- declared AFTER band 3, so it wins in 500-767
       5. (max-width:480px)
   px/vw only: never em (CF7's p > span > span nesting compounds it) and never
   rem (would shrink below the design size on wide screens).
   ========================================================================== */

/* --- base ---------------------------------------------------------------- */

/* Every other form control on the site - the stock search template renders a
   `.filter-search-form` whose bare <input> is hit by the plugin's `input {NN%}`
   rule and compounds to 51.2px at step 200, widening to 546px and pushing the
   search page 215px past the viewport. Pinned here, before the
   .private-contact-form rules (0,2,3) which out-specify this (0,1,3).
   `#pojo-a11y-toolbar` contains no input/select/textarea on any page (verified),
   so this cannot reach the toolbar and Rule B still holds.
   max-width caps the intrinsic width an <input> derives from its font-size. */
html body[class*="pojo-a11y-resize-font-"] input,
html body[class*="pojo-a11y-resize-font-"] select,
html body[class*="pojo-a11y-resize-font-"] textarea {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    max-width: 100% !important;
}

html body[class*="pojo-a11y-resize-font-"] .private-contact-form input,
html body[class*="pojo-a11y-resize-font-"] .private-contact-form textarea {
    font-size: calc(1vw * var(--a11y-scale-form)) !important;
    line-height: 1 !important;
}
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .submit-col .global-btn {
    font-size: calc(1.2vw * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .wpcf7-list-item-label,
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .custom-check-label {
    font-size: calc(0.7vw * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before {
    font-size: calc(0.8vw * var(--a11y-scale-form)) !important;
}

/* Validation tips. READABILITY FLOOR: 0.8vw is ~7px at 900px wide, so the tip
   would still only reach ~12px at max scale. max(14px, ...) keeps it legible at
   every step. This is inside the gate, so the default render is untouched. */
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .wpcf7-not-valid-tip {
    font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}

/* Response output. NOTE: the theme's own rule for this element is
   `.private-contact-form .wpcf7 form .wpcf7-response-output`, which matches
   NOTHING - the div is a child of <form>, outside .private-contact-form. Its
   real rest size is therefore the inherited 16px, which is what we scale from.
   Unitless line-height, because the element otherwise inherits a fixed value. */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important;
}

html body[class*="pojo-a11y-resize-font-"] .private-contact-form .success-title,
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .success-subtitle {
    font-size: calc(2vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .success-title {
    font-size: calc(23px * var(--a11y-scale)) !important;
}

/* --- band 2: (min-width:768px) and (max-width:1079px) -------------------- */
@media (min-width: 768px) and (max-width: 1079px) {
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .wpcf7-list-item-label,
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .custom-check-label {
        font-size: calc(0.8vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form input,
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form textarea {
        font-size: calc(1.5vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .submit-col .global-btn {
        font-size: calc(1.6vw * var(--a11y-scale-form)) !important;
    }
}

/* --- band 3: (min-width:500px) and (max-width:767px) --------------------- */
@media (min-width: 500px) and (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .wpcf7-list-item-label,
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .custom-check-label {
        font-size: calc(12px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form input,
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form textarea {
        font-size: calc(16px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .submit-col .global-btn {
        font-size: calc(18px * var(--a11y-scale-form)) !important;
    }
}

/* --- band 4: (max-width:768px) ------------------------------------------ */
@media (max-width: 768px) {
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .wpcf7-not-valid-tip {
        font-size: calc(12px * var(--a11y-scale-form)) !important;
        line-height: 1.4 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output {
        font-size: calc(16px * var(--a11y-scale-form)) !important;
        line-height: 1.5 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .wpcf7-list-item-label,
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox .custom-check-label {
        font-size: calc(2.4vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before {
        font-size: calc(3.2vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .submit-col .global-btn {
        font-size: calc(18px * var(--a11y-scale-form)) !important;
    }
}

/* --- band 5: (max-width:480px) ------------------------------------------ */
@media (max-width: 480px) {
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form input,
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form textarea {
        font-size: calc(16px * var(--a11y-scale-form)) !important;
    }
}


/* ==========================================================================
   SECTION 4b - ELEMENTS CARRYING AN INTENTIONAL SIZE OF THEIR OWN
   Section 3 would otherwise flatten these to `inherit`.
   The privacy / accessibility modal writes its body copy with :where(), which
   has ZERO specificity - `.privacy-content :where(p,li,a,div)` is (0,2,0) and
   would lose to Section 3's (0,2,3). Restated explicitly here at (0,3,3).
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 {
    font-size: calc(1.4vw * var(--a11y-scale)) !important;
    line-height: 1.5 !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.5 !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(0.8vw * var(--a11y-scale)) !important;
    line-height: 1.6 !important;
}

@media (max-width: 768px) {
    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;
    }
    /* The theme drops `div` from this list on mobile - mirrored exactly, so a
       <div> keeps the 0.8vw base value here just as it does at rest. */
    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 {
        font-size: calc(12px * var(--a11y-scale)) !important;
    }
}


/* ==========================================================================
   SECTION 4c - COOKIE CONSENT BANNER (#cc-banner-root)
   The banner is injected by an external script as a DIRECT CHILD OF <body>,
   outside .elementor, so Section 3 cannot reach it.
   Measured plugin-only at 375px:  .cc-title (an h2)  16 -> 37.24px  runaway
                                   .cc-body  (a p)    14 -> 28px     runaway
                                   .cc-root  (a div)  14 -> 14px     frozen
                                   .cc-btn   (buttons, `font:inherit`)
                                                      14 -> 14px     frozen
   Generic inherit rule first, then explicit pins. Each pin gets both a bare and
   a .cc-root-scoped selector so it wins whether the element sits in the banner
   or in the settings modal. .cc-title / .cc-btn use the FORM curve with bumped
   baselines (16->18, 14->15) so the first click is a visible jump.
   EVERY pin is calc(...) - a flat px would stop the runaway but freeze the
   banner, so clicking would do nothing.

   Specificity note: `html body[attr] .cc-root .cc-title` is (0,3,2) and beats
   `html body[attr] .cc-root p` (0,2,3), because the class column is compared
   first - the pins therefore win over the generic inherit rule above them.
   ========================================================================== */
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.35 !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.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-btn.cc-btn-text,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-btn.cc-btn-text {
    font-size: calc(15px * var(--a11y-scale-form)) !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;
}
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;
}
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;
}
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-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 {
    font-size: calc(12px * var(--a11y-scale)) !important;
}


/* ==========================================================================
   SECTION 4d - VALIDATION TIP POSITIONING
   The consent-row tip is taken out of flow by the theme with a FIXED offset:
       base                  { position:absolute; top:3vw; text-wrap:nowrap }
       @media (max-width:768px)  { top:4vh }
   Both anchors are fixed, so neither can track the consent label as it grows.
   Its containing block is .wpcf7-form-control-wrap (position:relative, and only
   as wide as the ~1.2vw checkbox), which is also why the nowrap tip runs off
   the viewport once scaled.

   Fix, inside the gate only: hand the containing block to the flex row <p>, and
   anchor the tip to top:100% so it auto-tracks the full row height. The tip
   stays absolutely positioned - `position:static` would squeeze it into the
   ~30px checkbox column. Wrapping is re-enabled and the width bounded to the
   row, which removes the horizontal overflow at max scale. The row reserves
   space with padding-bottom so the tip cannot spill into the submit button.

   Measured at 375px, plugin only (overlap>0 = the red text sits ON the label):
       none +14.3px | 130 +68.5px | 160 +157.3px | 200 +384px
   The +14.3px at rest is a PRE-EXISTING defect and is reported, not silently
   changed here - Rule A forbids touching the at-rest render.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox.first > p {
    position: relative !important;
}
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox.first .wpcf7-form-control-wrap {
    position: static !important;
}
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox.first .wpcf7-not-valid-tip {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    text-wrap: wrap !important;
    white-space: normal !important;
}
html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox.first {
    padding-bottom: calc(max(14px, 0.8vw) * var(--a11y-scale-form) * 1.5 + 6px) !important;
}
@media (max-width: 768px) {
    html body[class*="pojo-a11y-resize-font-"] .private-contact-form .privacy-checkbox.first {
        padding-bottom: calc(12px * var(--a11y-scale-form) * 1.5 + 6px) !important;
    }
}


/* ==========================================================================
   SECTION 5 - PER-ELEMENT SIZES FROM THE ELEMENTOR POST CSS
   Every font-size rule from post-2.css (38 base + 38 @767) and post-322.css
   (21 base + 21 @767), gated and multiplied. post-3.css (the kit) declares no
   font-size at all. Selectors sharing a value are grouped.
   Elementor buttons use --a11y-scale-form.
   Every element that is vw at base and px on mobile gets BOTH values.
   ========================================================================== */

/* --- post-2.css :: base ------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-f02ca3c .elementor-heading-title {
    font-size: calc(1.25vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-5cf918a .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-e7d4867 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-2667ff4 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-9ceb5e8 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-9adfdf3 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d4addae .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d8fd7a8 .elementor-heading-title {
    font-size: calc(1.3vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-00f7ad7 .elementor-button {
    font-size: calc(1.3vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4fed5ea .elementor-divider__text,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-534654a .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-790acdb .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-28883c3 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d9bc9f1 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-cf80325 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-93cbdb0 .elementor-heading-title {
    font-size: calc(1.4vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-c7b929f .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-7d5a6bd .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4ca8b3d .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-154cfd5 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-b4830aa .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-81a3052 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-dfe258b .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-b55e207 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-cb7d0a8 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-e6be124 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-ad99ad5 .elementor-heading-title {
    font-size: calc(1.5vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-a8fc0b7 .elementor-heading-title {
    font-size: calc(1.8vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-0ef32cf .elementor-icon-list-item > .elementor-icon-list-text,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-0ef32cf .elementor-icon-list-item > a {
    font-size: calc(1vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4184813 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-a2c336e .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-9d41ed9 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-0e08355 .elementor-heading-title {
    font-size: calc(2.6vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-240fa9c .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4cf1b81 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-5dd7c9f .elementor-heading-title {
    font-size: calc(2.7vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-600d43a .elementor-heading-title {
    font-size: calc(3.5vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d9af4ed .elementor-heading-title {
    font-size: calc(4vw * var(--a11y-scale)) !important;
}

/* --- post-322.css (header/footer template) :: base ---------------------- */
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-14b0b52e .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-548d7a22 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-630eeb6b .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-78daad29 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-1414cd4a .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-1fbb4479 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-7ef9115d .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-38f8b182 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-4d5353bd .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-5dd72183 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-71aebb77 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-5810d73d .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-4cce3f71 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-83c83a1 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-60711d1b .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-6452a915 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-6f461f70 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-c72c6ef .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-70ddd810 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-34109ce7 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-14fa293e .elementor-heading-title {
    font-size: calc(1.3vw * var(--a11y-scale)) !important;
}

/* --- post-2.css + post-322.css :: @media (max-width:767px) -------------- */
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-0ef32cf .elementor-icon-list-item > .elementor-icon-list-text,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-0ef32cf .elementor-icon-list-item > a {
        font-size: calc(10px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4fed5ea .elementor-divider__text {
        font-size: calc(18px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-534654a .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-790acdb .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-28883c3 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d9bc9f1 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-5cf918a .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-e7d4867 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-2667ff4 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-cf80325 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-9ceb5e8 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-9adfdf3 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d4addae .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d8fd7a8 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-93cbdb0 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-b55e207 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-cb7d0a8 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-e6be124 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-ad99ad5 .elementor-heading-title {
        font-size: calc(3.4vw * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-f02ca3c .elementor-heading-title {
        font-size: calc(3.6vw * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-00f7ad7 .elementor-button {
        font-size: calc(3.7vw * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-c7b929f .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-7d5a6bd .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4ca8b3d .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-154cfd5 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-b4830aa .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-81a3052 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-dfe258b .elementor-heading-title {
        font-size: calc(4.6vw * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-a8fc0b7 .elementor-heading-title {
        font-size: calc(4vw * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4184813 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-a2c336e .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-9d41ed9 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-0e08355 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-240fa9c .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-4cf1b81 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-5dd7c9f .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-600d43a .elementor-heading-title {
        font-size: calc(5vw * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-2 .elementor-element.elementor-element-d9af4ed .elementor-heading-title {
        font-size: calc(9vw * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-14b0b52e .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-548d7a22 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-630eeb6b .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-78daad29 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-1414cd4a .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-1fbb4479 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-7ef9115d .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-38f8b182 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-4d5353bd .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-5dd72183 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-71aebb77 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-5810d73d .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-4cce3f71 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-83c83a1 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-60711d1b .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-6452a915 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-6f461f70 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-c72c6ef .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-70ddd810 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-34109ce7 .elementor-heading-title,
    html body[class*="pojo-a11y-resize-font-"] .elementor-322 .elementor-element.elementor-element-14fa293e .elementor-heading-title {
        font-size: calc(18px * var(--a11y-scale)) !important;
    }
}


/* ==========================================================================
   SECTION 6 - CONSENT CHECKBOX BORDER IN THE CONTRAST MODES
   --------------------------------------------------------------------------
   Gated behind the CONTRAST body classes, not the resize class, so Rule A
   still holds: with no accessibility option selected this section is inert.

   The border is NOT missing - it is a 1px hairline whose fill matches the page.
   Measured on the live checkbox (forcing a restyle after each class change;
   reading without one returns a stale 0px/none and sends you chasing a
   specificity bug that is not there):

       mode              border         checkbox fill        page behind it
       default           1px #fff       rgba(255,255,255,.3) dark navy   ok
       high-contrast     1px #fff       rgba(255,255,255,.3) #000        washed out
       negative-contrast 1px #fff       #000                 #000        hairline only
       light-background  1px #000       #fff                 #fff        hairline only

   In every contrast mode the plugin repaints the checkbox fill to the same
   colour as the page, so the only thing separating the control from its
   background is a single hairline - at 1.2vw (~23px) that reads as "no box".
   High contrast is the worst: the theme's translucent white fill stays, giving
   a light grey box with a white 1px edge that vanishes into it.

   Fix: 2px, plus an explicit fill that contrasts with the mode's page colour.

   The `:not(#pojo-a11y-toolbar)` on the input is load-bearing. In negative
   contrast the plugin rules inputs with
       body.pojo-a11y-negative-contrast *:not(#pojo-a11y-toolbar) input
           { border: 1px solid #fff !important; }
   whose :not(#id) gives it an ID column - (1,1,2). Without the matching :not()
   these rules would be (0,4,3) and LOSE despite looking more specific. With it
   they are (1,4,3) and win. An <input> is never the toolbar, so the :not()
   changes nothing about what is matched.
   ========================================================================== */

/* --- high contrast: black page, white text -> white box outline ---------- */
html body.pojo-a11y-high-contrast .private-contact-form .privacy-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar) {
    border: 2px solid #FFFFFF !important;
    background: #000000 !important;
    background-color: #000000 !important;
}
html body.pojo-a11y-high-contrast .private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before {
    color: #FFFFFF !important;
}

/* --- negative contrast: black page, yellow text. The plugin already rules
       inputs with `border:1px solid #ffffff`, so white keeps the mode
       self-consistent; only the width and the missing edges are restored. --- */
html body.pojo-a11y-negative-contrast .private-contact-form .privacy-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar) {
    border: 2px solid #FFFFFF !important;
    background: #000000 !important;
    background-color: #000000 !important;
}
html body.pojo-a11y-negative-contrast .private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before {
    color: #FFFF00 !important;
}

/* --- light background: white page, black text -> black box outline ------- */
html body.pojo-a11y-light-background .private-contact-form .privacy-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar) {
    border: 2px solid #000000 !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}
html body.pojo-a11y-light-background .private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before {
    color: #000000 !important;
}