/* ==========================================================================
   accessibility.css — One Click Accessibility (Pojo) font-resize repair
   --------------------------------------------------------------------------
   The plugin adds a body class (pojo-a11y-resize-font-120 … -200) and emits
   only two !important rules per step:

     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 }

   Percentages resolve against the PARENT, so they compound through every
   wrapper, they cannot move a vw-based size, and they never reach <button>,
   <div> or <a>. Measured on this site, plugin only, step 200 @ 1440px:

     consent checkbox label   11.4px -> 2048px      (p>span>span>span>span)
     text input               14.4px ->  256px
     validation tip           10.1px ->  256px
     heading span (.currency) 21.6px ->  226px
     <p> on /sample-page/       16px ->   64px
     blockquote p               16px ->  128px
     .wpcf7-response-output   12.96px -> 12.96px    (a <div> — frozen)
     footer icon-list link     14.4px -> 14.4px     (an <a>  — frozen)
     .cc-root / .cc-btn          14px ->   14px     (frozen)
     .cc-title / .cc-body     16/14px -> 37/28px    (runaway)
     documentElement.scrollWidth 1440 -> 12264px

   Every rule is gated behind body[class*="pojo-a11y-resize-font-"], so with
   nothing selected — and again after Reset — this file contributes zero
   computed differences (verified: diff {} on every page at 375/900/1440).

   #pojo-a11y-toolbar is a SIBLING of the content roots and is deliberately
   never matched by the generic rules, so the toolbar keeps scaling exactly as
   the plugin always made it (item span 12.8px -> 25.6px, verified identical
   with and without this file).

   --------------------------------------------------------------------------
   TWO GATES, and why the second one exists
   --------------------------------------------------------------------------
     GATE   html body[class*="pojo-a11y-resize-font-"]            = (0,1,2)
     GATE+  html body[class*="pojo-a11y-resize-font-"][class]     = (0,2,2)

   Section 3 has to out-specify the plugin's `body.NN p:not(...)` = (0,2,2),
   so it lands on (0,2,3). A single-class pin such as `GATE .subhedding` is
   only (0,2,2) and would LOSE to it — measured: .subhedding 20px -> 18.4px
   and .poup-close 30px -> 18.4px, i.e. text SHRINKING when the visitor asks
   for bigger. The extra `[class]` (always true — body always carries the
   pojo class) adds one class-column step, putting every pin at (0,3,x) so it
   reliably beats Section 3. Sections 2, 3 and the generic heading fallbacks
   use GATE; everything that pins a designed value uses GATE+.

   :is() takes the specificity of its most specific argument, so the root list
   is exactly equivalent to writing every root out longhand.
   ========================================================================== */


/* ==========================================================================
   SECTION 1 — STEP -> MULTIPLIERS (two curves)
   Form controls and the cookie banner start from the smallest sizes on the
   page, so they use a steeper curve to make the first click read as a real
   jump. -120 is included because it exists in the plugin's stylesheet; the
   increase button never reaches it (none -> 130 -> … -> 200, verified), but
   if it were ever set the gate would still match while the variables fell
   back to :root's 1, which would freeze the whole page at design size.
   ========================================================================== */
:root {
	--a11y-scale: 1;
	--a11y-scale-form: 1;
	/* Extra breathing room for the input / submit boxes on top of the form
	   curve, so a bigger label sits in a proportionally taller control instead
	   of a tight one. Only ever applied inside the gate, so the default render
	   is untouched. Raise or lower this single value to taste. */
	--a11y-control-boost: 1.15;
}
body.pojo-a11y-resize-font-120 { --a11y-scale: 1.08; --a11y-scale-form: 1.15; }
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 every page of this site is 16px. Deliberately
   NOT scoped to a content root: the toolbar popup inherits from <body>, and a
   flat px here would freeze it. calc() keeps it moving.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] {
	font-size: calc(16px * var(--a11y-scale)) !important;
}


