@charset "UTF-8";
/* =========================================================================
   ACCESSIBILITY CSS  –  Shoval Haifa
   Font resize + contrast-mode repairs for the "Ally" (pojo-accessibility)
   plugin, legacy toolbar mode.

   This theme is sized entirely in PX (78 font-size declarations across
   style.css and responsive.css; the only vw value in the project is the
   toolbar launcher, which this file deliberately leaves alone). Every rule
   below therefore re-declares a real px value multiplied by a scale
   variable. Nothing here uses em (compounds through nesting) or rem
   (drifts away from the design on wide screens).

   -------------------------------------------------------------------------
   HOW THE PLUGIN WORKS
   -------------------------------------------------------------------------
   app.min.js keeps a counter starting at 120 (= normal) moving in steps of
   10 up to 200, and puts one class on <body>:

        pojo-a11y-resize-font-130 ... pojo-a11y-resize-font-200

   At 120 no class is left, which is how "A-" and Reset return to normal.
   For each step the plugin emits exactly two rules:

     body...NN, body...NN p:not(.pojo-a11y-toolbar-title),
     body...NN li:not(.pojo-a11y-toolbar-item), body...NN label,
     body...NN input, body...NN select, body...NN textarea, body...NN legend,
     body...NN code, body...NN pre, body...NN dd, body...NN dt,
     body...NN span, body...NN blockquote     { font-size: NN%      !important }

     body...NN h1..h6, body...NN h1 span .. h6 span
                                              { font-size: NN*1.33% !important }

   -------------------------------------------------------------------------
   WHY THIS FILE IS NEEDED  (every figure below measured on the live site)
   -------------------------------------------------------------------------
   1. The percentages COMPOUND. Every % resolves against the parent, so each
      nesting level multiplies. Measured at step 200: bare <p> 18 -> 64px
      (3.56x), nav <li> 16 -> 64px (4.00x), <strong> 18 -> 64px.

   2. SPECIFICITY. The plugin's paragraph selector

         body.pojo-a11y-resize-font-200 p:not(.pojo-a11y-toolbar-title)

      scores (0,2,2) — two classes, because :not() carries the specificity of
      its argument. A prefix of "html body[class*=...] p" scores only (0,1,3),
      so the plugin wins every bare p and li on the page no matter how many
      !important declarations are thrown at it. This file therefore repeats
      the attribute selector:

         html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"]

      = (0,2,2), and with a trailing tag (0,2,3) — one point of class weight
      above the plugin. Class-scoped pins then land at (0,3,x) or higher, so
      they also beat the generic inherit block in section 3 regardless of
      source order. The repetition is load-bearing, not a typo.

   3. Tags the plugin never lists — a, button, td, th, .btn, .nav-link — stay
      frozen while everything around them grows, so the menu, the search
      buttons and the whole price table would keep their original size.

   4. Every p/li/span forced to one value flattens the theme's typographic
      hierarchy (18px body text against 44-72px headings).

   The cookie banner and its settings modal are direct children of <body>,
   not of a content wrapper, so the generic rules reach them and the theme's
   own h2 pin would blow the modal title up. Section 4c handles them
   explicitly. Measured plugin-only at step 200: .cc-modal-head h2 18 -> 88px
   and .cc-required-badge 11 -> 32px ran away, while .cc-cat-desc (13px) and
   .cc-modal-close (24px) stayed completely frozen.

   -------------------------------------------------------------------------
   THREE CURVES
   -------------------------------------------------------------------------
     --a11y-scale        text, headings, tables, lists      1.15 .. 1.60
     --a11y-scale-form   selects, buttons, cookie banner    1.30 .. 1.75
     --a11y-scale-ui     the accessibility toolbar itself   1.10 .. 1.35

   Form controls and the cookie banner start from the smallest sizes on the
   page, so they need a bigger first jump to read as "bigger". The toolbar
   grows the least on purpose: it is a fixed overlay, and a panel that grows
   as fast as the page would cover the content the reader just enlarged.

   -------------------------------------------------------------------------
   GUARANTEE
   -------------------------------------------------------------------------
   Every resize rule is gated behind body[class*="pojo-a11y-resize-font-"];
   every contrast repair is gated behind a pojo-a11y-*-contrast /
   -background / -grayscale class. With nothing selected, and again after
   Reset, this file contributes zero computed differences. Only :root and the
   body.pojo-* variable rules are ungated, and they declare nothing but
   custom properties — plus one styling rule that keeps the toolbar menu items
   free of underlines in every state (section 8).

   Structure:
     1.  Scale steps
     2.  Base pin
     3.  Neutralise the compounding percentages
     4.  Form controls
     4c. Cookie banner and settings modal
     5.  Theme font sizes x scale       (mirrors style.css)
     6.  Responsive font sizes x scale  (mirrors responsive.css)
     7.  Layout protection at large sizes
     8.  The accessibility toolbar
     9.  Checkbox check mark in the contrast modes
     10. Contrast modes: page background, search button border, price-list labels, table border,
         cookie button border
     11. Light mode: select arrows
   ========================================================================= */


/* =========================================================================
   1. SCALE STEPS
   ========================================================================= */

:root {
    --a11y-scale: 1;
    --a11y-scale-form: 1;
    --a11y-scale-ui: 1;
}

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


