/* =========================================================================
 * Hagag Europe - "One Click Accessibility" (Pojo) font-resize fix
 *
 * The plugin adds body.pojo-a11y-resize-font-NN (130..200) and sets
 * percentage font sizes with !important. Percentages compound through
 * nesting (CF7 checkbox label 12px -> 2048px at 200) and never move fixed
 * px/vw sizes proportionally. This file replaces that with two predictable
 * multipliers.
 *
 * Every rule sits behind body[class*="pojo-a11y-resize-font-"], so with no
 * size chosen (or after Reset) this file changes nothing.
 * Exceptions: the contrast-mode fixes (Sections 6-8) use the plugin's mode
 * classes instead, and Section 11 (mobile form layout) applies in the
 * default view too.
 *
 * Covered pages and their Elementor font-size rules:
 *   Home (/)               post-71.css  base: 47, min-width:2400px: 5, max-width:1366px: 31, max-width:1200px: 12, max-width:1024px: 14, max-width:767px: 44
 *   Friends (/friends/)    post-342.css  base: 55, min-width:2400px: 3, max-width:1366px: 30, max-width:1200px: 12, max-width:1024px: 17, max-width:767px: 44
 *   Remax (/remax/)        post-336.css  base: 55, min-width:2400px: 3, max-width:1366px: 30, max-width:1200px: 12, max-width:1024px: 17, max-width:767px: 44
 *   Kit CSS post-8.css has no font-size rules.
 *   Theme form CSS: the shared inline <style> block printed on every page.
 * ========================================================================= */

/* Section 1: step -> multipliers
 *   --a11y-scale          text, headings, lists           +15% ... +60%
 *   --a11y-scale-form     inputs, submit, messages,       +30% ... +75%
 *                         checkbox/legal text, cookie title/body/buttons
 *   --a11y-scale-toolbar  accessibility toolbar items     +10% ... +40%
 *                         (grows a little less than the page text) */
:root { --a11y-scale: 1; --a11y-scale-form: 1; --a11y-scale-toolbar: 1; }
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.15; --a11y-scale-form: 1.30; --a11y-scale-toolbar: 1.10; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.22; --a11y-scale-form: 1.40; --a11y-scale-toolbar: 1.14; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.28; --a11y-scale-form: 1.48; --a11y-scale-toolbar: 1.18; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.35; --a11y-scale-form: 1.55; --a11y-scale-toolbar: 1.22; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.42; --a11y-scale-form: 1.62; --a11y-scale-toolbar: 1.26; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.48; --a11y-scale-form: 1.68; --a11y-scale-toolbar: 1.30; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.54; --a11y-scale-form: 1.72; --a11y-scale-toolbar: 1.35; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; --a11y-scale-toolbar: 1.40; }

/* Section 2: base pin on <body> (measured 16px at every breakpoint). */
html body[class*="pojo-a11y-resize-font-"] {
    font-size: calc(16px * var(--a11y-scale)) !important;
}

/* Section 2b: accessibility toolbar items.
 * The item link stays 12.8px; the plugin makes the spans NN% of it
 * (12.8 -> 25.6px). Use the smaller toolbar curve instead
 * (12.8 -> 17.9px). em is safe here: the link is never resized and the
 * spans do not nest. */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-items .pojo-a11y-toolbar-item a > span {
    font-size: calc(1em * var(--a11y-scale-toolbar)) !important;
}

/* Section 3: stop the compounding percentages inside the content roots.
 * All three pages render through Elementor (.elementor-71/-342/-336);
 * there is no theme-template wrapper on them. Inputs are handled in
 * Section 4. */
html body[class*="pojo-a11y-resize-font-"] .elementor :is(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
    font-size: inherit !important;
}

/* Section 4: form controls and messages (theme inline form CSS, 1:1,
 * same media order). px only, never em or rem. */