/* ==========================================================================
   SECTION 3 — KILL THE COMPOUNDING PERCENTAGES
   One block covering every content root found on the site:
     .elementor            /new-dona-lp/ — the ONLY Elementor page
     .main-wrap            / (template-home.php)
     .description-section  privacy x2, accessibility statement, sample-page,
                           404, search
     .login-banner / .login-section          single-post template
     .gold-card-banner                       404
     .home-banner / .users-grid /
     .website-presentation                   search
     .gallery-popup / .map-popup /
     .mobile-butotn                          home page overlays
     .container                              404 + search bootstrap wrapper
   input/select/textarea are excluded on purpose — Section 4 owns them.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] :is(
	.elementor, .main-wrap, .description-section, .login-banner, .login-section,
	.gold-card-banner, .home-banner, .users-grid, .website-presentation,
	.gallery-popup, .map-popup, .mobile-butotn, .container
) :is(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
	font-size: inherit !important;
}


/* ==========================================================================
   SECTION 4 — FORM CONTROLS + MESSAGES  (--a11y-scale-form)
   Values mirror the theme 1:1, one rule per selector per breakpoint, media
   blocks in the theme's own source order. px/vw only — never em (CF7 nests
   p > span > span > span and em would compound) and never rem (would shrink
   below the design size on wide screens).

   READABILITY FLOOR: .wpcf7-not-valid-tip is 0.7vw and .wpcf7-response-output
   is 0.9vw with no override above 1080px, so at 1200px they render at 8.4px
   and 10.8px with accessibility OFF. max(14px, <theme>) keeps them legible at
   every step. It sits inside the gate, so the default render is untouched.
   ========================================================================== */

