@charset "UTF-8";
/* ==========================================================================
   One Click Accessibility (Pojo) — font-resize repair layer
   Shared file: identical in the `nola` and `nola-sport` themes.

   WHY THIS FILE EXISTS
   The plugin only emits:
     body.pojo-a11y-resize-font-NN, ...NN p:not(.pojo-a11y-toolbar-title),
     ...NN li:not(.pojo-a11y-toolbar-item), label, input, select, textarea,
     legend, code, pre, dd, dt, span, blockquote { font-size: NN% !important }
     ...NN h1..h6, h1 span .. h6 span      { font-size: NN*1.33% !important }
   On a vw-sized Elementor build that produces:
     1. vw ignores body font-size  -> headings do not move (measured: the
        home H2 SHRINKS 43.2px -> 35.96px at step 130).
     2. `%` compounds through nested spans -> CF7 consent label
        8.64px -> 256px, landing consent label 12.87px -> 2048px.
     3. <button> and <div> are not in the selector list -> the submit button
        (20.16px) and .wpcf7-response-output (11.52px) never move at any step.
     4. .cc-* cookie banner is OUTSIDE .elementor -> .cc-title/.cc-body run
        away while .cc-root/.cc-btn (font-size:inherit) freeze at 14px.
     5. .privacy-checkbox.first .wpcf7-not-valid-tip has a FIXED `top:45px`
        under (max-width:767px) -> the tip is painted over the consent label
        once that label wraps to more lines.

   RULE A  Nothing is selected -> design unchanged. Every rule below is gated
           behind body[class*="pojo-a11y-resize-font-"], except the four
           contrast-mode blocks in Section 6 (gated behind the pojo contrast
           classes) and the inert :root defaults.
   RULE B  #pojo-a11y-toolbar is a SIBLING of the content roots. Every generic
           rule is scoped inside a content root. The single deliberate
           exception is Section 7 (client-requested smaller toolbar labels).

   `html body[class*=...]` is used throughout to out-specify handwritten
   a11y overrides that may live in the DB on sister sites.
   ========================================================================== */


/* ==========================================================================
   SECTION 1 — Two curves
   Content grows on --a11y-scale. Forms, messages and the cookie banner start
   from much smaller baselines (0.6vw ~ 8.6px) so they ride a steeper curve
   with a bigger first jump: --a11y-scale-form.
   --a11y-scale-tool is the toolbar's own, deliberately gentler curve.
   Plugin step sequence verified live: none -> 130 -> 140 ... -> 200 (caps),
   Reset clears the class. 120 is defined for safety only.
   ========================================================================== */
:root {
	--a11y-scale: 1;
	--a11y-scale-form: 1;
	--a11y-scale-tool: 1;
}
body.pojo-a11y-resize-font-120 { --a11y-scale: 1.10; --a11y-scale-form: 1.22; --a11y-scale-tool: 1.05; }
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.15; --a11y-scale-form: 1.30; --a11y-scale-tool: 1.08; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.22; --a11y-scale-form: 1.40; --a11y-scale-tool: 1.11; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.28; --a11y-scale-form: 1.48; --a11y-scale-tool: 1.14; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.35; --a11y-scale-form: 1.55; --a11y-scale-tool: 1.17; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.42; --a11y-scale-form: 1.62; --a11y-scale-tool: 1.21; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.48; --a11y-scale-form: 1.68; --a11y-scale-tool: 1.24; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.54; --a11y-scale-form: 1.72; --a11y-scale-tool: 1.27; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; --a11y-scale-tool: 1.30; }


/* ==========================================================================
   SECTION 2 — Base pin on <body>
   Deliberately UNSCOPED so plain inheriting text keeps working everywhere.
   The toolbar is unaffected because the plugin pins
   #pojo-a11y-toolbar{font-size:16px !important} at (1,0,1).
   Measured body baseline: 16px on both sites, at 375 and at 1440.
   calc(), never a flat px, so the toolbar popup and every inheritor still move.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] {
	font-size: calc(16px * var(--a11y-scale)) !important;
}


/* ==========================================================================
   SECTION 3 — Kill compounding inside every content root
   Roots enumerated from the live DOM of every page of both sites:
     .elementor                                   home pages (elementor-114 / elementor-2)
     .login-banner .login-section
     .description-section .gold-card-banner .breadcrums  single.php / page.php / 404.php / search.php
     .lp-sec .content-wrapper [id="contactUs"] .mobile-menu
     .gallery-popup-overlay .privacy-wrapper      /landing/ (no .elementor at all)
     .wpcf7 .cf7-success-message .form-success-msg
   input / select / textarea are deliberately EXCLUDED — Section 4 owns them.
   `:where()` on the element list keeps this at (0,2,2): high enough to beat
   the plugin (0,1,1) and its h_ span (0,1,2), low enough that every explicit
   restatement in Sections 4/4b/5 out-ranks it. `[id="contactUs"]` is used
   instead of `#contactUs` because `:is()` inherits its most specific argument
   and an id would push this rule to (1,1,2), above those restatements.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] :is(
	.elementor, .login-banner, .login-section, .description-section,
	.gold-card-banner, .breadcrums, .lp-sec, .content-wrapper, [id="contactUs"],
	.mobile-menu, .gallery-popup-overlay, .privacy-wrapper, .wpcf7,
	.cf7-success-message, .form-success-msg
) :where(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
	font-size: inherit !important;
}

/* Generic headings inside those roots come from Bootstrap 5 (rem/fluid), which
   is root-relative and therefore immune to Section 2. Restate them so they
   grow instead of being flattened to the plugin's %-of-body value. */
