/*
 * Accessibility toolbar: side tab + panel (same surfaces, pills and 48x28 switches as the consent
 * dialog, Figma NdcwLxoPTX756JayKGOtUO page 08), and the site-wide effects each option applies
 * through a class on <html>. Breakpoints: mobile <= 767, desktop >= 768.
 */

/* Readable font (Assistant, variable weight, OFL). Fetched only when html.ta-a11y-font is set. */
@font-face {
	font-family: "TA Readable";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/assistant-hebrew.woff2") format("woff2");
	unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
	font-family: "TA Readable";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/assistant-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.ta-a11y {
	--ta-a11y-ink: #292566;
	--ta-a11y-text: #53516c;
	--ta-a11y-accent: #0062fe;
	--ta-a11y-border: #dedfe6;
	--ta-a11y-surface: #ffffff;
	--ta-a11y-soft: #fafafc;
	--ta-a11y-card: #f3f6ff;
	--ta-a11y-backdrop: rgba(23, 20, 48, 0.46);
	--ta-a11y-shadow: 0 16px 24px rgba(13, 10, 41, 0.18);
	--ta-a11y-font-head: Alef, sans-serif;
	--ta-a11y-font-body: Heebo, sans-serif;
	--ta-a11y-z: 99970;

	font-family: var(--ta-a11y-font-body);
	color: var(--ta-a11y-text);
	direction: rtl;
	text-align: right;
}

.ta-a11y *,
.ta-a11y *::before,
.ta-a11y *::after {
	box-sizing: border-box;
}

.ta-a11y [hidden] {
	display: none !important;
}

.ta-a11y__sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ------------------------------------------------------------------ */
/* Trigger: side tab at the right edge, vertically centred              */
/* ------------------------------------------------------------------ */

.ta-a11y .ta-a11y__trigger {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: var(--ta-a11y-z);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 14px 0 0 14px;
	background: var(--ta-a11y-ink);
	color: #fff;
	box-shadow: 0 6px 16px rgba(13, 10, 41, 0.22);
	cursor: pointer;
	transform: translateY(-50%);
	-webkit-appearance: none;
	appearance: none;
}

.ta-a11y .ta-a11y__trigger svg {
	width: 28px;
	height: 28px;
	display: block;
}

.ta-a11y .ta-a11y__trigger:hover,
.ta-a11y .ta-a11y__trigger:focus {
	background-color: var(--ta-a11y-accent);
	color: #fff;
}

.ta-a11y .ta-a11y__trigger:focus-visible {
	outline: 3px solid var(--ta-a11y-accent);
	outline-offset: 3px;
}

/* ------------------------------------------------------------------ */
/* Panel: drawer from the right edge                                    */
/* ------------------------------------------------------------------ */

.ta-a11y__backdrop {
	position: fixed;
	inset: 0;
	z-index: calc(var(--ta-a11y-z) + 19);
	background: var(--ta-a11y-backdrop);
}

.ta-a11y__panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: calc(var(--ta-a11y-z) + 20);
	display: flex;
	flex-direction: column;
	width: min(380px, 100vw);
	max-height: 100dvh;
	background: var(--ta-a11y-surface);
	box-shadow: var(--ta-a11y-shadow);
	outline: none;
}

.ta-a11y__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex: 0 0 auto;
	padding: 20px 20px 0;
}

.ta-a11y__title {
	flex: 1 1 auto;
	margin: 0;
	font-family: var(--ta-a11y-font-head);
	font-weight: 700;
	font-size: 26px;
	line-height: 33px;
	color: var(--ta-a11y-ink);
}

.ta-a11y .ta-a11y__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 22px;
	background: var(--ta-a11y-soft);
	color: var(--ta-a11y-ink);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ta-a11y .ta-a11y__close:hover,
.ta-a11y .ta-a11y__close:focus {
	background-color: var(--ta-a11y-card);
	color: var(--ta-a11y-ink);
}

.ta-a11y .ta-a11y__close svg {
	width: 20px;
	height: 20px;
	display: block;
}

.ta-a11y__intro {
	flex: 0 0 auto;
	margin: 8px 0 0;
	padding: 0 20px;
	font-size: 14px;
	line-height: 22px;
	color: var(--ta-a11y-text);
}

.ta-a11y__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 4px 20px 16px;
}

.ta-a11y__group-title {
	margin: 20px 0 8px;
	font-family: var(--ta-a11y-font-head);
	font-weight: 700;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 0.02em;
	color: var(--ta-a11y-text);
}

.ta-a11y__group {
	border: 1px solid var(--ta-a11y-border);
	border-radius: 16px;
	background: var(--ta-a11y-surface);
	padding: 0 16px;
}

.ta-a11y__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 60px;
	padding: 8px 0;
	border-bottom: 1px solid var(--ta-a11y-border);
}

