/*
 * Redix Academy Core
 * The Redix Digital design system (redixdigital.com) applied to the academy:
 * the shared tokens, browser surfaces, Tutor LMS and WooCommerce.
 */

/* ---------- Tokens (same values as redixdigital.com) ---------- */
:root {
	--ra-navy-950: #070b1a;
	--ra-navy-900: #090e21;
	--ra-navy-850: #0c1226;
	--ra-navy-800: #131b3a;
	--ra-navy-700: #1a2447;
	--ra-navy: #202c59;
	--ra-cyan: #00c4cc;
	--ra-cyan-400: #2fe0e6;
	--ra-cyan-300: #7df0f4;
	--ra-cyan-700: #007a80; /* cyan text on white: 5.1:1 */
	--ra-text: #f2f6ff;
	--ra-text-2: #c2cde8;
	--ra-text-3: #8b99bc;  /* 6.9:1 on navy-950 */
	--ra-danger: #ff8a8a;
	--ra-r-sm: 8px;
	--ra-r-md: 16px;
	--ra-r-lg: 24px;
	--ra-r-btn: 14px;
	--ra-t-fast: 180ms;
	--ra-e-out: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------- The Redix font: Assistant, served from this site as on redixdigital.com ----------
   One variable file per alphabet (weights 200 to 800), the same files as redixdigital.com.
   Names that parts of the site still ask for (Open Sans Hebrew in Elementor, Inter in Tutor,
   Roboto in the kit's defaults) draw with the same files, so every text on the site is Assistant. */
@font-face { font-family: "Assistant"; 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: "Assistant"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("../fonts/assistant-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Assistant"; 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; }
@font-face { font-family: "Open Sans Hebrew"; 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: "Open Sans Hebrew"; 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; }
@font-face { font-family: "Inter"; 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: "Inter"; 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; }
@font-face { font-family: "Roboto"; 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: "Roboto"; 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; }
@font-face { font-family: "Roboto Slab"; 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: "Roboto Slab"; 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; }
:root {
	--ra-font: "Assistant", "Arial Hebrew", system-ui, sans-serif;
	--tutor-font-family: var(--ra-font);
}
body,
button,
input,
select,
textarea {
	font-family: var(--ra-font);
}

/* ---------- Browser surfaces ---------- */
html {
	background-color: var(--ra-navy-950);
	scrollbar-color: var(--ra-navy-700) var(--ra-navy-950);
	-webkit-tap-highlight-color: transparent;
}
body {
	background-color: var(--ra-navy-950);
	color: var(--ra-text);
	caret-color: var(--ra-cyan);
}
::selection {
	background: var(--ra-cyan);
	color: var(--ra-navy-950);
}
:focus-visible {
	outline: 2px solid var(--ra-cyan);
	outline-offset: 3px;
}
a {
	text-underline-offset: 0.2em;
}
.skip-link.screen-reader-text:focus {
	background: var(--ra-cyan);
	color: var(--ra-navy-950);
	border-radius: var(--ra-r-sm);
}

/* ---------- Background video pause button (WCAG 2.2.2) ---------- */
.rac-video-toggle {
	position: absolute;
	inset-block-end: 20px;
	inset-inline-start: 20px;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(242, 246, 255, 0.28);
	border-radius: 999px;
	background: rgba(7, 11, 26, 0.6);
	color: var(--ra-text);
	cursor: pointer;
	transition: background var(--ra-t-fast) var(--ra-e-out), border-color var(--ra-t-fast) var(--ra-e-out);
}
.rac-video-toggle svg { fill: currentColor; }
/* Elementor's kit styles every <button>; keep this one round and quiet */
button.rac-video-toggle,
button.rac-video-toggle:focus {
	width: 44px;
	height: 44px;
	min-width: 0;
	padding: 0;
	background: rgba(7, 11, 26, 0.6);
	color: var(--ra-text);
	border: 1px solid rgba(242, 246, 255, 0.28);
	border-radius: 999px;
	box-shadow: none;
	line-height: 0;
}
.rac-video-toggle:hover,
button.rac-video-toggle:hover { background: rgba(7, 11, 26, 0.85); border-color: var(--ra-cyan); color: var(--ra-text); }
.rac-video-toggle:active { transform: scale(0.96); }

/* ---------- Tutor LMS: dark theme in Redix navy ---------- */
[data-tutor-theme="dark"] {
	--tutor-surface-base: var(--ra-navy-950);
	--tutor-surface-l1: var(--ra-navy-850);
	--tutor-surface-l1-hover: var(--ra-navy-800);
	--tutor-surface-l2: var(--ra-navy-800);
	--tutor-surface-l2-hover: var(--ra-navy-700);
	--tutor-surface-l3: var(--ra-navy-700);
	--tutor-surface-sidebar-l1: var(--ra-navy-900);
	--tutor-surface-brand-dark: var(--ra-navy-850);
	--tutor-surface-brand-secondary: var(--ra-navy-850);
	--tutor-surface-brand-tertiary: var(--ra-navy-800);
	--tutor-surface-warning: var(--ra-navy-800);
	--tutor-text-primary: var(--ra-text);
	--tutor-text-secondary: var(--ra-text-2);
	--tutor-text-subdued: var(--ra-text-3);
	--tutor-text-brand: var(--ra-cyan-400);
	--tutor-text-brand-hover: var(--ra-cyan-300);
	--tutor-text-brand-secondary: var(--ra-cyan-300);
}
/* Tutor's older components (course page, login popup, dashboard) use a second,
   light token set. Flip it to Redix navy so they sit on the dark site. */
body {
	--tutor-body-color: var(--ra-text);
	--tutor-color-secondary: var(--ra-text-2);
	--tutor-color-muted: var(--ra-text-3);
	--tutor-color-gray: #2a3766;
	--tutor-color-gray-10: var(--ra-navy-800);
	--tutor-border-color: var(--ra-navy-700);
	--tutor-color-white: var(--ra-navy-850);
}
.tutor-card,
.tutor-accordion-item,
.tutor-course-content-list-item,
.tutor-modal-content,
.tutor-modal-content-white {
	background-color: var(--ra-navy-850);
	border-color: var(--ra-navy-700);
	color: var(--ra-text);
}
.tutor-accordion-item-header {
	background-color: var(--ra-navy-800);
	color: var(--ra-text);
}
.tutor-accordion-item-header.is-active { color: var(--ra-cyan-400); }
.tutor-course-content-list-item:hover { background-color: var(--ra-navy-800); }
.tutor-course-content-list-item-title,
.tutor-course-content-list-item-title a { color: var(--ra-text); }
.tutor-course-details-tab .tutor-nav-link { color: var(--ra-text-2); }
.tutor-course-details-tab .tutor-nav-link.is-active { color: var(--ra-cyan-400); border-color: var(--ra-cyan); }
.tutor-progress-bar { background-color: var(--ra-navy-700); }
.rac-hidden-duration { display: none !important; }
.tutor-accordion-item-header.is-active { background-color: var(--ra-navy-800); }
.tutor-single-course-sidebar .tutor-sidebar-card .tutor-card-body { background-color: var(--ra-navy-850); }

/* ---------- Home hero world (assets/js/ra-world.js) ---------- */
.ra-hero { position: relative; isolation: isolate; }
.ra-world {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}
.ra-world canvas {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}
/* the sky blends into the page below it */
.ra-world::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	height: 32%;
	background: linear-gradient(to bottom, rgba(7, 11, 26, 0), var(--ra-navy-950));
}
.ra-hero.ra-has-gl::before { opacity: 0; }
/* without WebGL: the brand's own birds on the still page */
.ra-hero.ra-no-gl .ra-world {
	background: url("../img/birds.webp") no-repeat 9% 42% / min(34vw, 433px) auto;
}
.ra-world-toggle { inset-inline-start: auto; inset-inline-end: 24px; inset-block-end: 24px; }

/* The lesson numbers light up as the page scrolls past them (assets/js/ra-home.js) */
html.ra-motion .ra-lessons .ra-n {
	color: var(--ra-text-3);
	transition: color 0.6s var(--ra-e-out), text-shadow 0.6s var(--ra-e-out);
}
html.ra-motion .ra-lessons li { transition: color 0.6s var(--ra-e-out); }
html.ra-motion .ra-lessons li.is-lit { color: var(--ra-text); }
html.ra-motion .ra-lessons li.is-lit .ra-n {
	color: var(--ra-cyan-300);
	text-shadow: 0 0 18px rgba(0, 196, 204, 0.55);
}
.ra-price { will-change: transform; transform-style: preserve-3d; }

/* If a student switches Tutor to light mode, brand text stays readable on white. */
[data-tutor-theme="light"] {
	--tutor-text-brand: var(--ra-cyan-700);
	--tutor-text-brand-hover: #00626a;
}

/* Cyan buttons carry navy text: white on cyan is only 2.2:1. */
.tutor-btn.tutor-btn-primary,
.tutor-btn-primary {
	color: var(--ra-navy-950) !important;
	border-radius: var(--ra-r-btn);
	font-weight: 700;
}
.tutor-btn.tutor-btn-primary:hover,
.tutor-btn-primary:hover {
	background-color: var(--ra-cyan-400) !important;
	border-color: var(--ra-cyan-400) !important;
	color: var(--ra-navy-950) !important;
}
.tutor-btn.tutor-btn-primary .tutor-icon,
.tutor-btn-primary svg { color: inherit; fill: currentColor; }

/* Tutor removes the focus outline on its fields; bring it back. */
.tutor-form-control:focus,
.tutor-form-control:focus-visible,
textarea.tutor-form-control:focus,
.tutor-form-select:focus {
	outline: 2px solid var(--ra-cyan) !important;
	outline-offset: 2px;
	border-color: var(--ra-cyan) !important;
}

/* Tutor's fields (the login popup and its other forms) are dark like the rest of the site. Tutor paints them
   white, and the site's light text disappeared on white as it was typed. */
body .tutor-form-control,
body .tutor-form-control:focus,
body .tutor-form-select,
/* Tutor's login form sets its own white with its form's id (tutor-front.css): these outrank it. */
body #tutor-login-form input.tutor-form-control,
body #tutor-login-form input.tutor-form-control:placeholder-shown:not(:focus),
body .tutor-login-wrap input.tutor-form-control,
body .tutor-login-wrap input.tutor-form-control:placeholder-shown:not(:focus) {
	background-color: var(--ra-navy-900);
	border: 1px solid rgba(194, 205, 232, .24);
	border-radius: 12px;
	color: var(--ra-text);
	-webkit-text-fill-color: var(--ra-text);
	caret-color: var(--ra-cyan-300);
}
body .tutor-form-control::placeholder { color: var(--ra-text-3); -webkit-text-fill-color: var(--ra-text-3); opacity: 1; }
body .tutor-form-control:-webkit-autofill,
body .tutor-form-control:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px var(--ra-navy-900) inset;
	-webkit-text-fill-color: var(--ra-text);
}
/* A cyan button has a cyan edge (Tutor gave it a pink one). */
.tutor-btn.tutor-btn-primary,
.tutor-btn-primary { border-color: var(--ra-cyan) !important; }
/* The login popup: the way in is the full-width button; closing is a quiet icon, not a second cyan button. */
.tutor-login-modal .tutor-btn-block { width: 100%; min-height: 52px; justify-content: center; font-size: 17px; }
.tutor-login-modal [data-tutor-modal-close],
.tutor-login-modal .tutor-modal-close-o {
	background: transparent !important;
	border: 1px solid rgba(194, 205, 232, .24) !important;
	color: var(--ra-text-2) !important;
	border-radius: 12px;
	transition: border-color var(--ra-t-fast) var(--ra-e-out), color var(--ra-t-fast) var(--ra-e-out);
}
.tutor-login-modal [data-tutor-modal-close]:hover,
.tutor-login-modal .tutor-modal-close-o:hover { border-color: var(--ra-cyan) !important; color: var(--ra-text) !important; }
.tutor-login-modal [data-tutor-modal-close] svg,
.tutor-login-modal .tutor-modal-close-o .tutor-icon-times { color: inherit; fill: currentColor; }

/* ---------- WooCommerce on the dark site ---------- */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	color: var(--ra-text-2);
	font-weight: 600;
	margin-block-end: 6px;
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce-page form .form-row .input-text,
.woocommerce-page form .form-row select,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
	background: var(--ra-navy-850);
	border: 1px solid var(--ra-navy-700);
	border-radius: 12px;
	color: var(--ra-text);
	padding: 12px 14px;
	min-height: 48px;
	transition: border-color var(--ra-t-fast) var(--ra-e-out);
}
.woocommerce form .form-row .input-text::placeholder { color: var(--ra-text-3); }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--ra-cyan);
	outline: 2px solid var(--ra-cyan);
	outline-offset: 1px;
}
.woocommerce form .form-row .description,
.woocommerce form .form-row .description p {
	color: var(--ra-text-3);
	background: none;
	padding: 6px 0 0;
	font-size: 0.875em;
}
.woocommerce form .form-row .description::before { display: none; }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--ra-danger); }

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	border: 1px solid var(--ra-navy-700);
	border-radius: var(--ra-r-md);
	border-collapse: separate;
	overflow: hidden;
	color: var(--ra-text);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	border-color: var(--ra-navy-700);
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { font-variant-numeric: tabular-nums; }