html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h1 { font-size: calc((1.375rem + 1.5vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h2 { font-size: calc((1.325rem + 0.9vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h3 { font-size: calc((1.3rem + 0.6vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h4 { font-size: calc((1.275rem + 0.3vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h5 { font-size: calc(1.25rem * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h6 { font-size: calc(1rem * var(--a11y-scale)) !important; }
@media (min-width: 1200px) {
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h1 { font-size: calc(2.5rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h2 { font-size: calc(2rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h3 { font-size: calc(1.75rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(.elementor, .login-banner, .login-section, .description-section, .gold-card-banner, .lp-sec, .content-wrapper, .privacy-wrapper) h4 { font-size: calc(1.5rem * var(--a11y-scale)) !important; }
}
/* 404.php carries an inline style="font-size:30px" on this heading — restate it
   so the generic h3 rule above does not silently shrink it. */
html body[class*="pojo-a11y-resize-font-"] .description-section.error-content h3 {
	font-size: calc(30px * var(--a11y-scale)) !important;
}


/* ==========================================================================
   SECTION 4 — Form controls, submit buttons, response + validation messages
   Values mirror the theme 1:1, one rule per selector PER BREAKPOINT, media
   blocks in the theme's own source order (base -> 1024 -> 767).
   px / vw / vh only — never em (CF7 nesting compounds) and never rem.
   READABILITY FLOOR on messages: a 0.8vw message renders ~7px at a 900px
   viewport, so calc(max(14px, <themeValue>) * ...). Gated, so the default
   render is untouched.
   ========================================================================== */

/* ---- 4.0  Shared control height ------------------------------------------
   Requirement: submit button and input fields must be the SAME height on
   every device once fonts are increased. Both take var(--a11y-ctl-h), which
   is computed from the LARGER of the two font sizes so neither can clip.
   Measured before: heightDelta submit-vs-input = +2 / -44 / -353 px at
   none / 130 / 200 on the home form; +6 / -42 / -351 on /landing/.        */
html body[class*="pojo-a11y-resize-font-"] {
	/* home form: input 1vw, submit 1.4vw, input padding 0.4vw */
	--a11y-ctl-h: calc(1.4vw * var(--a11y-scale-form) * 1.3 + 1.2vw + 2px);
	/* landing form: input 0.9vw, submit 1.3vw */
	--a11y-ctl-h-lp: calc(1.3vw * var(--a11y-scale-form) * 1.3 + 1.6vh + 2px);
}

/* ---- 4.0b  Reflow guard (WCAG 1.4.10) -----------------------------------
   Controls sized by the HTML `cols`/`size` attributes (the WordPress comment
   form on single.php) grow in `ch` units as the font scales and push the page
   sideways. Measured on /hello-world/ at 375px: textarea#comment 1153px wide,
   input#author/email/url 814px each -> 2527px of horizontal overflow at step
   200 with the plugin alone. `:where()` keeps this at (0,2,2) so it never
   competes with the font-size rules below. */
html body[class*="pojo-a11y-resize-font-"] :is(
	.elementor, .login-banner, .login-section, .description-section,
	.gold-card-banner, .lp-sec, .content-wrapper, [id="contactUs"],
	.privacy-wrapper, .wpcf7
) :where(input, textarea, select) {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* ---- 4.1  Home form (both sites) — BASE ---------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .main-contact-form :is(input, textarea, select),
html body[class*="pojo-a11y-resize-font-"] .wpcf7 :is(input, textarea, select) {
	font-size: calc(1vw * var(--a11y-scale-form)) !important;
	line-height: normal !important;
}
html body[class*="pojo-a11y-resize-font-"] .main-contact-form select,
html body[class*="pojo-a11y-resize-font-"] .wpcf7 select {
	padding: 0 1.4vw !important;
	background-size: calc(1vw * var(--a11y-scale-form)) !important;
}
/* equal, non-clipping height for text-like controls and the submit button */
html body[class*="pojo-a11y-resize-font-"] .main-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html body[class*="pojo-a11y-resize-font-"] .main-contact-form select,
html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
	height: var(--a11y-ctl-h) !important;
	min-height: var(--a11y-ctl-h) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	box-sizing: border-box !important;
}
html body[class*="pojo-a11y-resize-font-"] .main-contact-form textarea {
	min-height: var(--a11y-ctl-h) !important;
	padding-top: 0.4vw !important;
	padding-bottom: 0.4vw !important;
}
/* <button> is NOT in the plugin selector list — it froze at 20.16px. */
html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
	font-size: calc(1.4vw * var(--a11y-scale-form)) !important;
	line-height: 1.3 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
/* label prefix span (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;
	line-height: 1 !important;
}
/* consent copy */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox p,
html body[class*="pojo-a11y-resize-font-"] .checkbox-group .first.last .wpcf7-list-item-label {
	font-size: calc(max(12px, 0.9vw) * var(--a11y-scale-form)) !important;
	line-height: 1.35 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-list-item-label,
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .custom-check-label,
html body[class*="pojo-a11y-resize-font-"] .checkbox-group .first.last .wpcf7-list-item-label {
	font-size: calc(max(12px, 0.6vw) * var(--a11y-scale-form)) !important;
	line-height: 1.35 !important;
}
/* <div>, frozen at 11.52px at every step. Unitless line-height (the theme's
   1.5 is already unitless — restated so a vh value can never creep in). */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output,
html body[class*="pojo-a11y-resize-font-"] .wpcf7-response-output {
	font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
	line-height: 1.5 !important;
}
/* validation tips — one line at every step (see also 4d) */
html body[class*="pojo-a11y-resize-font-"] .wpcf7-not-valid-tip {
	font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
	text-wrap: nowrap !important;
	/* CF7 renders <div class="wpcf7" dir="ltr"> inside an RTL page, so the tip is
	   a block box in an LTR containing block. A shrink-to-fit width (max-content)
	   therefore parks it at the LTR start edge — the LEFT — under a right-aligned
	   field. `white-space: nowrap` alone already guarantees the single line, so the
	   box stays full width and its own `direction: rtl` renders the text hard
	   against the right edge, where it belongs. Measured 1440/step200: was
	   left-anchored at x134..320 in a 134..489 field; now 134..489, right-anchored.
	   (4d's consent tip is absolutely positioned in a ~30px wrap and keeps
	   max-content — it is anchored with `right: 0` instead.) */
	width: auto !important;
	max-width: 100% !important;
	direction: rtl !important;
	text-align: right !important;
}

/* ---- 4.2  Home form — @media (max-width: 767px) -------------------------- */
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] {
		--a11y-ctl-h: calc(max(16px, 5vw) * var(--a11y-scale-form) * 1.3 + 20px);
	}
	html body[class*="pojo-a11y-resize-font-"] .main-contact-form :is(input, textarea, select),
	html body[class*="pojo-a11y-resize-font-"] .wpcf7 :is(input, textarea, select) {
		font-size: calc(16px * var(--a11y-scale-form)) !important;
		line-height: normal !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .form-field select {
		font-size: calc(4.4vw * var(--a11y-scale-form)) !important;
		padding: 0 16px !important;
		padding-right: 40px !important;
		background-size: calc(14px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .main-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	html body[class*="pojo-a11y-resize-font-"] .main-contact-form select,
	html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
		height: var(--a11y-ctl-h) !important;
		min-height: var(--a11y-ctl-h) !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .main-contact-form textarea {
		min-height: var(--a11y-ctl-h) !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .submit-col .global-btn {
		font-size: calc(5vw * var(--a11y-scale-form)) !important;
		line-height: 1.3 !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;
		line-height: 1 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .first.last .wpcf7-list-item-label {
		font-size: calc(14px * var(--a11y-scale-form)) !important;
		line-height: 1.35 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-list-item-label,
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .custom-check-label {
		font-size: calc(max(11px, 9px) * var(--a11y-scale-form)) !important;
		line-height: 1.35 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output,
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-response-output {
		font-size: calc(max(14px, 12px) * var(--a11y-scale-form)) !important;
		line-height: 1.5 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-not-valid-tip {
		font-size: calc(max(13px, 3vw) * var(--a11y-scale-form)) !important;
		line-height: 1.4 !important;
	}
}

/* ---- 4.3  /landing/ form — BASE ------------------------------------------ */
html body[class*="pojo-a11y-resize-font-"] .field-col .wpcf7-form-control-wrap,
html body[class*="pojo-a11y-resize-font-"] .field-col input {
	font-size: calc(0.9vw * var(--a11y-scale-form)) !important;
	/* the theme sets line-height:0 here, which clips scaled text */
	line-height: normal !important;
}
html body[class*="pojo-a11y-resize-font-"] .field-col input::placeholder {
	font-size: calc(max(12px, 1.5vh) * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .submit-btn > p > input {
	font-size: calc(1.3vw * var(--a11y-scale-form)) !important;
	line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .field-col input,
html body[class*="pojo-a11y-resize-font-"] .submit-btn > p > input {
	height: var(--a11y-ctl-h-lp) !important;
	min-height: var(--a11y-ctl-h-lp) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	box-sizing: border-box !important;
}
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
	font-size: calc(max(12px, 1.43vh) * var(--a11y-scale-form)) !important;
	line-height: 1.35 !important;
}

/* ---- 4.4  /landing/ form — @media (max-width: 1024px) -------------------- */
@media (max-width: 1024px) {
	html body[class*="pojo-a11y-resize-font-"] .field-col .wpcf7-form-control-wrap,
	html body[class*="pojo-a11y-resize-font-"] .field-col input {
		font-size: calc(0.9vw * var(--a11y-scale-form)) !important;
		line-height: normal !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .field-col input::placeholder {
		font-size: calc(max(12px, 1.2vw) * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
		font-size: calc(max(12px, 0.9vw) * var(--a11y-scale-form)) !important;
		line-height: 1.35 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-not-valid-tip {
		font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
		line-height: 1.4 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .submit-btn > p > input {
		font-size: calc(1.3vw * var(--a11y-scale-form)) !important;
		line-height: 1.3 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output {
		font-size: calc(max(14px, 11px) * var(--a11y-scale-form)) !important;
		line-height: 1.5 !important;
	}
}

/* ---- 4.5  /landing/ form — @media (max-width: 767px) --------------------- */
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] {
		--a11y-ctl-h-lp: calc(18px * var(--a11y-scale-form) * 1.3 + 20px);
	}
	html body[class*="pojo-a11y-resize-font-"] .field-col .wpcf7-form-control-wrap,
	html body[class*="pojo-a11y-resize-font-"] .field-col input,
	html body[class*="pojo-a11y-resize-font-"] .field-col input::placeholder {
		font-size: calc(14px * var(--a11y-scale-form)) !important;
		line-height: normal !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .submit-btn > p > input {
		font-size: calc(18px * var(--a11y-scale-form)) !important;
		line-height: 1.3 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
		font-size: calc(max(11px, 10px) * var(--a11y-scale-form)) !important;
		line-height: 1.35 !important;
	}
}


/* ==========================================================================
   SECTION 4b — Elements with an intentional size of their own
   Includes every :where() selector, RESTATED EXPLICITLY: `:where()` has zero
   specificity, so `.privacy-content :where(p,li,a)` is (0,2,0) and would be
   flattened by the Section 3 rule at (0,2,3).
   ========================================================================== */

/* home pages */
html body[class*="pojo-a11y-resize-font-"] .pv-links > span,
html body[class*="pojo-a11y-resize-font-"] .pv-link {
	font-size: calc(max(12px, 0.8vw) * var(--a11y-scale)) !important;
	line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .success-title {
	font-size: calc(1.5vw * var(--a11y-scale)) !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.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;
}
/* restated from :where(p, li, a, div) — home */
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content p,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content li,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content a,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content div {
	font-size: calc(max(13px, 0.8vw) * var(--a11y-scale)) !important;
	line-height: 1.6 !important;
}

/* /landing/ */
html body[class*="pojo-a11y-resize-font-"] .main-title { font-size: calc(3.4vw * var(--a11y-scale)) !important; line-height: 1.05 !important; }
html body[class*="pojo-a11y-resize-font-"] .content p { font-size: calc(max(13px, 0.95vw) * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .pricing-wrap .pricing-text { font-size: calc(2vw * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .pricing-wrap .price::first-letter { font-size: calc(1.5vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .pricing-wrap .price .text { font-size: calc(max(11px, 0.6vw) * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .icon-list .item > .text { font-size: calc(max(12px, 0.9vw) * var(--a11y-scale)) !important; line-height: 1.35 !important; }
html body[class*="pojo-a11y-resize-font-"] .form-title { font-size: calc(1.1vw * var(--a11y-scale)) !important; line-height: 1.4 !important; }
html body[class*="pojo-a11y-resize-font-"] .form-bottom-text,
html body[class*="pojo-a11y-resize-font-"] .privacy-text-wrap p { font-size: calc(max(12px, 1.43vh) * var(--a11y-scale)) !important; line-height: 1.4 !important; }
html body[class*="pojo-a11y-resize-font-"] .contact-form .form-heading { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .field-col label > span:first-child { font-size: calc(25px * var(--a11y-scale-form)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .form-success-msg p { font-size: calc(3vw * var(--a11y-scale)) !important; line-height: 1.1 !important; }
/* restated from :where(p, li, a) — landing */
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 { line-height: 1.6 !important; }

@media (max-width: 1024px) {
	html body[class*="pojo-a11y-resize-font-"] .icon-list .item > .text { line-height: 1.2 !important; }
	html body[class*="pojo-a11y-resize-font-"] .form-title { line-height: 1.2 !important; }
	html body[class*="pojo-a11y-resize-font-"] .form-bottom-text { font-size: calc(max(12px, 0.9vw) * var(--a11y-scale)) !important; line-height: 1.4 !important; }
}
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] .pv-link,
	html body[class*="pojo-a11y-resize-font-"] .pv-links > span { font-size: calc(14px * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] .success-title { font-size: calc(20px * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.35 !important; }
	html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h3 { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.4 !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(max(12px, 12px) * var(--a11y-scale)) !important; line-height: 1.6 !important; }
	html body[class*="pojo-a11y-resize-font-"] .main-title { font-size: calc(38px * var(--a11y-scale)) !important; line-height: 1.05 !important; }
	html body[class*="pojo-a11y-resize-font-"] .content p { font-size: calc(max(12px, 11px) * var(--a11y-scale)) !important; line-height: 1.35 !important; }
	html body[class*="pojo-a11y-resize-font-"] .pricing-wrap .pricing-text { font-size: calc(5vw * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] .pricing-wrap .price::first-letter { font-size: calc(4vw * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] .pricing-wrap .price .text { font-size: calc(max(11px, 1.5vw) * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] .icon-list .item > .text { font-size: calc(max(11px, 10px) * var(--a11y-scale)) !important; line-height: 1.25 !important; }
	html body[class*="pojo-a11y-resize-font-"] .form-bottom-text { font-size: calc(max(11px, 10px) * var(--a11y-scale)) !important; line-height: 1.25 !important; }
	html body[class*="pojo-a11y-resize-font-"] .mob-notice { font-size: calc(max(12px, 1.5vh) * var(--a11y-scale)) !important; line-height: 1.35 !important; }
	html body[class*="pojo-a11y-resize-font-"] .mob-title { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.15 !important; }
	html body[class*="pojo-a11y-resize-font-"] .form-success-msg p { font-size: calc(11vw * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 { font-size: calc(28px * var(--a11y-scale)) !important; }
}


/* ==========================================================================
   SECTION 4c — Cookie banner (#cc-banner-root)
   The banner is injected by cookie.webzapp.click and lives OUTSIDE .elementor
   as a direct child of <body>, so Section 3 cannot reach it.
   Measured plugin-only at 375px: .cc-title 16 -> 24.2 -> 37.2 and
   .cc-body 14 -> 18.2 -> 28 (runaway) while .cc-root and .cc-btn stay frozen
   at 14px because .cc-btn is font-size:inherit and .cc-root is a flat 14px.
   Generic inherit rule FIRST, then explicit pins; every pin is a calc() so
   nothing freezes. .cc-title / .cc-btn ride the FORM curve from bumped
   baselines (16 -> 18, 14 -> 15) so click 1 is a visible jump.
   Each pin gets a bare and a .cc-root-scoped selector.
   Note: `html body[attr] .cc-root .cc-body` is (0,3,2) and beats
   `html body[attr] .cc-root p` at (0,2,3) — class column compares first.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] .cc-root :where(p, li, span, label, a, div) {
	font-size: inherit !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-root,
html body[class*="pojo-a11y-resize-font-"] #cc-banner-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.3 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-body,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-body {
	font-size: calc(14px * var(--a11y-scale-form)) !important;
	line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-btn,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-btn {
	font-size: calc(15px * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
	height: auto !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;
	line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-lang-toggle,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-lang-toggle { font-size: calc(12px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-head h2,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-modal-head h2 { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-close,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-modal-close { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-cat-desc,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cat-desc { font-size: calc(13px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-required-badge,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-required-badge { font-size: calc(11px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list td { font-size: calc(12px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
/* the banner must stay usable once its text grows */
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-banner,
html body[class*="pojo-a11y-resize-font-"] #cc-banner-root .cc-banner {
	max-height: 80vh !important;
	overflow-y: auto !important;
}


/* ==========================================================================
   SECTION 4d — Validation tip positioning (MANDATORY: fixed px anchor found)
   The theme takes the consent tip out of flow and anchors it to the narrow
   .wpcf7-form-control-wrap (which only holds the checkbox):
     base            position:absolute; bottom:-1.5vw; top:unset
     max-width:767px top: 45px            <-- FIXED px, cannot track a consent
                                              label that gains lines as it scales
   Measured overlap(tip, label) at 375px, plugin only: none 0px, 130 +960px,
   200 +8684px; at 1440px: none 0px, 130 +38px, 200 +490px. Broken on BOTH.
   Fix: re-anchor the tip to the ROW (not the checkbox wrap) so it always
   tracks the bottom of a wrapping label, in the theme's own breakpoints.
   position:static is never applied to the TIP itself — the wrap is ~30px wide
   and the text would squeeze into a column.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first {
	position: relative !important;
	padding-bottom: calc(max(14px, 0.8vw) * var(--a11y-scale-form) * 1.6 + 6px) !important;
}
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: auto !important;
	bottom: 0 !important;
	right: 0 !important;
	left: auto !important;
	margin: 0 !important;
	width: max-content !important;
	min-width: 0 !important;
	max-width: none !important;
	white-space: nowrap !important;
	text-wrap: nowrap !important;
}
@media (max-width: 767px) {
	/* same block the theme used for `top: 45px` */
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first .wpcf7-not-valid-tip {
		top: auto !important;
		bottom: 0 !important;
		margin-top: 0 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first {
		padding-bottom: calc(max(13px, 3vw) * var(--a11y-scale-form) * 1.6 + 6px) !important;
	}
}


/* ==========================================================================
   SECTION 5 — Every font-size rule from every post-*.css, both sites
   Base + again inside each source @media block, in the theme's own source
   order (BASE -> 1366 -> 1200 -> 1024 -> 880 -> 767) because overlapping
   bands resolve by order, not specificity.
   Elementor element ids differ per site (nola: elementor-114 / nola-sport:
   elementor-2), so BOTH id sets are listed on every rule — the foreign set
   simply never matches. Elementor buttons ride --a11y-scale-form.
   vw at base + px on mobile -> BOTH are emitted; overriding only one destroys
   the other.
   ========================================================================== */

/* ---- BASE ---- */
html body[class*="pojo-a11y-resize-font-"] .elementor-element-afd06e4 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-a72f99a .elementor-heading-title {
	font-size: calc(1vw * var(--a11y-scale)) !important; line-height: 1.5em !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-element-97c30e9 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-c84ccdb .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-a5b39c5 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-e43c4a2 .elementor-heading-title {
	font-size: calc(3vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-element-344e121 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-16c9f32 .elementor-heading-title {
	font-size: calc(1.2vw * var(--a11y-scale)) !important; line-height: 1.3em !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-element-bac6b1b .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-8b27d73 .elementor-heading-title {
	font-size: calc(1.6vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-element-94d362c .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-f821ea7 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-9c4a296 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-f9537e1 .elementor-heading-title {
	font-size: calc(1.6vw * var(--a11y-scale)) !important; line-height: 1.1em !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-element-a0aa178 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-4c5458f .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-7094f78 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-3768a8c .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-b8c20e1 .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-9f16b3e .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-43b7eac .elementor-heading-title,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-07dbdb9 .elementor-heading-title {
	font-size: calc(max(12px, 0.9vw) * var(--a11y-scale)) !important; line-height: 1.2em !important;
}
/* footer icon list — <a>, not in the plugin selector list, frozen at 11.52px */
html body[class*="pojo-a11y-resize-font-"] .elementor-element-654304d .elementor-icon-list-item > .elementor-icon-list-text,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-654304d .elementor-icon-list-item > a,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-ea28c72 .elementor-icon-list-item > .elementor-icon-list-text,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-ea28c72 .elementor-icon-list-item > a {
	font-size: calc(max(12px, 0.8vw) * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor-element-5679e7f .elementor-button,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-0db1da8 .elementor-button {
	font-size: calc(1.23vw * var(--a11y-scale-form)) !important; line-height: 1.2 !important;
}

/* ---- @media (max-width: 1366px) ---- */
@media (max-width: 1366px) {
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-bac6b1b .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-8b27d73 .elementor-heading-title {
		font-size: calc(1.7vw * var(--a11y-scale)) !important;
	}
}

/* ---- @media (max-width: 1024px) ---- */
@media (max-width: 1024px) {
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-5679e7f .elementor-button,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-0db1da8 .elementor-button {
		font-size: calc(2.4vw * var(--a11y-scale-form)) !important; line-height: 1.1 !important;
	}
}

/* ---- @media (max-width: 880px) ---- */
@media (max-width: 880px) {
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-bac6b1b .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-8b27d73 .elementor-heading-title {
		font-size: calc(1.6vw * var(--a11y-scale)) !important;
	}
}

/* ---- @media (max-width: 767px) ---- */
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-afd06e4 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-a72f99a .elementor-heading-title {
		font-size: calc(12px * var(--a11y-scale)) !important; line-height: 1.31 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-97c30e9 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-a5b39c5 .elementor-heading-title {
		font-size: calc(35px * var(--a11y-scale)) !important; line-height: 0.9em !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-c84ccdb .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-e43c4a2 .elementor-heading-title {
		font-size: calc(35px * var(--a11y-scale)) !important; line-height: 1em !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-344e121 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-16c9f32 .elementor-heading-title {
		font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.31 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-bac6b1b .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-8b27d73 .elementor-heading-title {
		font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.1 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-a0aa178 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-4c5458f .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-7094f78 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-3768a8c .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-b8c20e1 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-9f16b3e .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-43b7eac .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-07dbdb9 .elementor-heading-title {
		font-size: calc(13px * var(--a11y-scale)) !important; line-height: 1.5 !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-94d362c .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-9c4a296 .elementor-heading-title {
		font-size: calc(19px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-f821ea7 .elementor-heading-title,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-f9537e1 .elementor-heading-title {
		font-size: calc(25px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-654304d .elementor-icon-list-item > .elementor-icon-list-text,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-654304d .elementor-icon-list-item > a,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-ea28c72 .elementor-icon-list-item > .elementor-icon-list-text,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-ea28c72 .elementor-icon-list-item > a {
		font-size: calc(12px * var(--a11y-scale)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-5679e7f .elementor-button,
	html body[class*="pojo-a11y-resize-font-"] .elementor-element-0db1da8 .elementor-button {
		font-size: calc(4.6vw * var(--a11y-scale-form)) !important; line-height: 1.15 !important;
	}
}

/* Elementor buttons and icon-list links are <a>/<button>: not in the plugin's
   selector list, so without this they freeze at every step. `:where()` keeps this
   safety net at (0,2,2) — above the plugin (0,1,1) but BELOW every per-element
   rule above (0,3,2)+, which must keep winning where one exists. */
html body[class*="pojo-a11y-resize-font-"] .elementor :where(.elementor-button, .elementor-icon-list-text, .elementor-button-text) {
	font-size: inherit !important;
}


/* ==========================================================================
   SECTION 6 — Checkbox tick inside the box, in all four appearance modes
   Gated on the pojo APPEARANCE classes, not the resize class, so it still
   applies when only a contrast mode is on. With nothing selected none of
   these rules match, so RULE A holds.

   Two different checkbox implementations exist, and BOTH sit inside a
   .wpcf7-checkbox wrapper, so 6a would otherwise also hit the home glyph:
   (a) /landing/ — BLOCK tick: :checked::before {content:""; background:#fff}
       Measured in LIGHT BACKGROUND mode at 1440: box background #fff AND
       border #fff AND tick #fff -> the whole control is invisible. Fixed in 6a.
   (b) home pages — GLYPH tick: :checked::before {content:"✓"; color:#183E2D}
       Measured: high-contrast #fff on #000, negative #fff on #000,
       light-background #183E2D on #fff, grayscale #183E2D on #fff — all
       legible today, so 6b pins those exact values rather than changing them.
   ORDER MATTERS: 6b is written after 6a at equal specificity and explicitly
   resets the block-tick geometry (width/height/background), so on the home
   pages the glyph never inherits 6a's square.
   ========================================================================== */

/* ---- 6a  /landing/ block tick -------------------------------------------- */
/* keep the box and its block tick proportional as the form scales */
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"] {
	width: calc(max(16px, 1vw) * var(--a11y-scale-form)) !important;
	min-width: calc(max(16px, 1vw) * var(--a11y-scale-form)) !important;
	height: calc(max(16px, 1vw) * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"]:checked::before {
	width: calc(max(16px, 1vw) * var(--a11y-scale-form) * 0.62) !important;
	height: calc(max(16px, 1vw) * var(--a11y-scale-form) * 0.62) !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
}
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"] {
		width: calc(23px * var(--a11y-scale-form)) !important;
		min-width: calc(23px * var(--a11y-scale-form)) !important;
		height: calc(23px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"]:checked::before {
		width: calc(14px * var(--a11y-scale-form)) !important;
		height: calc(14px * var(--a11y-scale-form)) !important;
	}
}
/* THE FIX: white tick on a white box on a white page in light-background mode */
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .wpcf7-checkbox input[type="checkbox"],
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .wpcf7-checkbox input[type="checkbox"]:checked {
	background: #fff !important;
	border: 2px solid #000 !important;
}
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .wpcf7-checkbox input[type="checkbox"]:checked::before {
	background-color: #000 !important;
	opacity: 1 !important;
}
/* the other three modes already paint a white block on a dark box — pinned */
html body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-grayscale .wpcf7-checkbox input[type="checkbox"]:checked::before {
	background-color: #fff !important;
	opacity: 1 !important;
}
html body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"],
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
	border: 2px solid #fff !important;
}

/* ---- 6b  home pages glyph tick (must come after 6a) ---------------------- */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"] {
	width: calc(1.5vw * var(--a11y-scale-form)) !important;
	height: calc(1.5vw * var(--a11y-scale-form)) !important;
	min-width: calc(1.5vw * var(--a11y-scale-form)) !important;
	flex: 0 0 auto !important;
	padding: 0 !important;
	font-size: calc(1.5vw * var(--a11y-scale-form)) !important;
	line-height: 1 !important;
}
/* width/height/background are reset here so 6a's square never lands behind the glyph */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"]:checked::before {
	width: auto !important;
	height: auto !important;
	background: none !important;
	background-color: transparent !important;
	font-size: calc(1.05vw * var(--a11y-scale-form)) !important;
	line-height: 1 !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
}
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"] {
		width: calc(22px * var(--a11y-scale-form)) !important;
		height: calc(22px * var(--a11y-scale-form)) !important;
		min-width: calc(22px * var(--a11y-scale-form)) !important;
		font-size: calc(22px * var(--a11y-scale-form)) !important;
	}
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"]:checked::before {
		font-size: calc(15px * var(--a11y-scale-form)) !important;
	}
}
/* glyph colour per appearance mode — measured values, pinned against DB overrides.
   These also reset 6a's background so the glyph is never drawn on a filled square. */
html body.pojo-a11y-high-contrast .privacy-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .privacy-checkbox input[type="checkbox"]:checked::before {
	color: #fff !important;
	background: none !important;
	background-color: transparent !important;
	opacity: 1 !important;
}
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .privacy-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-grayscale .privacy-checkbox input[type="checkbox"]:checked::before {
	color: #183E2D !important;
	background: none !important;
	background-color: transparent !important;
	opacity: 1 !important;
}
/* the box itself must stay distinguishable from the page in every mode */
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .privacy-checkbox input[type="checkbox"] {
	background: #fff !important;
	border: 1px solid #000 !important;
}
html body.pojo-a11y-high-contrast .privacy-checkbox input[type="checkbox"],
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .privacy-checkbox input[type="checkbox"] {
	border: 1px solid #fff !important;
}


/* ==========================================================================
   SECTION 7 — Accessibility toolbar labels, deliberately gentler
   CLIENT REQUEST: "While increasing font size In accessibility menu item I
   want bit smaller compare to the other fonts."
   This is the ONE deliberate exception to RULE B, and it is the narrowest
   possible: it touches only the toolbar ITEM label, never the toolbar root,
   toggle, title or panel geometry. The panel is a fixed 180px wide, so the
   plugin's 12.8px -> 25.6px wraps the Hebrew labels badly.
   Result: 12.8px -> 16.6px at step 200 instead of 25.6px.
   Remove this section to restore literal RULE B behaviour.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-items .pojo-a11y-toolbar-item a,
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-items .pojo-a11y-toolbar-item a span {
	font-size: calc(12.8px * var(--a11y-scale-tool)) !important;
	line-height: 1.35 !important;
}


/* ==========================================================================
   SECTION 8 — Two layout regressions that only appear once the fonts grow
   ========================================================================== */

/* ---- 8a  Consent checkbox breaks out of its own wrapper ------------------
   The control wrap is the FIRST CHILD SPAN of label.custom-check-label, so the
   theme's label-prefix rule applies to it:
     .main-contact-form label span:first-child { min-width: 2vw }   (desktop)
     @media (max-width:767px)                  { min-width: 10vw }  (mobile)
   As a `flex: 0 1 auto` item next to the long consent text the wrap shrinks
   all the way down to that floor, while the scaled checkbox keeps growing, so
   the box overflows its own wrapper and sits half outside the text column.
   Measured: 1440/step200 wrap 28.8px vs box 37.8px; 375/step200 37.5 vs 38.5.
   Fix: let the wrap size to its content instead of shrinking, and top-align it
   so the box stays beside the FIRST line of a consent label that now wraps. */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-form-control-wrap {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	align-self: flex-start !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-checkbox,
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-list-item,
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-list-item > label {
	display: flex !important;
	align-items: flex-start !important;
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first > p,
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox label.custom-check-label {
	align-items: flex-start !important;
}
/* the gap between box and text is a flat 0.5vw / 13px in the theme — scale it
   with the box so the spacing stays proportional */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"] {
	margin-left: calc(0.5vw * var(--a11y-scale-form)) !important;
	margin-right: 0 !important;
}
@media (max-width: 767px) {
	html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox input[type="checkbox"] {
		margin-left: calc(13px * var(--a11y-scale-form)) !important;
		margin-right: 0 !important;
	}
}

/* ---- 8b  Feature row: icons and labels drift out of alignment ------------
   Each icon+label column is a flex column with `justify-content: center`, and
   the row stretches every column to the tallest. At the base size all four
   labels are two lines, so centring looks aligned. Once the font grows the
   longer labels wrap to three lines, the shorter ones stay at two, and
   centring pushes each column's icon to a different y.
   Measured 375/step200 — icon tops 1066 / 1051 / 1051 / 1066 (identical at
   base size). Top-aligning the columns keeps every icon and every label on the
   same line at every step; the columns are still stretched, so only the unused
   space at the bottom differs.
   Row ids: nola = da1d20d, nola-sport = 35ee44c. */
html body[class*="pojo-a11y-resize-font-"] .elementor-element-da1d20d > .e-con,
html body[class*="pojo-a11y-resize-font-"] .elementor-element-35ee44c > .e-con {
	justify-content: flex-start !important;
}