html body[class*="pojo-a11y-resize-font-"] :is(.field-col label .wpcf7-form-control-wrap, .field-col input, .wpcf7-select) {
    font-size: calc(18px * var(--a11y-scale-form)) !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: calc(30px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .contact-form .form-heading {
    font-size: calc(30px * var(--a11y-scale)) !important;
    line-height: calc(30px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .field-col label input {
    font-size: calc(22px * var(--a11y-scale-form)) !important;
    line-height: calc(30px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7-not-valid-tip {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7-response-output {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] .submit-btn input {
    font-size: calc(23px * var(--a11y-scale-form)) !important;
    line-height: 1 !important;
}
html body[class*="pojo-a11y-resize-font-"] .elementor .legal-text :is(p, a) {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}

/* The consent checkbox itself is a fixed 25px (22px mobile) box. Keep its
 * font size fixed so the check mark stays inside it. */
html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox input[type="checkbox"] {
    font-size: 16px !important;
    line-height: 24px !important;
}

@media (max-width: 600px) {
    html body[class*="pojo-a11y-resize-font-"] :is(.field-col label .wpcf7-form-control-wrap, .field-col input, .field-col label input, .wpcf7-select) {
        font-size: calc(16px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .form-order form :is(p, .wpcf7-list-item-label) {
        font-size: calc(13px * var(--a11y-scale-form)) !important;
        line-height: 1.2 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .submit-btn input {
        font-size: calc(22px * var(--a11y-scale-form)) !important;
        line-height: calc(26px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .wpcf7-checkbox .wpcf7-list-item-label {
        font-size: calc(13px * var(--a11y-scale-form)) !important;
        line-height: calc(18px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .wpcf7-not-valid-tip {
        font-size: calc(14px * var(--a11y-scale-form)) !important;
        line-height: 1.43 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .contact-form-heading p {
        font-size: calc(15px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor :is(.legal-text, .legal-text a) {
        font-size: calc(14px * var(--a11y-scale-form)) !important;
        line-height: 1.6 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .legal-text p {
        font-size: calc(13px * var(--a11y-scale-form)) !important;
    }
}

/* Section 4d: validation tips.
 * The tips are in normal flow (position: relative), so nothing is drawn over
 * the consent text. But the name/phone/email tips hang below .field-col
 * (by 14px desktop / 16px mobile at rest). Once scaled they reached the
 * consent row (25px desktop / 76px mobile at max, 1228px desktop with the
 * plugin alone). The cause is the theme's ".field-col > p" height: 100%,
 * which keeps the paragraph at row height while the tip overflows it.
 *
 * Desktop/tablet (fields side by side): while the form shows any tip, give
 * every field column and the submit column the same bottom space, so all
 * inputs and the button keep one height, and place each tip in that space
 * right under its input. The space fits two lines, because the tip wraps in
 * the narrow 20% / 16.66% friends/remax columns.
 * Mobile (fields stacked): let every field paragraph fit its content, so a
 * field with a tip grows to hold it and all inputs keep one height whether
 * or not they show a tip. Also stop the tip covering the bottom 4px of the
 * input (theme margin -14px against the input's 10px margin). */
@media (min-width: 601px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor .cf7-inline-form:has(.wpcf7-not-valid-tip) > :is(.field-col, .submit-btn) {
        padding-bottom: calc(12px * 1.2 * var(--a11y-scale-form) * 2 + 6px) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .cf7-inline-form .field-col .wpcf7-form-control-wrap {
        display: block;
        height: 100%;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .cf7-inline-form .field-col .wpcf7-not-valid-tip {
        position: absolute !important;
        top: 100%;
        right: 0;
        left: 0;
        margin: 2px 0 0 !important;
    }
}
@media (max-width: 600px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor .cf7-inline-form > .field-col > p {
        height: auto !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .elementor .field-col .wpcf7-not-valid-tip {
        margin-top: -10px !important;
    }
}

/* Section 4b: theme sizes Section 3 would otherwise flatten
 * (includes the :where() rules, which have zero specificity). */
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content :is(p, li, a, div) {
    font-size: calc(1vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 {
    font-size: calc(1.8vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h3 {
    font-size: calc(1.4vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.pv-links > span, .pv-link) {
    font-size: calc(0.8vw * var(--a11y-scale)) !important;
}
@media (max-width: 600px) {
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 {
        font-size: calc(18px * var(--a11y-scale)) !important;
        line-height: calc(22px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h3 {
        font-size: calc(16px * var(--a11y-scale)) !important;
        line-height: calc(22px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content :is(p, li, a) {
        font-size: calc(12px * var(--a11y-scale)) !important;
        line-height: calc(18px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] :is(.pv-link, .pv-links > span) {
        font-size: calc(14px * var(--a11y-scale)) !important;
    }
}

/* Section 4c: cookie banner (#cc-banner-root.cc-root) and its settings modal
 * (.cc-modal-wrap). Both are outside .elementor. Generic inherit first,
 * then scaled pins; never flat px. */
html body[class*="pojo-a11y-resize-font-"] :is(.cc-root, .cc-modal-wrap) :is(p, li, span, label, a, div, summary, table, tr, input) {
    font-size: inherit !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-root {
    font-size: calc(14px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.cc-title, .cc-root .cc-title) {
    font-size: calc(18px * var(--a11y-scale-form)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.cc-body, .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-"] :is(.cc-btn, .cc-root .cc-btn) {
    font-size: calc(15px * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.cc-lang-toggle, .cc-root .cc-lang-toggle) {
    font-size: calc(12px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap {
    font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-head h2 {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-close {
    font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cat-desc {
    font-size: calc(13px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-required-badge {
    font-size: calc(11px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list :is(summary, table, th, td) {
    font-size: calc(12px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-foot .cc-btn {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}

/* Section 5: Elementor per-element sizes from post-71/342/336.css, scaled.
 * Emitted at base and in every breakpoint those files use, in their order.
 * :where() keeps every rule at the same specificity so the breakpoint order
 * decides, exactly as in the source files.
 * Line-heights written in px/vw are scaled too so lines do not overlap. */
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9f53973 .elementor-countdown-digits
) { font-size: calc(150px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8a57503 .elementor-heading-title
) { font-size: calc(90px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-0e7d8a1 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2c3d9b6 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-a2ce7e2 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e4f0aa3 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e7afef5 .elementor-heading-title
) { font-size: calc(65px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    .elementor-71 .elementor-element-0aeba36 .elementor-heading-title,
    .elementor-71 .elementor-element-7ca0ab9 .elementor-heading-title,
    .elementor-71 .elementor-element-8f63386 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-7515d30 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-7de2085 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-f5784dc .elementor-heading-title
) { font-size: calc(60px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    .elementor-71 .elementor-element-6812dc3 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-160e556 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-1d090b8 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-89847e4 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8cc98ef .elementor-heading-title
) { font-size: calc(50px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    .elementor-71 .elementor-element-488b1ae .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-527bd63 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-88486b3 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-59b9463 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3b587e .elementor-heading-title
) { font-size: calc(45px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-ef07dd9 .elementor-heading-title
) { font-size: calc(40px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3102ae .elementor-heading-title
) { font-size: calc(36px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342) .elementor-element-f48ef02 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2b5d7d2 .elementor-heading-title
) { font-size: calc(32px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9f53973 .elementor-countdown-label
) { font-size: calc(30px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-bd23e4c .elementor-heading-title
) { font-size: calc(26px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-3dfb09d .elementor-heading-title
) { font-size: calc(25px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342) .elementor-element-f02d28b .elementor-heading-title
) { font-size: calc(23px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-220ae8a .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-25fd7c8 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2642449 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-7a8284a .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-7e7109f .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-a82d247 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-df4e988 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e58b4b6 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e704d45 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-ea68b42 .elementor-heading-title
) { font-size: calc(22px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-313b0a2 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-371083d .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-52f42c4 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-585b2d1 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9967f4a .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-aec46c8 .elementor-heading-title
) { font-size: calc(21px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342) .elementor-element-298d32b .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-6812dc3 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-73d7dbe .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-b24d89a .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-d2c11e1 .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-db7a514 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-06edff1 .elementor-heading-title
) { font-size: calc(20px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    .elementor-71 .elementor-element-00432e7 .elementor-heading-title,
    .elementor-71 .elementor-element-07ff43b .elementor-heading-title,
    .elementor-71 .elementor-element-62229c4 .elementor-heading-title
) { font-size: calc(19px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    .elementor-71 .elementor-element-1ed9c8f .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-3236bf9 .elementor-heading-title
) { font-size: calc(18px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342) .elementor-element-7124352 .elementor-icon-list-item > .elementor-icon-list-text,
    :is(.elementor-336, .elementor-342) .elementor-element-7124352 .elementor-icon-list-item > a,
    :is(.elementor-336, .elementor-342) .elementor-element-a7db2e4 .elementor-icon-list-item > .elementor-icon-list-text,
    :is(.elementor-336, .elementor-342) .elementor-element-a7db2e4 .elementor-icon-list-item > a,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9d65775 .elementor-icon-list-item > .elementor-icon-list-text,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9d65775 .elementor-icon-list-item > a
) { font-size: calc(17px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-f562e51 .elementor-heading-title
) { font-size: calc(3vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-030a16d .elementor-heading-title
) { font-size: calc(2.2vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    :is(.elementor-336, .elementor-342) .elementor-element-b24d89a .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-db7a514 .elementor-heading-title,
    :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-06edff1 .elementor-heading-title
) { line-height: calc(25px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
    .elementor-71 .elementor-element-1ed9c8f .elementor-heading-title,
    :is(.elementor-336, .elementor-342) .elementor-element-3236bf9 .elementor-heading-title
) { line-height: calc(22px * var(--a11y-scale)) !important; }
@media (min-width: 2400px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(22px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-00432e7 .elementor-heading-title,
        .elementor-71 .elementor-element-07ff43b .elementor-heading-title,
        .elementor-71 .elementor-element-62229c4 .elementor-heading-title
    ) { font-size: calc(20px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-f48ef02 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2b5d7d2 .elementor-heading-title
    ) { font-size: calc(1.8vw * var(--a11y-scale)) !important; }
}
@media (max-width: 1366px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-0e7d8a1 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2c3d9b6 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-a2ce7e2 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e4f0aa3 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e7afef5 .elementor-heading-title
    ) { font-size: calc(60px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-160e556 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-1d090b8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-89847e4 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8cc98ef .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3102ae .elementor-heading-title
    ) { font-size: calc(45px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-f48ef02 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2b5d7d2 .elementor-heading-title
    ) { font-size: calc(32px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-3dfb09d .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-bd23e4c .elementor-heading-title
    ) { font-size: calc(22px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-220ae8a .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-25fd7c8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2642449 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-313b0a2 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-371083d .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-52f42c4 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-585b2d1 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-7a8284a .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-7e7109f .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9967f4a .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-a82d247 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-aec46c8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-df4e988 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e58b4b6 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e704d45 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-ea68b42 .elementor-heading-title
    ) { font-size: calc(19px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-00432e7 .elementor-heading-title,
        .elementor-71 .elementor-element-07ff43b .elementor-heading-title,
        .elementor-71 .elementor-element-62229c4 .elementor-heading-title
    ) { font-size: calc(15px * var(--a11y-scale)) !important; }
}
@media (max-width: 1200px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9f53973 .elementor-countdown-digits
    ) { font-size: calc(100px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(50px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-160e556 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-1d090b8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8cc98ef .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3102ae .elementor-heading-title
    ) { font-size: calc(40px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-527bd63 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3b587e .elementor-heading-title
    ) { font-size: calc(30px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-f48ef02 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2b5d7d2 .elementor-heading-title
    ) { font-size: calc(24px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(23px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-3dfb09d .elementor-heading-title
    ) { font-size: calc(21px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-bd23e4c .elementor-heading-title
    ) { font-size: calc(20px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-00432e7 .elementor-heading-title,
        .elementor-71 .elementor-element-07ff43b .elementor-heading-title,
        .elementor-71 .elementor-element-62229c4 .elementor-heading-title
    ) { font-size: calc(15px * var(--a11y-scale)) !important; }
}
@media (max-width: 1024px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8a57503 .elementor-heading-title
    ) { font-size: calc(60px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(40px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-59b9463 .elementor-heading-title
    ) { font-size: calc(36px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-160e556 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8cc98ef .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3102ae .elementor-heading-title
    ) { font-size: calc(35px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-488b1ae .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-88486b3 .elementor-heading-title
    ) { font-size: calc(33px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-89847e4 .elementor-heading-title
    ) { font-size: calc(30px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-527bd63 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3b587e .elementor-heading-title
    ) { font-size: calc(28px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(22px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-f02d28b .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-3dfb09d .elementor-heading-title
    ) { font-size: calc(20px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-00432e7 .elementor-heading-title,
        .elementor-71 .elementor-element-07ff43b .elementor-heading-title,
        .elementor-71 .elementor-element-62229c4 .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-298d32b .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-73d7dbe .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-d2c11e1 .elementor-heading-title
    ) { font-size: calc(18px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-f562e51 .elementor-heading-title
    ) { font-size: calc(4vw * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-030a16d .elementor-heading-title
    ) { font-size: calc(3vw * var(--a11y-scale)) !important; }
}
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8a57503 .elementor-heading-title
    ) { font-size: calc(60px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9f53973 .elementor-countdown-digits
    ) { font-size: calc(49px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-0aeba36 .elementor-heading-title,
        .elementor-71 .elementor-element-7ca0ab9 .elementor-heading-title,
        .elementor-71 .elementor-element-8f63386 .elementor-heading-title
    ) { font-size: calc(40px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(38px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-488b1ae .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-160e556 .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-7515d30 .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-7de2085 .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-88486b3 .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-f5784dc .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-0e7d8a1 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-1d090b8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2b5d7d2 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2c3d9b6 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-59b9463 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-8cc98ef .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-a2ce7e2 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e4f0aa3 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e7afef5 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-ef07dd9 .elementor-heading-title
    ) { font-size: calc(30px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-527bd63 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3102ae .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-c3b587e .elementor-heading-title
    ) { font-size: calc(26px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-89847e4 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-f562e51 .elementor-heading-title
    ) { font-size: calc(22px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9f53973 .elementor-countdown-label,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-bd23e4c .elementor-heading-title
    ) { font-size: calc(20px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        .elementor-71 .elementor-element-00432e7 .elementor-heading-title,
        .elementor-71 .elementor-element-07ff43b .elementor-heading-title,
        .elementor-71 .elementor-element-62229c4 .elementor-heading-title,
        :is(.elementor-336, .elementor-342) .elementor-element-f48ef02 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-030a16d .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-220ae8a .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-25fd7c8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-2642449 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-313b0a2 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-371083d .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-3dfb09d .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-52f42c4 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-585b2d1 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-7a8284a .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-7e7109f .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-9967f4a .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-a82d247 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-aec46c8 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-df4e988 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e58b4b6 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-e704d45 .elementor-heading-title,
        :is(.elementor-336, .elementor-342, .elementor-71) .elementor-element-ea68b42 .elementor-heading-title
    ) { font-size: calc(18px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .elementor.elementor :where(
        :is(.elementor-336, .elementor-342) .elementor-element-6812dc3 .elementor-heading-title
    ) { font-size: calc(17px * var(--a11y-scale)) !important; }
}

/* Section 6: consent checkbox in the contrast modes.
 * The theme draws a white 1px box with a white check mark (::before), which
 * is invisible on the light background mode. Give each mode a box and check
 * mark in its own colors, centered in the box. The :not(#pojo-a11y-toolbar)
 * matches the plugin's own id-level specificity. */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background, .pojo-a11y-grayscale) :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before,
html body[class*="pojo-a11y-resize-font-"] :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    line-height: 1 !important;
}
html body.pojo-a11y-high-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
    background: #000 !important;
    border: 1px solid #fff !important;
}
html body.pojo-a11y-high-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #fff !important;
}
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
    background: #000 !important;
    border: 1px solid #ff0 !important;
}
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #ff0 !important;
}
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
    background: #fff !important;
    border: 1px solid #000 !important;
}
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #000 !important;
}
html body.pojo-a11y-grayscale :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
    border: 1px solid #fff !important;
}
html body.pojo-a11y-grayscale :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #fff !important;
}

/* Section 7: contrast modes - no text background boxes.
 * High contrast, negative contrast and light background paint a black/white
 * box behind every widget and text element (headings, strong, text blocks,
 * spacers, logo image). Keep the section backgrounds, but let widgets and
 * their contents stay transparent. Form fields, buttons and videos keep
 * their mode colors. */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .elementor :not(#pojo-a11y-toolbar):is(.elementor-widget, .elementor-widget *):not(input, select, textarea, button, video, .custom-meeting-btn) {
    background-color: transparent !important;
}

/* Section 8: light background mode - outline the buttons.
 * The submit button and the "meeting" button shown after a successful
 * submit turn white on the white page; give them a visible border. */
html body.pojo-a11y-light-background :not(#pojo-a11y-toolbar) :is(.submit-btn input, .wpcf7-submit, .custom-meeting-btn) {
    border: 1px solid #000 !important;
}
/* The "meeting" button after submit is outlined in the dark contrast modes
 * too, in each mode's text color. */
html body.pojo-a11y-high-contrast :not(#pojo-a11y-toolbar) .custom-meeting-btn {
    border: 1px solid #fff !important;
}
html body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .custom-meeting-btn {
    border: 1px solid #ff0 !important;
}

/* Section 9: success message button after submit (inline font-size: 1.3rem,
 * which ignores the resize). */
html body[class*="pojo-a11y-resize-font-"] .custom-meeting-btn {
    font-size: calc(1.3rem * var(--a11y-scale-form)) !important;
}

/* Section 10: list bullets.
 * The square bullets are 8px icons pushed down a fixed 8px, which lines up
 * with the first line only at the default size. While resized, make the icon
 * box exactly one text line tall (17px text, line-height 1.5) and center the
 * bullet in it, so it stays level with the first line at every size. */
html body[class*="pojo-a11y-resize-font-"] :is(.elementor-71, .elementor-342, .elementor-336) :is(.elementor-element-9d65775, .elementor-element-a7db2e4, .elementor-element-7124352) .elementor-icon-list-icon {
    top: 0 !important;
    height: calc(17px * var(--a11y-scale) * 1.5) !important;
    align-items: center !important;
}

/* Section 10b: hero box (97c1368, same on all three pages).
 * The box is fit-content, capped by Elementor's --width (70% / 600px /
 * 550px / 35% on desktop and tablet). Once the text grows it hits that cap
 * and wraps out of the box, so from the 160% step up raise the cap with the
 * text size (never past 96% of the section). At 130%-150% the box keeps
 * its normal width. Same media bands as the page CSS. */
@media (min-width: 768px) {
    html body:is(.pojo-a11y-resize-font-160, .pojo-a11y-resize-font-170, .pojo-a11y-resize-font-180, .pojo-a11y-resize-font-190, .pojo-a11y-resize-font-200) :is(.elementor-71, .elementor-342, .elementor-336) .elementor-element.elementor-element-97c1368 {
        --width: min(96%, calc(70% * var(--a11y-scale))) !important;
    }
}
@media (max-width: 1366px) and (min-width: 768px) {
    html body:is(.pojo-a11y-resize-font-160, .pojo-a11y-resize-font-170, .pojo-a11y-resize-font-180, .pojo-a11y-resize-font-190, .pojo-a11y-resize-font-200) :is(.elementor-71, .elementor-342, .elementor-336) .elementor-element.elementor-element-97c1368 {
        --width: min(96%, calc(600px * var(--a11y-scale))) !important;
    }
}
@media (max-width: 1200px) and (min-width: 768px) {
    html body:is(.pojo-a11y-resize-font-160, .pojo-a11y-resize-font-170, .pojo-a11y-resize-font-180, .pojo-a11y-resize-font-190, .pojo-a11y-resize-font-200) :is(.elementor-71, .elementor-342, .elementor-336) .elementor-element.elementor-element-97c1368 {
        --width: min(96%, calc(550px * var(--a11y-scale))) !important;
    }
}
@media (min-width: 2400px) {
    html body:is(.pojo-a11y-resize-font-160, .pojo-a11y-resize-font-170, .pojo-a11y-resize-font-180, .pojo-a11y-resize-font-190, .pojo-a11y-resize-font-200) :is(.elementor-71, .elementor-342, .elementor-336) .elementor-element.elementor-element-97c1368 {
        --width: min(96%, calc(35% * var(--a11y-scale))) !important;
    }
}

/* Section 11: mobile form layout (applies in the default view too, as
 * requested).
 * - Inputs and the submit button share one height: 47px by default (the
 *   inputs' current height), growing with the form text size.
 * - The consent checkbox text and the legal text use the full width instead
 *   of the theme's 318px cap. */
@media (max-width: 600px) {
    html body .elementor .cf7-inline-form > .field-col input.wpcf7-form-control,
    html body .elementor .cf7-inline-form > .submit-btn input.wpcf7-submit {
        height: calc(31px + 16px * var(--a11y-scale-form)) !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }
    html body .elementor .checkbox-inner > p,
    html body .elementor .checkbox-inner .legal-text {
        width: 100% !important;
        max-width: 100% !important;
    }
}