.woocommerce-checkout #payment,
#add_payment_method #payment {
	background: var(--ra-navy-850);
	border: 1px solid var(--ra-navy-700);
	border-radius: var(--ra-r-md);
	color: var(--ra-text-2);
}
.woocommerce-checkout #payment div.payment_box {
	background: var(--ra-navy-700);
	color: var(--ra-text-2);
	border-radius: 12px;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--ra-navy-700); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--ra-navy-700); }
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper { color: var(--ra-text-3); font-size: 0.9em; }
.woocommerce-privacy-policy-text a { color: var(--ra-cyan-400); }

.rac-optin { margin-block: 12px 4px; }
.rac-optin label { display: flex; gap: 10px; align-items: flex-start; color: var(--ra-text-2); font-weight: 400; line-height: 1.5; }
.rac-optin input[type="checkbox"],
.woocommerce-form__input-checkbox {
	accent-color: var(--ra-cyan);
	inline-size: 18px;
	block-size: 18px;
	margin-block-start: 3px;
	flex: none;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
	background: var(--ra-cyan);
	color: var(--ra-navy-950);
	border: 0;
	border-radius: var(--ra-r-btn);
	font-weight: 700;
	padding: 0.95em 1.7em;
	transition: background var(--ra-t-fast) var(--ra-e-out), transform 90ms var(--ra-e-out);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
	background: var(--ra-cyan-400);
	color: var(--ra-navy-950);
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce #place_order:active { transform: translateY(1px); }
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	background: var(--ra-navy-700);
	color: var(--ra-text-3);
	opacity: 1;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-notices-wrapper > * {
	background: var(--ra-navy-800);
	color: var(--ra-text);
	border: 1px solid var(--ra-navy-700);
	border-radius: 12px;
}
.woocommerce-info::before,
.woocommerce-message::before { color: var(--ra-cyan); }
.woocommerce-error::before { color: var(--ra-danger); }
.woocommerce-info a,
.woocommerce-message a { color: var(--ra-cyan-400); }

.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 14px;
	border-radius: 12px;
	color: var(--ra-text-2);
	text-decoration: none;
	transition: background var(--ra-t-fast) var(--ra-e-out), color var(--ra-t-fast) var(--ra-e-out);
}
.woocommerce-MyAccount-navigation a:hover { background: var(--ra-navy-800); color: var(--ra-text); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ra-navy-700); color: var(--ra-text); }

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--ra-cyan-400); }
.woocommerce span.onsale { background: var(--ra-cyan); color: var(--ra-navy-950); }