/* =========================================================================
   2. BASE PIN
   Measured baseline: body = 16px. A calc(), never a flat px, so everything
   that legitimately inherits from <body> keeps moving with the setting.
   ========================================================================= */

html body[class*="pojo-a11y-resize-font-"] {
    font-size: calc(16px * var(--a11y-scale)) !important;
    overflow-wrap: break-word;
}


/* =========================================================================
   3. NEUTRALISE THE COMPOUNDING PERCENTAGES
   Tags that carry no size of their own in this theme go back to inheriting,
   so a size is applied once per element instead of once per nesting level.
   Tags that DO have a theme size (p, span, h1-h6, table cells, inputs) are
   pinned in sections 4 and 5 instead, and are deliberately absent here.
   ========================================================================= */

html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] li,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] label,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] legend,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] code,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] pre,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] dd,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] dt,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] blockquote,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] textarea,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] strong,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] em,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] b,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] i {
    font-size: inherit !important;
}

/* relative sizes already follow the parent, they only need protection from
   the plugin's !important declarations */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] small,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] sub,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] sup {
    font-size: 0.875em !important;
}


/* =========================================================================
   4. FORM CONTROLS  (--a11y-scale-form)
   Bootstrap components the plugin never touches are included so the search
   bar and the building tabs grow with everything else.
   ========================================================================= */

html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] input,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] select {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] :is(.btn,
.accordion-button, .nav-link, .form-control, .form-select, .dropdown-item) {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
}

/* --- the two search bars (header + price list) --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-form label {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1.125 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-form select {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] :is(.ads-serch-btn-top,
.ads-serch-btn, .ads-serch-btn-comp4, .ads-serch-btn-topcomp4, .ads-serch-btn-comp1) {
    font-size: calc(18px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .ads-clear-filter {
    font-size: calc(32px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-list input[type='text'] {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-list ::placeholder {
    font-size: calc(14px * var(--a11y-scale-form)) !important;
}

/* The availability checkbox is a real 20px control whose tick is drawn with
   a ::before glyph. Box and glyph have to grow together or the tick spills
   out of the square. Written with the ids because the theme sizes them as
   ".chkbox #chkbxinputone", which scores (1,1,0). */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .chkbox #chkbxinputone,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .chkbox #chkbxinputmain {
    width: calc(20px * var(--a11y-scale-form)) !important;
    height: calc(20px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] input[type="checkbox"]:checked::before {
    font-size: calc(16px * var(--a11y-scale-form)) !important;
}


/* =========================================================================
   4c. COOKIE BANNER AND SETTINGS MODAL
   Values read from the <style id="cc-style"> that cookie-consent.js injects.
   Both roots (.cc-root for the banner, .cc-modal-wrap for the settings
   modal) are direct children of <body>.

   Generic inherit first, then one explicit pin per element. Every pin is a
   calc(): a flat px would stop the runaway but freeze the banner, so a
   reader who enlarges the text would click and see nothing change. Each pin
   is given a bare and a root-scoped form so it wins in the banner and in the
   modal alike. .cc-title (16 -> 18) and .cc-btn (14 -> 15) get bumped
   baselines on the form curve so the first click is a visible jump.
   ========================================================================= */

html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root p,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root li,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root span,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root label,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root a,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root div,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap p,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap li,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap span,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap label,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap a,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap div {
    font-size: inherit !important;
}