.ta-a11y__row:last-child {
	border-bottom: 0;
}

.ta-a11y__row-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1 1 auto;
	min-width: 0;
}

.ta-a11y__label {
	font-family: var(--ta-a11y-font-head);
	font-weight: 700;
	font-size: 16px;
	line-height: 22px;
	color: var(--ta-a11y-ink);
}

.ta-a11y__desc {
	font-size: 13px;
	line-height: 19px;
	color: var(--ta-a11y-text);
}

/* Switch: identical geometry to the consent dialog's switch (48x28 track, 20px thumb). */
.ta-a11y .ta-a11y__switch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 52px;
	width: 52px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ta-a11y .ta-a11y__switch:hover,
.ta-a11y .ta-a11y__switch:focus {
	background: none;
}

.ta-a11y__switch-track {
	position: relative;
	display: block;
	width: 48px;
	height: 28px;
	border-radius: 14px;
	background: var(--ta-a11y-border);
	transition: background-color 0.15s ease;
}

.ta-a11y__switch-thumb {
	position: absolute;
	top: 4px;
	left: 4px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.15s ease;
}

.ta-a11y .ta-a11y__switch[aria-checked="true"] .ta-a11y__switch-track,
.ta-a11y .ta-a11y__switch[aria-pressed="true"] .ta-a11y__switch-track {
	background: var(--ta-a11y-accent);
}

.ta-a11y .ta-a11y__switch[aria-checked="true"] .ta-a11y__switch-thumb,
.ta-a11y .ta-a11y__switch[aria-pressed="true"] .ta-a11y__switch-thumb {
	transform: translateX(20px);
}

.ta-a11y .ta-a11y__switch:focus-visible {
	outline: none;
}

.ta-a11y .ta-a11y__switch:focus-visible .ta-a11y__switch-track {
	box-shadow: 0 0 0 2px var(--ta-a11y-ink);
}

.ta-a11y .ta-a11y__switch[disabled] {
	cursor: not-allowed;
	opacity: 0.5;
}

/* Text size stepper */
.ta-a11y__stepper {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}

.ta-a11y .ta-a11y__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ta-a11y-ink);
	border-radius: 22px;
	background: var(--ta-a11y-surface);
	color: var(--ta-a11y-ink);
	font-family: var(--ta-a11y-font-head);
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ta-a11y .ta-a11y__step:hover,
.ta-a11y .ta-a11y__step:focus {
	background-color: var(--ta-a11y-card);
	color: var(--ta-a11y-ink);
}

.ta-a11y .ta-a11y__step:focus-visible {
	outline: 2px solid var(--ta-a11y-ink);
	outline-offset: 3px;
}

.ta-a11y .ta-a11y__step[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Panel footer */
.ta-a11y__footer {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 0 0 auto;
	padding: 12px 20px calc(16px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--ta-a11y-border);
	background: var(--ta-a11y-surface);
}

.ta-a11y .ta-a11y__reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--ta-a11y-ink);
	border-radius: 25px;
	background: var(--ta-a11y-surface);
	color: var(--ta-a11y-ink);
	font-family: var(--ta-a11y-font-head);
	font-weight: 700;
	font-size: 16px;
	line-height: 20px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ta-a11y .ta-a11y__reset:hover,
.ta-a11y .ta-a11y__reset:focus {
	background-color: var(--ta-a11y-card);
	color: var(--ta-a11y-ink);
}

.ta-a11y .ta-a11y__reset:focus-visible,
.ta-a11y .ta-a11y__statement:focus-visible {
	outline: 2px solid var(--ta-a11y-ink);
	outline-offset: 3px;
}

.ta-a11y .ta-a11y__statement {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	font-size: 13px;
	line-height: 20px;
	color: var(--ta-a11y-ink);
	text-decoration: underline;
	text-underline-position: from-font;
}

.ta-a11y .ta-a11y__statement:hover,
.ta-a11y .ta-a11y__statement:focus {
	color: var(--ta-a11y-accent);
}

@media (max-width: 767px) {
	.ta-a11y__trigger {
		width: 44px;
		height: 52px;
	}
}

/* ------------------------------------------------------------------ */
/* Effects applied to <html>                                            */
/* ------------------------------------------------------------------ */

/* Readable font: every text node except icon fonts and SVG. */
html.ta-a11y-font body,
html.ta-a11y-font body *:not(svg):not(svg *):not([class*="eicon"]):not([class*="fa-"]):not(.fas):not(.fab):not(.far) {
	font-family: "TA Readable", Arial, sans-serif !important;
}

/* Line and letter spacing. */
html.ta-a11y-line body *:not(svg):not(svg *):not(.ta-a11y *) {
	line-height: 1.9 !important;
}