@media (prefers-reduced-motion: reduce) {
	.rac-video-toggle,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce #place_order { transition: none; }
}

/* ---------- Wide blocks (the cart and the checkout) ----------
   Hello pulls a "wide" block 80px past the text column on every screen, so on a phone the cart and the
   checkout ran off the edge (the checkout was 530px wide on a 390px screen). The pull now stops 16px
   before the edge of the screen, and is 0 on a phone. */
.page-content > .alignwide {
	margin-inline: clamp(-80px, calc((100vw - 100%) / -2 + 16px), 0px);
}

/* ---------- The academy header (Theme Builder header with the class ra-hdr) ----------
   A bar of glass over the night sky of Redix Digital: it stays at the top while the page scrolls.
   Desktop: the logo at the start, the links in a glass pill in the exact middle of the bar, the login and
   the cyan button at the end (a signed-in student sees "האזור האישי" there instead, see further down).
   Up to 1024px: logo, the button and a menu button; the links (and the login) open below the bar. */
html:has(.ra-hdr) { scroll-padding-top: calc(72px + var(--wp-admin--admin-bar--height, 0px)); }
.elementor-location-header:has(.ra-hdr) {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .elementor-location-header:has(.ra-hdr) { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .elementor-location-header:has(.ra-hdr) { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .elementor-location-header:has(.ra-hdr) { top: 0; }
}

body .elementor-location-header .e-con.ra-hdr {
	padding: 0;
	gap: 0;
	background: rgba(7, 11, 26, .78);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
	border-bottom: 1px solid rgba(194, 205, 232, .1);
}
body .elementor-location-header .e-con.ra-hdr-inner {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 28px;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding: 14px 24px;
}
body .elementor-location-header .ra-hdr-inner > .elementor-widget,
body .elementor-location-header .ra-hdr-inner > .e-con { margin: 0; }

/* Logo */
body .elementor-location-header .ra-hdr-logo { flex: 0 0 auto; width: 170px; }
body .elementor-location-header .ra-hdr-logo a { display: block; border-radius: 8px; }
body .elementor-location-header .ra-hdr-logo img { display: block; width: 100%; height: auto; }

/* The links */
body .elementor-location-header .ra-hdr-nav { flex: 1 1 auto; min-width: 0; }
body .elementor-location-header .ra-hdr-nav .elementor-nav-menu--main .elementor-nav-menu { gap: 4px; }
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 12px;
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ra-text-2);
	text-decoration: none;
	transition: color var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item::after {
	content: "";
	position: absolute;
	inset-inline: 12px;
	bottom: 6px;
	height: 2px;
	border-radius: 2px;
	background: var(--ra-cyan-400);
	opacity: 0;
	transform: scaleX(.4);
	transition: opacity var(--ra-t-fast) var(--ra-e-out), transform var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus-visible { color: var(--ra-cyan-300); }
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ra-text); }
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
	opacity: 1;
	transform: scaleX(1);
}
body .elementor-location-header .ra-hdr-nav .elementor-nav-menu--main .ra-hdr-mobile-only { display: none; }

