/*
 * accessibility.css - One Click Accessibility (Pojo) font-resize repair
 * ---------------------------------------------------------------------
 * The plugin scales by PERCENTAGE on a fixed selector list. On this theme that
 * fails four ways:
 *   1. vw/vh sizes ignore it entirely  (.apartment-tag froze at 17.28px)
 *   2. percentages COMPOUND through CF7 nested spans
 *      (p > span > span > span > span: consent label 10.08px -> 1024px at 200)
 *   3. <div> and <button> are not in its selector list, so .wpcf7-response-output
 *      and .orange-description never move at any step
 *   4. "h_ span" stacks on headings it already scaled
 *
 * Everything here is gated behind body[class*="pojo-a11y-resize-font-"] (or a
 * pojo contrast class), so with nothing selected - and after Reset - the page
 * renders exactly as it does today.
 *
 * #pojo-a11y-toolbar is a sibling of the content roots and is never matched by
 * a generic rule here; Section 6 is the ONE deliberate exception (requested).
 */

/* ==================================================================
   SECTION 1 - two curves
   Body copy rides --a11y-scale. Form controls, messages and the cookie
   banner start much smaller (10-14px), so they ride --a11y-scale-form,
   which jumps harder on the first click.
   ================================================================== */
:root { --a11y-scale: 1; --a11y-scale-form: 1; }

body.pojo-a11y-resize-font-120 { --a11y-scale: 1.08; --a11y-scale-form: 1.18; }
body.pojo-a11y-resize-font-130 { --a11y-scale: 1.15; --a11y-scale-form: 1.30; }
body.pojo-a11y-resize-font-140 { --a11y-scale: 1.22; --a11y-scale-form: 1.40; }
body.pojo-a11y-resize-font-150 { --a11y-scale: 1.28; --a11y-scale-form: 1.48; }
body.pojo-a11y-resize-font-160 { --a11y-scale: 1.35; --a11y-scale-form: 1.55; }
body.pojo-a11y-resize-font-170 { --a11y-scale: 1.42; --a11y-scale-form: 1.62; }
body.pojo-a11y-resize-font-180 { --a11y-scale: 1.48; --a11y-scale-form: 1.68; }
body.pojo-a11y-resize-font-190 { --a11y-scale: 1.54; --a11y-scale-form: 1.72; }
body.pojo-a11y-resize-font-200 { --a11y-scale: 1.60; --a11y-scale-form: 1.75; }

/* ==================================================================
   SECTION 2 - base pin on <body>
   Measured baseline is 16px. Deliberately UNSCOPED: the toolbar popup
   inherits from here, so a flat px value would freeze it. calc() only.
   ================================================================== */
html body[class*="pojo-a11y-resize-font-"][class] {
  font-size: calc(16px * var(--a11y-scale)) !important;
}

/* ==================================================================
   SECTION 3 - kill the compounding
   This theme has NO .elementor content wrapper (elementor-default /
   elementor-kit-57 sit on <body> only), so the roots are the theme own
   template wrappers. Listing them explicitly is what keeps
   #pojo-a11y-toolbar - a sibling of all of them - out of reach.
   input/select/textarea are excluded on purpose; Section 4 owns them.

   SPECIFICITY LADDER - the whole file depends on it:
     plugin span/label/input etc   body.pojo-...-200 span            (0,1,2)
     plugin p and li               body.pojo-...-200 p:not(.pojo-...)(0,2,2)  <- the :not() adds a CLASS
     THIS RULE                     html body[attr] :is(roots) :is(p..)(0,2,3)
     every Section 4/5 pin         html body[attr][class] .thing     (0,3,2)+ <- the [class] is the boost
   So this beats the plugin on both counts (p/li included) yet still loses to
   any explicit pin, which is what keeps .illustration-notice at its own 0.8vw
   instead of collapsing to the body size. Drop the [class] from Section 5 and
   paragraphs run away again; use :where() here and the plugin wins back p/li.
   ================================================================== */
html body[class*="pojo-a11y-resize-font-"] :is(
  .container-fluid, .real-estate-template, .description-section,
  .gold-card-banner, .login-banner, .login-section, .breadcrums,
  .mobile-menu, .privacy-wrapper, .text-wraper, .content-wraper
) :is(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
  font-size: inherit !important;
}