html.ta-a11y-letter body *:not(svg):not(svg *):not(.ta-a11y *) {
	letter-spacing: 0.08em !important;
}

/* High contrast: black text on white, blue underlined links, black buttons. Images stay. */
html.ta-a11y-contrast body,
html.ta-a11y-contrast body *:not(img):not(svg):not(svg *):not(video):not(iframe):not(.ta-a11y__switch-track):not(.ta-a11y__switch-thumb):not(.ta-consent__switch-track):not(.ta-consent__switch-thumb) {
	background-color: #fff !important;
	background-image: none !important;
	color: #000 !important;
	border-color: #000 !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

html.ta-a11y-contrast a,
html.ta-a11y-contrast a *:not(svg):not(svg *) {
	color: #0000c8 !important;
	text-decoration: underline !important;
}

html.ta-a11y-contrast button,
html.ta-a11y-contrast [type="button"],
html.ta-a11y-contrast [type="submit"],
html.ta-a11y-contrast .elementor-button,
html.ta-a11y-contrast button *:not(svg):not(svg *),
html.ta-a11y-contrast .elementor-button *:not(svg):not(svg *) {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
}

html.ta-a11y-contrast .ta-a11y__switch-track,
html.ta-a11y-contrast .ta-consent__switch-track {
	background: #fff !important;
	box-shadow: inset 0 0 0 2px #000 !important;
}

html.ta-a11y-contrast .ta-a11y__switch-thumb,
html.ta-a11y-contrast .ta-consent__switch-thumb {
	background: #000 !important;
}

html.ta-a11y-contrast .ta-a11y__switch[aria-checked="true"] .ta-a11y__switch-track,
html.ta-a11y-contrast .ta-a11y__switch[aria-pressed="true"] .ta-a11y__switch-track,
html.ta-a11y-contrast .ta-consent__switch[aria-checked="true"] .ta-consent__switch-track {
	background: #000 !important;
}

html.ta-a11y-contrast .ta-a11y__switch[aria-checked="true"] .ta-a11y__switch-thumb,
html.ta-a11y-contrast .ta-a11y__switch[aria-pressed="true"] .ta-a11y__switch-thumb,
html.ta-a11y-contrast .ta-consent__switch[aria-checked="true"] .ta-consent__switch-thumb {
	background: #fff !important;
}

/* Grayscale: a backdrop-filter overlay, so fixed elements keep their positioning (a filter on
   <html> or <body> would turn them into scrolling elements). */
.ta-a11y__filter {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	pointer-events: none;
	-webkit-backdrop-filter: grayscale(1);
	backdrop-filter: grayscale(1);
}

html.ta-a11y-gray .ta-a11y__filter {
	display: block;
}

/* Link highlighting. */
html.ta-a11y-links body a:not(.ta-a11y a),
html.ta-a11y-links body a:not(.ta-a11y a) *:not(svg):not(svg *) {
	background-color: #fff2a8 !important;
	color: #000 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 3px !important;
}

/* Reading ruler: two dimming sheets with a clear band between them, positioned by a11y.js. */
.ta-a11y__guide {
	display: none;
}

html.ta-a11y-guide .ta-a11y__guide {
	display: block;
}

.ta-a11y__guide-top,
.ta-a11y__guide-bottom {
	position: fixed;
	left: 0;
	right: 0;
	z-index: calc(var(--ta-a11y-z) - 10);
	background: rgba(16, 12, 48, 0.5);
	pointer-events: none;
}

.ta-a11y__guide-top {
	top: 0;
	height: 0;
	border-bottom: 2px solid #0062fe;
}

.ta-a11y__guide-bottom {
	top: 100%;
	bottom: 0;
	border-top: 2px solid #0062fe;
}

/* Animation stop: every CSS animation and transition completes instantly, scrolling is not smooth. */
html.ta-a11y-motion *,
html.ta-a11y-motion *::before,
html.ta-a11y-motion *::after {
	animation-duration: 0.001ms !important;
	animation-iteration-count: 1 !important;
	animation-delay: 0ms !important;
	transition-duration: 0.001ms !important;
	transition-delay: 0ms !important;
	scroll-behavior: auto !important;
}

/* Strong keyboard focus. */
html.ta-a11y-focus *:focus {
	outline: 4px solid #0062fe !important;
	outline-offset: 3px !important;
}

/* Large cursor. */
html.ta-a11y-cursor,
html.ta-a11y-cursor * {
	cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 24 24"><path d="M4 2l14 8-6 2 4 7-3 2-4-7-4 4z" fill="black" stroke="white" stroke-width="1.2"/></svg>') 4 2, auto !important;
}

@media (prefers-reduced-motion: reduce) {
	.ta-a11y__switch-track,
	.ta-a11y__switch-thumb {
		transition: none;
	}
}