/* Login and the button */
body .elementor-location-header .e-con.ra-hdr-actions {
	flex: 0 0 auto;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 14px;
	width: auto;
	padding: 0;
}
body .elementor-location-header .ra-hdr-login .elementor-heading-title {
	margin: 0;
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}
body .elementor-location-header .ra-hdr-login .elementor-heading-title a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 4px;
	color: var(--ra-text-2);
	text-decoration: none;
	transition: color var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-header .ra-hdr-login .elementor-heading-title a:hover,
body .elementor-location-header .ra-hdr-login .elementor-heading-title a:focus-visible { color: var(--ra-cyan-300); }

body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 12px 22px;
	border: 0;
	border-radius: var(--ra-r-btn);
	background: var(--ra-cyan-400);
	color: #041018;
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 8px 26px -12px rgba(47, 224, 230, .6);
	transition: box-shadow .3s ease, transform var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button:hover,
body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button:focus-visible {
	background: var(--ra-cyan-400);
	color: #041018;
	box-shadow: 0 12px 32px -10px rgba(47, 224, 230, .75);
}
body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button:active { transform: translateY(1px); }
body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: -75%;
	width: 50%;
	transform: skewX(-20deg);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .32), transparent);
	transition: inset-inline-start .6s ease;
	pointer-events: none;
}
body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button:hover::after { inset-inline-start: 125%; }