/* --- /new-dona-lp/ : mirrors assets/css/main.css ------------------------- */
html body[class*="pojo-a11y-resize-font-"][class] .field-col input,
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-select,
html body[class*="pojo-a11y-resize-font-"][class] .field-col label .wpcf7-form-control-wrap {
	font-size: calc(1vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .submit-btn input {
	font-size: calc(1.2vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox .wpcf7-list-item-label {
	font-size: calc(0.79vw * var(--a11y-scale-form)) !important;
	line-height: 1.35 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .simple-text p {
	font-size: calc(0.75vw * var(--a11y-scale-form)) !important;
	line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-not-valid-tip {
	font-size: calc(max(14px, 0.7vw) * var(--a11y-scale-form)) !important;
	line-height: 1.35 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-response-output {
	font-size: calc(max(14px, 0.9vw) * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .field-col label > span:first-child {
	font-size: calc(25px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .contact-form .form-heading {
	font-size: calc(30px * var(--a11y-scale)) !important;
}

/* --- / (home) : theme form, sized in px at every breakpoint -------------- */
html body[class*="pojo-a11y-resize-font-"][class] .form-wrap input {
	font-size: calc(16px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .form-wrap input[type="submit"] {
	font-size: calc(21px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .checkbox-wrap label {
	font-size: calc(13px * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .markitting-notice p {
	font-size: calc(12px * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .end-notice p {
	font-size: calc(13px * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
}

/* main.css @media (min-width:768px) and (max-width:1080px) ---------------- */
@media (min-width: 768px) and (max-width: 1080px) {
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox .wpcf7-list-item-label {
		font-size: calc(1vw * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .simple-text p {
		font-size: calc(1vw * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-not-valid-tip {
		font-size: calc(max(14px, 1vw) * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-response-output {
		font-size: calc(max(14px, 1vw) * var(--a11y-scale-form)) !important;
	}
}

/* main.css @media (max-width:767px) --------------------------------------- */
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"][class] .field-col input,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-select,
	html body[class*="pojo-a11y-resize-font-"][class] .field-col label .wpcf7-form-control-wrap {
		font-size: calc(16px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .submit-btn input {
		font-size: calc(22px * var(--a11y-scale-form)) !important;
		line-height: 1.2 !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox .wpcf7-list-item-label {
		font-size: calc(13px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .simple-text p {
		font-size: calc(13px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-not-valid-tip {
		font-size: calc(14px * var(--a11y-scale-form)) !important;
	}
	/* the plain .wpcf7-response-output has NO mobile override in the theme —
	   only the .sent/.failed/.aborted/.invalid state selectors do (12px). */
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.sent .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.failed .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.aborted .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.invalid .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.unaccepted .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.payment-required .wpcf7-response-output {
		font-size: calc(14px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .field-col label > span:first-child {
		font-size: calc(16px * var(--a11y-scale-form)) !important;
	}
	/* the theme writes this one with :where(), which has ZERO specificity and
	   would be flattened by Section 3 — restated explicitly. */
	html body[class*="pojo-a11y-resize-font-"][class] .form-order form p,
	html body[class*="pojo-a11y-resize-font-"][class] .form-order form .wpcf7-list-item-label {
		font-size: calc(13px * var(--a11y-scale-form)) !important;
		line-height: 1.4 !important;
	}
}


/* ==========================================================================
   SECTION 4b — ELEMENTS CARRYING AN INTENTIONAL SIZE OF THEIR OWN
   Section 3 would flatten every one of these to the body size.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"][class] .currency-sign {
	font-size: calc(1.5vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .upper-heading-middle span span {
	font-size: calc(20px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .price-symbol {
	font-size: calc(22px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .price-section {
	font-size: calc(21px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .icon-wrap p {
	font-size: calc(15px * var(--a11y-scale)) !important;
	line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .site-btn-d p {
	font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .abitlower p {
	font-size: calc(25px * var(--a11y-scale)) !important;
	line-height: 1.15 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .subhedding {
	font-size: calc(26px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .mobile-butotn a {
	font-size: calc(23px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .bottom-new-links a {
	font-size: calc(14px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .poup-close {
	font-size: calc(30px * var(--a11y-scale)) !important;
	line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .success-title {
	font-size: calc(23px * var(--a11y-scale)) !important;
}

@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"][class] .upper-heading-middle span span {
		font-size: calc(14px * var(--a11y-scale)) !important;
	}
}
@media (max-width: 403px) {
	html body[class*="pojo-a11y-resize-font-"][class] .icon-wrap p {
		font-size: calc(12px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .mobile-butotn a {
		font-size: calc(20px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .subhedding {
		font-size: calc(16px * var(--a11y-scale)) !important;
	}
}
@media (min-width: 1560px) and (max-width: 1750px) {
	html body[class*="pojo-a11y-resize-font-"][class] .abitlower p {
		font-size: calc(22px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .subhedding {
		font-size: calc(24px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .checkbox-wrap label {
		font-size: calc(11px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .markitting-notice p {
		font-size: calc(10px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .end-notice p {
		font-size: calc(11px * var(--a11y-scale-form)) !important;
	}
}
@media (min-width: 768px) and (max-width: 1520px) {
	html body[class*="pojo-a11y-resize-font-"][class] .subhedding {
		font-size: calc(20px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .abitlower p {
		font-size: calc(18px * var(--a11y-scale)) !important;
	}
}
/* declared AFTER the 1520 band, exactly as wp-custom-css does, so it wins in
   the 768-1210 overlap. Reordering these two changes sizes at rest. */
@media (min-width: 768px) and (max-width: 1210px) {
	html body[class*="pojo-a11y-resize-font-"][class] .subhedding {
		font-size: calc(22px * var(--a11y-scale)) !important;
	}
}
@media (min-width: 2480px) {
	html body[class*="pojo-a11y-resize-font-"][class] .subhedding {
		font-size: calc(38px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .abitlower p {
		font-size: calc(34px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .checkbox-wrap label {
		font-size: calc(18px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .markitting-notice p {
		font-size: calc(18px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .end-notice p {
		font-size: calc(18px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .site-btn-d p {
		font-size: calc(20px * var(--a11y-scale)) !important;
	}
}


/* ==========================================================================
   SECTION 4e — CONTROL GEOMETRY (checkbox box + control heights)
   Font size alone is not enough: two controls are sized from values that the
   plugin's font inflation drags along with it.

   1. THE CONSENT CHECKBOX.  main.css sizes it
        .wpcf7-checkbox input[type="checkbox"] { width:1.3vw; height:1.1em }
      `em` resolves against the checkbox input's OWN font-size — and <input> is
      in the plugin's selector list, so that font-size is inflated to 100px at
      step 130 and 2048px at step 200. The width stays at 1.3vw, so the box
      stops being a box. Measured at 1440, plugin only:

        none  18.7 x 17.6   (ratio 0.94)
        130   18.7 x 110.4  (ratio 5.9)
        200   18.7 x 2252.8 (ratio 120)

      That is the tall thin bar next to the consent text. Fixed by pinning the
      input's own font-size (so any leftover em is stable) and giving explicit
      square dimensions on the form curve. The label's padding-right grows with
      it so the bigger box never runs into the text.

   2. INPUT / SUBMIT HEIGHT.  Both carry a fixed height (2.5vw base, 30px in
      768-1080, 40px under 767). The text grows but the box does not, so the
      label is clipped — measured at 1440: submit box 36px vs 37.2px needed at
      step 130, and 130px needed at step 200. Both controls are scaled from the
      same value on the same curve, so they stay exactly equal to each other.

   Verified after the fix — checkbox ratio 1.00 at every step, heights equal at
   every step, nothing clipped:
     1440  box 18.7 -> 24.3 -> 29 -> 32.8   height 36 -> 46.8 -> 55.8 -> 63
      375  box 22   -> 28.6 -> 38.5         height 40 -> 52   -> 70
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox input[type="checkbox"] {
	font-size: calc(16px * var(--a11y-scale-form)) !important;
	width: calc(1.3vw * var(--a11y-scale-form)) !important;
	min-width: calc(1.3vw * var(--a11y-scale-form)) !important;
	height: calc(1.3vw * var(--a11y-scale-form)) !important;
	top: calc(0.25vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox input[type="checkbox"]:checked::before {
	width: calc(0.7vw * var(--a11y-scale-form)) !important;
	height: calc(0.7vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox label {
	padding-right: calc(1.8vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .field-col input,
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-select,
html body[class*="pojo-a11y-resize-font-"][class] .submit-btn input {
	height: calc(2.5vw * var(--a11y-scale-form) * var(--a11y-control-boost)) !important;
	min-height: calc(2.5vw * var(--a11y-scale-form) * var(--a11y-control-boost)) !important;
}

@media (min-width: 768px) and (max-width: 1080px) {
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox input[type="checkbox"] {
		width: calc(15px * var(--a11y-scale-form)) !important;
		min-width: calc(15px * var(--a11y-scale-form)) !important;
		height: calc(15px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox input[type="checkbox"]:checked::before {
		width: calc(9px * var(--a11y-scale-form)) !important;
		height: calc(9px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .field-col input,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-select,
	html body[class*="pojo-a11y-resize-font-"][class] .submit-btn input {
		height: calc(30px * var(--a11y-scale-form) * var(--a11y-control-boost)) !important;
		min-height: calc(30px * var(--a11y-scale-form) * var(--a11y-control-boost)) !important;
	}
}

@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox input[type="checkbox"] {
		width: calc(22px * var(--a11y-scale-form)) !important;
		min-width: calc(22px * var(--a11y-scale-form)) !important;
		height: calc(22px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox input[type="checkbox"]:checked::before {
		width: calc(12px * var(--a11y-scale-form)) !important;
		height: calc(12px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-checkbox label {
		padding-right: calc(30px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .field-col input,
	html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-select,
	html body[class*="pojo-a11y-resize-font-"][class] .submit-btn input {
		height: calc(40px * var(--a11y-scale-form) * var(--a11y-control-boost)) !important;
		min-height: calc(40px * var(--a11y-scale-form) * var(--a11y-control-boost)) !important;
	}
}


/* ==========================================================================
   SECTION 4c — COOKIE BANNER (#cc-banner-root)
   Injected by cookie-consent.js on EVERY page, and it lives OUTSIDE every
   content root, so Section 3 cannot reach it: the plugin's p/h_ rules run
   .cc-title and .cc-body away (16->37px, 14->28px) while .cc-root and .cc-btn
   (a <button>) stay frozen at 14px. Generic inherit first, then explicit pins.

   Each pin gets a bare AND a .cc-root-scoped selector so it wins whether the
   node is in the banner or in the settings modal. GATE+ .cc-root .cc-body =
   (0,4,2) beats the generic GATE .cc-root p = (0,3,3): the class column is
   compared first.

   EVERY pin is calc(<px> * var(--scale)) — a flat px would stop the runaway
   but freeze the banner, so clicking would do nothing. .cc-title and .cc-btn
   use the form curve with bumped baselines (16->18, 14->15) so the first
   click is a visible jump.
   ========================================================================== */
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,
html body[class*="pojo-a11y-resize-font-"] .cc-root h1,
html body[class*="pojo-a11y-resize-font-"] .cc-root h2,
html body[class*="pojo-a11y-resize-font-"] .cc-root h3 {
	font-size: inherit !important;
}

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


/* ==========================================================================
   SECTION 4d — VALIDATION TIP POSITIONING
   The site's Customizer CSS (wp-custom-css, stored in the DB, 7.2KB) anchors
   every CF7 tip by a FIXED offset:

       .wpcf7-not-valid-tip          { position:absolute; bottom:-28px;
                                       width:100%; right:0 }
       .checkbox-wrap .wpcf7-...-tip { bottom:-19px }
       @media (min-width:2480px)     { bottom:-20px; right:8px }

   Because the box is anchored by its BOTTOM edge, a tip that grows taller
   grows UPWARD, straight over the field it belongs to. Measured on
   /new-dona-lp/ at 375px, consent checkbox, plugin only —
   overlap(tip, label): none -8px (clear) -> step 130 +12px (COLLIDING).

   Fix: put the tip back IN FLOW (position:relative with every offset reset to
   auto). It then sits under the control, pushes the rest of the row down as it
   grows, and can neither cover the label nor escape the row — measured on
   /new-dona-lp/, overlap and spill at steps none/130/160/200:

       375px   overlap  -1 / -12 / -12 / -12      spill  -2 / -2 / -2 / -2
       1440px  overlap  -4.5 / -2 / -2 / -2       spill   0 /  0 /  0 /  0

   A `top:100%` re-anchor was tried first and is WRONG here: this theme's tip
   computes to position:relative, where `top:100%` is a RELATIVE displacement
   of 100% of the containing block, which threw the message 130-238px down the
   page (measured spill +43 to +238). Only an absolutely positioned tip may be
   re-anchored that way, and this one is not.

   The width reset also fixes the horizontal overflow: with the plugin alone
   the consent tip stretches to 7573px at step 200 on a 1440px viewport; back
   in flow it stays at 297px.

   position:static is avoided deliberately — `relative` with auto offsets lays
   out identically but leaves the element a containing block for anything the
   theme may absolutely position inside it. The tip keeps a usable width here
   (311px at 375, 297px at 1440), so it is not squeezed into a column.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
	position: relative !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	margin-top: 2px !important;
	white-space: normal !important;
}


/* ==========================================================================
   SECTION 5 — HEADINGS, BUTTONS AND LISTS
   Generic (bootstrap-derived) heading fallbacks first on GATE, then the
   per-element pins on GATE+, so the specific ones always win.
   ========================================================================== */

/* --- generic headings inside every content root -------------------------- */
html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h1 { font-size: calc((1.375rem + 1.5vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h2 { font-size: calc((1.325rem + 0.9vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h3 { font-size: calc((1.3rem + 0.6vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h4 { font-size: calc((1.275rem + 0.3vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h5 { font-size: calc(1.25rem * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h6 { font-size: calc(1rem * var(--a11y-scale)) !important; }

@media (min-width: 1200px) {
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h1 { font-size: calc(2.5rem  * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h2 { font-size: calc(2rem    * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h3 { font-size: calc(1.75rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor,.main-wrap,.description-section,.login-banner,.login-section,.gold-card-banner,.home-banner,.users-grid,.website-presentation,.gallery-popup,.map-popup,.mobile-butotn,.container) h4 { font-size: calc(1.5rem  * var(--a11y-scale)) !important; }
}

/* --- theme-template pages : .description-section ------------------------- */
html body[class*="pojo-a11y-resize-font-"][class] .description-section h1 {
	font-size: calc(3rem * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .description-section h2 {
	font-size: calc(28px * var(--a11y-scale)) !important;
}

/* --- / (home) : hero + section headings, px at every band ---------------- */
html body[class*="pojo-a11y-resize-font-"][class] .uppercontent h1 {
	font-size: calc(72px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .price-section h2 {
	font-size: calc(32px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .form-section h2 {
	font-size: calc(23px * var(--a11y-scale)) !important;
}
/* .upper-heading-middle / .bottom-heading-middle resolve to 23px at EVERY
   width because assets/css/style.css declares them !important, which beats
   every later non-important override in wp-custom-css (measured 23px at 375,
   900, 1440 and 1600). Pinning the measured effective value rather than
   transcribing those dead rules. */
html body[class*="pojo-a11y-resize-font-"][class] .upper-heading-middle,
html body[class*="pojo-a11y-resize-font-"][class] .bottom-heading-middle {
	font-size: calc(23px * var(--a11y-scale)) !important;
}

@media (max-width: 403px) {
	html body[class*="pojo-a11y-resize-font-"][class] .uppercontent h1 {
		font-size: calc(40px * var(--a11y-scale)) !important;
	}
}
@media (min-width: 1560px) and (max-width: 1750px) {
	html body[class*="pojo-a11y-resize-font-"][class] .uppercontent h1 {
		font-size: calc(62px * var(--a11y-scale)) !important;
	}
}
@media (min-width: 768px) and (max-width: 1520px) {
	html body[class*="pojo-a11y-resize-font-"][class] .uppercontent h1 {
		font-size: calc(56px * var(--a11y-scale)) !important;
	}
}
@media (min-width: 768px) and (max-width: 1210px) {
	html body[class*="pojo-a11y-resize-font-"][class] .uppercontent h1 {
		font-size: calc(54px * var(--a11y-scale)) !important;
	}
}
@media (min-width: 2480px) {
	html body[class*="pojo-a11y-resize-font-"][class] .uppercontent h1 {
		font-size: calc(100px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .price-section h2 {
		font-size: calc(50px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .price-section p {
		font-size: calc(32px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .form-section h2 {
		font-size: calc(38px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .upper-heading-middle,
	html body[class*="pojo-a11y-resize-font-"][class] .bottom-heading-middle {
		font-size: calc(36px * var(--a11y-scale)) !important;
	}
}

/* --- /new-dona-lp/ : every font-size rule in post-565.css ----------------
 * BASE (all vw), grouped by shared value. post-541.css (the Elementor kit)
 * contains no font-size rules at all.                                      */
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-cc032a0 .elementor-heading-title {
	font-size: calc(2.6vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-ef387ce .elementor-heading-title {
	font-size: calc(2.3vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-cf80a84 .elementor-heading-title {
	font-size: calc(1.5vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-fd19002 .elementor-heading-title {
	font-size: calc(1.34vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-05e724c .elementor-heading-title {
	font-size: calc(1.3vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-3540c02 .elementor-heading-title {
	font-size: calc(1vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-ec80537 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-f6e4a42 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-f3b1842 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-9bc12c8 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-48a9b60 .elementor-heading-title {
	font-size: calc(0.8vw * var(--a11y-scale)) !important;
}
/* footer icon list — <a> elements, which the plugin cannot reach at all */
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-252ef87 .elementor-icon-list-item > .elementor-icon-list-text,
html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-252ef87 .elementor-icon-list-item > a {
	font-size: calc(1vw * var(--a11y-scale)) !important;
}

/* post-565.css @media (max-width:767px) — note the unit switches from vw to
 * px on six of these; emitting only the vw value would destroy them.       */
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-ef387ce .elementor-heading-title {
		font-size: calc(10vw * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-cc032a0 .elementor-heading-title {
		font-size: calc(8vw * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-fd19002 .elementor-heading-title {
		font-size: calc(5.7vw * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-05e724c .elementor-heading-title {
		font-size: calc(5vw * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-cf80a84 .elementor-heading-title {
		font-size: calc(4.8vw * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-3540c02 .elementor-heading-title {
		font-size: calc(15px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-f6e4a42 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-f3b1842 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-9bc12c8 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-48a9b60 .elementor-heading-title {
		font-size: calc(14px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-ec80537 .elementor-heading-title {
		font-size: calc(12px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-252ef87 .elementor-icon-list-item > .elementor-icon-list-text,
	html body[class*="pojo-a11y-resize-font-"][class] .elementor-565 .elementor-element.elementor-element-252ef87 .elementor-icon-list-item > a {
		font-size: calc(14px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"][class] .currency-sign {
		font-size: calc(5vw * var(--a11y-scale)) !important;
	}
	/* swiper arrows are <div>s, which the plugin never reaches */
	html body[class*="pojo-a11y-resize-font-"][class] .image-carousel .elementor-swiper-button-prev,
	html body[class*="pojo-a11y-resize-font-"][class] .image-carousel .elementor-swiper-button-next {
		font-size: calc(38px * var(--a11y-scale)) !important;
	}
}
