/* ==========================================================================
   One Click Accessibility (Pojo) fixes – Refael theme (landing.bioclinic.co.il)
   Every font rule is gated behind body[class*="pojo-a11y-resize-font-"].
   Contrast rules are gated behind the plugin's contrast body classes.
   Content roots: .lp-sec, .mobile-butotn (home), .privacy-content (privacy
   template), #cc-banner-root (cookie banner). #pojo-a11y-toolbar is only
   touched where explicitly requested (item text size, icon padding, position).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Section 1: scale curves. Forms/banner start smallest -> bigger first jump.
   Toolbar items grow a bit 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.03; }
body.pojo-a11y-resize-font-140 { --a11y-scale:1.22; --a11y-scale-form:1.40; --a11y-scale-toolbar:1.06; }
body.pojo-a11y-resize-font-150 { --a11y-scale:1.28; --a11y-scale-form:1.48; --a11y-scale-toolbar:1.08; }
body.pojo-a11y-resize-font-160 { --a11y-scale:1.35; --a11y-scale-form:1.55; --a11y-scale-toolbar:1.10; }
body.pojo-a11y-resize-font-170 { --a11y-scale:1.42; --a11y-scale-form:1.62; --a11y-scale-toolbar:1.12; }
body.pojo-a11y-resize-font-180 { --a11y-scale:1.48; --a11y-scale-form:1.68; --a11y-scale-toolbar:1.14; }
body.pojo-a11y-resize-font-190 { --a11y-scale:1.54; --a11y-scale-form:1.72; --a11y-scale-toolbar:1.16; }
body.pojo-a11y-resize-font-200 { --a11y-scale:1.60; --a11y-scale-form:1.75; --a11y-scale-toolbar:1.18; }

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

/* Toolbar menu items: grow a bit less than the other fonts */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a {
    font-size: 12.8px !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a .pojo-a11y-toolbar-text {
    font-size: calc(12.8px * var(--a11y-scale-toolbar)) !important;
    white-space: nowrap !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a .pojo-a11y-toolbar-icon {
    font-size: calc(12.8px * var(--a11y-scale-toolbar)) !important;
}

/* --------------------------------------------------------------------------
   Section 3: kill % compounding inside every content root
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-butotn, .privacy-content) :is(p, li, span, label, blockquote, legend, code, pre, dd, dt, a, strong, b, u, em, i, small) {
    font-size: inherit !important;
}

/* nothing cropped / pushed off-screen while scaled:
   - theme line-heights are fixed px (body 26px) -> proportional
   - long URLs / e-mails (privacy pages) may break instead of widening the page
   - cookie banner never taller than the screen */
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .mobile-butotn, .privacy-content) {
    line-height: 1.6 !important;
}
html body[class*="pojo-a11y-resize-font-"] :is(.lp-sec, .privacy-content) :is(p, li, a, span, strong, b, u, em, h1, h2, h3, h4, h5, h6, .content) {
    overflow-wrap: break-word !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-root {
    max-height: calc(100vh - 20px) !important;
    overflow-y: auto !important;
}

/* --------------------------------------------------------------------------
   Section 4: contact form (CF7) on --a11y-scale-form
   -------------------------------------------------------------------------- */
/* desktop (base) – theme values: input 0.9vw, submit 1.5vw, tip 0.9vw, label 0.7vw */
html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .field-col input {
    font-size: calc(max(14px, 0.9vw) * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
    height: calc(max(14px, 1.5vw) * var(--a11y-scale-form) * 1.3 + 1.4vh + 4px) !important;
    padding-top: 0.7vh !important;
    padding-bottom: 0.7vh !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .submit-btn input {
    font-size: calc(max(14px, 1.5vw) * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
    height: calc(max(14px, 1.5vw) * var(--a11y-scale-form) * 1.3 + 1.4vh + 4px) !important;
    padding-top: 0.7vh !important;
    padding-bottom: 0.7vh !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .wpcf7-not-valid-tip {
    font-size: min(calc(max(14px, 0.9vw) * var(--a11y-scale-form)), 2.2vw) !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .wpcf7-checkbox .wpcf7-list-item-label {
    font-size: calc(max(12px, 0.7vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .wpcf7 form .wpcf7-response-output {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .form-bottom-text {
    font-size: calc(max(12px, 0.7vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .field-col label > span:first-child { font-size: calc(25px * var(--a11y-scale-form)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .field-col label input { font-size: calc(22px * var(--a11y-scale-form)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .contact-form .form-heading { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.2 !important; }

/* consent-checkbox error: theme pulls it up with a negative margin into the
   last line of the consent text (already at default size) -> always below it */
html body .lp-sec .checkbox-group .wpcf7-not-valid-tip {
    margin-top: 8px !important;
}

/* consent checkbox: centred on the first text line (line = label font x 1.4) */
html body[class*="pojo-a11y-resize-font-"] .lp-sec .wpcf7-checkbox input[type="checkbox"] {
    top: calc((max(12px, 0.7vw) * var(--a11y-scale-form) * 1.4 - 2.5vh) / 2) !important;
}
@media (min-width: 2200px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .wpcf7-checkbox input[type="checkbox"] {
        top: calc((max(12px, 0.7vw) * var(--a11y-scale-form) * 1.4 - 2vh) / 2) !important;
    }
}
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .wpcf7-checkbox input[type="checkbox"] {
        top: calc((12px * var(--a11y-scale-form) * 1.4 - 18px) / 2) !important;
    }
}

/* desktop: 2 narrow columns can't hold the bigger text -> full-width fields */
@media (min-width: 768px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form { max-width: 100% !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .field-col,
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .submit-btn {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .field-col input {
        font-size: calc(16px * var(--a11y-scale-form)) !important;
        height: calc(22px * var(--a11y-scale-form) * 1.3 + 20px) !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .submit-btn input {
        font-size: calc(22px * var(--a11y-scale-form)) !important;
        height: calc(22px * var(--a11y-scale-form) * 1.3 + 20px) !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .wpcf7-not-valid-tip {
        font-size: min(calc(14px * var(--a11y-scale-form)), 5.6vw) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .wpcf7-checkbox .wpcf7-list-item-label {
        font-size: calc(12px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .lp-form .form-bottom-text {
        font-size: calc(12px * var(--a11y-scale-form)) !important;
    }
    /* fixed bottom button bar grows -> keep the form clear of it */
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .content-form-wrapper {
        padding-bottom: calc(90px * var(--a11y-scale-form)) !important;
    }
}

/* --------------------------------------------------------------------------
   Section 4b: small texts with their own size (links row, notice, buttons)
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .lp-sec .desclimar-links > * {
    font-size: calc(max(12px, 0.8vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .notice-text {
    font-size: calc(max(12px, 0.7vw) * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"] .lp-sec .desclimar-links { flex-wrap: wrap !important; }
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .desclimar-links > * { font-size: calc(14px * var(--a11y-scale-form)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .notice-text { font-size: calc(12px * var(--a11y-scale-form)) !important; }
}

/* --------------------------------------------------------------------------
   Section 4c: cookie banner (#cc-banner-root lives outside the content roots)
   -------------------------------------------------------------------------- */
html body[class*="pojo-a11y-resize-font-"] .cc-root :is(p, li, span, label, a) { font-size: inherit !important; }
/* settings modal (.cc-modal-wrap) is created outside .cc-root */
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap :is(p, li, span, label, a, summary, td, th, legend, dd, dt) { font-size: inherit !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-head h2 { font-size: calc(18px * var(--a11y-scale-form)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-close { font-size: calc(24px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cat-name { font-size: calc(15px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cat-desc { font-size: calc(13px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-required-badge { font-size: calc(11px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list :is(summary, th, td) { font-size: calc(12px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-btn { font-size: calc(16px * var(--a11y-scale-form)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-lang-toggle { font-size: calc(12px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-root { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-title,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-title { font-size: calc(18px * var(--a11y-scale-form)) !important; line-height: 1.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.3 !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; }
html body[class*="pojo-a11y-resize-font-"] .cc-cat-desc,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cat-desc { font-size: calc(13px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .cc-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-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list td { font-size: calc(12px * var(--a11y-scale)) !important; }

/* --------------------------------------------------------------------------
   Section 5: theme font sizes (style.css / responsive.css / bootstrap
   headings), gated and x var(--a11y-scale), same breakpoints, same order.
   Theme line-heights are px/vh and don't grow -> unitless while scaled.
   -------------------------------------------------------------------------- */
/* base */
html body[class*="pojo-a11y-resize-font-"] .lp-sec .main-title { font-size: calc(2.7vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .subtitle { font-size: calc(1.3vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .content-wrapper .content { font-size: calc(1.03vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .icon-box-title { font-size: calc(1.4vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .icon-list .item > .text { font-size: calc(0.85vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .quote-desc { font-size: calc(1vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .reviewer-name,
html body[class*="pojo-a11y-resize-font-"] .lp-sec .form-subtitle { font-size: calc(1.03vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .form-title { font-size: calc(1.7vw * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .global-btn { font-size: calc(25px * var(--a11y-scale-form)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec .sticky-button-group > .global-btn { font-size: calc(20px * var(--a11y-scale-form)) !important; }
html body[class*="pojo-a11y-resize-font-"] .mobile-butotn.d-flex a { font-size: calc(18px * var(--a11y-scale-form)) !important; line-height: 1.3 !important; }

html body[class*="pojo-a11y-resize-font-"] .lp-sec :is(.main-title, .form-title, .icon-box-title) { line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .lp-sec :is(.subtitle, .content-wrapper .content, .icon-list .item > .text, .quote-desc, .reviewer-name, .form-subtitle) { line-height: 1.45 !important; }
/* desktop icon list: text grows on a gentler curve (1.3x at max) so the 2x2
   overlapping capsules keep the default layout (max 4 lines, rows aligned);
   odd items reserve 3vw for the overlap but it only needs ~2.4vw */
@media (min-width: 768px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .icon-list .item > .text {
        font-size: calc(0.85vw * (1 + (var(--a11y-scale) - 1) * 0.5)) !important;
        line-height: 1.25 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .icon-list .item:nth-child(2n+1) {
        padding-left: 2.5vw !important;
    }
}

/* bootstrap 5.0.2 headings (privacy template content) */
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h1 { font-size: calc((22px + 1.5vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h2 { font-size: calc((21.2px + 0.9vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h3 { font-size: calc((20.8px + 0.6vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h4 { font-size: calc((20.4px + 0.3vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h5 { font-size: calc(20px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h6 { font-size: calc(16px * var(--a11y-scale)) !important; }
@media (min-width: 1200px) {
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h1 { font-size: calc(40px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h2 { font-size: calc(32px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h3 { font-size: calc(28px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h4 { font-size: calc(24px * var(--a11y-scale)) !important; }
}
html body[class*="pojo-a11y-resize-font-"] .privacy-content .privacy-banner h1 { font-size: calc(50px * var(--a11y-scale)) !important; line-height: 1.15 !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .breadcrumbs li { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content :is(h1, h2, h3, h4, h5, h6) { line-height: 1.25 !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content p { line-height: 1.75 !important; }

/* (max-width: 767px) */
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .main-title { font-size: calc(42px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .subtitle { font-size: calc(22px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .content-wrapper .content { font-size: calc(16px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec :is(.unit-title, .payment-terms) { font-size: calc(17px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .unit-price-wrapper { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .icon-box-title { font-size: calc(20px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .icon-list .item > .text,
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .quote-desc,
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .reviewer-name,
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .form-subtitle { font-size: calc(16px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .lp-sec .form-title { font-size: calc(20px * var(--a11y-scale)) !important; }

    html body[class*="pojo-a11y-resize-font-"] .privacy-content .privacy-banner h1 { font-size: calc(36px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h2 { font-size: calc(26px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .page-content h3 { font-size: calc(20px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-content .breadcrumbs li { font-size: calc(18px * var(--a11y-scale)) !important; }
}
@media (max-width: 380px) {
    html body[class*="pojo-a11y-resize-font-"] .mobile-butotn.d-flex a { font-size: calc(15px * var(--a11y-scale-form)) !important; }
}
@media (max-width: 330px) {
    html body[class*="pojo-a11y-resize-font-"] .mobile-butotn.d-flex a { font-size: calc(13px * var(--a11y-scale-form)) !important; }
}


/* ==========================================================================
   CONTRAST MODES
   Plugin specificity: high (0,1,2) · negative (1,1,1) · light (1,2,1).
   :not(#a11y-x) adds an id column so these rules win.
   ========================================================================== */

/* high contrast: body is black */
html body.pojo-a11y-high-contrast { background: #000 !important; color: #fff !important; }

/* background images stay visible; URLs come from functions.php
   (--a11y-bg-content / --a11y-bg-form / --a11y-bg-banner) */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .content-wrapper:not(#a11y-x) {
    background-color: transparent !important;
    background-image: var(--a11y-bg-content, none) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .content-form-wrapper:not(#a11y-x) {
    background-color: transparent !important;
    background-image: var(--a11y-bg-form, none) !important;
    background-size: cover !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .privacy-content .privacy-banner:not(#a11y-x) {
    background-color: transparent !important;
    background-image: var(--a11y-bg-banner, none) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
@media (max-width: 767px) {
    html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .content-wrapper:not(#a11y-x) {
        background-size: auto !important;
        background-position: 0% 0% !important;
    }
}

/* inside a background image: containers transparent, background only behind text */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) :is(.content-wrapper, .privacy-banner) :is(div, ul, ol, form, fieldset, label, .wpcf7-form-control-wrap, .wpcf7-checkbox, .wpcf7-list-item, .field-col > p, .submit-btn > p, .checkbox-group > p, .main-logo a, .desclimar-links > span:empty):not(.content, .content-form-wrapper, .img-area, .icon-area, .item, .wpcf7-response-output, .wpcf7-not-valid-tip, .owl-dot, #a11y-x) {
    background-color: transparent !important;
}

/* images keep a transparent background in every mode */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background, .pojo-a11y-grayscale) :is(.lp-sec, .mobile-butotn, .privacy-content, #cc-banner-root) img:not(#a11y-x),
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background, .pojo-a11y-grayscale) .lp-sec .sticker:not(#a11y-x) {
    background: transparent !important;
}
/* icon badges keep their white circle so the icons stay visible */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast) .lp-sec .icon-list .item .img-area:not(#a11y-x) {
    background-color: #fff !important;
}

/* icon list: one uniform border on every item */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .icon-list .item:not(#a11y-x) {
    width: calc(50% - 0.5vw) !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 2px solid #fff !important;
    /* a pill radius turns tall (wrapped) items into circles that cut the text */
    border-radius: 22px !important;
}
html body.pojo-a11y-light-background .lp-sec .icon-list .item:not(#a11y-x) { border-color: #000 !important; }
/* the item carries the background, so the text box itself stays transparent */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .icon-list .item > .text:not(#a11y-x) {
    background: transparent !important;
}
@media (max-width: 767px) {
    html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .icon-list .item:not(#a11y-x) {
        width: 100% !important;
    }
}

/* review slider: neighbouring slides overlap the window by ~1-2px (fractional
   owl widths) -> their text background showed as a thin line; inset the text */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .js-review-carousel .review-wrapper:not(#a11y-x) {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

/* review slider dots: two-tone rings so they show on light AND dark parts of
   the background image; inactive = dark dot, active = light dot */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .js-review-carousel .owl-dot:not(#a11y-x) {
    width: 12px !important; height: 12px !important; padding: 0 !important;
    background: #000 !important; border: 2px solid #fff !important;
    box-shadow: 0 0 0 1px #000 !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .js-review-carousel .owl-dot.active:not(#a11y-x) {
    background: #fff !important; border-color: #000 !important;
    box-shadow: 0 0 0 1px #fff !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .js-review-carousel .owl-dot span:not(#a11y-x) { background: transparent !important; }

/* buttons: visible border in every contrast mode */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast) :is(.lp-sec .submit-btn input, .mobile-butotn a, .cc-btn, .cc-modal-close, #cc-floater):not(#a11y-x) { border: 1px solid #fff !important; }
html body.pojo-a11y-light-background :is(.lp-sec .submit-btn input, .mobile-butotn a, .cc-btn, .cc-modal-close, #cc-floater):not(#a11y-x) { border: 1px solid #000 !important; }
html body.pojo-a11y-grayscale :is(.cc-btn, .cc-modal-close, #cc-floater):not(#a11y-x) { border: 1px solid #fff !important; }

/* form checkbox: box + check visible in every mode */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast) .lp-sec .wpcf7-checkbox input[type="checkbox"]:not(#a11y-x) { border: 2px solid #fff !important; background: #000 !important; }
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast) .lp-sec .wpcf7-checkbox input[type="checkbox"]:checked:not(#a11y-x)::before { background-color: #fff !important; }
html body.pojo-a11y-light-background .lp-sec .wpcf7-checkbox input[type="checkbox"]:not(#a11y-x) { border: 2px solid #000 !important; background: #fff !important; }
html body.pojo-a11y-light-background .lp-sec .wpcf7-checkbox input[type="checkbox"]:checked:not(#a11y-x)::before { background-color: #000 !important; }

/* validation messages: no background block in any contrast mode; they sit on
   the dark form image, so light mode's forced black text becomes white */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background) .lp-sec .wpcf7-not-valid-tip:not(#a11y-x) {
    background: transparent !important;
}
html body.pojo-a11y-light-background .lp-sec .wpcf7-not-valid-tip:not(#a11y-x) {
    color: #fff !important;
}

/* placeholders readable on black */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast) .lp-sec :is(input, textarea)::placeholder { color: #fff !important; opacity: .85; }


/* ==========================================================================
   Requested additions
   ========================================================================== */
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) input,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) textarea,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) select {
    border: 1px solid #000 !important;
}
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) input::placeholder,
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) textarea::placeholder {
    color: #000;
}

/* Remove the problematic body filter only during grayscale mode */
body.pojo-a11y-grayscale {
    -webkit-filter: none !important;
    filter: none !important;
    overflow-x: hidden !important;
}
/* Reapply grayscale to the document root */
html:has(body.pojo-a11y-grayscale) {
    -webkit-filter: grayscale(100%) !important;
    filter: grayscale(100%) !important;
}
/* Change toolbar positioning only during grayscale mode */
body.pojo-a11y-grayscale #pojo-a11y-toolbar {
    position: fixed !important;
    z-index: 99999 !important;
}

.cc-slider, body.pojo-a11y-high-contrast .cc-slider, body.pojo-a11y-grayscale .cc-slider,
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .cc-slider,
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-slider {
    background: #ababff !important;
}
body.pojo-a11y-grayscale .wpcf7-not-valid-tip {
    color: #fff;
}
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-btn {
    border: 1px solid #000 !important;
}
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-slider {
    background: gray !important;
}
body.pojo-a11y-high-contrast .cc-slider {
    background: gray !important;
}
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .cc-slider {
    background: gray !important;
}
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .black-bg img {
    background: #000 !important;
}
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .transparent-bg {
    background: transparent !important;
}
body.pojo-a11y-high-contrast .transparent-bg {
    background: transparent !important;
}
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .transparent-bg {
    background: transparent !important;
}
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .transparent-bg img {
    background: transparent !important;
}
body.pojo-a11y-high-contrast .transparent-bg img {
    background: transparent !important;
}
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .transparent-bg img {
    background: transparent !important;
}
body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #fff;
}
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #fff;
}

/* accessibility toggle + cookie button: cookie button sits right below the
   accessibility button, on the same side, on every device */
body #pojo-a11y-toolbar {
    z-index: 9999 !important;
    top: 9vw !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
    font-size: 1.5vw !important;
    padding: 0.6vw !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle svg {
    width: 1.5vw !important;
}
body #cc-floater {
    bottom: unset !important;
    top: 12.5vw !important;
    left: unset !important;
    right: 0.1vw !important;
    width: 2.5vw !important;
    height: 2.5vw !important;
    line-height: 2.5vw;
    text-align: center !important;
    z-index: 999 !important;
}
body #cc-floater svg {
    width: 1.5vw !important;
    height: 1.5vw !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
    body #pojo-a11y-toolbar {
        top: 48vw !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
        font-size: 5.5vw !important;
        padding: 2vw !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle svg {
        width: 5.8vw !important;
    }
    body #cc-floater {
        bottom: unset !important;
        top: 60vw !important;
        left: unset !important;
        right: 0.4vw !important;
        width: 7.5vw !important;
        height: 7.5vw !important;
        line-height: 7.5vw;
        padding: 4.5vw !important;
    }
    body #cc-floater svg {
        width: 5vw !important;
        height: 5vw !important;
    }

    /* cookie banner centred on mobile */
    .cc-banner {
        padding: 16px !important;
    }
    .cc-pos-right {
        left: 50% !important;
        right: unset !important;
        bottom: 10px !important;
        width: 95%;
        transform: translateX(-50%);
    }
    .cc-btn {
        padding: 7px 9px !important;
    }
}

/* mobile review slider: the theme fixes every slide at 150px, which cuts the
   longer reviews (already at default size, more when the font is increased);
   slides now grow to fit, 150px stays the minimum */
@media (max-width: 767px) {
    .js-review-carousel.owl-carousel.owl-rtl .owl-item {
        height: auto !important;
        min-height: 150px;
    }
}

/* home video: <video> is inline by default, its baseline gap pushed ~8px of
   grey body background below the page (belongs in style.css, kept here) */
.banner-video.no-iframe video {
    display: block;
}

/* toolbar item icons: no padding on the right, same padding on the left */
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a svg {
    padding-right: 0 !important;
    padding-left: 6px !important;
}