body .elementor-location-header .ra-hdr a:focus-visible,
body .elementor-location-header .ra-hdr .elementor-menu-toggle:focus-visible {
	outline: 2px solid var(--ra-cyan-400);
	outline-offset: 3px;
}

/* The small screens: a menu button, and the links open in a dark panel under the bar */
body .elementor-location-header .ra-hdr-nav .elementor-menu-toggle {
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	justify-content: center;
	align-items: center;
	border: 1px solid rgba(194, 205, 232, .18);
	border-radius: 12px;
	background: rgba(19, 27, 58, .6);
	color: var(--ra-text);
	font-size: 22px;
	cursor: pointer;
}
body .elementor-location-header .ra-hdr-nav .elementor-menu-toggle svg { fill: currentColor; width: 22px; height: 22px; }
body .elementor-location-header .ra-hdr-nav .elementor-menu-toggle:hover,
body .elementor-location-header .ra-hdr-nav .elementor-menu-toggle.elementor-active { border-color: rgba(47, 224, 230, .45); color: var(--ra-cyan-300); }
body .elementor-location-header .ra-hdr-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	margin-top: 15px;
	padding-block: 6px 12px;
	/* Solid: the header's own glass blur stops a nested blur from working, so page text would show through. */
	background: #090e21;
	border-bottom: 1px solid rgba(194, 205, 232, .12);
	box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .7);
}
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--dropdown a.elementor-item {
	justify-content: flex-start;
	min-height: 52px;
	padding: 14px 24px;
	border: 0;
	background: transparent;
	color: var(--ra-text);
	font-family: var(--ra-font);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--dropdown a.elementor-item:hover,
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--dropdown a.elementor-item:focus-visible,
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
	background: rgba(19, 27, 58, .9);
	color: var(--ra-cyan-300);
}
body .elementor-location-header .ra-hdr-nav .elementor-nav-menu--dropdown .ra-hdr-mobile-only {
	margin-top: 6px;
	border-top: 1px solid rgba(194, 205, 232, .12);
}
body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--dropdown .ra-hdr-mobile-only a.elementor-item { color: var(--ra-text-2); }

