/*
 * Accessibility overrides for the "One Click Accessibility" (Pojo) plugin.
 * Theme: silit — saleet.co.il
 *
 * Structure:
 *  1  Scale curves (font resize steps 130–200; 120 = plugin baseline, no class)
 *  2  Base pin on <body>
 *  3  Anti-compounding: inherit inside content roots (+ generic headings)
 *  4  Form controls, messages, validation tips (form curve) + tip positioning
 *  4c Cookie-consent banner (.cc-*)
 *  5  Theme font-size mirror — every theme rule, gated, × scale (base + each breakpoint,
 *     in the theme's own source order: 1550 / 1024 / 991 / 767 / 600)
 *  5b Accessibility-toolbar items on a reduced curve (client request)
 *  6  Contrast-mode fixes (high / negative / light / grayscale): WhatsApp float,
 *     select double-arrow, checkbox check glyph, placeholders, text over bg images
 *  7  Client-supplied block (toolbar / cookie floater positioning, grayscale fix)
 *  8  lang/dir neutraliser
 *
 * RULE A: with no toolbar option selected nothing here changes the page
 * (exceptions the client asked for: section 7 positioning and section 8).
 */

/* ============================================================
   1. SCALE CURVES
   ============================================================ */
:root {
    --a11y-scale: 1;
    --a11y-scale-form: 1;
    --a11y-scale-toolbar: 1;
    --a11y-scale-header: 1;
}
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.15; --a11y-scale-form: 1.30; --a11y-scale-toolbar: 1.08; --a11y-scale-header: 1.05; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.22; --a11y-scale-form: 1.40; --a11y-scale-toolbar: 1.12; --a11y-scale-header: 1.08; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.28; --a11y-scale-form: 1.48; --a11y-scale-toolbar: 1.16; --a11y-scale-header: 1.10; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.35; --a11y-scale-form: 1.55; --a11y-scale-toolbar: 1.20; --a11y-scale-header: 1.12; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.42; --a11y-scale-form: 1.62; --a11y-scale-toolbar: 1.24; --a11y-scale-header: 1.14; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.48; --a11y-scale-form: 1.68; --a11y-scale-toolbar: 1.28; --a11y-scale-header: 1.16; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.54; --a11y-scale-form: 1.72; --a11y-scale-toolbar: 1.32; --a11y-scale-header: 1.18; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; --a11y-scale-toolbar: 1.36; --a11y-scale-header: 1.20; }

/* ============================================================
   2. BASE PIN — measured body baseline 16px. calc(), never flat px.
   Deliberately UNSCOPED so the toolbar popup keeps behaving.
   ============================================================ */
html body[class*="pojo-a11y-resize-font-"] {
    font-size: calc(16px * var(--a11y-scale)) !important;
}

/* Scaled text can nudge an edge case past the viewport on phones —
   never allow a horizontal scrollbar while font resize is active. */
html body[class*="pojo-a11y-resize-font-"] {
    overflow-x: hidden !important;
}
html:has(body[class*="pojo-a11y-resize-font-"]) {
    overflow-x: hidden;
}

/* ============================================================
   3. KILL COMPOUNDING inside every content root.
   Content roots on this theme: header / section / footer / privacy modal /
   lightbox — all direct children of <body>. Toolbar and .cc-root excluded.
   Excludes input/select/textarea (section 4).
   ============================================================ */
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, .lightbox, .lightboxOverlay, main, .page-content, .error-section, .description-section, .home-banner, .breadcrums, .users-grid) :is(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
    font-size: inherit !important;
}