/* banner root — 14px / 1.5 in #cc-style */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root {
    font-size: calc(14px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
/* The settings modal carries no font-size of its own, so it renders at the
   16px it inherits from <body>, not at the banner's 14px. Starting its pin at
   14 made the first click move it 16 -> 16.1px, i.e. invisibly; measured and
   corrected to the 16px it actually renders at. */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root .cc-modal {
    font-size: calc(16px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-title,
html body[class*="pojo-a11y-resize-font-"][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-"][class*="pojo-a11y-resize-font-"] .cc-body,
html body[class*="pojo-a11y-resize-font-"][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-"][class*="pojo-a11y-resize-font-"] .cc-btn,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-btn-text,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root .cc-btn,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root .cc-btn-text,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-btn,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-btn-text {
    font-size: calc(15px * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-lang-toggle,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-root .cc-lang-toggle {
    font-size: calc(12px * var(--a11y-scale)) !important;
}
/* the theme's global h2 pin (44px) must not reach the modal title */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-head h2,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-head h2 {
    font-size: calc(18px * var(--a11y-scale-form)) !important;
    line-height: 1.4 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-close,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-modal-close {
    font-size: calc(24px * var(--a11y-scale-ui)) !important;
    line-height: 1 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-cat-name,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cat-name {
    font-size: calc(15px * var(--a11y-scale-form)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-cat-desc,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cat-desc {
    font-size: calc(13px * var(--a11y-scale-form)) !important;
    line-height: 1.5 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-required-badge,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-required-badge {
    font-size: calc(11px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-cookies-list,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-cookies-list td,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list th,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .cc-modal-wrap .cc-cookies-list td {
    font-size: calc(12px * var(--a11y-scale)) !important;
    line-height: 1.5 !important;
}
/* the floating re-open button carries an icon, not text */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] #cc-floater {
    font-size: calc(14px * var(--a11y-scale-ui)) !important;
}


/* =========================================================================
   5. THEME FONT SIZES x SCALE
   Mirrors assets/css/style.css, same selectors and same order, so the
   cascade between these rules stays identical to the original design.
   px line-heights are restated as ratios so they grow with the text.
   ========================================================================= */

/* --- global typography --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h1 {
    font-size: calc(40px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h2 {
    font-size: calc(44px * var(--a11y-scale)) !important;
    line-height: 1.136 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h3 {
    font-size: calc(28px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h4 {
    font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h5 {
    font-size: calc(20px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h6 {
    font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] p {
    font-size: calc(18px * var(--a11y-scale)) !important;
}
/* the theme's global span size lives in ".fils-for-downlaod a, span" */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] span {
    font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .sub-heading {
    font-size: calc(22px * var(--a11y-scale)) !important;
}

/* --- developer section --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-title {
    font-size: calc(42px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-subtitle {
    font-size: calc(28px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-description p {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.833 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .gallery-tag {
    font-size: calc(12px * var(--a11y-scale)) !important;
}

/* --- project info section --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .project-content h2 {
    font-size: calc(46px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .project-description p {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.722 !important;
}

/* --- project gallery section --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .gallery-content h2 {
    font-size: calc(46px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .gallery-description p {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.722 !important;
}

/* --- map and chart --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .map-chart-wrap h2 {
    font-size: calc(44px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .map-chart-wrap a {
    font-size: calc(25px * var(--a11y-scale)) !important;
}

/* --- thumbnail gallery --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content h3 {
    font-size: calc(47px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content h2 {
    font-size: calc(54px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content p {
    font-size: calc(16px * var(--a11y-scale)) !important;
    line-height: 1.375 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .notice-gallery-thimbnail {
    font-size: calc(16px * var(--a11y-scale)) !important;
}

/* --- FAQ accordion --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-header .accordion-button {
    font-size: calc(22px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-button span {
    font-size: calc(20px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-button p {
    font-size: calc(20px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-item {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-body p {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.778 !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs-bottom p {
    font-size: calc(16px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
}

/* --- payment / mortgage --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .payemtn-lower li span,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .payemtn-lower li {
    font-size: calc(18px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .mortga-list-style p,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .mortgage-notice p {
    font-size: calc(16px * var(--a11y-scale)) !important;
}

/* --- price list --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-list h2 {
    font-size: calc(72px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-list p {
    font-size: calc(25px * var(--a11y-scale)) !important;
}

/* --- apartments table ---
   .table-head-title uses :where(p,span) in style.css, which scores ZERO, so
   it is restated here with :is() to keep its intended size. */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .table-head-title :is(p, span) {
    font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .nav-tabs .nav-link {
    font-size: calc(19px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] table,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] table thead > tr > th,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] table td {
    font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .sale-property-strip p {
    font-size: calc(19px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .floor-dropdown-menu li a {
    font-size: calc(18px * var(--a11y-scale)) !important;
    line-height: 1.3 !important;
}

/* --- downloads, footer, menu --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .fils-for-downlaod a {
    font-size: calc(16px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .footer-social a {
    font-size: calc(17px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .footer-social h2 {
    font-size: calc(24px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .main-menu li a {
    font-size: calc(16.52px * var(--a11y-scale)) !important;
}

/* --- lightbox (loaded from lightbox.min.css, outside the theme sections) --- */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .lb-data .lb-caption {
    font-size: calc(13px * var(--a11y-scale)) !important;
}
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .lb-data .lb-number {
    font-size: calc(12px * var(--a11y-scale)) !important;
}


/* =========================================================================
   6. RESPONSIVE FONT SIZES x SCALE
   Mirrors assets/css/responsive.css, in that file's own source order
   (767 -> 400 -> 365). Without these blocks the desktop rules above, which
   carry !important, would also apply on phones and break the mobile
   typography while the toolbar is in use.
   ========================================================================= */

@media (max-width: 767px) {

    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] p {
        font-size: calc(16px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] h2 {
        font-size: calc(32px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .sub-heading {
        font-size: calc(20px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .table-head-title :is(p, span) {
        font-size: calc(16px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content h2 {
        font-size: calc(50px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content h3 {
        font-size: calc(40px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content p {
        font-size: calc(15px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-button p {
        font-size: calc(16px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .fils-for-downlaod span {
        font-size: calc(14px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-title {
        font-size: calc(32px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-subtitle {
        font-size: calc(22px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-description,
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .project-description {
        font-size: calc(16px * var(--a11y-scale)) !important;
        line-height: 1.75 !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .project-content h2,
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .gallery-content h2 {
        font-size: calc(32px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .map-chart-wrap h2 {
        font-size: calc(42px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .developer-description p,
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .project-description p,
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .gallery-description p,
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-body p {
        font-size: calc(16px * var(--a11y-scale)) !important;
        line-height: 1.6 !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .spread-payment p {
        font-size: calc(16px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .map-chart-wrap a {
        font-size: calc(20px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-list h2 {
        font-size: calc(50px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-list p {
        font-size: calc(20px * var(--a11y-scale)) !important;
    }
}

@media (max-width: 400px) {

    /* responsive.css pairs this 16px with a 15px line-height (ratio 0.94).
       That is already tight at rest and would overlap once the text is
       enlarged and wraps, so the ratio is opened up to 1.4 here. This is the
       one deliberate deviation from the source values in this file. */
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-button p {
        font-size: calc(16px * var(--a11y-scale)) !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 365px) {

    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .price-form label {
        font-size: calc(14px * var(--a11y-scale-form)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content h2 {
        font-size: calc(46px * var(--a11y-scale)) !important;
    }
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-button p {
        font-size: calc(16px * var(--a11y-scale)) !important;
    }
}


/* =========================================================================
   7. LAYOUT PROTECTION AT LARGE SIZES
   Only active while a resize class is on the body. Fixed heights, fixed
   widths and clipping containers are released so enlarged text stays
   readable instead of being cut off.
   ========================================================================= */

/* boxes that clip or lock their height around text */
html body[class*="pojo-a11y-resize-font-"] .project-block,
html body[class*="pojo-a11y-resize-font-"] .first-section,
html body[class*="pojo-a11y-resize-font-"] .second-section {
    min-height: auto !important;
    overflow: visible !important;
}
html body[class*="pojo-a11y-resize-font-"] .thumbnail-gallery-content {
    min-height: auto !important;
    height: auto !important;
    padding-bottom: 40px !important;
    background-size: 100% 100% !important;
}
html body[class*="pojo-a11y-resize-font-"] .thumb {
    min-height: auto !important;
}
html body[class*="pojo-a11y-resize-font-"] .faqs .accordion-header .accordion-button {
    max-height: none !important;
    height: auto !important;
}
html body[class*="pojo-a11y-resize-font-"] .fils-for-downlaod span,
html body[class*="pojo-a11y-resize-font-"] .fils-for-downlaod li {
    overflow: visible !important;
}
html body[class*="pojo-a11y-resize-font-"] .developer-title,
html body[class*="pojo-a11y-resize-font-"] .developer-subtitle,
html body[class*="pojo-a11y-resize-font-"] .price-list h2,
html body[class*="pojo-a11y-resize-font-"] .map-chart-wrap h2 {
    line-height: 1.2 !important;
}

/* rows of controls that must be allowed to wrap */
html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap,
html body[class*="pojo-a11y-resize-font-"] .searchbox,
html body[class*="pojo-a11y-resize-font-"] .main-menu-ul,
html body[class*="pojo-a11y-resize-font-"] .table-setting-ads,
html body[class*="pojo-a11y-resize-font-"] .footer-social ul {
    flex-wrap: wrap !important;
}
html body[class*="pojo-a11y-resize-font-"] .floor-dropdown-menu li a {
    white-space: normal !important;
}
html body[class*="pojo-a11y-resize-font-"] .floor-dropdown-menu {
    min-width: 0 !important;
    max-width: 90vw !important;
}

/* form controls with a fixed pixel width */
html body[class*="pojo-a11y-resize-font-"] .price-form select {
    width: auto !important;
    min-width: 139px !important;
    max-width: 100% !important;
}
html body[class*="pojo-a11y-resize-font-"] .price-list input[type='text'] {
    width: auto !important;
    min-width: 180px !important;
    max-width: 100% !important;
}
html body[class*="pojo-a11y-resize-font-"] .table-head-title {
    width: auto !important;
    min-width: calc(100% / 14 - 4px) !important;
}

/* the apartments table gets wider than its container, let it scroll */
html body[class*="pojo-a11y-resize-font-"] .main-table,
html body[class*="pojo-a11y-resize-font-"] #myTabContent,
html body[class*="pojo-a11y-resize-font-"] #myTabContent2 {
    overflow-x: auto !important;
}

/* --- accordion bars (purchase process + mortgage) ---
   At rest both bars are 50px tall. Their
   heights come from nothing but the 50px line-height the theme gives
   every h2 — the .accordion-header IS an <h2>, and the button inherits it.
   Once a size is selected, section 5 restates line-heights as ratios so
   wrapped text does not overlap, which collapsed both bars to the height of
   their text (measured 50 -> 28px at step 130). The bar height is restored
   as a min-height that grows with the text instead: 50 -> 58 -> 68 -> 80px
   at steps 130 / 160 / 200, text centred as in the design. */
html body[class*="pojo-a11y-resize-font-"] .faqs .accordion-header .accordion-button,
html body[class*="pojo-a11y-resize-font-"] .accordian-mortgage .accordion-header .accordion-button {
    min-height: calc(50px * var(--a11y-scale)) !important;
    height: auto !important;
    max-height: none !important;
    padding-top: calc(4px * var(--a11y-scale)) !important;
    padding-bottom: calc(4px * var(--a11y-scale)) !important;
    line-height: 1.2 !important;
    align-items: center !important;
}
html body[class*="pojo-a11y-resize-font-"] .accordian-mortgage .accordion-button p {
    line-height: 1.2 !important;
}
/* responsive.css caps the FAQ bar at 44px on the narrowest phones */
@media (max-width: 365px) {
    html body[class*="pojo-a11y-resize-font-"] .faqs .accordion-header .accordion-button {
        min-height: calc(44px * var(--a11y-scale)) !important;
    }
}

/* --- "נמכר!" label on sold rows ---
   style.css draws it as tr::after at left:-80px with 20px side padding,
   which only lines up while the label is exactly 80px wide. Enlarged text
   made it ~106px and pushed it over the plan columns. right:100% pins its
   right edge to the row's left edge at any width, and the side padding is
   trimmed so it stays close to the designed 80px (82 -> 100px at 130 -> 200). */
html body[class*="pojo-a11y-resize-font-"] .sale-property-strip::after {
    left: auto !important;
    right: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: nowrap !important;
}

/* --- search bars: keep the controls on one line (tablet and up) ---
   Phones keep their designed two-per-row layout, so these stop at 768px. */
@media (min-width: 768px) {

    /* price list: style.css fixes the row at width:630px, which the label,
       two selects and the button outgrow from step 160. Let it size to its
       content instead, capped at the column. */
    html body[class*="pojo-a11y-resize-font-"] .price-list .searchbox {
        width: max-content !important;
        max-width: 100% !important;
    }

    /* header: the bar is inline content, so the button (last in the markup,
       after the checkbox) is the first thing to drop to a new line. While a
       size is selected it becomes a grid: label, both selects and the button
       share row 1, the checkbox moves to row 2. The label may wrap its two
       words onto two lines, but never narrower than its longest word — a
       zero minimum let "מחפש/ת" run under the first select.
       Measured in a 641px column (a 1366px screen): one row at every step,
       label clear of the select by 16px. */
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox {
        display: grid !important;
        grid-template-columns: auto auto auto auto auto !important;
        justify-content: end !important;
        align-items: center !important;
        column-gap: 0 !important;
        row-gap: 8px !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox > label {
        grid-column: 1;
        grid-row: 1;
        white-space: normal !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox > #sel22 {
        grid-column: 2;
        grid-row: 1;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox > #sel11 {
        grid-column: 3;
        grid-row: 1;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox > .ads-serch-btn-top {
        grid-column: 4;
        grid-row: 1;
        white-space: nowrap !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox > .ads-clear-filter {
        grid-column: 5;
        grid-row: 1;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .searchbox > .chkbox {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: start;
        margin-bottom: 0 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .top-filter-wrap .price-form label[for="chkbxinputone"] {
        margin-top: 0 !important;
    }
}

/* --- FAQ step chip ---
   The light "שלב N" wedge is part of faqs-an-bg.png (404x55), not a box.
   Default view sizes it with background-size:contain, but every contrast
   mode forces background-size:auto, which left the image 55px tall inside a
   bar that now grows to 80px — the chip stopped short of the bar.

   Width and height are set separately. Height is always the full bar.
   Width is the image's default rendered width (404 x 50/55 = 367.27px) times
   the text scale — NOT derived from the bar height. On phones the title
   wraps and the bar grows to 110-146px; an "auto 100%" chip then widened
   with it and covered most of the bar. On desktop the bar stays one line
   high, so both approaches give the same result there.

   The contrast rule in style.css scores (1,5,1), so the second selector
   reuses the theme's own :not(#pojo-a11y-toolbar) to reach (1,5,2). */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-header .accordion-button,
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] *:not(#pojo-a11y-toolbar) .faqs .accordion-header .accordion-button {
    background-size: calc(367.27px * var(--a11y-scale)) 100% !important;
}
/* the wedge widens with the bar, so the fixed 45px gap after "שלב N" grows
   with it (45 -> 72px) or the title runs into the slanted edge */
html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .faqs .accordion-button span {
    margin-left: calc(45px * var(--a11y-scale)) !important;
    white-space: nowrap !important;   /* "שלב 1" wrapped on phones */
}

/* --- gallery slider arrows ---
   A fixed 30px box whose glyph inherited the enlarged body text and a 38px
   line-height, so the arrow sat 5-6px low and spilled out of the box. Box and
   glyph grow together and the glyph is centred with flex; the box stays
   centred on the thumbnail strip. Measured centred (0px) at every step in
   default, light, high contrast, negative contrast and grayscale. */
html body[class*="pojo-a11y-resize-font-"] .thumbnail-wrapper :is(.gallery-prev, .gallery-next) {
    width: calc(30px * var(--a11y-scale-form)) !important;
    height: calc(30px * var(--a11y-scale-form)) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: calc(16px * var(--a11y-scale-form)) !important;
    line-height: 1 !important;
}

/* --- search bars: button as tall as the selects ---
   At rest the selects are 43px (14px text, line-height 1.5, 10px padding,
   1px border) and the buttons 41px. Once enlarged the selects grew with
   their text while the buttons did not. Both now share one height built from
   the same parts: 14px x scale x 1.5 + 22px -> 49 / 55 / 59px at 130 / 160 /
   200, in the header and in the price list. */
html body[class*="pojo-a11y-resize-font-"] .price-form select {
    height: calc(14px * var(--a11y-scale-form) * 1.5 + 22px) !important;
    min-height: 0 !important;
    line-height: 1.5 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    box-sizing: border-box !important;
}
html body[class*="pojo-a11y-resize-font-"] .price-form :is(.ads-serch-btn-top, .ads-serch-btn) {
    height: calc(14px * var(--a11y-scale-form) * 1.5 + 22px) !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* --- footer e-mail ---
   An address has no spaces, so it cannot wrap: at step 200 on a 375px phone
   it measured 369px and pushed the page into a horizontal scroll. On phones
   it grows only until it fills the column (5.6vw ~ 21px on a 375px screen),
   which keeps it on one line under its icon as in the default layout; on a
   narrower phone it may break rather than overflow. */
html body[class*="pojo-a11y-resize-font-"] .footer-social ul,
html body[class*="pojo-a11y-resize-font-"] .footer-social li {
    min-width: 0 !important;
    max-width: 100% !important;
}
html body[class*="pojo-a11y-resize-font-"] .footer-social a[href^="mailto:"] {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
@media (max-width: 767px) {
    html body[class*="pojo-a11y-resize-font-"][class*="pojo-a11y-resize-font-"] .footer-social a[href^="mailto:"] {
        font-size: min(calc(17px * var(--a11y-scale)), 5.6vw) !important;
    }
}

/* keep the layout of the phone version intact */
@media (max-width: 767px) {

    html body[class*="pojo-a11y-resize-font-"] .price-form select,
    html body[class*="pojo-a11y-resize-font-"] .price-list input[type='text'] {
        width: 48% !important;
        min-width: 0 !important;
    }
    html body[class*="pojo-a11y-resize-font-"] .table-head-title {
        width: calc(100% / 3 - 3px) !important;
        min-width: 0 !important;
    }
}


/* =========================================================================
   8. THE ACCESSIBILITY TOOLBAR
   The panel scales together with the site so the person who enlarged the
   text can also read the menu they are using — but on --a11y-scale-ui, the
   slowest of the three curves, so the panel stays noticeably smaller than
   the page behind it. At the top step the menu items land near 17px while
   body text is at 25.6px.

   The plugin pins #pojo-a11y-toolbar to 16px !important and sizes everything
   inside it as a percentage of that, so re-declaring the root is enough to
   move the whole panel; the items keep their own 80%.

   Two theme rules reach inside the widget and would otherwise pin it:

       p    { font-size: 18px }   ->  the "כלי נגישות" title
       span { font-size: 16px }   ->  every button label and icon wrapper
                                      (from ".fils-for-downlaod a, span")

   so both are repeated here on the ui curve.

   ONE UNGATED RULE: the menu items never get text-decoration (light mode
   underlined them). It is a styling choice for the toolbar itself, not a
   resize rule, so it applies with nothing selected too.

   NOT TOUCHED ON PURPOSE: the round launcher. style.css sizes it in vw
   (1.5vw desktop / 5.5vw under 767px, both !important) and a flat px pin
   here would destroy that responsive behaviour. It carries no text, so it
   does not need to grow with the setting.
   ========================================================================= */

html body[class*="pojo-a11y-resize-font-"] {
    --a11y-toolbar-width: min(calc(180px * var(--a11y-scale-ui)), 90vw);
}

html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar {
    font-size: calc(16px * var(--a11y-scale-ui)) !important;
}
/* labels and icon wrappers — the theme's global span rule, on the ui curve */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar span {
    font-size: calc(16px * var(--a11y-scale-ui)) !important;
}
/* panel title — the theme's global p rule, on the ui curve */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar p.pojo-a11y-toolbar-title {
    font-size: calc(18px * var(--a11y-scale-ui)) !important;
}
/* the icons are <svg width="1em">, so they follow their own box */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar svg {
    font-size: inherit !important;
}
/* menu links keep the plugin's 80%, now 80% of a ui-scaled root */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a {
    font-size: 80% !important;
    line-height: 1.3 !important;
}
/* no underline on the menu items in any mode — light mode underlined them.
   Deliberately not gated: it applies with nothing selected too. */
html body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a,
html body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a * {
    text-decoration: none !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-skip-content {
    font-size: calc(16px * var(--a11y-scale-ui)) !important;
}

/* --- panel box and off-screen offsets follow the same curve ---
   The panel is a fixed 180px box parked at left:-180px with the round toggle
   at left:180px. If only the text grew the labels would spill out of the
   box, so the width and both offsets scale from one variable, capped at
   90vw for small screens. */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay {
    width: var(--a11y-toolbar-width) !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar.pojo-a11y-toolbar-left {
    left: calc(-1 * var(--a11y-toolbar-width)) !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar.pojo-a11y-toolbar-left.pojo-a11y-toolbar-open {
    left: 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
    left: var(--a11y-toolbar-width) !important;
}
/* same for the right hand position, in case the plugin setting is changed */
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar.pojo-a11y-toolbar-right {
    right: calc(-1 * var(--a11y-toolbar-width)) !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar.pojo-a11y-toolbar-right.pojo-a11y-toolbar-open {
    right: 0 !important;
}
html body[class*="pojo-a11y-resize-font-"] #pojo-a11y-toolbar.pojo-a11y-toolbar-right .pojo-a11y-toolbar-toggle {
    right: var(--a11y-toolbar-width) !important;
}


/* =========================================================================
   9. CHECKBOX CHECK MARK IN THE CONTRAST MODES
   -------------------------------------------------------------------------
   These rules are gated on the CONTRAST classes, not on the resize class, so
   they are independent of sections 1-8 and change nothing in the default
   view.

   THE PROBLEM (measured on the live site)
   The two availability checkboxes are native controls (appearance: auto), so
   the browser draws its own tick. On top of that style.css draws a second
   tick with

       input[type="checkbox"]:checked::before { content:'\2713';
                                                position:absolute;
                                                right:3px; bottom:2px }

   Because the input itself is position:static, that glyph anchors to
   .chkbox — the whole 190px row — instead of to the 20px box, so it lands
   just outside the square. In the default view the glyph is #002E59 on the
   navy header and nobody ever saw it. Every contrast mode makes it visible:

     light background : navy glyph on white -> TWO ticks, one outside the box
     high contrast    : white glyph, box forced to a black square on black
     negative contrast: white glyph, box forced black on black — box invisible
     grayscale        : glyph greys out, box survives, still two ticks

   THE FIX
   Take the box off the native rendering (appearance:none) so its colours can
   be set per mode, give the input position:relative so the existing glyph
   anchors to the BOX rather than to the row, and centre that glyph with
   inset:0 + flex. Exactly one tick, inside the square, in every mode.
   ========================================================================= */

body.pojo-a11y-light-background .chkbox input[type="checkbox"],
body.pojo-a11y-high-contrast .chkbox input[type="checkbox"],
body.pojo-a11y-negative-contrast .chkbox input[type="checkbox"],
body.pojo-a11y-grayscale .chkbox input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    box-sizing: border-box !important;
    border-radius: 3px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    flex: none !important;
}
/* the theme sizes these with ".chkbox #id", so match that weight */
body.pojo-a11y-light-background .chkbox #chkbxinputone,
body.pojo-a11y-light-background .chkbox #chkbxinputmain,
body.pojo-a11y-high-contrast .chkbox #chkbxinputone,
body.pojo-a11y-high-contrast .chkbox #chkbxinputmain,
body.pojo-a11y-negative-contrast .chkbox #chkbxinputone,
body.pojo-a11y-negative-contrast .chkbox #chkbxinputmain,
body.pojo-a11y-grayscale .chkbox #chkbxinputone,
body.pojo-a11y-grayscale .chkbox #chkbxinputmain {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* the tick: anchored to the box, centred, one per checkbox */
body.pojo-a11y-light-background .chkbox input[type="checkbox"]:checked::before,
body.pojo-a11y-high-contrast .chkbox input[type="checkbox"]:checked::before,
body.pojo-a11y-negative-contrast .chkbox input[type="checkbox"]:checked::before,
body.pojo-a11y-grayscale .chkbox input[type="checkbox"]:checked::before {
    content: '\2713' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 0.85em !important;
    font-weight: 700 !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}
/* the mobile price-list variant swaps the glyph for a background image and
   draws a second 30px box with ::after — neither is wanted once the box is
   drawn by the rules above */
body.pojo-a11y-light-background .chkbox input[type="checkbox"]::after,
body.pojo-a11y-high-contrast .chkbox input[type="checkbox"]::after,
body.pojo-a11y-negative-contrast .chkbox input[type="checkbox"]::after,
body.pojo-a11y-grayscale .chkbox input[type="checkbox"]::after {
    content: none !important;
}
body.pojo-a11y-light-background .price-list .chkbox input[type="checkbox"]:checked::before,
body.pojo-a11y-high-contrast .price-list .chkbox input[type="checkbox"]:checked::before,
body.pojo-a11y-negative-contrast .price-list .chkbox input[type="checkbox"]:checked::before,
body.pojo-a11y-grayscale .price-list .chkbox input[type="checkbox"]:checked::before {
    background-image: none !important;
    top: 0 !important;
    width: auto !important;
    height: auto !important;
}

/* --- per-mode colours ---------------------------------------------------
   These have to out-specify style.css, which paints every form control in
   the contrast modes with

       body.pojo-a11y-<mode> *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link)
           :where(input, textarea, select) { background/border-bottom/color }

   That selector scores (1,2,1) — the ID comes from :not(#pojo-a11y-toolbar),
   and :where() adds nothing. A plain ".chkbox input[type=checkbox]" only
   reaches (0,3,2) and loses the ID column, which measured as a transparent
   box in light mode and a white 1px border instead of a yellow 2px one in
   negative contrast. Naming the two real checkboxes and keeping [type] takes
   these to (1,3,1) — a clean win with no specificity hack.

   A checkbox added later would fall back to the generic block above, which
   still fixes the tick position; it would just need its id adding here to
   control its colours. */

/* light background: white page, black text */
body.pojo-a11y-light-background .chkbox #chkbxinputone[type="checkbox"],
body.pojo-a11y-light-background .chkbox #chkbxinputmain[type="checkbox"] {
    background: #fff !important;
    border: 2px solid #000 !important;
}
body.pojo-a11y-light-background .chkbox #chkbxinputone[type="checkbox"]:checked::before,
body.pojo-a11y-light-background .chkbox #chkbxinputmain[type="checkbox"]:checked::before {
    color: #000 !important;
}

/* high contrast: black page, white text */
body.pojo-a11y-high-contrast .chkbox #chkbxinputone[type="checkbox"],
body.pojo-a11y-high-contrast .chkbox #chkbxinputmain[type="checkbox"] {
    background: #000 !important;
    border: 2px solid #fff !important;
}
body.pojo-a11y-high-contrast .chkbox #chkbxinputone[type="checkbox"]:checked::before,
body.pojo-a11y-high-contrast .chkbox #chkbxinputmain[type="checkbox"]:checked::before {
    color: #fff !important;
}

/* negative contrast: black page, yellow text */
body.pojo-a11y-negative-contrast .chkbox #chkbxinputone[type="checkbox"],
body.pojo-a11y-negative-contrast .chkbox #chkbxinputmain[type="checkbox"] {
    background: #000 !important;
    border: 2px solid #ff0 !important;
}
body.pojo-a11y-negative-contrast .chkbox #chkbxinputone[type="checkbox"]:checked::before,
body.pojo-a11y-negative-contrast .chkbox #chkbxinputmain[type="checkbox"]:checked::before {
    color: #ff0 !important;
}

/* grayscale: the page keeps its own colours under a filter, so the box uses
   the theme palette — white box, navy tick — which stays legible on both the
   navy header and the price-list photograph once desaturated */
body.pojo-a11y-grayscale .chkbox #chkbxinputone[type="checkbox"],
body.pojo-a11y-grayscale .chkbox #chkbxinputmain[type="checkbox"] {
    background: #fff !important;
    border: 2px solid #002E59 !important;
}
body.pojo-a11y-grayscale .chkbox #chkbxinputone[type="checkbox"]:checked::before,
body.pojo-a11y-grayscale .chkbox #chkbxinputmain[type="checkbox"]:checked::before {
    color: #002E59 !important;
}

/* focus stays visible in every mode */
body.pojo-a11y-light-background .chkbox input[type="checkbox"]:focus-visible,
body.pojo-a11y-high-contrast .chkbox input[type="checkbox"]:focus-visible,
body.pojo-a11y-negative-contrast .chkbox input[type="checkbox"]:focus-visible,
body.pojo-a11y-grayscale .chkbox input[type="checkbox"]:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px !important;
}

/* =========================================================================
   10. CONTRAST MODES: PAGE BACKGROUND, SEARCH BUTTON BORDER, PRICE-LIST LABELS
   Gated on the contrast classes only; nothing changes in the default view.
   ========================================================================= */

body.pojo-a11y-high-contrast {
    background: #000 !important;
}

/* search buttons (header + price list) get an outline in the dark modes, in
   the colour of that mode's text, so they read as buttons and not as loose
   link text. Written with the theme's own contrast prefix. */
body.pojo-a11y-high-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .price-form :is(.ads-serch-btn-top, .ads-serch-btn) {
    border: 1px solid #fff !important;
}
body.pojo-a11y-negative-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .price-form :is(.ads-serch-btn-top, .ads-serch-btn) {
    border: 1px solid #ff0 !important;
}

/* price-list labels ("אני מחפש/ת", "הצג רק דירות פנויות") sit on the section
   photo. The contrast modes painted a solid box behind each of them (black in
   high / negative contrast, white in light mode); they stay text only. In
   light mode that box was the only thing keeping the black label text
   readable, so the text turns white there, like the selects beside it. */
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .bottom-price-form label,
body.pojo-a11y-high-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .bottom-price-form label,
body.pojo-a11y-negative-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .bottom-price-form label,
body.pojo-a11y-grayscale *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .bottom-price-form label {
    background: transparent !important;
}
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .bottom-price-form label {
    color: #fff !important;
}

/* cookie banner and settings modal: in light mode the filled buttons
   ("אישור הכל", "דחיית הכל", and the modal's save buttons) lose their fill
   and would read as plain text, so they get a black outline. High and
   negative contrast already outline them. The text-style "הגדרות" link
   (.cc-btn-text) stays a link. */
body.pojo-a11y-light-background .cc-root .cc-btn:not(.cc-btn-text),
body.pojo-a11y-light-background .cc-modal-wrap .cc-btn:not(.cc-btn-text) {
    border: 1px solid #000 !important;
}

/* apartments table: no outer border in any mode */
body.pojo-a11y-light-background table,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) table,
body.pojo-a11y-high-contrast table,
body.pojo-a11y-high-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) table,
body.pojo-a11y-negative-contrast table,
body.pojo-a11y-negative-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) table,
body.pojo-a11y-grayscale table,
body.pojo-a11y-grayscale *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) table {
    border: none !important;
}


/* =========================================================================
   11. LIGHT MODE: SELECT ARROWS
   The selects draw their arrow as a background image (dropdown-arrow.jpg).
   In light mode style.css resets every form control with the shorthand
   "background: transparent !important", which removes that image too, so
   both search bars lost their arrows. High and negative contrast hand the
   select back to the browser's own arrow and grayscale keeps the image, so
   only light mode needs this.

   The arrow is restored as an SVG with the same shape, size and position as
   the JPG, in the colour of the mode's text — the JPG carries a white
   background, which would show as a white patch on the price-list photo.
     header      black text on a white page     -> black arrow
     price list  white text over the photo      -> white arrow
   Longhands only, so the transparent background colour is kept.
   The price-list rule goes through .bottom-price-form because .price-list
   is a direct child of <body> and the theme prefix needs an element between.
   ========================================================================= */

body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .price-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='10' viewBox='0 0 15 10'%3E%3Cpath d='M0 0h15L7.5 10z' fill='%23000'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 13px !important;
    background-position: left 15px center !important;
}
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .bottom-price-form .searchbox select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='10' viewBox='0 0 15 10'%3E%3Cpath d='M0 0h15L7.5 10z' fill='%23fff'/%3E%3C/svg%3E") !important;
}