@media (max-width: 1100px) {
	body .elementor-location-header .e-con.ra-hdr-inner { gap: 18px; }
	body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item { padding-inline: 9px; }
}
@media (max-width: 1024px) {
	html:has(.ra-hdr) { scroll-padding-top: calc(68px + var(--wp-admin--admin-bar--height, 0px)); }
	body .elementor-location-header .e-con.ra-hdr-inner { gap: 12px; padding: 12px 20px; }
	body .elementor-location-header .ra-hdr-logo { width: 150px; }
	body .elementor-location-header .ra-hdr-nav { order: 3; flex: 0 0 auto; }
	body .elementor-location-header .e-con.ra-hdr-actions { order: 2; margin-inline-start: auto; }
	body .elementor-location-header .ra-hdr-login { display: none; }
	body .elementor-location-header .ra-hdr-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 13px; }
}
@media (max-width: 420px) {
	body .elementor-location-header .e-con.ra-hdr-inner { padding-inline: 16px; }
	body .elementor-location-header .ra-hdr-logo { width: 128px; }
	body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button { padding: 10px 14px; font-size: 15px; }
}
/* The menu in the middle (Roei, 29.10.2026: "the menu in the centre, not next to the logo"). Three columns
   of equal sides, so the links sit in the exact middle of the bar whatever the logo and buttons measure.
   The links share one glass pill; the page you are on is lit inside it. */
@media (min-width: 1025px) {
	body .elementor-location-header .e-con.ra-hdr-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 24px;
		padding-block: 12px;
	}
	body .elementor-location-header .ra-hdr-logo { justify-self: start; }
	body .elementor-location-header .ra-hdr-nav { justify-self: center; }
	body .elementor-location-header .e-con.ra-hdr-actions { justify-self: end; }
	body .elementor-location-header .ra-hdr-nav .elementor-nav-menu--main .elementor-nav-menu {
		gap: 2px;
		padding: 4px;
		border: 1px solid rgba(194, 205, 232, .12);
		border-radius: 999px;
		background: rgba(19, 27, 58, .55);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
	}
	body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
		min-height: 40px;
		padding: 8px 20px;
		border-radius: 999px;
		transition: color var(--ra-t-fast) var(--ra-e-out), background-color var(--ra-t-fast) var(--ra-e-out), box-shadow var(--ra-t-fast) var(--ra-e-out);
	}
	body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item::after { content: none; }
	body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover {
		background: rgba(194, 205, 232, .07);
	}
	body .elementor-location-header .ra-hdr-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
		background: rgba(47, 224, 230, .12);
		box-shadow: inset 0 0 0 1px rgba(47, 224, 230, .3);
		color: var(--ra-text);
	}
}

/* Who is looking. A visitor sees "התחברות" and the "לכל הקורסים" button; a signed-in student sees one
   "האזור האישי" button instead (and the same pair in the phone menu). Both are in every page, and the body
   class decides, so one cached page serves everyone. */
body.logged-in .elementor-location-header .ra-hdr .ra-hdr-guest,
body:not(.logged-in) .elementor-location-header .ra-hdr .ra-hdr-member { display: none !important; }

/* A person icon before "התחברות" and in the student's button. */
body .elementor-location-header .ra-hdr-login .elementor-heading-title a { gap: 8px; }
body .elementor-location-header .ra-hdr-login .elementor-heading-title a::before,
body .elementor-location-header .ra-hdr-member .elementor-button-content-wrapper::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c1.5-3.6 4.4-5.4 8-5.4s6.5 1.8 8 5.4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c1.5-3.6 4.4-5.4 8-5.4s6.5 1.8 8 5.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .elementor-location-header .ra-hdr-member .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* The last link, "אתר רדיקס דיגיטל" (menu item class ra-hdr-ext): an "opens another site" mark after it.
   The words for screen readers that it opens in a new tab are in the item's title (class ra-sr). */
body .elementor-location-header .ra-hdr-nav .ra-hdr-ext > a.elementor-item { gap: 7px; }
body .elementor-location-header .ra-hdr-nav .ra-hdr-ext > a.elementor-item::before {
	content: "";
	/* Elementor places an item's ::before absolutely (for its pointer effects); here it is a plain flex item,
	   after the words. */
	position: static;
	inset: auto;
	display: block;
	order: 2;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	background-color: currentColor;
	opacity: .75;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--ra-t-fast) var(--ra-e-out), opacity var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-header .ra-hdr-nav .ra-hdr-ext > a.elementor-item:hover::before {
	opacity: 1;
	transform: translate(2px, -2px);
}
.ra-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;
}