/* 3b. Generic headings without a class (e.g. .page-content h2 on the privacy
   pages) — mirror Bootstrap 5 reboot formulas × scale so the plugin's
   compounding percentages never apply. Theme-styled headings all carry
   classes and are pinned in section 5. */
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, main, .page-content, .error-section, .description-section, .home-banner, .users-grid) h1:not([class]) { font-size: calc((1.375rem + 1.5vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, main, .page-content, .error-section, .description-section, .home-banner, .users-grid) h2:not([class]) { font-size: calc((1.325rem + 0.9vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, main, .page-content, .error-section, .description-section, .home-banner, .users-grid) h3:not([class]) { font-size: calc((1.3rem + 0.6vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, main, .page-content, .error-section, .description-section, .home-banner, .users-grid) h4:not([class]) { font-size: calc((1.275rem + 0.3vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, main, .page-content, .error-section, .description-section, .home-banner, .users-grid) h5:not([class]) { font-size: calc(1.25rem * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(.header, section, footer, .privacy-wrapper, main, .page-content, .error-section, .description-section, .home-banner, .users-grid) h6:not([class]) { font-size: calc(1rem * var(--a11y-scale)) !important; }

/* ============================================================
   4. FORM CONTROLS + MESSAGES — form curve. Unitless line-heights so
   heights stay proportional on every device / breakpoint.
   ============================================================ */
html body[class*="pojo-a11y-resize-font-"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html body[class*="pojo-a11y-resize-font-"] textarea,
html body[class*="pojo-a11y-resize-font-"] select {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important; /* theme: 16px/24px */
}

/* Submit button (<button> is missing from the plugin's selector list and
   never moved at any step). Same curve as the inputs so both grow together
   and their heights stay consistent on every device. */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 button[type="submit"],
html body[class*="pojo-a11y-resize-font-"] .submit-col button[type="submit"] {
    font-size: calc(24px * var(--a11y-scale-form)) !important;
    line-height: 1.17 !important; /* theme: 24px/28px */
}

/* Response output — force unitless line-height, floor 16px */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output {
    font-size: calc(max(16px, 1em) * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important;
}

/* Validation tips — modest curve so they stay on as few lines as possible */
html body[class*="pojo-a11y-resize-font-"] .wpcf7 .wpcf7-not-valid-tip {
    font-size: calc(14px * var(--a11y-scale)) !important;
    line-height: 1.35 !important;
}

/* Consent checkbox labels */
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-"] .privacy-checkbox .wpcf7-list-item-label a {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
    line-height: 1.3 !important;
}

/* 4d. TIP POSITIONING — the theme anchors the consent tip with a fixed
   px `top` (20px base / 26px mobile) that cannot track a label that wraps
   to more lines as it scales. Re-anchor the tip to the bottom of the WHOLE
   row and reserve room for it. Gated: default render untouched. */
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first > p {
    position: relative !important;
    align-items: flex-start !important;
    padding-bottom: calc(14px * var(--a11y-scale) * 1.35 + 6px) !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first .wpcf7-form-control-wrap {
    position: static !important;
    /* optically center the 18px box on the first label line */
    margin-top: calc((14px * var(--a11y-scale-form) * 1.3 - 18px) / 2) !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-list-item {
    align-items: flex-start !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox .wpcf7-list-item input[type="checkbox"] {
    margin-top: calc((14px * var(--a11y-scale-form) * 1.3 - 18px) / 2) !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;
    width: auto !important;
    min-width: fit-content;
    white-space: nowrap;
    text-wrap: nowrap;
    margin-top: 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] .privacy-checkbox.first .wpcf7-form-control.wpcf7-not-valid {
    padding-bottom: 0 !important;
}

/* ============================================================
   4c. COOKIE-CONSENT BANNER (#cc-banner-root, outside every content root).
   Generic inherit rule FIRST, then explicit pins — every pin is
   calc(px * var(--scale…)), never flat px. Title/buttons on the form
   curve with bumped baselines so click 1 is a visible jump.
   ============================================================ */
html body[class*="pojo-a11y-resize-font-"] .cc-root :is(p, li, span, label, a) {
    font-size: inherit !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-root {
    font-size: calc(14px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-title,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-title {
    font-size: calc(18px * var(--a11y-scale-form)) !important;
    line-height: 1.35 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-body,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-body {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-btn,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-btn {
    font-size: calc(15px * var(--a11y-scale-form)) !important;
    line-height: 1.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.35 !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-modal-close,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-modal-close {
    font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-cat-desc,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cat-desc {
    font-size: calc(13px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-cat-name,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cat-name {
    font-size: calc(14px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-required-badge,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-required-badge {
    font-size: calc(11px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"] .cc-root .cc-cookies-list td {
    font-size: calc(12px * var(--a11y-scale)) !important;
}

/* ============================================================
   5. THEME FONT-SIZE MIRROR — every font-size rule from
   assets/css/style.css and assets/css/responsive.css, gated and
   multiplied by the scale. Unitless line-height ratios mirror the
   theme's px pairs 1:1. Media blocks in the theme's source order.
   ============================================================ */

/* ---- base (assets/css/style.css) ---- */
html body[class*="pojo-a11y-resize-font-"] .global-btn { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .title-area .keyword { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .title-area .title { font-size: calc(42px * var(--a11y-scale)) !important; line-height: 1.1 !important; }
html body[class*="pojo-a11y-resize-font-"] .title-area .desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.56 !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-form-wrapper .title-area .desc { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.18 !important; }
html body[class*="pojo-a11y-resize-font-"] .navbar-nav .menu-item > a { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
html body[class*="pojo-a11y-resize-font-"] .navbar-nav .page_item > a { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .header-dropdown .dropdown-menu .dropdown-item { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .header-social-icons li a { font-size: calc(20px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .header-social-icons li:first-child a { font-size: calc(24px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-title { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.43 !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-social-links .item a i { font-size: calc(20px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail .item .link i { font-size: calc(20px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail .item .link span { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.57 !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-menu li a { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.43 !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail .item > a { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.43 !important; }
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail .item > a > i { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.38 !important; }
html body[class*="pojo-a11y-resize-font-"] .banner-title { font-size: calc(60px * var(--a11y-scale)) !important; line-height: 1.17 !important; }
html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-desc { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.23 !important; }
html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .number { font-size: calc(80px * var(--a11y-scale)) !important; line-height: 0.75 !important; }
html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .number > span { font-size: calc(40px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .text { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.23 !important; }
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-cotnent-wrapper .proj-content .proj-title { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.08 !important; }
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-cotnent-wrapper .proj-content .proj-location { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-cotnent-wrapper .proj-content .proj-short-desc { font-size: calc(13px * var(--a11y-scale)) !important; line-height: 1.46 !important; }
html body[class*="pojo-a11y-resize-font-"] .blog-card .blog-detail-body .blog-title { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .blog-card .blog-detail-body .blog-short-desc { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.43 !important; }
/* theme uses :where() here — zero specificity, restated explicitly */
html body[class*="pojo-a11y-resize-font-"] .blog-card .blog-detail-body .blog-meta-details,
html body[class*="pojo-a11y-resize-font-"] .blog-card .blog-detail-body a { font-size: calc(12px * var(--a11y-scale)) !important; line-height: 2.33 !important; }
html body[class*="pojo-a11y-resize-font-"] .mini-btn { font-size: calc(32px * var(--a11y-scale)) !important; line-height: 1 !important; }
html body[class*="pojo-a11y-resize-font-"] .breadcrumb-sec h1 { font-size: calc(50px * var(--a11y-scale)) !important; line-height: 1.12 !important; }
html body[class*="pojo-a11y-resize-font-"] .breadcrumbs li { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.44 !important; }
html body[class*="pojo-a11y-resize-font-"] .timeline-content .year { font-size: calc(18px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .timeline-content p { font-size: calc(16px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .timeline-content p.number { font-size: calc(53px * var(--a11y-scale)) !important; line-height: 1.17 !important; }
html body[class*="pojo-a11y-resize-font-"] .value-list .value-content-wrapper .number { font-size: calc(90px * var(--a11y-scale)) !important; line-height: 0.67 !important; }
html body[class*="pojo-a11y-resize-font-"] .value-list .value-content-wrapper .title { font-size: calc(34px * var(--a11y-scale)) !important; line-height: 1.12 !important; }
html body[class*="pojo-a11y-resize-font-"] .value-list .value-content-wrapper .desc { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .team-sec .title-area .desc { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.31 !important; }
html body[class*="pojo-a11y-resize-font-"] .team-sec .title-area .founder { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.27 !important; }
html body[class*="pojo-a11y-resize-font-"] .team-row .team-wrapper .team-detail-wrapper .name { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1 !important; }
html body[class*="pojo-a11y-resize-font-"] .team-row .team-wrapper .team-detail-wrapper .role { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.22 !important; }
html body[class*="pojo-a11y-resize-font-"] .projects-tab-sec .title-area .desc { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.42 !important; }
html body[class*="pojo-a11y-resize-font-"] .project-tabs > ul > .nav-item .nav-link { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1 !important; }
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .category-name { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.38 !important; }
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content .proj-title { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.1 !important; }
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content .proj-short-desc { font-size: calc(14px * var(--a11y-scale)) !important; line-height: 1.43 !important; }
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-link .project-footer-btn-text { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.38 !important; }
html body[class*="pojo-a11y-resize-font-"] .project-aemenity .title { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.13 !important; }
html body[class*="pojo-a11y-resize-font-"] .project-aemenity .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.1 !important; }
html body[class*="pojo-a11y-resize-font-"] .about-project-sec .global-content-wrapper .title-area .title { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.15 !important; }
html body[class*="pojo-a11y-resize-font-"] .about-project-sec .global-content-wrapper .title-area .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .specification-list .specification-item .specification-img-wrapper a { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.88 !important; }
html body[class*="pojo-a11y-resize-font-"] .specification-list .specification-content-wrapper .desc { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .specification-list .specification-content-wrapper .title { font-size: calc(34px * var(--a11y-scale)) !important; line-height: 1.12 !important; }
html body[class*="pojo-a11y-resize-font-"] .project-detail-slider .slick-prev,
html body[class*="pojo-a11y-resize-font-"] .project-detail-slider .slick-next { font-size: calc(44px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .tenant-price-content .title-area .title { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .tenant-price-content .title-area .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.4 !important; }
html body[class*="pojo-a11y-resize-font-"] .eligible-sec .title-area .subtitle { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] .eligible-box .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
html body[class*="pojo-a11y-resize-font-"] .faq-accordion .accordion-button { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .faq-accordion .accordion-body { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.56 !important; }
html body[class*="pojo-a11y-resize-font-"] .contact-detail-box a { font-size: calc(21px * var(--a11y-scale)) !important; line-height: 1.43 !important; }
html body[class*="pojo-a11y-resize-font-"] .banner-content-area .page-title { font-size: calc(53px * var(--a11y-scale)) !important; line-height: 1.19 !important; }
html body[class*="pojo-a11y-resize-font-"] .banner-content-area .page-desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .blog-content-area .blog-desc-wrapper p { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.44 !important; }
html body[class*="pojo-a11y-resize-font-"] .news-event-title .title { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.05 !important; }
html body[class*="pojo-a11y-resize-font-"] .news-list-wrapper .news-item .date-wrapper .date { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.22 !important; }
html body[class*="pojo-a11y-resize-font-"] .news-list-wrapper .news-item .desc { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.25 !important; }
html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .date-wrapper .day { font-size: calc(42px * var(--a11y-scale)) !important; line-height: 0.86 !important; }
html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .date-wrapper .month { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1 !important; }
html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .title { font-size: calc(32px * var(--a11y-scale)) !important; line-height: 1.19 !important; }
html body[class*="pojo-a11y-resize-font-"] .commercial-content-wrapper .detail-wrapper > p { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.13 !important; }
html body[class*="pojo-a11y-resize-font-"] .error-content > p { font-size: calc(24px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-banner h1 { font-size: calc(50px * var(--a11y-scale)) !important; line-height: 1.12 !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-banner .breadcrumbs li { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1 !important; }
html body[class*="pojo-a11y-resize-font-"] .copy-right-wrapper p { font-size: calc(14px * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] .page-content p { line-height: 1.75 !important; } /* theme pairs 16px/28px, font via body pin */

/* vw-sized cookie notice (legacy .cky-*) and privacy modal — floor 13px,
   unitless line-height because the theme uses vh (which never grows). */
html body[class*="pojo-a11y-resize-font-"] .cky-notice .cky-notice-group .cky-notice-des > p,
html body[class*="pojo-a11y-resize-font-"] .cky-notice .cky-notice-group .cky-notice-des a { font-size: calc(max(13px, 0.9vw) * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html body[class*="pojo-a11y-resize-font-"] .cky-btn { font-size: calc(max(13px, 1vw) * var(--a11y-scale)) !important; line-height: 1.4 !important; }
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 { font-size: calc(max(18px, 1.4vw) * var(--a11y-scale)) !important; line-height: 1.4 !important; }
/* theme uses :where() here — restated explicitly */
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content p,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content li,
html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content a { font-size: calc(max(13px, 0.9vw) * var(--a11y-scale)) !important; line-height: 1.6 !important; }

/* ---- @media (max-width: 1550px) — responsive.css source order ---- */
@media (max-width: 1550px) {
    html body[class*="pojo-a11y-resize-font-"] .navbar-nav .menu-item > a,
    html body[class*="pojo-a11y-resize-font-"] .navbar-nav .page_item > a { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.38 !important; }
    html body[class*="pojo-a11y-resize-font-"] .global-btn { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.22 !important; }
}

/* ---- @media (max-width: 1024px) ---- */
@media (max-width: 1024px) {
    html body[class*="pojo-a11y-resize-font-"] .title-area .title { font-size: calc(38px * var(--a11y-scale)) !important; line-height: 1.11 !important; }
    html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-desc { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.27 !important; }
    html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .number { font-size: calc(52px * var(--a11y-scale)) !important; line-height: 0.77 !important; }
    html body[class*="pojo-a11y-resize-font-"] .about-project-sec .global-content-wrapper .title-area .title { font-size: calc(34px * var(--a11y-scale)) !important; line-height: 1.18 !important; }
    html body[class*="pojo-a11y-resize-font-"] .project-aemenity .title { font-size: calc(36px * var(--a11y-scale)) !important; line-height: 1.11 !important; }
}

/* ---- @media (max-width: 991px) ---- */
@media (max-width: 991px) {
    html body[class*="pojo-a11y-resize-font-"] .news-event-title .title { font-size: calc(32px * var(--a11y-scale)) !important; line-height: 1.06 !important; }
    html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .title { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 0.92 !important; }
    html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .date-wrapper .day { font-size: calc(32px * var(--a11y-scale)) !important; line-height: 1 !important; }
}

/* ---- @media (max-width: 767px) ---- */
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .banner-title { font-size: calc(46px * var(--a11y-scale)) !important; line-height: 1.17 !important; }
    html body[class*="pojo-a11y-resize-font-"] .header-btn.dropdown-toggle::after { font-size: calc(27px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .header-dropdown .header-btn { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.38 !important; }
}

/* ---- @media (max-width: 600px) ---- */
@media (max-width: 600px) {
    html body[class*="pojo-a11y-resize-font-"] .global-btn { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.22 !important; }
    html body[class*="pojo-a11y-resize-font-"] .title-area .title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
    html body[class*="pojo-a11y-resize-font-"] .title-area .desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
    html body[class*="pojo-a11y-resize-font-"] .banner-title { font-size: calc(28px * var(--a11y-scale)) !important; line-height: 1.21 !important; }
    html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
    html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .number { font-size: calc(34px * var(--a11y-scale)) !important; line-height: 0.71 !important; }
    html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .number > span { font-size: calc(32px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .breadcrumb-sec h1 { font-size: calc(34px * var(--a11y-scale)) !important; line-height: 1.24 !important; }
    html body[class*="pojo-a11y-resize-font-"] .breadcrumbs li { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .timeline-content p.number { font-size: calc(42px * var(--a11y-scale)) !important; line-height: 1.19 !important; }
    html body[class*="pojo-a11y-resize-font-"] .value-sec .title-area .title { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.23 !important; }
    html body[class*="pojo-a11y-resize-font-"] .value-list .value-content-wrapper .number { font-size: calc(60px * var(--a11y-scale)) !important; line-height: 0.5 !important; }
    html body[class*="pojo-a11y-resize-font-"] .value-list .value-content-wrapper .title { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.23 !important; }
    html body[class*="pojo-a11y-resize-font-"] .team-sec .title-area .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.4 !important; }
    html body[class*="pojo-a11y-resize-font-"] .project-tabs > ul > .nav-item .nav-link { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .projects-tab-sec .title-area .desc { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.36 !important; }
    html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content .proj-short-desc { font-size: calc(12px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
    html body[class*="pojo-a11y-resize-font-"] .about-project-sec .global-content-wrapper .title-area .title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
    html body[class*="pojo-a11y-resize-font-"] .about-project-sec .global-content-wrapper .title-area .desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
    html body[class*="pojo-a11y-resize-font-"] .project-aemenity .title { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.23 !important; }
    html body[class*="pojo-a11y-resize-font-"] .specification-list .specification-content-wrapper .title { font-size: calc(28px * var(--a11y-scale)) !important; line-height: 1.14 !important; }
    html body[class*="pojo-a11y-resize-font-"] .project-detail-slider .slick-prev,
    html body[class*="pojo-a11y-resize-font-"] .project-detail-slider .slick-next { font-size: calc(30px * var(--a11y-scale)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .eligible-box .desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
    html body[class*="pojo-a11y-resize-font-"] .eligible-sec .title-area .subtitle { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.15 !important; }
    html body[class*="pojo-a11y-resize-font-"] .tenant-price-content .title-area .desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
    html body[class*="pojo-a11y-resize-font-"] .faq-accordion .accordion-button { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.44 !important; }
    html body[class*="pojo-a11y-resize-font-"] .tenant-price-content .title-area .title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
    html body[class*="pojo-a11y-resize-font-"] .faq-accordion .accordion-body { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.44 !important; }
    html body[class*="pojo-a11y-resize-font-"] .news-event-title .title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .title { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.17 !important; }
    html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .date-wrapper .day { font-size: calc(28px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .event-cotnent-wrapper .date-wrapper .month { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .mini-btn { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .number-detail-wrapper .number-item .text { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.2 !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-"] .privacy-checkbox .wpcf7-list-item-label a { font-size: calc(12px * var(--a11y-scale-form)) !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-banner h1 { font-size: calc(32px * var(--a11y-scale)) !important; line-height: 1.13 !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-banner .breadcrumbs li { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1 !important; }
    html body[class*="pojo-a11y-resize-font-"] .cky-notice .cky-notice-group .cky-notice-des > p,
    html body[class*="pojo-a11y-resize-font-"] .cky-notice .cky-notice-group .cky-notice-des a { font-size: calc(11px * var(--a11y-scale)) !important; line-height: 1.36 !important; }
    html body[class*="pojo-a11y-resize-font-"] .cky-btn { font-size: calc(12px * var(--a11y-scale)) !important; line-height: 1.33 !important; }
    html body[class*="pojo-a11y-resize-font-"] .privacy-wrapper .privacy-content h2 { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.38 !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 { font-size: calc(12px * var(--a11y-scale)) !important; line-height: 1.67 !important; }
}

/* ============================================================
   5c. HEADER LAYOUT while fonts are scaled — the header is a single
   nowrap flex row with fixed gaps (50px container gap, 70px brand
   margin); when the menu grows, the tenant-portal button (the last
   flex item) is pushed past the viewport edge and cropped. Allow the
   row to wrap and tighten the fixed gaps. Gated: default header
   layout untouched.
   ============================================================ */
@media (min-width: 768px) {
    html body[class*="pojo-a11y-resize-font-"] .header-container {
        flex-wrap: wrap !important;
        gap: 6px 20px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-menu-wrap {
        min-width: 0;
        flex: 1 1 auto;
    }
    html body[class*="pojo-a11y-resize-font-"] .desktop-header .navbar-nav {
        flex-wrap: wrap !important;
        gap: 6px 18px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .navbar-light .navbar-brand {
        margin-left: 20px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-social-icons li {
        padding: 6px 10px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-button-wrap {
        flex-shrink: 0;
    }
}

/* Desktop header items use their own REDUCED curve so the header
   stays on ONE line while the rest of the page scales (wrap above is
   only a last-resort fallback). Placed after section 5, so these win
   the equal-specificity mirror rules. */
@media (min-width: 992px) {
    html body[class*="pojo-a11y-resize-font-"] .navbar-nav .menu-item > a,
    html body[class*="pojo-a11y-resize-font-"] .navbar-nav .page_item > a {
        font-size: calc(18px * var(--a11y-scale-header)) !important;
        line-height: 1.35 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-social-icons li a {
        font-size: calc(20px * var(--a11y-scale-header)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-social-icons li:first-child a {
        font-size: calc(24px * var(--a11y-scale-header)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-dropdown .header-btn {
        font-size: calc(20px * var(--a11y-scale-header)) !important;
        line-height: 1.2 !important;
    }
}
@media (min-width: 992px) and (max-width: 1550px) {
    html body[class*="pojo-a11y-resize-font-"] .navbar-nav .menu-item > a,
    html body[class*="pojo-a11y-resize-font-"] .navbar-nav .page_item > a {
        font-size: calc(16px * var(--a11y-scale-header)) !important;
        line-height: 1.38 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .header-dropdown .header-btn {
        font-size: calc(18px * var(--a11y-scale-header)) !important;
        line-height: 1.22 !important;
    }
}

/* ============================================================
   5d. FOOTER while fonts are scaled — the contact column is capped
   (max-width 200px on mobile) with nowrap rows, so the scaled email/
   phone overflow the column and overlap the social icons. Let the
   column use the full row and the text wrap inside it.
   ============================================================ */
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail {
    max-width: 100% !important;
}
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail .item a {
    flex-wrap: wrap !important;
}
html body[class*="pojo-a11y-resize-font-"] .footer-contact-detail .item a span {
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
}
html body[class*="pojo-a11y-resize-font-"] .footer-wrapper {
    row-gap: 16px;
}
/* Scaled copyright text disappears behind the floating WhatsApp
   button on small screens — reserve clearance above it. */
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"] .footer-sec {
        padding-bottom: 90px !important;
    }
}

/* ============================================================
   5b. ACCESSIBILITY TOOLBAR — client request: when font size is
   increased, the toolbar items should grow a bit LESS than the rest
   of the site (the plugin's own % rule would double them).
   Baseline measured: item span 12.8px.
   ============================================================ */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-item a span,
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-item a .pojo-a11y-toolbar-text {
    font-size: calc(12.8px * var(--a11y-scale-toolbar)) !important;
}

/* ============================================================
   6. CONTRAST-MODE FIXES
   ============================================================ */

/* 6a. WhatsApp float — keep the brand-green circle and white glyph visible
   in every contrast mode (in light mode it otherwise becomes a white
   circle on white; in the dark modes a black circle). */
html body.pojo-a11y-high-contrast a.floating-whatsapp:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast a.floating-whatsapp:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background a.floating-whatsapp:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #25D366 !important;
    background-color: #25D366 !important;
}
html body.pojo-a11y-high-contrast .floating-whatsapp svg path,
html body.pojo-a11y-negative-contrast .floating-whatsapp svg path,
html body.pojo-a11y-light-background .floating-whatsapp svg path {
    fill: #ffffff !important;
}

/* 6b. Select — the high-contrast stylesheet forces appearance:listbox, which
   re-enables the native arrow next to the theme's CSS triangle (two arrows).
   Force appearance:none in every contrast mode and recolor the triangle so
   exactly one visible arrow remains. */
html body.pojo-a11y-high-contrast select:not(#pojo-a11y-toolbar),
html body.pojo-a11y-negative-contrast select:not(#pojo-a11y-toolbar),
html body.pojo-a11y-light-background select:not(#pojo-a11y-toolbar),
html body.pojo-a11y-grayscale select:not(#pojo-a11y-toolbar) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
}
html body.pojo-a11y-high-contrast .select-col .wpcf7-form-control-wrap::after,
html body.pojo-a11y-negative-contrast .select-col .wpcf7-form-control-wrap::after {
    border-top-color: #ffffff !important;
}
html body.pojo-a11y-light-background .select-col .wpcf7-form-control-wrap::after {
    border-top-color: #000000 !important;
}

/* 6c. Checkboxes — contrast modes paint the native box so the check mark
   disappears. Draw an explicit box + check glyph per mode. */
html body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar),
html body.pojo-a11y-negative-contrast .wpcf7-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar),
html body.pojo-a11y-light-background .wpcf7-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar) {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    position: relative;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px;
}
html body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar),
html body.pojo-a11y-negative-contrast .wpcf7-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar) {
    background: #000 !important;
    border: 2px solid #fff !important;
}
html body.pojo-a11y-light-background .wpcf7-checkbox input[type="checkbox"]:not(#pojo-a11y-toolbar) {
    background: #fff !important;
    border: 2px solid #000 !important;
}
html body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-negative-contrast .wpcf7-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-light-background .wpcf7-checkbox input[type="checkbox"]:checked::before {
    content: "\2713";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
}
html body.pojo-a11y-high-contrast .wpcf7-checkbox input[type="checkbox"]:checked::before,
html body.pojo-a11y-negative-contrast .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #fff !important;
}
html body.pojo-a11y-light-background .wpcf7-checkbox input[type="checkbox"]:checked::before {
    color: #000 !important;
}

/* 6d. Placeholders visible in every contrast mode */
html body.pojo-a11y-high-contrast input:not(#pojo-a11y-toolbar)::placeholder,
html body.pojo-a11y-high-contrast textarea:not(#pojo-a11y-toolbar)::placeholder,
html body.pojo-a11y-negative-contrast input:not(#pojo-a11y-toolbar)::placeholder,
html body.pojo-a11y-negative-contrast textarea:not(#pojo-a11y-toolbar)::placeholder {
    color: #ffffff !important;
    opacity: 0.85 !important;
}
html body.pojo-a11y-light-background input:not(#pojo-a11y-toolbar)::placeholder,
html body.pojo-a11y-light-background textarea:not(#pojo-a11y-toolbar)::placeholder {
    color: #000000 !important;
    opacity: 0.75 !important;
}

/* 6e. Sections that sit on a background image or video: the contrast
   modes paint every wrapper DIV solid (black/white), which covers the
   media entirely (e.g. the home banner video hidden behind
   .banner-content-wrapper) and draws full-width bars behind headings.
   Keep wrapper divs/lists transparent so the media stays visible and
   the mode's backing color applies to the TEXT elements only. */
html body.pojo-a11y-high-contrast :is(.banner-sec, .breadcrumb-sec, .privacy-banner, .number-sec, .activity-sec, .home-project-sec, .journey-sec, .footer-form, .home-banner) :is(div, ul, ol):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast :is(.banner-sec, .breadcrumb-sec, .privacy-banner, .number-sec, .activity-sec, .home-project-sec, .journey-sec, .footer-form, .home-banner) :is(div, ul, ol):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background :is(.banner-sec, .breadcrumb-sec, .privacy-banner, .number-sec, .activity-sec, .home-project-sec, .journey-sec, .footer-form, .home-banner) :is(div, ul, ol):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: transparent !important;
    background-color: transparent !important;
}

/* The modes repaint with the background SHORTHAND, which also resets
   background-size/position/repeat — the restored photos then render at
   natural size from the top-left corner with a solid gap below.
   Re-assert each section's OWN default geometry per mode, exactly as
   the theme renders it without any contrast mode. */
/* cover/center sections (matches .bg-img, .breadcrumb-sec, .privacy-banner,
   .footer-form defaults) */
html body.pojo-a11y-high-contrast :is(.bg-img, .breadcrumb-sec, .privacy-banner, .footer-form, .number-sec, .home-project-sec, .journey-sec):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast :is(.bg-img, .breadcrumb-sec, .privacy-banner, .footer-form, .number-sec, .home-project-sec, .journey-sec):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background :is(.bg-img, .breadcrumb-sec, .privacy-banner, .footer-form, .number-sec, .home-project-sec, .journey-sec):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
/* .activity-sec default: 20vw / center left / no-repeat */
html body.pojo-a11y-high-contrast .activity-sec:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .activity-sec:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background .activity-sec:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background-size: 20vw !important;
    background-position: center left !important;
    background-repeat: no-repeat !important;
}

/* Centered text in those sections: shrink the backing bar to the text
   itself instead of the full container width (e.g. the page-title bar
   on inner-page banners). */
html body.pojo-a11y-high-contrast :is(.breadcrumb-sec, .privacy-banner, .banner-sec, .footer-form .title-area, .number-sec) :is(h1, h2, h3, .title, .desc, .keyword, .number, .number-desc, .text):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast :is(.breadcrumb-sec, .privacy-banner, .banner-sec, .footer-form .title-area, .number-sec) :is(h1, h2, h3, .title, .desc, .keyword, .number, .number-desc, .text):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background :is(.breadcrumb-sec, .privacy-banner, .banner-sec, .footer-form .title-area, .number-sec) :is(h1, h2, h3, .title, .desc, .keyword, .number, .number-desc, .text):not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

/* The WhatsApp glyph's <svg> also gets painted by the modes — keep it
   transparent inside the green circle. */
html body.pojo-a11y-high-contrast .floating-whatsapp svg:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .floating-whatsapp svg:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background .floating-whatsapp svg:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: transparent !important;
    background-color: transparent !important;
}

/* 6f. Footer logo is a white image — give it a dark backing in light
   mode so it stays visible. */
html body.pojo-a11y-light-background a.footer-logo:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background .footer-logo img:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
}

/* 6g. Select arrow: the theme anchors it at 52% of the control WRAP,
   so when a validation tip renders inside the wrap the arrow drifts
   below the select's middle. Anchor it to the select's own height
   instead (16px font × 1.5 line-height + 24px padding, halved); the
   form-scale var keeps it centered at every resize step. */
html body .select-col .wpcf7-form-control-wrap::after {
    top: calc((16px * var(--a11y-scale-form) * 1.5 + 24px) / 2) !important;
}
/* The wrap is an inline span, so its box top floats ~12px above the
   select and the px anchor above lands below center. Block display
   makes wrap-top = select-top, so the arrow stays dead-center with or
   without a validation tip. */
html body .select-col .wpcf7-form-control-wrap {
    display: block !important;
}

/* 6h. FAQ accordion in the contrast modes: give every item a clear
   border so the open answer is visibly grouped with its question. */
html body.pojo-a11y-high-contrast .faq-accordion .accordion-item:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .faq-accordion .accordion-item:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    border: 2px solid #ffffff !important;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px !important;
}
html body.pojo-a11y-light-background .faq-accordion .accordion-item:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    border: 2px solid #000000 !important;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px !important;
}
html body.pojo-a11y-high-contrast .faq-accordion .accordion-button:not(.collapsed),
html body.pojo-a11y-negative-contrast .faq-accordion .accordion-button:not(.collapsed) {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.6) !important;
}
html body.pojo-a11y-light-background .faq-accordion .accordion-button:not(.collapsed) {
    border-bottom: 1px dashed rgba(0, 0, 0, 0.6) !important;
}

/* The theme forces background-color:#F1F5F8 !important on the accordion
   item and button, which beats the dark modes' repaint — leaving light
   text on light-gray bars. Pin dark backgrounds, explicit text colors
   and a white chevron in high/negative contrast. */
html body.pojo-a11y-high-contrast .faq-accordion .accordion-item:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-high-contrast .faq-accordion .accordion-item .accordion-button:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-high-contrast .faq-accordion .accordion-body:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .faq-accordion .accordion-item:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .faq-accordion .accordion-item .accordion-button:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .faq-accordion .accordion-body:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
    color: #fff !important;
}
html body.pojo-a11y-high-contrast .faq-accordion .accordion-button:not(#pojo-a11y-toolbar)::after,
html body.pojo-a11y-negative-contrast .faq-accordion .accordion-button:not(#pojo-a11y-toolbar)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

/* 6i. The high-contrast stylesheet never repaints <header> or <body>,
   so the theme's white backgrounds show through as white strips around
   the banner. Paint them black like the rest of the mode. */
html body.pojo-a11y-high-contrast .header:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
}
html body.pojo-a11y-high-contrast {
    background: #000 !important;
    background-color: #000 !important;
}

/* 6i-c. Mobile hamburger icon is an svg background-image that the
   contrast modes wipe out — redraw it white in the dark modes and
   black in light mode. */
html body.pojo-a11y-high-contrast .navbar-toggler-icon:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .navbar-toggler-icon:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}
html body.pojo-a11y-light-background .navbar-toggler-icon:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}

/* 6i-b. Header tenant-portal button icon is a white svg image — in
   light mode the button turns white, so give the icon a dark backing.
   The image is 52×53, so force a square box for a clean circle. */
html body.pojo-a11y-light-background .header-btn img:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
}

/* 6j. Project-card content overlays: give them a solid white backing
   in light mode (the dark modes already read as black cards), so the
   card text is black-on-white like the rest of the mode. */
html body.pojo-a11y-light-background .home-project-item .proj-cotnent-wrapper:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background .projects-list .project-item .project-content:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #fff !important;
    background-color: #fff !important;
}

/* 6j-b. The project-card text sits on a ::before dark gradient the
   modes can't repaint — make it solid white in light mode so the card
   content reads black-on-white. */
html body.pojo-a11y-light-background .projects-list .project-item .project-content::before,
html body.pojo-a11y-light-background .home-project-item .proj-cotnent-wrapper::before {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
}

/* 6j-c. While fonts are scaled the taller card content leaks the
   hover-only description below the card edge — keep it hidden until
   hover, exactly like the default design intends. */
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content .proj-short-desc {
    opacity: 0 !important;
    transition: opacity 0.4s ease;
}
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item:hover .project-content .proj-short-desc,
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item:focus-within .project-content .proj-short-desc {
    opacity: 1 !important;
}

/* The scaled "לפרויקט" button grows taller than the theme's rest
   offset and its top edge peeks above the card bottom — keep it
   hidden until hover too (the default design reveals it on hover). */
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-link {
    opacity: 0 !important;
    transition: opacity 0.4s ease;
}
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item:hover .project-link,
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item:focus-within .project-link {
    opacity: 1 !important;
}

/* 6j-d. With fonts scaled, the hovered card content outgrows the
   315px card and the "לפרויקט" button clips at the edge. Compact the
   content while scaling is active so title + 2-line description +
   button always fit. */
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content {
    padding: 12px 10px 10px 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content .proj-title {
    margin-bottom: 8px !important;
}
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content .proj-short-desc {
    -webkit-line-clamp: 2 !important;
}
/* …and horizontally: the "לפרויקט" button is ABSOLUTE at the card's
   bottom-left with a fixed 30% width, so scaled content overflows and
   crops it, or text slides underneath it. Let the button box size to
   its content, span the text across the card, and reserve the button's
   zone with bottom padding so title/description always sit above it. */
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    padding-bottom: calc(24px * var(--a11y-scale) + 36px) !important;
}
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-content-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
}
html body[class*="pojo-a11y-resize-font-"] .projects-list .project-item .project-link {
    width: fit-content !important;
    max-width: 95% !important;
}

/* 5e. Activity slider: the nav arrows are absolutely anchored at
   left 47% / bottom 12px and land on the image once scaled text
   changes the column heights. Reserve a bottom strip of the slider
   for them while fonts are scaled. */
html body[class*="pojo-a11y-resize-font-"] .activity-slider {
    padding-bottom: calc(32px * var(--a11y-scale) + 20px) !important;
}
html body[class*="pojo-a11y-resize-font-"] .activity-slider .owl-nav {
    top: auto !important; /* mobile theme rule puts them at top:34%, which lands mid-text once scaled */
    bottom: 0 !important;
}
@media (max-width: 767px) {
    /* the decorative circle drifts over the title once text grows —
       hide it like the compact mobile layout intends */
    html body[class*="pojo-a11y-resize-font-"] .slider-circle {
        display: none !important;
    }
}
@media (max-width: 600px) {
    /* stacked phone layout: the slide image is square and starts at
       the slider top, so anchor the arrows to the image's vertical
       middle (tracks every phone width) and flank the image sides,
       exactly like the default design. */
    html body[class*="pojo-a11y-resize-font-"] .activity-slider .owl-nav {
        top: calc((100vw - 52px) / 2) !important;
        bottom: auto !important;
        transform: translateY(-50%);
        left: 17px !important;
        width: 90% !important;
        justify-content: space-between !important;
        gap: 0 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .activity-slider {
        padding-bottom: 0 !important;
    }
}

/* 6j-e. Home-page project slider: the hover panel outgrows the 400px
   card when fonts are scaled, cropping details and the button. Compact
   the panel (smaller logo, tighter margins, 3-line description) and
   lighten its backing so the project photo stays visible behind it. */
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-cotnent-wrapper {
    padding: 14px 12px 12px !important;
    max-width: 300px !important;
    /* park fully off-card (the theme's -270px offset matches its own
       270px width; ours is wider and would peek out) */
    right: -100% !important;
}
html body[class*="pojo-a11y-resize-font-"] .home-project-item:hover .proj-cotnent-wrapper,
html body[class*="pojo-a11y-resize-font-"] .home-project-item:focus-within .proj-cotnent-wrapper {
    right: 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-logo-wrapper {
    margin-bottom: 8px !important;
}
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-logo-wrapper .project-logo {
    height: 60px !important;
}
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-cotnent-wrapper .proj-content .proj-location {
    margin-bottom: 6px !important;
}
html body[class*="pojo-a11y-resize-font-"] .home-project-item .proj-cotnent-wrapper .proj-content .proj-short-desc {
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    margin-bottom: 8px !important;
}
html body[class*="pojo-a11y-resize-font-"] .home-project-item:hover .proj-cotnent-wrapper {
    background: rgba(0, 0, 0, 0.55) !important;
}

/* 6j-f. The div-transparency rule (6e) also strips the slider panel's
   dark overlay in the dark modes — give the whole panel a solid black
   backing there so its content reads as one block. */
html body.pojo-a11y-high-contrast .home-project-item .proj-cotnent-wrapper:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .home-project-item .proj-cotnent-wrapper:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
}

/* 5f. Project-page stat boxes (.project-aemenity): Bootstrap's h-100
   pins them to the row height, so scaled text spills out of the
   rounded box. Let each box grow with its content while fonts are
   scaled. */
html body[class*="pojo-a11y-resize-font-"] .project-aemenity {
    height: auto !important;
    min-height: 170px !important;
    container-type: inline-size;
}
/* Hebrew words can't wrap — cap the stat title to its box width so a
   long value like "בשיווק" never spills out horizontally. */
html body[class*="pojo-a11y-resize-font-"] .project-aemenity .title {
    /* grow with the step, capped just before the longest word
       ("בשיווק") would touch the box edge, never below the theme's
       40px baseline (cqw = box content width) */
    font-size: max(40px, min(calc(40px * var(--a11y-scale)), 31cqw)) !important;
}
html body[class*="pojo-a11y-resize-font-"] .project-aemenity .desc {
    font-size: max(20px, min(calc(20px * var(--a11y-scale)), 18cqw)) !important;
}

/* 6k-c. Project stat boxes lose their tinted backing in the contrast
   modes — give them a visible border per mode so each box reads as a
   box. */
html body.pojo-a11y-high-contrast .project-aemenity:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast .project-aemenity:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    border: 2px solid #ffffff !important;
    border-radius: 20px !important;
}
html body.pojo-a11y-light-background .project-aemenity:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    border: 2px solid #000000 !important;
    border-radius: 20px !important;
}

/* 6k-b. Eligible-section icons are white images on colored boxes that
   light mode repaints white — give the icons a dark chip so they stay
   visible. */
html body.pojo-a11y-light-background .eligible-box > img:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
    border-radius: 8px;
    padding: 6px;
}

/* 6k. Journey-timeline logos are white images — dark backing in light
   mode so they stay visible on the white icon bubbles. */
html body.pojo-a11y-light-background .timeline-icon img:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: #000 !important;
    background-color: #000 !important;
    border-radius: 4px;
}

/* 6l-b. Banner icon over the home video: keep its backing transparent
   in light mode (it otherwise gets a white box). */
html body.pojo-a11y-light-background .banner-sec .banner-icon:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background .banner-content img:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: transparent !important;
    background-color: transparent !important;
}

/* 6l. Decorative slider-circle shape: keep its backing transparent in
   the contrast modes instead of a solid block. */
html body.pojo-a11y-high-contrast img[src*="slider-circle"]:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast img[src*="slider-circle"]:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background img[src*="slider-circle"]:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: transparent !important;
    background-color: transparent !important;
}

/* 6m. Lightbox gallery popup: the modes paint the full-size .lb-nav
   overlay (div + prev/next links) solid, hiding the photo entirely.
   Keep the navigation layer transparent. */
html body.pojo-a11y-high-contrast #lightbox .lb-nav:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-high-contrast #lightbox .lb-nav a:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-high-contrast #lightbox .lb-container a:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast #lightbox .lb-nav:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast #lightbox .lb-nav a:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast #lightbox .lb-container a:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background #lightbox .lb-nav:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background #lightbox .lb-nav a:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background #lightbox .lb-container a:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: transparent !important;
    background-color: transparent !important;
}

/* 6m-b. Lightbox close button: the modes wipe the X image and paint
   the data bar solid — redraw a black X on the theme's white circle
   and keep the bar transparent. */
html body.pojo-a11y-high-contrast #lightbox .lb-data:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-high-contrast #lightbox .lb-dataContainer:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast #lightbox .lb-data:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast #lightbox .lb-dataContainer:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background #lightbox .lb-data:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background #lightbox .lb-dataContainer:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background: transparent !important;
    background-color: transparent !important;
}
html body.pojo-a11y-high-contrast #lightbox .lb-data .lb-close:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-negative-contrast #lightbox .lb-data .lb-close:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link),
html body.pojo-a11y-light-background #lightbox .lb-data .lb-close:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='%23000000' stroke-width='2' stroke-linecap='round' d='M3 3l10 10M13 3L3 13'/%3e%3c/svg%3e") !important;
    background-position: center center !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    border-radius: 50% !important;
}
html body.pojo-a11y-light-background #lightbox .lb-data .lb-close:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) {
    border: 2px solid #000000 !important;
}

/* ============================================================
   7. CLIENT-SUPPLIED BLOCK (deduplicated) — toolbar / cookie floater
   positioning, grayscale fix, contrast helpers.
   ============================================================ */
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-grayscale .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,
body.pojo-a11y-high-contrast .transparent-bg,
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .transparent-bg,
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .transparent-bg img,
body.pojo-a11y-high-contrast .transparent-bg img,
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;
}

body #cc-floater {
    background: #337e93 !important;
}
body #cc-floater {
    bottom: unset !important;
    top: 12.5vw !important;
    left: 0.2vw !important;
    right: unset !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%);
}
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;
}

@media (max-width: 767px) {
    body #cc-floater {
        bottom: unset !important;
        top: 60vw !important;
        left: 2px !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;
    }
    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 #pojo-a11y-toolbar {
        top: 48vw !important;
    }
    .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;
    }
}

#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;
}

/* ============================================================
   8. lang/dir NEUTRALISER — functions.php now outputs
   <html lang="he-IL" dir="rtl">. The theme already sets
   body{direction:rtl}, so content rendering is unchanged; this keeps
   the root element's computed direction exactly as it was before the
   attribute was added (no scrollbar flip, no layout shift).
   ============================================================ */
html[dir="rtl"] {
    direction: ltr;
}
