/*
 * Accessibility fixes for "One Click Accessibility" (Pojo legacy module).
 * Font resize: everything is gated behind body[class*="pojo-a11y-resize-font-"].
 * Contrast modes: everything is gated behind the plugin's own body classes.
 * With no accessibility option selected (or after Reset) nothing in this file
 * matches, except the toolbar icon spacing in Section 0 (requested tweak).
 */

/* ==========================================================================
   Section 0: toolbar icon spacing (requested). The icon is first in the RTL
   row, so the gap belongs on its left, between the icon and the label.
   ========================================================================== */
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a svg {
	padding-right: 0 !important;
	padding-left: 6px !important;
}

/* ==========================================================================
   Section 1: scale curves.
   --a11y-scale          content text
   --a11y-scale-form     small / form text (bigger first jump)
   --a11y-scale-sticky   floating contact + WhatsApp buttons (must not cover content)
   --a11y-scale-toolbar  accessibility menu items (kept a bit smaller than content)
   ========================================================================== */
:root { --a11y-scale: 1; --a11y-scale-form: 1; --a11y-scale-sticky: 1; --a11y-scale-toolbar: 1; }
body.pojo-a11y-resize-font-130 { --a11y-scale:1.15; --a11y-scale-form:1.30; --a11y-scale-sticky:1.05; --a11y-scale-toolbar:1.04; }
body.pojo-a11y-resize-font-140 { --a11y-scale:1.22; --a11y-scale-form:1.40; --a11y-scale-sticky:1.09; --a11y-scale-toolbar:1.06; }
body.pojo-a11y-resize-font-150 { --a11y-scale:1.28; --a11y-scale-form:1.48; --a11y-scale-sticky:1.12; --a11y-scale-toolbar:1.08; }
body.pojo-a11y-resize-font-160 { --a11y-scale:1.35; --a11y-scale-form:1.55; --a11y-scale-sticky:1.16; --a11y-scale-toolbar:1.10; }
body.pojo-a11y-resize-font-170 { --a11y-scale:1.42; --a11y-scale-form:1.62; --a11y-scale-sticky:1.20; --a11y-scale-toolbar:1.12; }
body.pojo-a11y-resize-font-180 { --a11y-scale:1.48; --a11y-scale-form:1.68; --a11y-scale-sticky:1.23; --a11y-scale-toolbar:1.14; }
body.pojo-a11y-resize-font-190 { --a11y-scale:1.54; --a11y-scale-form:1.72; --a11y-scale-sticky:1.27; --a11y-scale-toolbar:1.17; }
body.pojo-a11y-resize-font-200 { --a11y-scale:1.60; --a11y-scale-form:1.75; --a11y-scale-sticky:1.30; --a11y-scale-toolbar:1.20; }

/* ==========================================================================
   Section 2: base pin on <body> (measured baseline 16px). Unscoped on purpose;
   the toolbar carries its own font-size:16px !important, so it is unaffected.
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] { font-size: calc(16px * var(--a11y-scale)) !important; }

/* ==========================================================================
   Section 3: stop % compounding inside the content roots. This theme has no
   wrapper element: sections sit directly in <body> next to #pojo-a11y-toolbar
   and #cc-banner-root, so the roots are listed explicitly (both excluded).
   ========================================================================== */