@media (prefers-reduced-motion: reduce) {
	body .elementor-location-header .ra-hdr * { transition: none; }
	body .elementor-location-header .ra-hdr-cta.elementor-widget-button .elementor-button::after { display: none; }
}

/* ---------- The academy footer (Theme Builder footer with the class ra-ftr) ----------
   The night of the header, closed by a thin cyan line: the logo and the academy's line, the academy's
   links, the information pages (a WordPress menu, so new pages are added there), and how to reach us.
   Below them, one quiet line. Four columns on a wide screen, two on a tablet, one on a phone. */
body .elementor-location-footer .e-con.ra-ftr {
	position: relative;
	padding: 0;
	gap: 0;
	background:
		radial-gradient(ellipse 60% 120% at 50% 0%, rgba(0, 196, 204, .07), rgba(0, 196, 204, 0) 70%),
		var(--ra-navy-950);
	border-top: 1px solid rgba(194, 205, 232, .1);
}
body .elementor-location-footer .e-con.ra-ftr::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: -1px;
	height: 1px;
	background: linear-gradient(90deg, rgba(47, 224, 230, 0), rgba(47, 224, 230, .55), rgba(47, 224, 230, 0));
	pointer-events: none;
}
body .elementor-location-footer .e-con.ra-ftr-inner {
	--display: grid;
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr);
	gap: 40px;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding: 64px 24px 44px;
}
body .elementor-location-footer .ra-ftr-inner > .e-con,
body .elementor-location-footer .ra-ftr-inner > .elementor-widget { --width: auto; width: auto; margin: 0; }
body .elementor-location-footer .e-con.ra-ftr-col {
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 0;
	min-width: 0;
}
body .elementor-location-footer .ra-ftr-col > .elementor-widget { margin: 0; width: 100%; }

/* Logo and the academy's line */
body .elementor-location-footer .elementor-element.ra-ftr-logo { width: 190px !important; max-width: 100%; }
body .elementor-location-footer .elementor-element.ra-ftr-logo a { display: block; border-radius: 8px; }
body .elementor-location-footer .elementor-element.ra-ftr-logo img { display: block; width: 100%; height: auto; }
body .elementor-location-footer .elementor-element.ra-ftr-tag .elementor-heading-title {
	margin: 0;
	max-width: 30ch;
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: var(--ra-text-2);
}

/* Column titles */
body .elementor-location-footer .elementor-element.ra-ftr-h .elementor-heading-title {
	margin: 0;
	font-family: var(--ra-font);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.4;
	color: var(--ra-cyan-300);
}

/* Link lists (Elementor menus, vertical, without a phone toggle) */
body .elementor-location-footer .elementor-element.ra-ftr-menu .elementor-nav-menu--main .elementor-nav-menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}
body .elementor-location-footer .elementor-element.ra-ftr-menu.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 6px 0;
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--ra-text-2);
	transition: color var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-footer .elementor-element.ra-ftr-menu .elementor-item::before,
body .elementor-location-footer .elementor-element.ra-ftr-menu .elementor-item::after { display: none; }
body .elementor-location-footer .elementor-element.ra-ftr-menu.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
body .elementor-location-footer .elementor-element.ra-ftr-menu.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus-visible,
body .elementor-location-footer .elementor-element.ra-ftr-menu.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ra-cyan-300); }
body .elementor-location-footer .elementor-element.ra-ftr-menu .elementor-menu-toggle,
body .elementor-location-footer .elementor-element.ra-ftr-menu .elementor-nav-menu--dropdown { display: none; }
body .elementor-location-footer .elementor-element.ra-ftr-menu .elementor-nav-menu--main { display: block; }