/* ==================================================================
   SECTION 4 - form controls, messages, validation
   ================================================================== */

/* 4.1  One shared control height so the submit button and the text inputs
        stay level at every step and every breakpoint. Baselines measured
        plugin-only: input 19px / submit 34.2px desktop, 28px / 38px mobile -
        they were never equal, and the fixed heights meant the font grew
        while the box did not. Gated, so the default render is untouched. */
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form {
  --a11y-ctl-h: calc(38px * var(--a11y-scale-form));
}
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .form-field,
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .submit-container input,
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .wpcf7-submit {
  height: var(--a11y-ctl-h) !important;
  min-height: var(--a11y-ctl-h) !important;
  line-height: 1.2 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}
/* the submit is width:fit-content on mobile - keep the label centred in the
   taller box rather than letting line-height push it off-centre */
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .submit-container input {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 4.2  Response output. It is a <div>, so the plugin never touched it -
        frozen at 8.64px desktop / 10px mobile. Unitless line-height: the
        theme uses vh, which does not grow with the text. */
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form .wpcf7-response-output {
  line-height: 1.4 !important;
}

/* 4.3  Validation tips - one line, and a line box that actually grows.
        The theme pins line-height to 1vh (9px) at base and 12px under 600px,
        both smaller than the text they hold. */
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-not-valid-tip,
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .wpcf7-not-valid-tip {
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* 4.4  The consent row. Fixed px line-heights on the label are what made the
        tip land ON the label once the text grew (measured overlap at 375px:
        none -13px = clear, 130 +10px, 200 +12px = drawn over the words).
        Unitless line-height lets the label box track its own font size, and
        the relatively-positioned tip then follows it down the flow. */
html body[class*="pojo-a11y-resize-font-"][class] .custom-check .wpcf7-form-control .wpcf7-list-item,
html body[class*="pojo-a11y-resize-font-"][class] .custom-check span,
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-list-item-label {
  line-height: 1.4 !important;
}
/* Ticking / unticking the consent box must not shift the page. The checkbox
   itself never moves (measured 348..363 in every state), but CF7 injects and
   removes .wpcf7-not-valid-tip in normal flow, which grew the wrap from 19px
   to 48px and shoved everything below it up and down on each click. Taking
   the tip out of flow and reserving its line keeps the row still. */
html body[class*="pojo-a11y-resize-font-"][class] .checkbox-container.custom-check {
  padding-bottom: calc(20px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .custom-check .wpcf7-not-valid-tip {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
}

/* 4.5  Small text that keeps its own line-height in vh */
html body[class*="pojo-a11y-resize-font-"][class] .desclaimer-text,
html body[class*="pojo-a11y-resize-font-"][class] .desclaimer-text p {
  line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .field-wrapper > p > span {
  line-height: 1.4 !important;
}

/* ==================================================================
   SECTION 4c - cookie consent banner
   #cc-banner-root is a direct child of <body>, outside every content root,
   so Section 3 cannot reach it. Its own CSS is injected as an inline
   <style> AFTER this file, so every pin is scoped through .cc-root /
   #cc-banner-root to out-specify it. .cc-btn is font-size:inherit and was
   frozen at 14px while .cc-title/.cc-body ran away (16 -> 37.24px).
   Every pin is calc(px * var(...)) - a flat px would freeze the banner.
   ================================================================== */
html body[class*="pojo-a11y-resize-font-"][class] #cc-banner-root :is(p, li, span, label, a) {
  font-size: inherit !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-root,
html body[class*="pojo-a11y-resize-font-"][class] #cc-banner-root {
  font-size: calc(14px * var(--a11y-scale)) !important;
  line-height: 1.5 !important;
  max-width: calc(100vw - 24px) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-title,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-title {
  font-size: calc(18px * var(--a11y-scale-form)) !important;
  line-height: 1.3 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-body,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-body {
  font-size: calc(14px * var(--a11y-scale-form)) !important;
  line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-btn,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-btn {
  font-size: calc(15px * var(--a11y-scale-form)) !important;
  line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-lang-toggle,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-lang-toggle {
  font-size: calc(12px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-modal-head h2,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-modal-head h2 {
  font-size: calc(18px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-modal-close,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-modal-close {
  font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-cat-desc,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-cat-desc {
  font-size: calc(13px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-required-badge,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-required-badge {
  font-size: calc(11px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"][class] .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"][class] .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"][class] .cc-root .cc-cookies-list td {
  font-size: calc(12px * var(--a11y-scale)) !important;
}

/* ==================================================================
   SECTION 5 - every theme font-size, gated and scaled.
   Generated from the theme own rules: base first, then each @media in
   the exact source order responsive.css declares them (overlapping bands
   such as (min-width:400px) and (max-width:600px) vs (max-width:600px)
   resolve by order, not specificity, so the order is mirrored 1:1).
   Messages carry a max(14px, ...) readability floor.
   ================================================================== */
/* ---- base (1021px and up) ---- */
html body[class*="pojo-a11y-resize-font-"][class] .main-heading {
  line-height: calc(7vh * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .sub-heading-one {
  line-height: calc(22px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .notice,
html body[class*="pojo-a11y-resize-font-"][class] .sub-heading p {
  line-height: calc(22px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .black-heading p {
  line-height: calc(45px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .thankyou p {
  line-height: calc(30px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .page-content p {
  line-height: calc(28px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .privacy-banner h1 {
  line-height: calc(56px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .breadcrumbs li {
  line-height: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .slider-tagline p {
  line-height: calc(4vh * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des > p,
html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des a {
  line-height: calc(3vh * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cky-btn {
  line-height: calc(2.5vh * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content h2 {
  line-height: calc(2.6vh * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content p,
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content li,
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content a {
  line-height: calc(2.8vh * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .image-notice {
  font-size: calc(14px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .form input {
  font-size: calc(16px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .submit-btn input {
  font-size: calc(24px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] ::placeholder {
  font-size: calc(0.9vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .form h2 {
  font-size: calc(25px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.failed .wpcf7-response-output,
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form.aborted .wpcf7-response-output {
  font-size: calc(max(14px, 13px) * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .main-heading {
  font-size: calc(3.8vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .sub-heading-one {
  font-size: calc(20px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .golden-text {
  font-size: calc(40px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .notice,
html body[class*="pojo-a11y-resize-font-"][class] .sub-heading p {
  font-size: calc(17px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .black-heading p {
  font-size: calc(29px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .black-heading p span {
  font-size: calc(42px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .presale {
  font-size: calc(26px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .price-curncy {
  font-size: calc(33px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .curncy-symbl {
  font-size: calc(38px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .price-line {
  font-size: calc(54px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .price-btm {
  font-size: calc(27px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .presale span {
  font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .thankyou h2 {
  font-size: calc(68px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .thankyou p {
  font-size: calc(20px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form .wpcf7-response-output {
  font-size: calc(max(14px, 0.6vw) * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .privacy-banner h1 {
  font-size: calc(50px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .breadcrumbs li {
  font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-not-valid-tip {
  font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .form-field {
  font-size: calc(1vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .tag-text {
  font-size: calc(1vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .description {
  font-size: calc(1.2vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .orange-description {
  font-size: calc(1.2vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .field-wrapper > p > span {
  font-size: calc(1vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag {
  font-size: calc(1.2vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
  font-size: calc(1.5vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .date-tag span {
  font-size: calc(0.5vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .contact-form-container h2 {
  font-size: calc(1.2vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .custom-check .wpcf7-form-control .wpcf7-list-item {
  font-size: calc(0.8vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .custom-check span {
  font-size: calc(0.7vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .submit-container input {
  font-size: calc(1vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .desclaimer-text {
  font-size: calc(0.6vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .illustration-notice {
  font-size: calc(0.8vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .slider-tagline p {
  font-size: calc(1.7vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des > p,
html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des a {
  font-size: calc(0.9vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .cky-btn {
  font-size: calc(1vw * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content h2 {
  font-size: calc(1.4vw * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content p,
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content li,
html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content a {
  font-size: calc(0.8vw * var(--a11y-scale)) !important;
}

@media (max-width: 1020px) {
  html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form .wpcf7-response-output {
    font-size: calc(max(14px, 0.8vw) * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .wpcf7-not-valid-tip {
    font-size: calc(max(14px, 1vw) * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .tag-text {
    font-size: calc(1.5vw * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .description {
    font-size: calc(1.4vw * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .field-wrapper > p > span {
    font-size: calc(1.2vw * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .contact-form-container h2 {
    font-size: calc(1.4vw * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .custom-check .wpcf7-form-control .wpcf7-list-item {
    font-size: calc(1vw * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .custom-check span {
    font-size: calc(0.9vw * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .desclaimer-text {
    font-size: calc(0.8vw * var(--a11y-scale)) !important;
  }
}

@media (max-width: 767px) {
  html body[class*="pojo-a11y-resize-font-"][class] .detail-mob span {
    line-height: calc(20px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .image-notice {
    font-size: calc(12px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .detail-mob a,
  html body[class*="pojo-a11y-resize-font-"][class] .phone-mob a {
    font-size: calc(20px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .checkbox label,
  html body[class*="pojo-a11y-resize-font-"][class] .lower-notice p {
    font-size: calc(11px * var(--a11y-scale)) !important;
  }
}

@media (max-width: 680px) {
  html body[class*="pojo-a11y-resize-font-"][class] .main-heading {
    line-height: calc(46px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .sub-heading-one {
    line-height: calc(25px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .black-heading p {
    line-height: calc(34px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-banner h1 {
    line-height: calc(48px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .breadcrumbs li {
    line-height: calc(22px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .date-tag span {
    line-height: calc(9px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .black-heading p span {
    line-height: calc(33px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .black-heading p.golden-text {
    line-height: calc(28px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .price {
    line-height: calc(34px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .main-heading {
    font-size: calc(43px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .sub-heading-one {
    font-size: calc(17px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .notice,
  html body[class*="pojo-a11y-resize-font-"][class] .sub-heading p {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .black-heading p {
    font-size: calc(21px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .black-heading p span {
    font-size: calc(30px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .price-btm {
    font-size: calc(20px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .presale span {
    font-size: calc(18px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-banner h1 {
    font-size: calc(42px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .breadcrumbs li {
    font-size: calc(22px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .date-tag span {
    font-size: calc(6px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .black-heading p.golden-text {
    font-size: calc(30px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .price {
    font-size: calc(34px * var(--a11y-scale)) !important;
  }
}

@media (max-width: 600px) {
  html body[class*="pojo-a11y-resize-font-"][class] .slider-tagline p {
    line-height: calc(23px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des > p,
  html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des a {
    line-height: calc(15px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .cky-btn {
    line-height: calc(16px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content h2 {
    line-height: calc(22px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content p,
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content li,
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content a {
    line-height: calc(20px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag {
    line-height: calc(15px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
    line-height: calc(15px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] ::placeholder {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .notice,
  html body[class*="pojo-a11y-resize-font-"][class] .sub-heading p {
    font-size: calc(16px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .wpcf7 form .wpcf7-response-output {
    font-size: calc(max(14px, 10px) * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .form-field {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .tag-text {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .field-wrapper > p > span {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
    font-size: calc(20px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .contact-form-container h2 {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .custom-check span {
    font-size: calc(10px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .submit-container input {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .desclaimer-text {
    font-size: calc(10px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .illustration-notice {
    font-size: calc(12px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .slider-tagline p {
    font-size: calc(18px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des > p,
  html body[class*="pojo-a11y-resize-font-"][class] .cky-notice .cky-notice-group .cky-notice-des a {
    font-size: calc(11px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .cky-btn {
    font-size: calc(12px * var(--a11y-scale-form)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content h2 {
    font-size: calc(16px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content p,
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content li,
  html body[class*="pojo-a11y-resize-font-"][class] .privacy-wrapper .privacy-content a {
    font-size: calc(12px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .checkbox label,
  html body[class*="pojo-a11y-resize-font-"][class] .lower-notice p {
    font-size: calc(13px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .left-side-content .description {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .left-side-content .orange-description {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .wpcf7-not-valid-tip {
    font-size: calc(max(14px, 10px) * var(--a11y-scale-form)) !important;
  }
}

@media (max-width: 380px) {
  html body[class*="pojo-a11y-resize-font-"][class] .notice,
  html body[class*="pojo-a11y-resize-font-"][class] .sub-heading p {
    font-size: calc(14px * var(--a11y-scale)) !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .checkbox label,
  html body[class*="pojo-a11y-resize-font-"][class] .lower-notice p {
    font-size: calc(11px * var(--a11y-scale)) !important;
  }
}

/* ==================================================================
   SECTION 5c - consent row, under 600px
   The theme lands 10px on .wpcf7-list-item only because .custom-check span
   carries !important, which out-ranks the non-important
   .custom-check .wpcf7-form-control .wpcf7-list-item (1vw = 3.75px at 375).
   Section 5 makes every rule !important, so that tie-break disappears and the
   3.75px value would win the row. Same specificity as the Section 5 rule and
   declared later, so this takes it back.
   ================================================================== */
@media (max-width: 600px) {
  html body[class*="pojo-a11y-resize-font-"][class] .custom-check .wpcf7-form-control .wpcf7-list-item {
    font-size: calc(10px * var(--a11y-scale-form)) !important;
  }
}

/* ==================================================================
   SECTION 5d - boxes whose height cannot grow with the text
   ------------------------------------------------------------------
   Every one of these is a vh/px height that stays put while the type inside
   it scales, so the text simply walks out of the box.

   .left-side-content is the "orange line" report: height:100vh with a
   4vh SOLID #ee653d bottom border. Measured at 1024x768 step 200 the column
   needed 1099px of content in a 768px box - a 331px overflow - so that orange
   border ended up drawn straight across the middle of the copy. Releasing the
   height puts the border back at the true bottom edge.

   .apartment-tag / .date-tag are the price box: height:6vh at base, and the
   text overflowed the white border (46px box, 67px of content at step 200).
   ================================================================== */
/* min-width:601px on purpose. The theme only puts height:100vh on this column
   ABOVE 600px - under that it is already height:auto with no border. Applying
   min-height:100vh at every width padded the stacked mobile column out to a
   full viewport, which showed up as dead space under the logo the moment any
   step was selected. */
@media (min-width: 601px) {
  html body[class*="pojo-a11y-resize-font-"][class] .left-side-content {
    height: auto !important;
    min-height: 100vh !important;
  }
}
html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag,
html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
  height: auto !important;
  min-height: calc(6vh * var(--a11y-scale)) !important;
}
@media (max-width: 600px) {
  html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag,
  html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
    min-height: calc(50px * var(--a11y-scale)) !important;
  }
}

/* ==================================================================
   SECTION 5e - mobile submit button, out of the overlap
   Under 600px the theme parks the submit at position:absolute inside a 20px
   tall .submit-container, so it floats over whatever sits beside it. That is
   fine at the stock size and collides with the consent label once the label
   grows. Putting it back in flow costs one grid cell and removes the overlap
   by construction rather than by tuning offsets.
   ================================================================== */
@media (max-width: 600px) {
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .submit-container input {
    position: static !important;
    margin-top: 0 !important;
    /* .submit-container is a full-width flex column and the button is
       width:fit-content, so once the button is back in flow it leaves a dead
       strip beside itself that reads as blank space above the consent row.
       Filling the row removes it. */
    width: 100% !important;
    /* breathing room before the consent row */
    margin-bottom: calc(12px * var(--a11y-scale-form)) !important;
  }
  /* the consent label is capped at 57%/70% of the row, which forces the text
     into a narrow column once it grows. Give it the full width. */
  html body[class*="pojo-a11y-resize-font-"][class] .checkbox-container.custom-check {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ==================================================================
   SECTION 5f - price box, horizontal
   .date-tag and .apartment-tag are width:50% each inside a max-width:80%
   row. The width does not care how wide "2,260,000 ש" gets: measured at 375px
   the price needed 139px of a 133px box at step 130 and 189px of 133px at
   step 200, so it ran straight out of the orange fill. Letting the two halves
   size to their own content - and giving the row the full width back - keeps
   the price inside its box at every step.
   ================================================================== */
   NOT scoped to mobile: desktop has the same bug with different numbers
   (.apartment-tag 63% / .date-tag 30%), so the price walks out of the orange
   fill there too. */
html body[class*="pojo-a11y-resize-font-"][class] .bottom-section {
  max-width: 100% !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag,
html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
  width: auto !important;
  flex: 1 1 auto !important;
}
/* the price is one token - never let it break mid-number */
html body[class*="pojo-a11y-resize-font-"][class] .date-tag {
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}
/* ...and because the price cannot shrink, on a narrow screen the pair no
   longer fits on one line and both halves spilled OUTSIDE the white border
   (measured at 260px step 130: box 20..240, text ran to 250, price to 10).
   Wrapping drops the description to a second line inside the box instead. */
html body[class*="pojo-a11y-resize-font-"][class] .bottom-section {
  flex-wrap: wrap !important;
}
html body[class*="pojo-a11y-resize-font-"][class] .apartment-tag {
  min-width: 0 !important;
}

/* ==================================================================
   SECTION 5g - the rules flanking the form heading
   .hebrew-contact-form h2::before/::after are pinned at top:26%, which only
   lands on the first text line while the heading is the height the theme
   expected. Scaled up the heading takes a third line and 26% drifts into the
   type. The h2 runs line-height 1.2, so half a line is 0.6em - an em tracks
   the heading's own font-size, so the rules stay on the first line at every
   step instead of drifting with the box height.
   ================================================================== */
@media (max-width: 767px) {
  /* the rules are 40px wide sitting 12px in from each edge, so the heading
     needs 52px of clear space at both ends or the text runs under them once
     it grows enough to fill the width. 60px keeps them beside the words. */
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form h2 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form h2::before,
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form h2::after {
    top: 0.6em !important;
  }
}

/* ==================================================================
   SECTION 5b - per-breakpoint control heights
   Emitted after Section 5 so they win inside their own media block.
   ================================================================== */
@media (max-width: 1020px) {
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form {
    --a11y-ctl-h: calc(36px * var(--a11y-scale-form));
  }
}
@media (max-width: 600px) {
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form {
    --a11y-ctl-h: calc(34px * var(--a11y-scale-form));
  }
  /* the theme puts padding on the flex parents, not the control */
  html body[class*="pojo-a11y-resize-font-"][class] .hebrew-contact-form .submit-container input {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ==================================================================
   SECTION 6 - accessibility toolbar item text
   ------------------------------------------------------------------
   DELIBERATE EXCEPTION, requested: "in accessibility menu item I want bit
   smaller compare to the other fonts". Plugin-only the toolbar item text
   runs 12.8px -> 25.6px (x2.0) at step 200, the same multiplier as the page.
   This walks it back to ~x1.35 so the menu reads a step smaller than the
   content behind it, while still growing enough to stay legible.

   This is the ONLY rule in this file that touches #pojo-a11y-toolbar.
   Delete this whole section to restore stock toolbar behaviour.
   ================================================================== */
html body[class*="pojo-a11y-resize-font-"][class] #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay,
html body[class*="pojo-a11y-resize-font-"][class] #pojo-a11y-toolbar .pojo-a11y-toolbar-title,
html body[class*="pojo-a11y-resize-font-"][class] #pojo-a11y-toolbar .pojo-a11y-toolbar-item,
html body[class*="pojo-a11y-resize-font-"][class] #pojo-a11y-toolbar .pojo-a11y-toolbar-link {
  font-size: 16px !important;
}
html body[class*="pojo-a11y-resize-font-"][class] #pojo-a11y-toolbar .pojo-a11y-toolbar-item .pojo-a11y-toolbar-link span,
html body[class*="pojo-a11y-resize-font-"][class] #pojo-a11y-toolbar .pojo-a11y-toolbar-item a span {
  font-size: calc(12.8px * var(--a11y-toolbar-scale, 1)) !important;
}
body.pojo-a11y-resize-font-120 { --a11y-toolbar-scale: 1.05; }
body.pojo-a11y-resize-font-130 { --a11y-toolbar-scale: 1.10; }
body.pojo-a11y-resize-font-140 { --a11y-toolbar-scale: 1.14; }
body.pojo-a11y-resize-font-150 { --a11y-toolbar-scale: 1.18; }
body.pojo-a11y-resize-font-160 { --a11y-toolbar-scale: 1.22; }
body.pojo-a11y-resize-font-170 { --a11y-toolbar-scale: 1.26; }
body.pojo-a11y-resize-font-180 { --a11y-toolbar-scale: 1.30; }
body.pojo-a11y-resize-font-190 { --a11y-toolbar-scale: 1.32; }
body.pojo-a11y-resize-font-200 { --a11y-toolbar-scale: 1.35; }

/* ==================================================================
   SECTION 7 - consent checkbox tick in the four contrast modes
   ------------------------------------------------------------------
   Gated on the contrast classes, not on resize, so a plain page is
   untouched. Measured plugin-only, checked state:
     high-contrast     box #000  tick #ee653b  -> orange on black, unreadable
     negative-contrast box #000  tick #ee653b  -> same
     light-background  box #fff  tick #ee653b  -> weak
     grayscale         box #fff  tick #ee653b  -> filter flattens it to grey
   Colours are forced per mode; geometry is re-asserted because pojo drops a
   "*" rule into these modes.

   The :not(#pojo-a11y-toolbar) on <body> is a SPECIFICITY device, not a filter -
   body is never that id, so it always matches. pojo writes
   "body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) { background:#000 }",
   and the id inside :not() gives that rule an ID column this file has to match
   or the tick stays black-on-black (measured contrast 1.0:1 without it).
   ================================================================== */
html body.pojo-a11y-high-contrast:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"],
html body.pojo-a11y-negative-contrast:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
  background: #000 !important;
  border-color: #fff !important;
}
html body.pojo-a11y-high-contrast:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked,
html body.pojo-a11y-negative-contrast:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked {
  background: #fff !important;
  border-color: #fff !important;
}
html body.pojo-a11y-high-contrast:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::after,
html body.pojo-a11y-negative-contrast:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::after {
  color: #000 !important;
}

html body.pojo-a11y-light-background:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"],
html body.pojo-a11y-grayscale:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"] {
  background: #fff !important;
  border-color: #000 !important;
}
html body.pojo-a11y-light-background:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked,
html body.pojo-a11y-grayscale:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked {
  background: #fff !important;
  border-color: #000 !important;
}
html body.pojo-a11y-light-background:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::after,
html body.pojo-a11y-grayscale:not(#pojo-a11y-toolbar) .wpcf7-checkbox input[type="checkbox"]:checked::after {
  color: #000 !important;
}

/* ------------------------------------------------------------------
   Mobile bottom bar buttons. pojo repaints every background in these modes,
   so the three buttons in .mobile-menu lose the colour that separated them
   and read as one undivided strip. A border restores the edges.
     high contrast / negative contrast -> white
     light background / grayscale      -> black
   ------------------------------------------------------------------ */
html body.pojo-a11y-high-contrast:not(#pojo-a11y-toolbar) .mobile-menu .detail-mob,
html body.pojo-a11y-high-contrast:not(#pojo-a11y-toolbar) .mobile-menu .mid-icon,
html body.pojo-a11y-high-contrast:not(#pojo-a11y-toolbar) .mobile-menu .phone-mob,
html body.pojo-a11y-negative-contrast:not(#pojo-a11y-toolbar) .mobile-menu .detail-mob,
html body.pojo-a11y-negative-contrast:not(#pojo-a11y-toolbar) .mobile-menu .mid-icon,
html body.pojo-a11y-negative-contrast:not(#pojo-a11y-toolbar) .mobile-menu .phone-mob {
  border: 2px solid #fff !important;
  border-radius: 4px !important;
}
html body.pojo-a11y-light-background:not(#pojo-a11y-toolbar) .mobile-menu .detail-mob,
html body.pojo-a11y-light-background:not(#pojo-a11y-toolbar) .mobile-menu .mid-icon,
html body.pojo-a11y-light-background:not(#pojo-a11y-toolbar) .mobile-menu .phone-mob,
html body.pojo-a11y-grayscale:not(#pojo-a11y-toolbar) .mobile-menu .detail-mob,
html body.pojo-a11y-grayscale:not(#pojo-a11y-toolbar) .mobile-menu .mid-icon,
html body.pojo-a11y-grayscale:not(#pojo-a11y-toolbar) .mobile-menu .phone-mob {
  border: 2px solid #000 !important;
  border-radius: 4px !important;
}
/* the anchor itself keeps the theme's own display (.detail-mob a is a flex row);
   forcing display:block on it dropped the arrow onto a second line */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast,
             .pojo-a11y-light-background, .pojo-a11y-grayscale):not(#pojo-a11y-toolbar)
  .mobile-menu :is(.detail-mob, .mid-icon, .phone-mob) a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

/* keep the tick centred and inside the box in all four modes */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast,
             .pojo-a11y-light-background, .pojo-a11y-grayscale):not(#pojo-a11y-toolbar)
  .wpcf7-checkbox input[type="checkbox"]:checked::after {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  pointer-events: none !important;
}