html body[class*="pojo-a11y-resize-font-"] :is(section, .container, .contact-sticky-btn, .sticky-whatsapp-btn-mobile, .mobile-banner-video) :is(p, li, span, label, blockquote, legend, code, pre, dd, dt) {
	font-size: inherit !important;
}
/* headings with no theme size fall back to Bootstrap's sizes, scaled */
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) :is(h1, h2, h3, h4, h5, h6) { line-height: 1.2 !important; }
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h1 { font-size: calc((1.375rem + 1.5vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h2 { font-size: calc((1.325rem + .9vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h3 { font-size: calc((1.3rem + .6vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h4 { font-size: calc((1.275rem + .3vw) * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h5 { font-size: calc(1.25rem * var(--a11y-scale)) !important; }
html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h6 { font-size: calc(1rem * var(--a11y-scale)) !important; }
@media (min-width: 1200px) {
	html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h1 { font-size: calc(2.5rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h2 { font-size: calc(2rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h3 { font-size: calc(1.75rem * var(--a11y-scale)) !important; }
	html body[class*="pojo-a11y-resize-font-"] :is(section, .container) h4 { font-size: calc(1.5rem * var(--a11y-scale)) !important; }
}
/* radios / checkboxes are em-sized by Bootstrap: keep the box at its design size */
html body[class*="pojo-a11y-resize-font-"] section input:is([type="radio"], [type="checkbox"]) { font-size: 1rem !important; }

/* ==========================================================================
   Section 4: form controls + CF7 messages on --a11y-scale-form.
   Register-page CF7 form (.footer-form-row): the text inputs and the submit
   share ONE computed height at every step and width, so they always match.
   The submit label is capped by viewport width (an input cannot wrap).
   ========================================================================== */
html:root body[class*="pojo-a11y-resize-font-"] .footer-form-row {
	/* label "אני רוצה להרשם" is ~6.4em wide; the cap keeps it inside the button on phones */
	--a11y-submit-fs: min(calc(30px * var(--a11y-scale)), calc((100vw - 76px) / 6.6));
	--a11y-field-h: calc(var(--a11y-submit-fs) * 1.2 + 22px);
}
html:root body[class*="pojo-a11y-resize-font-"] .footer-form-row input:not([type="hidden"]) {
	height: var(--a11y-field-h) !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	line-height: 1.2 !important;
}
html:root body[class*="pojo-a11y-resize-font-"] .footer-form-row input:not([type="hidden"]):not([type="submit"]) {
	font-size: min(calc(18px * var(--a11y-scale-form)), var(--a11y-submit-fs)) !important;
}
html:root body[class*="pojo-a11y-resize-font-"] .footer-form-row .form-submit input[type="submit"] {
	font-size: var(--a11y-submit-fs) !important;
}
/* validation tip (measured baseline 14px): always one line. The longest message
   ("לשדה זה יש קלט ארוך מדי.") is ~9.9em wide, so the cap keeps it on one line down to 320px. */
html:root body[class*="pojo-a11y-resize-font-"] .wpcf7 .wpcf7-not-valid-tip {
	font-size: min(calc(14px * var(--a11y-scale-form)), calc((100vw - 40px) / 10.5)) !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}
html:root body[class*="pojo-a11y-resize-font-"] .wpcf7 form .wpcf7-response-output {
	font-size: calc(14px * var(--a11y-scale-form)) !important;
	line-height: 1.4 !important;
}

/* ==========================================================================
   Section 4b: elements with an intentional size of their own.
   ========================================================================== */
/* accessibility menu items: grow gently, clearly smaller than the page text (requested).
   Label AND icon: the icon also sits in a <span>, so the plugin's "span 200%" doubled it. */
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 :is(.pojo-a11y-toolbar-text, .pojo-a11y-toolbar-icon) {
	font-size: calc(12.8px * var(--a11y-scale-toolbar)) !important;
}
/* floating contact button: the pill grows with its label and keeps its proportions.
   The envelope SVG has no intrinsic size, so it counted as 0px when the pill sized
   itself and got squeezed against the edge; give it an explicit width. Padding, gap
   and icon scale on the same curve as the label. */
html:root body[class*="pojo-a11y-resize-font-"] .contact-sticky-btn {
	width: auto !important;
	min-width: 150px;
	padding: calc(12px * var(--a11y-scale-sticky)) !important;
	gap: calc(16px * var(--a11y-scale-sticky)) !important;
}
html:root body[class*="pojo-a11y-resize-font-"] .contact-sticky-btn > img {
	flex: 0 0 auto;
	width: calc(60px * var(--a11y-scale-sticky)) !important;
	max-width: none !important;
	height: auto;
}
@media (max-width: 767px) {
	html:root body[class*="pojo-a11y-resize-font-"] .contact-sticky-btn { min-width: 128px; }
	html:root body[class*="pojo-a11y-resize-font-"] .contact-sticky-btn > img { width: calc(40px * var(--a11y-scale-sticky)) !important; }
}

/* "לפרטים" buttons (.reborn-btn). The theme rotates the button 270° about its centre and
   places it with a fixed left:-92px, which only meets the card edge at the design size:
   a longer label moves the centre and the button slides over the video. While text is
   enlarged, pivot on the bottom-left corner instead, so the rotated button's right edge
   always sits on the card's left edge and stays vertically centred, whatever its size. */
@media (min-width: 768px) {
	html:root body[class*="pojo-a11y-resize-font-"] .reborn-item .reborn-btn {
		left: 0 !important;
		transform-origin: 0 100% !important;
		transform: translateY(-50%) rotate(270deg) translateX(-50%) !important;
	}
	/* the rotated button's thickness is 26px padding + 22px line (both scale with the label),
	   and on tablets there is only ~50px beside the card: make room for the extra thickness
	   so the button never runs off the left edge of the screen */
	html:root body[class*="pojo-a11y-resize-font-"] .reborn-list .reborn-item {
		margin-left: calc(22px * (var(--a11y-scale-form) - 1)) !important;
	}
}
/* phones: the button hangs under the card with a fixed bottom:-47px, so a taller button
   rose into the card; hang it from the card's bottom edge instead */
@media (max-width: 767px) {
	html:root body[class*="pojo-a11y-resize-font-"] .reborn-item .reborn-btn {
		top: 100% !important;
		bottom: auto !important;
	}
}
/* register page: the inline <style> in template-register.php sets .font-40 to 35px at every width */
html:root body.page-template-template-register[class*="pojo-a11y-resize-font-"] .title-area h2.title.font-40 { font-size: calc(35px * var(--a11y-scale)) !important; line-height: 1.429 !important; }
@media (max-width: 767px) {
	html:root body.page-template-template-register[class*="pojo-a11y-resize-font-"] .title-area h2.title.font-40 { line-height: 1.143 !important; }
}

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

/* Section 4d: CF7 tips on this site are static (no fixed px anchor), so nothing to re-anchor. */

/* ==========================================================================
   Section 5: every font-size rule from the theme (style.css + responsive.css),
   gated and scaled, mirrored per breakpoint in the theme's own order.
   px line-heights become unitless ratios so lines never collide as text grows.
   ========================================================================== */
/* base (>1024px) */
html:root body[class*="pojo-a11y-resize-font-"] .global-btn { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 0.875 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .title { font-size: calc(65px * var(--a11y-scale)) !important; line-height: 1.077 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .title-eng { font-size: calc(108px * var(--a11y-scale)) !important; line-height: 0.981 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .subtitle { font-size: calc(64px * var(--a11y-scale)) !important; line-height: 1.156 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content > p.desc { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.455 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .date-list .date-box .date { font-size: calc(35px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .date-list .date-box .time { font-size: calc(15px * var(--a11y-scale-form)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-time-area .banner-btn { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 2.417 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .second-content > div.desc p,
html:root body[class*="pojo-a11y-resize-font-"] .second-content > div.desc strong { font-size: calc(34px * var(--a11y-scale)) !important; line-height: 1.412 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .third-content > div.desc p,
html:root body[class*="pojo-a11y-resize-font-"] .third-content > div.desc strong { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.636 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .title-area h2.title.font-40 { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.25 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .title-area h2.title { font-size: calc(35px * var(--a11y-scale)) !important; line-height: 1.314 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .media-img-slider .slide .media-img-link i { font-size: calc(21px * var(--a11y-scale)) !important; }
html:root body[class*="pojo-a11y-resize-font-"] .media-video-content .title { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .media-video-content .date { font-size: calc(15px * var(--a11y-scale-form)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .about-detail-wrapper .title { font-size: calc(36px * var(--a11y-scale)) !important; line-height: 1.278 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .about-detail-wrapper .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.8 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .review-slider .review-wrapper .review { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.417 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .reborn-list .reborn-item .reborm-content-wrapper .title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .reborm-content-wrapper .rebord-points .item { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .reborn-item .reborn-btn { font-size: calc(17px * var(--a11y-scale-form)) !important; line-height: 1.294 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .program-list .program-item .program-content-wrapper .day,
html:root body[class*="pojo-a11y-resize-font-"] .program-list .program-item .program-content-wrapper .title { font-size: calc(31px * var(--a11y-scale)) !important; line-height: 1.097 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .program-content-wrapper .program-points .item { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.222 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .story-slider .story-box .story-content .name { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.375 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .story-slider .story-box .story-content .designation { font-size: calc(12px * var(--a11y-scale-form)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .review-wrapper .review { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .testimonials-content .p-info .name,
html:root body[class*="pojo-a11y-resize-font-"] .testimonials-content .p-info .designation { font-size: calc(18px * var(--a11y-scale-form)) !important; line-height: 1.444 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .box-title { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1.25 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .discount-price { font-size: calc(50px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .discount-price span,
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .regular-price,
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .price-text { font-size: calc(31px * var(--a11y-scale)) !important; line-height: 1.226 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .regular-price span { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .list-title { font-size: calc(27px * var(--a11y-scale)) !important; line-height: 1.37 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-list .item { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-list .item strong { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.154 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .location { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .location i { font-size: calc(30px * var(--a11y-scale)) !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .date-list .date-box .time { font-size: calc(18px * var(--a11y-scale-form)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .installment-btn { font-size: calc(27px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .installment-btn i { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .installment-text { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.273 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .faq-accordion .accordion-button { font-size: calc(16px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .faq-accordion .accordion-body { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.556 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .footer-sec .footer-content .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .step-area .step-desc { font-size: calc(18px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .step-form .form-control { font-size: calc(17px * var(--a11y-scale-form)) !important; line-height: 1.294 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .step-item .step-check-box label > span { font-size: calc(19px * var(--a11y-scale-form)) !important; line-height: 1.158 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .suitable-sec .suitable-content .suitable-list .item { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .contact-sticky-btn span { font-size: calc(26px * var(--a11y-scale-sticky)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .register-sec .banner-content .title { font-size: calc(38px * var(--a11y-scale)) !important; line-height: 1.263 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .register-sec .banner-content .title-eng { font-size: calc(70px * var(--a11y-scale)) !important; line-height: 1.143 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .register-sec .banner-content .subtitle { font-size: calc(38px * var(--a11y-scale)) !important; line-height: 1.263 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .register-reborn-content-wrapper .reborn-box-title { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.3 !important; }

@media (max-width: 1024px) {
html:root body[class*="pojo-a11y-resize-font-"] .global-btn { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.167 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .title { font-size: calc(55px * var(--a11y-scale)) !important; line-height: 1.091 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .title-eng { font-size: calc(90px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .subtitle { font-size: calc(50px * var(--a11y-scale)) !important; line-height: 1.2 !important; }
}

@media (max-width: 767px) {
html:root body[class*="pojo-a11y-resize-font-"] .global-btn { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.455 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .title { font-size: calc(36px * var(--a11y-scale)) !important; line-height: 1.278 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .title-eng { font-size: calc(50px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content .subtitle { font-size: calc(36px * var(--a11y-scale)) !important; line-height: 1.278 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-content > p.desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.5 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .date-list .date-box .date { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .banner-time-area .banner-btn { font-size: calc(24px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .second-content > div.desc p,
html:root body[class*="pojo-a11y-resize-font-"] .second-content > div.desc strong { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.455 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .title-area h2.title.font-40 { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .title-area h2.title { font-size: calc(32px * var(--a11y-scale)) !important; line-height: 1.312 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .about-detail-wrapper .title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .about-detail-wrapper .desc { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.6 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .review-slider .review-wrapper .review { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.455 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .reborn-list .reborn-item .reborm-content-wrapper .title { font-size: calc(28px * var(--a11y-scale)) !important; line-height: 1.214 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .program-list .program-item .program-content-wrapper .day,
html:root body[class*="pojo-a11y-resize-font-"] .program-list .program-item .program-content-wrapper .title { font-size: calc(27px * var(--a11y-scale)) !important; line-height: 1.111 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .review-wrapper .review { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.455 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .box-title { font-size: calc(30px * var(--a11y-scale)) !important; line-height: 1.333 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .discount-price { font-size: calc(40px * var(--a11y-scale)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .discount-price span,
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .regular-price,
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .invest-title-area .price-text { font-size: calc(28px * var(--a11y-scale)) !important; line-height: 1.214 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-box .list-title { font-size: calc(26px * var(--a11y-scale)) !important; line-height: 1.385 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-list .item { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.4 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .invest-list .item strong { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.4 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .installment-btn { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.091 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .installment-text { font-size: calc(20px * var(--a11y-scale)) !important; line-height: 1.3 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .contact-sticky-btn span { font-size: calc(20px * var(--a11y-scale-sticky)) !important; line-height: 1 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .register-sec .banner-content .title-eng { font-size: calc(38px * var(--a11y-scale)) !important; line-height: 1.211 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .sticky-whatsapp-btn-mobile i { font-size: calc(45px * var(--a11y-scale-sticky)) !important; }
html:root body[class*="pojo-a11y-resize-font-"] .sticky-whatsapp-btn-mobile span { font-size: calc(18px * var(--a11y-scale-sticky)) !important; line-height: 1.222 !important; }
html:root body[class*="pojo-a11y-resize-font-"] .register-sec .banner-content .title,
html:root body[class*="pojo-a11y-resize-font-"] .register-sec .banner-content .subtitle { font-size: calc(22px * var(--a11y-scale)) !important; line-height: 1.364 !important; }
}

/* ==========================================================================
   Section 6: contrast modes (High / Negative / Light) and Grayscale.
   The plugin's Negative/Light rules use *:not(#pojo-a11y-toolbar), which has
   ID weight, so these selectors carry two :not(#…) to out-specify them.
   ========================================================================== */

/* High contrast: the page background is black edge to edge */
html:has(> body.pojo-a11y-high-contrast),
html body.pojo-a11y-high-contrast { background-color: #000 !important; }

/* every image keeps a transparent background (no grey/black/white box behind PNG/SVG) */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) img {
	background: transparent !important;
}

/* background-image sections: the photos come back (URLs are printed inline by functions.php) */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) .bg-img {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}
/* ...and the layout containers inside them stay see-through */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) :is(.banner-sec, .program-sec) :is(.container, .container > div, .banner-content, .banner-time-area, .date-list, .title-area, .program-list) {
	background-color: transparent !important;
}
/* banner-shadow.png overlay: fully transparent in contrast modes (no grey haze) */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) .banner-sec::before {
	opacity: 0 !important;
	background: transparent !important;
}
/* text sitting directly on a photo gets its own background, fitted to the text */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) .banner-content > :is(.title, .title-eng, .subtitle, .desc),
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) .program-sec .title-area .title {
	width: fit-content !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: .2em !important;
	padding-right: .2em !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) .banner-content > :is(.title, .title-eng, .subtitle, .desc),
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) .program-sec .title-area .title { background-color: #000 !important; }
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) .banner-content > :is(.title, .title-eng, .subtitle, .desc),
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) .program-sec .title-area .title { background-color: #fff !important; }

/* video thumbnails: the full-size play overlay must not paint over the player */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) .video__play-button {
	background: transparent !important;
	border: 0 !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast, .pojo-a11y-light-background):not(#a11y-a):not(#a11y-b) :is(.reborn-video-wrapper, .program-video-wrapper, .story-video-wrapper, .media-video-wrapper, .mobile-banner-video) {
	background: transparent !important;
}
/* play icon: bordered ring so it stands out on any thumbnail */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) .video__play-button .video__play-button-icon {
	border: 3px solid #fff !important;
	border-radius: 50% !important;
}
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) .video__play-button .video__play-button-icon {
	border: 3px solid #000 !important;
	border-radius: 50% !important;
}

/* floating contact (envelope) + WhatsApp buttons: bordered, icon always visible */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) :is(.contact-sticky-btn, .sticky-whatsapp-btn-mobile) {
	border: 2px solid #fff !important;
	border-right: 0 !important;
}
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) :is(.contact-sticky-btn, .sticky-whatsapp-btn-mobile) {
	border: 2px solid #000 !important;
	border-right: 0 !important;
}
/* "לפרטים" buttons beside the videos (.reborn-btn): the plugin paints them the same colour as
   the page, so give them an edge. Drawn as an inset outline (follows the rounded corners and
   adds no size, so the rotated button's layout does not shift). Skipped while focused so
   the plugin's keyboard-focus outline still shows. */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) .reborn-btn:not(:focus) {
	outline: 2px solid #fff !important;
	outline-offset: -2px !important;
}
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) .reborn-btn:not(:focus) {
	outline: 2px solid #000 !important;
	outline-offset: -2px !important;
}

/* the envelope SVG is white-on-transparent: draw it black on the light background */
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) .contact-sticky-btn > img { filter: invert(1) !important; }

/* quiz checkboxes: the check mark is drawn inside the box in every mode */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) input[type="checkbox"] {
	border: 2px solid #fff !important;
}
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) input[type="checkbox"]:checked {
	background: #000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") center / 100% 100% no-repeat !important;
}
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) input[type="checkbox"] {
	border: 2px solid #000 !important;
}
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) input[type="checkbox"]:checked {
	background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") center / 100% 100% no-repeat !important;
}
/* the selected quiz answer loses its tint in contrast modes: outline it instead */
html body:is(.pojo-a11y-high-contrast, .pojo-a11y-negative-contrast):not(#a11y-a):not(#a11y-b) .step-check-box.checked { outline: 3px solid #fff !important; outline-offset: -3px; }
html body.pojo-a11y-light-background:not(#a11y-a):not(#a11y-b) .step-check-box.checked { outline: 3px solid #000 !important; outline-offset: -3px; }

/* Grayscale: a filter on <body> makes it the containing block for every
   position:fixed child (toolbar, contact/WhatsApp buttons, cookie banner), so
   they scroll away with the page. Section 8 moves the filter to <html> via :has();
   browsers without :has() filter body's children instead. */
html body.pojo-a11y-grayscale { filter: none !important; -webkit-filter: none !important; }
@supports not selector(:has(*)) {
	html body.pojo-a11y-grayscale > * { filter: grayscale(100%) !important; -webkit-filter: grayscale(100%) !important; }
}

/* ==========================================================================
   Section 7: side effect of <html lang="he-IL" dir="rtl"> (added in functions.php).
   slick.css ships [dir="rtl"] .slick-slide { float: right; }, which never matched
   before. The sliders run with rtl:true and were laid out with float:left, so keep
   exactly that layout (the attribute must not change the design).
   ========================================================================== */
html[dir="rtl"] .slick-slide { float: left; }

/* ==========================================================================
   Section 8: additional overrides (added on request).
   Note: the #cc-floater / #pojo-a11y-toolbar sizing, the mobile cookie-banner
   layout and the base .cc-slider colour below are NOT gated — they apply
   whether or not an accessibility option is selected.
   ========================================================================== */
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) input,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) textarea,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) select {
    border: 1px solid #000 !important;
}
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) input::placeholder,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) textarea::placeholder {
    color: #000;
}

/* Remove the problematic body filter only during grayscale mode */
body.pojo-a11y-grayscale {
    -webkit-filter: none !important;
    filter: none !important;
    overflow-x: hidden !important;
}

/* Reapply grayscale to the document root */
html:has(body.pojo-a11y-grayscale) {
    -webkit-filter: grayscale(100%) !important;
    filter: grayscale(100%) !important;
}

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

body #cc-floater {
    bottom: unset !important;
    top: 12.5vw !important;
    left: 0.2vw !important;
    right: unset !important;
    width: 2.5vw !important;
    height: 2.5vw !important;
    line-height: 2.5vw;
    text-align: center !important;
    z-index: 999 !important;
}
body #cc-floater svg{
    width: 1.5vw !important;
    height: 1.5vw !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
body #pojo-a11y-toolbar{
    z-index: 9999 !important;
    top: 9vw !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
    font-size: 1.5vw !important;
    padding: 0.6vw !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle svg{
    width: 1.5vw !important;
}

@media(max-width: 767px){
    body #cc-floater{
        bottom: unset !important;
        top: 60vw !important;
        left: 2px !important;
        width: 7.5vw !important;
        height: 7.5vw !important;
        line-height: 7.5vw;
        padding: 4.5vw !important;
    }
    body #cc-floater svg {
        width: 5vw !important;
        height: 5vw !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
        font-size: 5.5vw !important;
        padding: 2vw !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle svg {
        width: 5.8vw !important;
    }
    body #pojo-a11y-toolbar {
        top: 48vw !important;
        /* responsive.css pins the toolbar (bottom:10px !important) and its toggle (bottom:0)
           to the bottom on phones; release both so the icon sits at the top, above the
           cookie button (#cc-floater, top:60vw) */
        bottom: auto !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle {
        top: 0;
        bottom: auto;
    }

    .cc-banner {
            padding: 16px !important;
    }
    /* cookie banner centred at the bottom on phones, whatever position class the plugin sets.
       left/right + auto margins (no transform, so the fixed settings popup is unaffected) */
    #cc-banner-root.cc-root {
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 10px !important;
        width: 95% !important;
        max-width: 420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
    }
    #cc-banner-root.cc-root .cc-banner {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .cc-btn{
        padding: 7px 9px !important;
    }
}

/* ==========================================================================
   Section 9: phone fixes (requested) — apply in the normal view too, not only
   when an accessibility option is selected.
   ========================================================================== */
@media (max-width: 767px) {
	/* The fixed "צור קשר" + WhatsApp buttons cover the bottom ~154px of the screen
	   (~166px at 200% text). With nothing left to scroll past them, the last lines of
	   the page ("ההרשמה סגורה כרגע.", footer links) stayed hidden behind them. Extra room
	   below the page lets that text scroll clear; it grows with the buttons. */
	body {
		padding-bottom: calc(150px + 20px * var(--a11y-scale-sticky));
	}

	/* accessibility menu: regular weight. Items are links, which the theme sets in the
	   Assistant-Bold font file, so the family has to change too, not just the weight. */
	#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title,
	#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a,
	#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a .pojo-a11y-toolbar-text {
		font-weight: var(--font-weight-regular) !important;
	}
	/* (family skipped while the plugin's "Readable Font" option is on, so that option still works) */
	body:not(.pojo-a11y-readable-font) #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title,
	body:not(.pojo-a11y-readable-font) #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a,
	body:not(.pojo-a11y-readable-font) #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a .pojo-a11y-toolbar-text {
		font-family: var(--font-family-assistant-regular) !important;
	}
}