/* How to reach us */
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-items { display: flex; flex-direction: column; gap: 4px; }
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-item,
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-item > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	color: var(--ra-text-2);
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-text { color: inherit; padding: 0; }
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-icon { width: auto; }
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-icon i,
body .elementor-location-footer .elementor-element.ra-ftr-contact .elementor-icon-list-icon svg { color: var(--ra-cyan-400); fill: var(--ra-cyan-400); width: 18px; height: 18px; font-size: 18px; }
body .elementor-location-footer .elementor-element.ra-ftr-contact a:hover,
body .elementor-location-footer .elementor-element.ra-ftr-contact a:focus-visible { color: var(--ra-cyan-300); }
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-widget-container { text-align: start; }
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-social-icons-wrapper { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; }
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-grid-item { margin: 0; }
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(194, 205, 232, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .03);
	color: var(--ra-text-2);
	font-size: 17px;
	transition: background-color var(--ra-t-fast) var(--ra-e-out), color var(--ra-t-fast) var(--ra-e-out), border-color var(--ra-t-fast) var(--ra-e-out);
}
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-social-icon i,
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-social-icon svg { color: inherit; fill: currentColor; width: 17px; height: 17px; }
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-social-icon:hover,
body .elementor-location-footer .elementor-element.ra-ftr-social .elementor-social-icon:focus-visible {
	background: var(--ra-cyan-400);
	border-color: var(--ra-cyan-400);
	color: #041018;
}

/* The quiet line at the bottom */
body .elementor-location-footer .e-con.ra-ftr-bottom {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding: 20px 24px 30px;
	border-top: 1px solid rgba(194, 205, 232, .08);
}
body .elementor-location-footer .ra-ftr-bottom > .elementor-widget { margin: 0; width: auto; }
body .elementor-location-footer .elementor-element.ra-ftr-copy .elementor-heading-title {
	margin: 0;
	font-family: var(--ra-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--ra-text-3);
}
body .elementor-location-footer .ra-ftr a:focus-visible {
	outline: 2px solid var(--ra-cyan-400);
	outline-offset: 3px;
	border-radius: 6px;
}
@media (max-width: 960px) {
	body .elementor-location-footer .e-con.ra-ftr-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px 24px; padding-top: 52px; }
	body .elementor-location-footer .ra-ftr-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	body .elementor-location-footer .e-con.ra-ftr-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 44px 16px 32px; }
	body .elementor-location-footer .e-con.ra-ftr-bottom { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	body .elementor-location-footer .ra-ftr * { transition: none; }
}

/* ---------- Accessibility details (round 12) ---------- */
/* Links inside a sentence are underlined, not only coloured (WCAG 1.4.1). */
body.page-id-8 .rac-wl a,
body .rac-waitlist a,
body .elementor-field-type-acceptance a { text-decoration: underline; text-underline-offset: 3px; }
/* WooCommerce's product breadcrumb: readable on the dark ground (it was grey on navy). */
body:is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb,
body:is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb a { color: var(--ra-text-2); }
body:is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
body:is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb a:hover,
body:is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb a:focus-visible { color: var(--ra-cyan-300); }
/* Text only screen readers hear (the theme's class, for pages where the theme's CSS isn't loaded). */
.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/*
 * "התנתקת מהחשבון במכשיר הזה" (includes/protect.php): once, on the device whose login ended because the
 * account logged in somewhere else. Bottom centre, above the accessibility button on a phone.
 */
.rac-moved {
	position: fixed;
	z-index: 99960;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	transform: translateX(-50%);
	width: min(560px, calc(100vw - 32px));
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px 14px;
	align-items: center;
	padding: 16px 18px;
	border: 1px solid rgba(47, 224, 230, .3);
	border-radius: 16px;
	background: rgba(12, 18, 38, .97);
	box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .85);
	color: var(--ra-text-2);
	font-size: 16px;
	line-height: 1.55;
	direction: rtl;
	text-align: right;
}
.rac-moved p { margin: 0; grid-column: 1; }
.rac-moved strong { color: var(--ra-text); font-weight: 800; }
/* "a." and the box's class: the theme's link colour would otherwise win (cyan text on the cyan button). */
.rac-moved a.rac-moved-login {
	grid-column: 1;
	justify-self: start;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 18px;
	border-radius: 12px;
	background: var(--ra-cyan-400);
	color: #041018;
	font-weight: 800;
	text-decoration: none;
}
.rac-moved a.rac-moved-login:hover,
.rac-moved a.rac-moved-login:focus-visible { background: var(--ra-cyan-300); color: #041018; }
.rac-moved .rac-moved-close {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: -8px -8px 0 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--ra-text-3);
	cursor: pointer;
}
.rac-moved .rac-moved-close:hover { color: var(--ra-text); background: rgba(194, 205, 232, .08); }
.rac-moved .rac-moved-login:focus-visible,
.rac-moved .rac-moved-close:focus-visible { outline: 2px solid var(--ra-cyan-300); outline-offset: 2px; }
@media (max-width: 600px) {
	.rac-moved { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); font-size: 15px; }
}
