/*
 * Redix Academy: the personal area (WooCommerce "my account", built with the widgets in includes/account.php).
 * The page is two Elementor bands: .ra-acc-hero (the greeting and the tabs, on the night of the header) and
 * .ra-acc-main (the courses, or WooCommerce's own content). Everything here is scoped to those classes.
 */

/* ---------------------------------------------------------------- bands */
body .e-con.ra-acc-hero {
	position: relative;
	overflow: hidden;
	padding: 0;
	background:
		radial-gradient(ellipse 55% 90% at 85% 0%, rgba(0, 196, 204, .16), rgba(0, 196, 204, 0) 70%),
		linear-gradient(180deg, #0a1027 0%, var(--ra-navy-950) 100%);
	border-bottom: 1px solid rgba(194, 205, 232, .08);
}
body .e-con.ra-acc-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(125, 240, 244, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(125, 240, 244, .05) 1px, transparent 1px);
	background-size: 44px 44px;
	-webkit-mask-image: radial-gradient(ellipse 70% 100% at 80% 0%, #000 0%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 100% at 80% 0%, #000 0%, transparent 75%);
	pointer-events: none;
}
body .e-con.ra-acc-main {
	padding: 0;
	background: var(--ra-navy-950);
}
body .e-con.ra-acc-in {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding: 64px 24px 44px;
}
body .e-con.ra-acc-main > .e-con.ra-acc-in,
body .e-con.ra-acc-main .ra-acc-in { padding-block: 44px 96px; }
body .ra-acc-in > .elementor-widget { width: 100%; margin: 0; }

/* ---------------------------------------------------------------- the greeting and the tabs */
.ra-acc-head { display: flex; flex-direction: column; align-items: flex-start; }
.ra-acc-eyb {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--ra-cyan-300);
}
.ra-acc-h1 {
	margin: 0;
	font-family: var(--ra-font);
	font-size: clamp(34px, 4.6vw, 52px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.02em;
	color: var(--ra-text);
	text-wrap: balance;
}
/* The waving hand after the name: waves twice when the page opens, and again when the greeting is hovered. */
.ra-acc-wave {
	display: inline-block;
	margin-inline-start: .28em;
	font-size: .92em;
	line-height: 1;
	vertical-align: -.08em;
	filter: drop-shadow(0 0 14px rgba(47, 224, 230, .35));
}
.ra-acc-wave svg {
	display: block;
	overflow: visible;
}
.ra-acc-wave-hand {
	transform-box: fill-box;
	transform-origin: 30% 95%;
}
@media (prefers-reduced-motion: no-preference) {
	.ra-acc-wave-hand {
		animation: ra-acc-wave 1.6s cubic-bezier(.36, .07, .19, .97) .5s 1 both;
	}
	.ra-acc-wave-marks {
		animation: ra-acc-wave-marks 1.6s ease-out .5s 1 both;
	}
	.ra-acc-h1:hover .ra-acc-wave-hand {
		animation: ra-acc-wave 1.2s cubic-bezier(.36, .07, .19, .97) 0s 1 both;
	}
}
@keyframes ra-acc-wave {
	0%, 100% { transform: rotate(0deg); }
	12% { transform: rotate(-16deg); }
	26% { transform: rotate(10deg); }
	40% { transform: rotate(-14deg); }
	54% { transform: rotate(8deg); }
	68% { transform: rotate(-6deg); }
	82% { transform: rotate(2deg); }
}
@keyframes ra-acc-wave-marks {
	0%, 100% { opacity: .8; }
	20%, 60% { opacity: .25; }
	40%, 80% { opacity: 1; }
}

.ra-acc-sub {
	margin: 14px 0 0;
	max-width: 52ch;
	font-size: 18px;
	line-height: 1.6;
	color: var(--ra-text-2);
}
/* The tabs, in the header's look (Roei, 29.10.2026): one glass pill holding the links, the page you are on
   lit inside it. "יציאה" stands apart at the end. On a narrow screen the pill scrolls sideways. */
.ra-acc-nav {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin-top: 30px;
}
.ra-acc-nav ul.ra-acc-tabs {
	display: flex;
	flex: 0 1 auto;
	flex-wrap: nowrap;
	gap: 2px;
	min-width: 0; /* a flex item: without this it never shrinks, and the page scrolls sideways instead */
	max-width: 100%;
	margin: 0;
	padding: 4px;
	overflow-x: auto;
	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);
	list-style: none;
	scrollbar-width: none;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.ra-acc-nav ul.ra-acc-tabs::-webkit-scrollbar { display: none; }
.ra-acc-nav ul.ra-acc-tabs > li { flex: 0 0 auto; }
body .ra-acc-head a.ra-acc-pill {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 20px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ra-text-2);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color var(--ra-t-fast) var(--ra-e-out), color var(--ra-t-fast) var(--ra-e-out), box-shadow var(--ra-t-fast) var(--ra-e-out);
}
body .ra-acc-head a.ra-acc-pill:hover {
	background: rgba(194, 205, 232, .07);
	color: var(--ra-cyan-300);
}
body .ra-acc-head a.ra-acc-pill:focus-visible {
	outline: 2px solid var(--ra-cyan-400);
	outline-offset: 2px;
	color: var(--ra-cyan-300);
}
body .ra-acc-head a.ra-acc-pill.is-active {
	background: rgba(47, 224, 230, .12);
	box-shadow: inset 0 0 0 1px rgba(47, 224, 230, .3);
	color: var(--ra-text);
}
body .ra-acc-head a.ra-acc-pill--out {
	flex: 0 0 auto;
	margin-inline-start: auto;
	min-height: 44px;
	padding: 8px 18px;
	border: 1px solid transparent;
	color: var(--ra-text-3);
}
body .ra-acc-head a.ra-acc-pill--out:hover,
body .ra-acc-head a.ra-acc-pill--out:focus-visible {
	border-color: rgba(194, 205, 232, .18);
	background: transparent;
	color: var(--ra-text);
}
@media (max-width: 600px) {
	.ra-acc-nav { flex-wrap: wrap; }
	body .ra-acc-head a.ra-acc-pill { padding-inline: 16px; font-size: 15px; }
}

/* ---------------------------------------------------------------- my courses */
.ra-acc-sechead {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	margin-bottom: 22px;
}
.ra-acc-sechead h2 {
	margin: 0;
	font-family: var(--ra-font);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--ra-text);
}
.ra-acc-count { margin: 0; font-size: 15px; color: var(--ra-text-3); }
.ra-acc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ra-acc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(125, 240, 244, .16);
	border-radius: 22px;
	background: linear-gradient(160deg, #101a3c 0%, #0b1330 100%);
	box-shadow: 0 26px 60px -30px rgba(0, 0, 0, .7);
}
.ra-acc-thumb { display: block; aspect-ratio: 16 / 9; background: #0d1a3a; overflow: hidden; }
.ra-acc-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ra-acc-body { display: flex; flex-direction: column; gap: 12px; padding: 20px 22px 24px; flex: 1 1 auto; }
.ra-acc-badge {
	align-self: flex-start;
	margin: 0;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(47, 224, 230, .14);
	color: var(--ra-cyan-300);
	font-size: 13px;
	font-weight: 700;
}
.ra-acc-title { margin: 0; font-family: var(--ra-font); font-size: 20px; font-weight: 700; line-height: 1.35; }
body .ra-acc-title a { color: var(--ra-text); text-decoration: none; }
.ra-acc-title a:hover,
.ra-acc-title a:focus-visible { color: var(--ra-cyan-300); }
.ra-acc-progress {
	height: 8px;
	margin-top: 4px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
}
.ra-acc-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #3d7bff, var(--ra-cyan-400));
}
.ra-acc-meta { margin: 0; font-size: 14.5px; color: var(--ra-text-3); font-variant-numeric: tabular-nums; }
/* The lesson the student is up to: what the button opens. */
.ra-acc-next {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 2px 0 0;
	padding: 12px 14px;
	border-inline-start: 2px solid var(--ra-cyan-400);
	border-radius: 4px 12px 12px 4px;
	background: rgba(47, 224, 230, .06);
	color: var(--ra-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}
.ra-acc-next-k { color: var(--ra-cyan-300); font-size: 13px; font-weight: 700; letter-spacing: .02em; }

/* ---------------------------------------------------------------- more courses (the catalog's cards) */
.ra-acc-more { margin-top: 56px; }
.ra-acc-more .ra-acc-sechead { justify-content: space-between; }
body .ra-acc-in a.ra-acc-link { color: var(--ra-cyan-300); font-size: 16px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
body .ra-acc-in a.ra-acc-link:hover { color: var(--ra-text); }
.ra-acc-more-none {
	margin: 0;
	padding: 20px 22px;
	border: 1px dashed rgba(125, 240, 244, .24);
	border-radius: 18px;
	color: var(--ra-text-2);
	font-size: 17px;
	line-height: 1.6;
}
body .ra-acc-in a.ra-acc-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: auto;
	padding: 12px 20px;
	border-radius: 14px;
	background: var(--ra-cyan-400);
	color: #041018;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 10px 28px -14px rgba(47, 224, 230, .7);
	transition: box-shadow .3s ease, transform var(--ra-t-fast) var(--ra-e-out);
}
body .ra-acc-in a.ra-acc-btn:hover,
body .ra-acc-in a.ra-acc-btn:focus-visible { color: #041018; box-shadow: 0 14px 34px -12px rgba(47, 224, 230, .85); }
body .ra-acc-in a.ra-acc-btn:active { transform: translateY(1px); }
body .ra-acc-body a.ra-acc-btn { margin-top: 8px; }

.ra-acc-empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 32px;
	border: 1px dashed rgba(125, 240, 244, .28);
	border-radius: 22px;
	background: rgba(255, 255, 255, .02);
}
.ra-acc-empty p { margin: 0; max-width: 48ch; font-size: 17px; line-height: 1.6; color: var(--ra-text-2); }
.ra-acc-empty .ra-acc-empty-h { font-size: 21px; font-weight: 700; color: var(--ra-text); }
body .ra-acc-empty a.ra-acc-btn { margin-top: 10px; }

.ra-acc-help {
	margin-top: 40px;
	padding: 22px 24px;
	border: 1px solid rgba(194, 205, 232, .1);
	border-radius: 18px;
	background: rgba(255, 255, 255, .02);
}
.ra-acc-help p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--ra-text-2); }
.ra-acc-help .ra-acc-help-h { margin-bottom: 4px; font-weight: 700; color: var(--ra-text); }
body .ra-acc-help a { color: var(--ra-cyan-300); text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- WooCommerce's content (orders, details, login) */
.ra-acc-woo .woocommerce { display: block; }
.ra-acc-woo .woocommerce-MyAccount-navigation { display: none; }
.ra-acc-woo .woocommerce-MyAccount-content { float: none; width: 100%; color: var(--ra-text-2); }
.ra-acc-woo .woocommerce-MyAccount-content > p:first-child { color: var(--ra-text-2); }
.ra-acc-woo h2,
.ra-acc-woo h3,
.ra-acc-woo legend {
	font-family: var(--ra-font);
	font-weight: 800;
	color: var(--ra-text);
}
.ra-acc-woo mark { background: rgba(47, 224, 230, .14); color: var(--ra-cyan-300); padding: 0 4px; border-radius: 4px; }
.ra-acc-woo fieldset { margin: 28px 0 0; padding: 22px; border: 1px solid rgba(194, 205, 232, .12); border-radius: 18px; }
.ra-acc-woo .woocommerce-orders-table .button,
.ra-acc-woo .woocommerce-Button,
.ra-acc-woo .woocommerce-button,
.ra-acc-woo button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 0;
	border-radius: 12px;
	background: var(--ra-cyan-400);
	color: #041018;
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}
.ra-acc-woo .woocommerce-orders-table .button:hover,
.ra-acc-woo .woocommerce-Button:hover,
.ra-acc-woo .woocommerce-button:hover,
.ra-acc-woo button[type="submit"]:hover { background: var(--ra-cyan-300); color: #041018; }
.ra-acc-woo .woocommerce-message,
.ra-acc-woo .woocommerce-info,
.ra-acc-woo .woocommerce-error { border-radius: 14px; }

/* The login, as one card */
.ra-acc-woo .woocommerce-form-login,
.ra-acc-woo .woocommerce-ResetPassword,
.ra-acc-woo form.lost_reset_password {
	max-width: 480px;
	margin: 0;
	padding: 30px 28px;
	border: 1px solid rgba(125, 240, 244, .16);
	border-radius: 22px;
	background: linear-gradient(160deg, #101a3c 0%, #0b1330 100%);
}
.ra-acc-woo .u-columns > .u-column1 > h2,
.ra-acc-woo #customer_login > div > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ra-acc-woo .woocommerce-form-login .woocommerce-form-login__submit { width: 100%; margin-top: 8px; }
.ra-acc-woo .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; color: var(--ra-text-2); }
.ra-acc-woo .password-input { position: relative; display: block; }
.ra-acc-woo .show-password-input {
	min-width: 40px;
	min-height: 40px;
	border-radius: 10px;
}
.ra-acc-woo .lost_password { margin: 18px 0 0; }
.ra-acc-woo .lost_password a { display: inline-block; padding-block: 4px; color: var(--ra-cyan-300); text-underline-offset: 3px; }
/* Big enough targets for a finger: the remember-me box and the password reset link. */
.ra-acc-woo .woocommerce-form-login__rememberme { min-height: 24px; }
.ra-acc-woo .woocommerce-form-login__rememberme input[type="checkbox"] { width: 22px; height: 22px; margin: 0; accent-color: var(--ra-cyan-300); }

/* WooCommerce's "התחברות" heading repeats the page title above it. */
.ra-acc-woo .woocommerce > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------------------------------------------------------------- not logged in: the login and the panel beside it */
.ra-acc-out {
	display: grid;
	grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}
.ra-acc-out .ra-acc-woo .woocommerce-form-login { max-width: none; }
.ra-acc-out-side {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	overflow: hidden;
	padding: 30px 28px;
	border: 1px solid rgba(194, 205, 232, .1);
	border-radius: 22px;
	background:
		radial-gradient(ellipse 80% 70% at 0% 100%, rgba(47, 224, 230, .1), rgba(47, 224, 230, 0) 70%),
		rgba(255, 255, 255, .02);
}
.ra-acc-out-k { margin: 0; color: var(--ra-cyan-300); font-size: 14px; font-weight: 700; letter-spacing: .06em; }
.ra-acc-out-h {
	margin: 0;
	font-family: var(--ra-font);
	font-size: clamp(22px, 2.4vw, 28px);
	font-weight: 800;
	line-height: 1.25;
	color: var(--ra-text);
	text-wrap: balance;
}
.ra-acc-out-p { margin: 0; color: var(--ra-text-2); font-size: 17px; line-height: 1.6; }
.ra-acc-out-list { display: grid; gap: 12px; margin: 4px 0 10px; padding: 0; list-style: none; }
.ra-acc-out-list li { display: flex; align-items: center; gap: 12px; color: var(--ra-text); font-size: 16.5px; line-height: 1.45; }
.ra-acc-out-ico {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: rgba(47, 224, 230, .1);
	color: var(--ra-cyan-300);
}
body .ra-acc-in a.ra-acc-btn.ra-acc-btn--line {
	margin-top: 6px;
	border: 1px solid rgba(47, 224, 230, .55);
	background: transparent;
	color: var(--ra-cyan-300);
	box-shadow: none;
}
body .ra-acc-in a.ra-acc-btn.ra-acc-btn--line:hover,
body .ra-acc-in a.ra-acc-btn.ra-acc-btn--line:focus-visible { background: rgba(47, 224, 230, .1); color: var(--ra-text); box-shadow: none; }
@media (max-width: 860px) {
	.ra-acc-out { grid-template-columns: 1fr; }
	.ra-acc-out-side { padding: 24px 20px; }
	body .ra-acc-in a.ra-acc-btn.ra-acc-btn--line { align-self: stretch; }
}

/* ---------------------------------------------------------------- my questions */
.ra-acc-qlist { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
body .ra-acc-qs a.ra-acc-q-link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 22px;
	border: 1px solid rgba(194, 205, 232, .12);
	border-radius: 18px;
	background: linear-gradient(160deg, #101a3c 0%, #0b1330 100%);
	color: var(--ra-text);
	text-decoration: none;
	transition: border-color var(--ra-t-fast) var(--ra-e-out), transform var(--ra-t-fast) var(--ra-e-out);
}
body .ra-acc-qs a.ra-acc-q-link:hover,
body .ra-acc-qs a.ra-acc-q-link:focus-visible { border-color: rgba(125, 240, 244, .4); }
.ra-acc-q-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; font-size: 14px; }
.ra-acc-q-course { color: var(--ra-cyan-300); font-weight: 700; }
.ra-acc-q-date { color: var(--ra-text-3); }
.ra-acc-q-text { font-size: 17px; font-weight: 600; line-height: 1.55; color: var(--ra-text); }
.ra-acc-q-state {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .05);
	color: var(--ra-text-2);
	font-size: 13.5px;
	font-weight: 700;
}
.ra-acc-q-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #f5b546; }
.ra-acc-q.is-answered .ra-acc-q-state { background: rgba(47, 224, 230, .12); color: var(--ra-cyan-300); }
.ra-acc-q.is-answered .ra-acc-q-state::before { background: var(--ra-cyan-400); }
.ra-acc-q.is-new a.ra-acc-q-link { border-color: rgba(47, 224, 230, .45); }
.ra-acc-q.is-new .ra-acc-q-state { background: var(--ra-cyan-400); color: #041018; }
.ra-acc-q.is-new .ra-acc-q-state::before { background: #041018; }
.ra-acc-q-ask { margin: 22px 0 0; }
body .ra-acc-qs a.ra-acc-q-link:active { transform: scale(.99); }

/* ---------------------------------------------------------------- focus and motion */
.ra-acc-pill:focus-visible,
.ra-acc-btn:focus-visible,
.ra-acc-title a:focus-visible,
.ra-acc-help a:focus-visible,
.ra-acc-q-link:focus-visible,
.ra-acc-out-side a:focus-visible,
.ra-acc-woo a:focus-visible,
.ra-acc-woo button:focus-visible {
	outline: 2px solid var(--ra-cyan-400);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: no-preference) {
	.ra-acc-card { transition: transform .35s var(--ra-e-out), border-color .35s ease; }
	.ra-acc-card:hover { transform: translateY(-3px); border-color: rgba(125, 240, 244, .32); }
}
@media (prefers-reduced-motion: reduce) {
	.ra-acc-pill,
	.ra-acc-btn { transition: none; }
}

/* ---------------------------------------------------------------- small screens */
@media (max-width: 720px) {
	body .e-con.ra-acc-in { padding: 44px 16px 32px; }
	body .e-con.ra-acc-main .ra-acc-in { padding-block: 32px 72px; }
	.ra-acc-nav { margin-top: 24px; }
	.ra-acc-nav .ra-acc-nav-out { margin-inline-start: 0; }
	.ra-acc-sub { font-size: 17px; }
	.ra-acc-woo .woocommerce-form-login { padding: 24px 20px; }
}

/* The cards of "more courses" are as wide as in the catalog (380px), so they read the same:
   one line of facts, and the price beside the button. */
.ra-acc-more .rac-cat .rac-cat-grid { grid-template-columns: repeat(auto-fill, min(100%, 380px)); }

/* ---------------------------------------------------------------- "הגדרות חשבון" (includes/account-settings.php)
   Two cards: the emails from the courses (switches, and the courses under them), and the mailing list. */
.ra-set {
	display: grid;
	gap: 22px;
	max-width: 760px;
}
.ra-set-card {
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(194, 205, 232, .1);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(19, 27, 58, .78), rgba(12, 18, 38, .78));
}
body .ra-set-h {
	margin: 0 0 6px;
	color: var(--ra-text);
	font-family: var(--ra-font);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}
.ra-set-sub {
	margin: 0 0 18px;
	color: var(--ra-text-3);
	font-size: 15.5px;
	line-height: 1.6;
}
.ra-set-row {
	padding: 14px 0;
	border-top: 1px solid rgba(194, 205, 232, .08);
}
.ra-set-switch {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	cursor: pointer;
}
.ra-set-switch input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.ra-set-track {
	position: relative;
	flex: 0 0 auto;
	width: 46px;
	height: 26px;
	border: 1px solid rgba(194, 205, 232, .25);
	border-radius: 999px;
	background: rgba(7, 11, 26, .6);
	transition: background-color 180ms ease, border-color 180ms ease;
}
.ra-set-track::after {
	content: "";
	position: absolute;
	top: 3px;
	inset-inline-start: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--ra-text-3);
	transition: transform 200ms cubic-bezier(.22, 1, .36, 1), background-color 180ms ease;
}
.ra-set-switch input:checked + .ra-set-track {
	border-color: var(--ra-cyan-400);
	background: rgba(47, 224, 230, .25);
}
.ra-set-switch input:checked + .ra-set-track::after {
	background: var(--ra-cyan-300);
	transform: translateX(-20px);
}
.ra-set-switch input:focus-visible + .ra-set-track {
	outline: 2px solid var(--ra-cyan-400);
	outline-offset: 3px;
}
.ra-set-label {
	color: var(--ra-text);
	font-size: 17px;
	font-weight: 700;
}
.ra-set-desc {
	margin: 6px 0 0;
	padding-inline-start: 60px;
	color: var(--ra-text-3);
	font-size: 14.5px;
	line-height: 1.55;
}
/* The on/off word next to each switch, so the state is read, not guessed from the knob. */
.ra-set-state {
	margin-inline-start: auto;
	padding: 3px 11px;
	border: 1px solid rgba(194, 205, 232, .18);
	border-radius: 999px;
	color: var(--ra-text-3);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.ra-set-state::after { content: attr(data-off); }
.ra-set-switch input:checked ~ .ra-set-state {
	border-color: rgba(47, 224, 230, .35);
	background: rgba(47, 224, 230, .1);
	color: var(--ra-cyan-300);
}
.ra-set-switch input:checked ~ .ra-set-state::after { content: attr(data-on); }

/* Which courses: a box under the switch; every course line says what happens with it. */
.ra-set-courses {
	display: grid;
	gap: 6px;
	min-width: 0;
	margin: 0 0 8px;
	margin-inline-start: 60px;
	padding: 16px 18px;
	border: 1px solid rgba(194, 205, 232, .1);
	border-radius: 16px;
	background: rgba(7, 11, 26, .35);
	transition: opacity 180ms ease;
}
.ra-set-courses[disabled] {
	opacity: .5;
}
.ra-set-courses legend {
	float: inline-start;
	width: 100%;
	margin: 0 0 2px;
	padding: 0;
	color: var(--ra-text);
	font-size: 15px;
	font-weight: 700;
}
.ra-set-hint {
	margin: 0 0 8px;
	color: var(--ra-text-3);
	font-size: 14px;
	line-height: 1.6;
}
.ra-set-check {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(19, 27, 58, .55);
	color: var(--ra-text-2);
	font-size: 15.5px;
	cursor: pointer;
}
.ra-set-courses[disabled] .ra-set-check { cursor: default; }
.ra-set-check input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--ra-cyan);
}
.ra-set-check input:focus-visible {
	outline: 2px solid var(--ra-cyan-400);
	outline-offset: 2px;
}
.ra-set-cname { font-weight: 700; color: var(--ra-text); }
.ra-set-cstate {
	margin-inline-start: auto;
	color: var(--ra-text-3);
	font-size: 13.5px;
	font-weight: 600;
}
.ra-set-cstate::after { content: attr(data-off); }
.ra-set-check input:checked ~ .ra-set-cstate { color: var(--ra-cyan-300); }
.ra-set-check input:checked ~ .ra-set-cstate::after { content: attr(data-on); }
/* Switched off above: every course says so, checked or not (more specific than the :checked rules). */
.ra-set-courses[disabled] .ra-set-check input ~ .ra-set-cstate { color: var(--ra-text-3); }
.ra-set-courses[disabled] .ra-set-check input ~ .ra-set-cstate::after { content: attr(data-blocked); }
.ra-set-cnote {
	display: none;
	margin: 0 0 10px;
	margin-inline-start: 60px;
	padding: 10px 14px;
	border-inline-start: 3px solid #ffd27a;
	border-radius: 8px;
	background: rgba(255, 210, 122, .08);
	color: #ffe3a8;
	font-size: 14px;
	line-height: 1.55;
}
.ra-set-courses[disabled] ~ .ra-set-cnote--off { display: block; }
.ra-set-courses:not([disabled]):not(:has(input:checked)) ~ .ra-set-cnote--none { display: block; }
@media (max-width: 560px) {
	.ra-set-courses, .ra-set-cnote { margin-inline-start: 0; }
	.ra-set-desc { padding-inline-start: 0; }
	.ra-set-cstate { flex-basis: 100%; margin-inline-start: 30px; }
}
.ra-set-note {
	margin: 10px 0 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(194, 205, 232, .08);
	color: var(--ra-text-3);
	font-size: 14px;
	line-height: 1.55;
}
.ra-set-status {
	margin: 0 0 14px;
	color: var(--ra-text-2);
	font-size: 16px;
	line-height: 1.6;
}
.ra-set-status.is-on::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-inline-end: 8px;
	border-radius: 50%;
	background: var(--ra-cyan-400);
	box-shadow: 0 0 10px rgba(47, 224, 230, .6);
}
.ra-set-mail {
	color: var(--ra-text);
	font-weight: 700;
	unicode-bidi: isolate;
}
body .ra-set .ra-set-btn {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 26px;
	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: 800;
	cursor: pointer;
	transition: background-color 180ms ease, transform 160ms cubic-bezier(.22, 1, .36, 1);
}
body .ra-set .ra-set-btn:hover { background: var(--ra-cyan-300); color: #041018; }
body .ra-set .ra-set-btn:active { transform: scale(.97); }
body .ra-set .ra-set-btn:focus-visible { outline: 2px solid var(--ra-cyan-300); outline-offset: 3px; }
body .ra-set .ra-set-btn--line {
	border: 1px solid rgba(255, 140, 140, .45);
	background: transparent;
	color: #ffb4b4;
}
body .ra-set .ra-set-btn--line:hover { border-color: #ff8a8a; background: rgba(255, 138, 138, .1); color: #ffd0d0; }
@media (prefers-reduced-motion: reduce) {
	.ra-set-track, .ra-set-track::after, body .ra-set .ra-set-btn { transition: none; }
}

/* Long unbroken text (an email address) wraps instead of widening the card; the cards shrink with the page. */
.ra-set-card { min-width: 0; }
.ra-set-mail { overflow-wrap: anywhere; }

/* ---------------------------------------------------------------- "מרכז ההודעות" */
.ra-ups-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.ra-up article {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px 22px;
	border: 1px solid rgba(194, 205, 232, .12);
	border-radius: 18px;
	background: linear-gradient(160deg, #101a3c 0%, #0b1330 100%);
}
.ra-up.is-new article { border-color: rgba(47, 224, 230, .45); box-shadow: 0 18px 40px -30px rgba(47, 224, 230, .55); }
.ra-up-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 14px; }
body .ra-up-top a.ra-up-course { color: var(--ra-cyan-300); font-weight: 700; text-decoration: none; }
body .ra-up-top a.ra-up-course:hover,
body .ra-up-top a.ra-up-course:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.ra-up-date { color: var(--ra-text-3); }
.ra-up-new {
	margin-inline-start: auto;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--ra-cyan-400);
	color: #041018;
	font-size: 12.5px;
	font-weight: 800;
}
.ra-up-title { margin: 0; font-family: var(--ra-font); font-size: 19px; font-weight: 800; line-height: 1.4; color: var(--ra-text); }
.ra-up-body { color: var(--ra-text-2); font-size: 16px; line-height: 1.7; }
.ra-up-body p { margin: 0 0 10px; }
.ra-up-body p:last-child { margin-bottom: 0; }
body .ra-up-body a { color: var(--ra-cyan-300); text-decoration: underline; text-underline-offset: 3px; }
body .ra-acc-empty a.ra-acc-link { margin-top: 6px; }

/* How many updates are new, on the "מרכז ההודעות" tab. */
.ra-acc-tabcount {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	margin-inline-start: 8px;
	border-radius: 999px;
	background: var(--ra-cyan-400);
	color: #041018;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	vertical-align: middle;
}
@media (max-width: 560px) {
	.ra-up article { padding: 18px; }
	.ra-up-title { font-size: 18px; }
}

/* "ביטול סיום הקורס": a quiet text button beside the course's own buttons (the site's kit paints every
   <button> cyan, so it is reset here). */
.ra-acc-in .rac-undo-form { margin: 0; }
.ra-acc-card .rac-undo-form { align-self: center; }
body .ra-acc-in button.rac-undo-btn {
	min-height: 44px;
	padding: 6px 6px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
	color: var(--ra-text-2);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}
body .ra-acc-in button.rac-undo-btn:hover,
body .ra-acc-in button.rac-undo-btn:focus { background: transparent; color: var(--ra-text); }
body .ra-acc-in button.rac-undo-btn:focus-visible { outline: 2px solid var(--ra-cyan-300); outline-offset: 2px; }
@media (max-width: 760px) {
	.ra-go-actions .rac-undo-form { flex: 1 1 100%; text-align: center; }
}

/* ================================================================ the dashboard ("rad-", includes/account-dash.php)
   The layout of Roei's sketch (redix-academy-mockup-*.html) in the site's own font and colours. */
.ra-account-page {
	--rad-s1: #0b1124;          /* a section */
	--rad-s2: #0e1630;          /* a card */
	--rad-s3: #0a1022;          /* a quiet card, an empty state */
	--rad-line: rgba(194, 205, 232, .1);
	--rad-line-2: rgba(194, 205, 232, .15);
	--rad-line-3: rgba(125, 240, 244, .3);
	--rad-track: #1c2745;
	--rad-muted: var(--ra-text-3);
	--rad-warm: #ffc46b;
	--rad-on-acc: #041018;
}
/* The opening band hugs the tabs: they sit on its bottom line. */
body .e-con.ra-acc-hero .e-con.ra-acc-in:has(.rad-head) { padding-block: 34px 0; }
body .e-con.ra-acc-main .ra-acc-in:has(.rad) { padding-block: 28px 80px; }

/* ---------------------------------------------------------------- the opening */
.rad-head { display: flex; flex-direction: column; }
.rad-hello { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.rad-avatar {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border: 2px solid var(--ra-cyan-400);
	border-radius: 50%;
	background: #10203f;
	color: var(--ra-cyan-300);
	font-size: 23px;
	font-weight: 800;
}
.rad-hello-t { min-width: 0; }
body .ra-acc-in .rad-h1 {
	margin: 0;
	font-family: var(--ra-font);
	font-size: clamp(26px, 3.2vw, 32px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--ra-text);
}
.rad-sub { margin: 4px 0 0; font-size: 15.5px; color: var(--ra-text-2); }
.rad-tools { display: flex; align-items: center; gap: 10px; margin-inline-start: auto; }
body .ra-acc-in a.rad-bell {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--rad-line-2);
	border-radius: 50%;
	background: var(--rad-s2);
	color: var(--ra-text-2);
	transition: border-color var(--ra-t-fast) var(--ra-e-out), color var(--ra-t-fast) var(--ra-e-out);
}
body .ra-acc-in a.rad-bell:hover { border-color: var(--rad-line-3); color: var(--ra-text); }
.rad-bell-dot {
	position: absolute;
	top: 10px;
	inset-inline-end: 11px;
	width: 9px;
	height: 9px;
	border: 2px solid var(--rad-s2);
	border-radius: 50%;
	background: var(--rad-warm);
}

.rad-tabs { margin-top: 24px; overflow-x: auto; scrollbar-width: none; }
.rad-tabs::-webkit-scrollbar { display: none; }
.rad-tabs ul { display: flex; align-items: stretch; gap: 2px; min-width: max-content; margin: 0; padding: 0; list-style: none; }
body .ra-acc-in a.rad-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 14px 11px;
	border-bottom: 2px solid transparent;
	color: #a8b6cf;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--ra-t-fast) var(--ra-e-out), border-color var(--ra-t-fast) var(--ra-e-out);
}
body .ra-acc-in a.rad-tab:hover { color: var(--ra-text); }
body .ra-acc-in a.rad-tab.is-active { border-bottom-color: var(--ra-cyan-400); color: var(--ra-cyan-300); font-weight: 700; }
.rad-tab-out { margin-inline-start: auto; }
body .ra-acc-in .rad-tab-out a.rad-tab { color: var(--rad-muted); }
.rad-tabcount {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--ra-cyan-400);
	color: var(--rad-on-acc);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}
.rad-tabcount.is-plain { background: rgba(47, 224, 230, .14); color: var(--ra-cyan-300); }

/* ---------------------------------------------------------------- the two columns */
.rad-as {
	margin: 0 0 18px;
	padding: 10px 14px;
	border: 1px dashed rgba(255, 196, 107, .4);
	border-radius: 12px;
	color: var(--rad-warm);
	font-size: 14px;
}
.rad { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 26px; }
.rad-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.rad-side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.rad h2, .rad h3, .rad p, .rad-qs h2, .rad-qs p { margin: 0; }

/* Buttons and links (the site's kit paints every <button> cyan, so each is set in full). */
body .ra-acc-in .rad-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	margin: 0;
	padding: 11px 22px;
	border: 1px solid var(--ra-cyan-400);
	border-radius: 12px;
	background: var(--ra-cyan-400);
	box-shadow: none;
	color: var(--rad-on-acc);
	font-family: var(--ra-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	transition: box-shadow var(--ra-t-fast) var(--ra-e-out), transform var(--ra-t-fast) var(--ra-e-out), border-color var(--ra-t-fast) var(--ra-e-out);
}
body .ra-acc-in .rad-btn:hover { box-shadow: 0 12px 30px -12px rgba(47, 224, 230, .8); color: var(--rad-on-acc); background: var(--ra-cyan-400); }
body .ra-acc-in .rad-btn:active { transform: translateY(1px); }
body .ra-acc-in .rad-btn--line { border-color: #2b3b61; background: transparent; color: var(--ra-text); }
body .ra-acc-in .rad-btn--line:hover { border-color: var(--rad-line-3); box-shadow: none; background: transparent; color: var(--ra-text); }
body .ra-acc-in .rad-btn--sm { min-height: 40px; padding: 8px 15px; font-size: 14.5px; }
body .ra-acc-in .rad-btn--block { display: flex; width: 100%; margin-top: 13px; }
body .ra-acc-in .rad-btn[disabled] { opacity: .6; cursor: progress; }
body .ra-acc-in a.rad-link { margin-inline-start: auto; color: var(--ra-cyan-300); font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
body .ra-acc-in a.rad-link:hover { color: var(--ra-text); }
.rad-chip {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 8px;
	background: rgba(47, 224, 230, .14);
	color: var(--ra-cyan-300);
	font-size: 13px;
	font-weight: 700;
}
.rad-eyb { font-size: 13.5px; font-weight: 700; letter-spacing: .06em; color: var(--ra-cyan-300); }
.rad-bar { height: 6px; overflow: hidden; border-radius: 999px; background: var(--rad-track); }
.rad-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--ra-cyan-400); }
.rad-bar--thin { display: block; height: 4px; margin-top: 6px; }
.rad-select {
	min-height: 40px;
	padding: 7px 14px;
	border: 1px solid var(--rad-track);
	border-radius: 999px;
	background-color: var(--rad-s2);
	color: var(--ra-text-2);
	font-family: var(--ra-font);
	font-size: 14.5px;
}
.rad-ring-bg { fill: none; stroke: var(--rad-track); stroke-width: 6; }
.rad-ring-fg { fill: none; stroke: var(--ra-cyan-400); stroke-width: 6; stroke-linecap: round; }

/* ---------------------------------------------------------------- "ממשיכים מאיפה שהפסקת" */
.rad-go {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	padding: 20px;
	border: 1px solid rgba(125, 240, 244, .16);
	border-radius: 20px;
	background: linear-gradient(135deg, #14264e 0%, #0c1430 62%);
}
body .ra-acc-in a.rad-go-media {
	position: relative;
	flex: 1 1 300px;
	min-width: 0;
	align-self: flex-start;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 14px;
	background: #0d1a3a;
}
.rad-go-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rad-go-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: rgba(7, 11, 26, .62);
	color: var(--ra-cyan-300);
	transform: translate(-50%, -50%);
	transition: transform .3s var(--ra-e-out), background .3s ease;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.rad-go-media:hover .rad-go-play { transform: translate(-50%, -50%) scale(1.08); background: rgba(7, 11, 26, .78); }
.rad-go-left {
	position: absolute;
	top: 12px;
	inset-inline-start: 12px;
	padding: 5px 10px;
	border-radius: 8px;
	background: rgba(7, 11, 22, .84);
	color: var(--ra-text);
	font-size: 13px;
	font-weight: 600;
}
.rad-go-bar { position: absolute; inset-inline: 12px; bottom: 12px; height: 6px; overflow: hidden; border-radius: 999px; background: rgba(7, 11, 22, .78); }
.rad-go-bar span { display: block; height: 100%; border-radius: inherit; background: var(--ra-cyan-400); }
.rad-go-body { flex: 1 1 330px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
body .ra-acc-in .rad-go-title { font-family: var(--ra-font); font-size: clamp(22px, 2.4vw, 26px); font-weight: 800; line-height: 1.25; color: var(--ra-text); }
body .ra-acc-in .rad-go-title a { color: var(--ra-text); text-decoration: none; }
body .ra-acc-in .rad-go-title a:hover { color: var(--ra-cyan-300); }
.rad-go-lesson { padding: 14px 16px; border: 1px solid #243357; border-radius: 14px; background: rgba(7, 11, 22, .45); }
.rad-go-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14px; color: var(--ra-text-2); font-variant-numeric: tabular-nums; }
.rad .rad-go-lt { margin-top: 9px; font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--ra-text); }
.rad .rad-go-lx { margin-top: 5px; font-size: 14.5px; line-height: 1.55; color: var(--ra-text-2); }
.rad-go-count { display: flex; justify-content: space-between; font-size: 14px; color: var(--ra-text-2); }
.rad-go-count b { color: var(--ra-text); }
.rad-segs { display: flex; gap: 3px; margin-top: 8px; }
.rad-segs i { flex: 1; height: 7px; border-radius: 3px; background: var(--rad-track); }
.rad-segs i.on { background: var(--ra-cyan-400); }
.rad-go-prog .rad-bar { margin-top: 8px; }
.rad-go-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.rad-go--done { align-items: center; }
.rad-go--done .rad-go-body { gap: 10px; }

/* ---------------------------------------------------------------- "ממשיכים גם ב" */
.rad-also { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body .ra-acc-in .rad-also-h { font-size: 14px; font-weight: 700; color: var(--ra-text-2); }
body .ra-acc-in a.rad-also-i {
	flex: 1 1 240px;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 13px;
	border: 1px solid var(--rad-line-2);
	border-radius: 13px;
	background: var(--rad-s2);
	color: var(--ra-text);
	text-decoration: none;
}
body .ra-acc-in a.rad-also-i:hover { border-color: var(--rad-line-3); }
.rad-also-i img, .rad-also-ico { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 10px; object-fit: cover; }
.rad-also-ico { display: grid; place-items: center; background: linear-gradient(150deg, #1b3a6b 0%, #0a1020 100%); color: var(--ra-cyan-300); }
.rad-also-t { flex: 1 1 auto; min-width: 0; font-size: 14.5px; font-weight: 600; }
.rad-also-t > span:first-child { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rad-also-p { flex: 0 0 auto; font-size: 13px; font-weight: 700; color: var(--ra-text-2); }

/* ---------------------------------------------------------------- the four numbers */
/* The band across the top: one panel, four cells with fading dividers, a glow behind the ring and the streak. */
.rad-sum {
	position: relative;
	flex: 1 1 100%;
	display: flex;
	overflow: hidden;
	border: 1px solid var(--rad-line-2);
	border-radius: 22px;
	background:
		radial-gradient(60% 160% at 100% 0%, rgba(47, 224, 230, .16), transparent 60%),
		radial-gradient(40% 140% at 0% 100%, rgba(255, 196, 107, .08), transparent 65%),
		linear-gradient(180deg, #101a38, var(--rad-s1));
	box-shadow: 0 24px 48px -30px rgba(0, 0, 0, .9);
}
.rad-sum::before {
	content: "";
	position: absolute;
	top: 0;
	inset-inline: 8%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(125, 240, 244, .6), transparent);
	pointer-events: none;
}
.rad-sum-cell { position: relative; flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 14px; padding: 22px 24px; }
.rad-sum-cell--ring { flex-grow: 1.25; gap: 18px; }
.rad-sum-cell + .rad-sum-cell::before {
	content: "";
	position: absolute;
	inset-block: 20px;
	inset-inline-start: 0;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(194, 205, 232, .18), transparent);
}
.rad-sum-txt { min-width: 0; }
.rad-sum-cell > .rad-ico {
	flex: 0 0 auto;
	box-sizing: content-box;
	padding: 11px;
	border: 1px solid rgba(125, 240, 244, .2);
	border-radius: 14px;
	background: rgba(47, 224, 230, .09);
	color: var(--ra-cyan-300);
}
.rad .rad-sum-v { display: flex; align-items: baseline; gap: 6px; font-size: 30px; font-weight: 800; line-height: 1.05; color: var(--ra-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rad-sum-v small { font-size: 15px; font-weight: 600; color: var(--rad-muted); }
.rad .rad-sum-k { margin-top: 5px; font-size: 14px; color: var(--ra-text-2); }
.rad .rad-sum-x { margin-top: 7px; font-size: 13.5px; font-weight: 700; color: var(--ra-cyan-300); }
.rad-sum-cell--ring .rad-sum-k { margin-top: 0; font-size: 17px; font-weight: 800; color: var(--ra-text); }

/* The ring: a gradient stroke that draws in once, the number in its middle. */
.rad-sum-ring { position: relative; flex: 0 0 auto; width: 84px; height: 84px; }
.rad-sum-ring::before {
	content: "";
	position: absolute;
	inset: 8px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(47, 224, 230, .22), transparent 70%);
	filter: blur(8px);
}
.rad-sum-ring svg { position: relative; display: block; }
.rad-sum-track { fill: none; stroke: var(--rad-track); stroke-width: 8; }
.rad-sum-fill { fill: none; stroke-width: 8; stroke-linecap: round; filter: drop-shadow(0 0 5px rgba(47, 224, 230, .55)); animation: rad-sum-draw 1.1s cubic-bezier(.22, .8, .24, 1) .15s both; }
@keyframes rad-sum-draw { from { stroke-dasharray: 0 214; } }
.rad-sum-pct { position: absolute; inset: 0; display: flex; direction: ltr; align-items: center; justify-content: center; font-size: 25px; font-weight: 800; color: var(--ra-text); font-variant-numeric: tabular-nums; }
.rad-sum-pct small { margin-inline-start: 1px; font-size: 14px; font-weight: 700; color: var(--ra-cyan-300); }

/* One small bar per course, filled to its progress. */
.rad-sum-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.rad-sum-pills i { display: block; width: 46px; height: 7px; overflow: hidden; border-radius: 99px; background: var(--rad-track); }
.rad-sum-pills b { display: block; height: 100%; border-radius: inherit; background: var(--ra-cyan-400); box-shadow: 0 0 8px rgba(47, 224, 230, .5); }
.rad-sum-pills b.has { min-width: 7px; } /* a started course shows a little light even at a few percent */

/* The streak: warm tile, and the last seven days as dots (today last, ringed). */
.rad-sum-cell--streak > .rad-ico { border-color: rgba(255, 196, 107, .28); background: rgba(255, 196, 107, .1); color: var(--rad-warm); }
.rad-sum-cell--streak.is-lit > .rad-ico { box-shadow: 0 0 26px -4px rgba(255, 196, 107, .55); }
.rad-sum-cell--streak .rad-sum-x { color: var(--rad-warm); }
.rad-sum-days { display: flex; gap: 6px; margin-top: 10px; }
.rad-sum-days i { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--rad-track); }
.rad-sum-days i.on { background: var(--rad-warm); box-shadow: 0 0 8px rgba(255, 196, 107, .6); }
.rad-sum-days i.is-today { outline: 1.5px solid rgba(255, 196, 107, .55); outline-offset: 2px; }

/* ---------------------------------------------------------------- sections (courses, questions) */
.rad-sec { padding: 20px; border: 1px solid var(--rad-line); border-radius: 20px; background: var(--rad-s1); }
.rad-sec-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 16px; }
body .ra-acc-in .rad-sec-head h2 { font-family: var(--ra-font); font-size: 20px; font-weight: 800; color: var(--ra-text); }
.rad-qs .rad-count { color: var(--rad-muted); font-size: 15px; }
.rad-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-inline-start: auto; }
body .ra-acc-in .rad-filter,
body .ra-acc-in .rad-more {
	min-height: 38px;
	margin: 0;
	padding: 6px 15px;
	border: 1px solid var(--rad-track);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: #a8b6cf;
	font-family: var(--ra-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}
body .ra-acc-in .rad-filter:hover,
body .ra-acc-in .rad-more:hover { border-color: var(--rad-line-3); color: var(--ra-text); background: transparent; }
body .ra-acc-in .rad-filter.is-on { border-color: var(--ra-cyan-400); background: rgba(47, 224, 230, .12); color: var(--ra-cyan-300); }

/* "הקורסים שלי" with many courses: the title, then one row with the filters at its start and the sort at its end. */
.rad-sec-head--tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title title" "filters sort"; align-items: center; gap: 14px 16px; }
.rad-sec-head--tools h2 { grid-area: title; }
.rad-sec-head--tools .rad-filters { grid-area: filters; margin-inline-start: 0; }
.rad-sec-head--tools .rad-sort { grid-area: sort; justify-self: end; }
body .ra-acc-in .rad-sort select.rad-select {
	width: auto;
	max-width: 100%;
	min-height: 38px;
	margin: 0;
	padding-block: 6px;
	padding-inline: 15px 36px;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid var(--rad-track);
	border-radius: 999px;
	background: var(--rad-s2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237df0f4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat left 14px center;
	box-shadow: none;
	color: var(--ra-text-2);
	font-family: var(--ra-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}
body .ra-acc-in .rad-sort select.rad-select:hover { border-color: var(--rad-line-3); color: var(--ra-text); }
body .ra-acc-in .rad-sort select.rad-select:focus { border-color: var(--ra-cyan-400); box-shadow: none; }
body .ra-acc-in .rad-more { display: flex; margin: 14px auto 0; }
body .ra-acc-in .rad-more[hidden] { display: none; }
.rad-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.rad-card { display: flex; flex-direction: column; padding: 14px; border: 1px solid var(--rad-line-2); border-radius: 14px; background: var(--rad-s2); }
.rad-card[hidden] { display: none; }
.rad-card.is-progress { border-color: rgba(125, 240, 244, .22); }
.rad-card.is-new { background: var(--rad-s3); }
.rad-card-top { display: flex; align-items: center; gap: 11px; }
.rad-card-img { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 10px; object-fit: cover; }
.rad-card-img--ico { display: grid; place-items: center; background: linear-gradient(150deg, #1b3a6b 0%, #0a1020 100%); color: var(--ra-cyan-300); }
.rad-card-tt { min-width: 0; }
body .ra-acc-in .rad-card-t { font-family: var(--ra-font); font-size: 15.5px; font-weight: 700; line-height: 1.3; }
body .ra-acc-in .rad-card-t a { color: var(--ra-text); text-decoration: none; }
body .ra-acc-in .rad-card-t a:hover { color: var(--ra-cyan-300); }
body .ra-acc-in .rad-card.is-new .rad-card-t a { color: var(--ra-text-2); }
.rad .rad-card-m { margin-top: 3px; font-size: 13px; color: var(--rad-muted); }
.rad-card > .rad-bar { margin-top: 14px; }
.rad-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.rad-card-p { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: var(--ra-text-2); font-variant-numeric: tabular-nums; }
.rad-card-p.is-done { color: var(--ra-cyan-300); font-weight: 700; }
body .ra-acc-in a.rad-card-go {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 36px;
	padding: 4px 2px;
	color: var(--ra-cyan-300);
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
}
body .ra-acc-in a.rad-card-go:hover { color: var(--ra-text); }

/* Questions */
.rad-qlist { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rad-q { display: flex; align-items: center; gap: 13px; padding: 14px; border: 1px solid var(--rad-line-2); border-radius: 14px; background: var(--rad-s2); }
.rad-q.is-new { border-color: var(--rad-line-3); }
.rad-q-av { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: #10203f; color: var(--ra-cyan-300); font-size: 15px; font-weight: 700; }
.rad-q-b { flex: 1 1 auto; min-width: 0; }
.rad-qs .rad-q-t { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 15.5px; font-weight: 600; line-height: 1.5; color: var(--ra-text); overflow-wrap: anywhere; }
.rad-q-s {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 196, 107, .14);
	color: var(--rad-warm);
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap;
}
.rad-q-s::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rad-q.is-answered .rad-q-s { background: rgba(47, 224, 230, .14); color: var(--ra-cyan-300); }
.rad-q.is-new .rad-q-s { background: var(--ra-cyan-400); color: var(--rad-on-acc); }
.rad-qs .rad-q-m { margin-top: 4px; font-size: 13px; color: var(--rad-muted); }
.rad-q .rad-btn { flex: 0 0 auto; }
.rad-ask {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
	padding: 10px;
	border: 1px solid var(--rad-line-2);
	border-radius: 14px;
	background: var(--rad-s3);
}
.rad-ask:focus-within { border-color: var(--rad-line-3); }
body .ra-acc-in .rad-ask textarea {
	flex: 1 1 260px;
	min-width: 0;
	min-height: 44px;
	max-height: 220px;
	margin: 0;
	padding: 10px 6px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ra-text);
	font-family: var(--ra-font);
	font-size: 16px;
	line-height: 1.5;
	resize: none;
	outline: none;
}
.rad-ask textarea::placeholder { color: var(--rad-muted); opacity: 1; }
.rad-qs--page .rad-ask { margin-top: 18px; }

/* Empty states: an icon in a circle, a title, one sentence. */
.rad-empty { display: flex; align-items: flex-start; gap: 14px; padding: 18px; border: 1px dashed #243357; border-radius: 16px; background: var(--rad-s3); color: var(--ra-text-2); font-size: 15px; line-height: 1.6; }
.rad-empty p { margin: 0; }
.rad-empty--sm { padding: 14px; font-size: 14px; }
.rad-empty .rad-empty-h { margin-bottom: 2px; font-size: 16px; font-weight: 700; color: var(--ra-text); }
.rad-empty-ico { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: rgba(47, 224, 230, .1); color: var(--ra-cyan-300); }
.rad-empty-hero { display: flex; align-items: center; gap: 18px; padding: 24px; border: 1px solid rgba(125, 240, 244, .16); border-radius: 20px; background: linear-gradient(135deg, #14264e 0%, #0c1430 62%); }
body .ra-acc-in .rad-empty-hero h2 { font-size: 24px; font-weight: 800; color: var(--ra-text); }
.rad .rad-empty-hero p { margin: 6px 0 14px; color: var(--ra-text-2); font-size: 16px; }

/* ---------------------------------------------------------------- the side column */
.rad-box { padding: 18px 20px 20px; border: 1px solid var(--rad-line); border-radius: 20px; background: var(--rad-s1); }
.rad-box-head { position: relative; display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
body .ra-acc-in .rad-box-head h2, body .ra-acc-in .rad-box-h { font-family: var(--ra-font); font-size: 17px; font-weight: 800; color: var(--ra-text); }
body .ra-acc-in .rad-box-h { margin-bottom: 12px; }
.rad-box-p { font-size: 14.5px; line-height: 1.6; color: var(--ra-text-2); }

.rad-goal { border-color: rgba(125, 240, 244, .16); background: linear-gradient(170deg, #11204a 0%, #0b1124 70%); }
.rad-goal-edit { margin-inline-start: auto; }
.rad-goal-edit summary {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	color: var(--ra-text-2);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	list-style: none;
}
.rad-goal-edit summary::-webkit-details-marker { display: none; }
.rad-goal-edit summary:hover { color: var(--ra-text); }
.rad-goal-form {
	position: absolute;
	top: calc(100% + 6px);
	inset-inline-end: 0;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 240px;
	padding: 14px;
	border: 1px solid var(--rad-line-3);
	border-radius: 14px;
	background: var(--rad-s2);
	box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .8);
}
.rad-goal-form label { width: 100%; font-size: 14px; font-weight: 600; color: var(--ra-text); }
.rad-goal-form .rad-select { flex: 1 1 auto; }
.rad-goal-top { display: flex; align-items: center; gap: 16px; }
.rad-goal-ring { flex: 0 0 auto; }
.rad-goal-ring .rad-ring-bg, .rad-goal-ring .rad-ring-fg { stroke-width: 9; }
.rad-ring-n { fill: var(--ra-text); font-family: var(--ra-font); font-size: 22px; font-weight: 800; }
.rad-ring-k { fill: var(--ra-text-2); font-family: var(--ra-font); font-size: 12px; font-weight: 500; }
.rad .rad-goal-msg { font-size: 15.5px; font-weight: 700; line-height: 1.5; color: var(--ra-text); }
.rad .rad-goal-note { margin-top: 6px; font-size: 13px; color: var(--ra-text-2); }
.rad-week { display: flex; justify-content: space-between; gap: 5px; margin: 16px 0 0; padding: 0; list-style: none; }
.rad-week li { flex: 1; text-align: center; }
.rad-day { display: block; height: 30px; border: 1px solid var(--rad-line); border-radius: 8px; background: var(--rad-s3); }
.rad-week .is-on .rad-day { border-color: var(--ra-cyan-400); background: rgba(47, 224, 230, .16); }
.rad-week .is-today .rad-day { border: 1px dashed #3a4c78; background: var(--rad-s2); }
.rad-day-l { display: block; margin-top: 5px; font-size: 12px; color: var(--ra-text-2); }
.rad-week .is-today .rad-day-l { font-weight: 700; color: var(--ra-text); }
.rad-week .is-future .rad-day-l { color: var(--rad-muted); }

.rad-news { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
body .ra-acc-in .rad-help a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid var(--rad-line-2);
	border-radius: 12px;
	background: var(--rad-s2);
	color: var(--ra-text);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}
body .ra-acc-in .rad-help a:hover { border-color: var(--rad-line-3); color: var(--ra-text); }
.rad-help a .rad-ico { color: var(--ra-cyan-300); }
.rad-help { display: flex; flex-direction: column; gap: 8px; margin-top: 13px; }
.rad-next { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--rad-line-2); border-radius: 14px; background: var(--rad-s2); }
.rad-next img { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 10px; object-fit: cover; }
body .ra-acc-in .rad-next h3 { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--ra-text); }
.rad .rad-next p { margin-top: 3px; font-size: 13px; color: var(--rad-muted); }
body .ra-acc-in .rad-news a { display: block; padding: 12px 13px; border: 1px solid var(--rad-line); border-radius: 13px; background: var(--rad-s3); text-decoration: none; }
body .ra-acc-in .rad-news .is-new a { border-color: var(--rad-line-2); background: var(--rad-s2); }
body .ra-acc-in .rad-news a:hover { border-color: var(--rad-line-3); }
.rad-news-t { display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; line-height: 1.45; color: var(--ra-text); }
.rad-news-m { display: block; margin-top: 5px; font-size: 13px; color: var(--rad-muted); }
.rad-dot { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--ra-cyan-400); }

/* Focus: one clear ring everywhere. */
.rad-head a:focus-visible,
.rad a:focus-visible,
.rad button:focus-visible,
.rad select:focus-visible,
.rad summary:focus-visible,
.rad-qs a:focus-visible,
.rad-qs select:focus-visible,
.rad-qs button:focus-visible { outline: 2px solid var(--ra-cyan-400); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	.rad-go-play, body .ra-acc-in .rad-btn, body .ra-acc-in a.rad-tab { transition: none; }
	.rad-sum-fill { animation: none; }
}

/* ---------------------------------------------------------------- smaller screens */
@media (max-width: 1024px) {
	.rad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rad-sum-cell { padding: 20px 18px; gap: 12px; }
	.rad .rad-sum-v { font-size: 26px; }
}
/* The band in rows: the ring across the top, the rest two by two; a lone last cell takes the whole row. */
@media (max-width: 900px) {
	.rad-sum { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rad-sum-cell--ring { grid-column: 1 / -1; }
	.rad-sum-cell:last-child:nth-child(even) { grid-column: 1 / -1; }
	.rad-sum-cell + .rad-sum-cell::before { display: none; }
	.rad-sum-cell:not(:first-child) { border-top: 1px solid var(--rad-line); }
	.rad-sum-cell:nth-child(3):not(:last-child:nth-child(even)) { border-inline-start: 1px solid var(--rad-line); }
}
@media (max-width: 600px) {
	body .e-con.ra-acc-hero .e-con.ra-acc-in:has(.rad-head) { padding-top: 26px; }
	.rad-avatar { width: 48px; height: 48px; font-size: 20px; }
	.rad-tools { margin-inline-start: 0; }
	.rad-hello { gap: 12px; }
	.rad-grid { grid-template-columns: 1fr; }
	.rad-go, .rad-sec, .rad-box { padding: 16px; }
	.rad-go-actions .rad-btn { flex: 1 1 100%; }
	.rad-filters { margin-inline-start: 0; }
	/* On a phone the sort sits beside the title and the filters take the row below. */
	.rad-sec-head--tools { grid-template-areas: "title sort" "filters filters"; gap: 12px 10px; }
	.rad-q { flex-wrap: wrap; }
	.rad-q .rad-btn { flex: 1 1 100%; }
	.rad-ask .rad-btn { flex: 1 1 100%; }
	.rad-sum { border-radius: 18px; }
	.rad-sum-cell { padding: 16px 14px; align-items: flex-start; }
	.rad-sum-cell--ring { align-items: center; padding-inline: 16px; }
	.rad-sum-cell > .rad-ico { display: none; }
	.rad .rad-sum-v { font-size: 23px; }
	.rad-sum-v small { font-size: 13.5px; }
	.rad .rad-sum-k { font-size: 13.5px; }
	.rad .rad-sum-x { font-size: 13px; }
	.rad-sum-ring { width: 72px; height: 72px; }
	.rad-sum-ring svg { width: 72px; height: 72px; }
	.rad-sum-pct { font-size: 21px; }
	/* A cell that takes a whole row lays its lines out in two columns, so the band stays short. */
	.rad-sum-cell:last-child:nth-child(even) .rad-sum-txt { flex: 1 1 auto; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; }
	.rad-sum-cell:last-child:nth-child(even) .rad-sum-v { grid-area: 1 / 1; }
	.rad-sum-cell:last-child:nth-child(even) .rad-sum-k { grid-area: 2 / 1; margin: 0; }
	.rad-sum-cell:last-child:nth-child(even) .rad-sum-x { grid-area: 1 / 2; margin: 0; justify-self: end; }
	.rad-sum-cell:last-child:nth-child(even) .rad-sum-days,
	.rad-sum-cell:last-child:nth-child(even) .rad-sum-pills { grid-area: 2 / 2; margin: 0; justify-self: end; }
}
@media (pointer: coarse) {
	body .ra-acc-in .rad-filter, body .ra-acc-in .rad-more, .rad-select, body .ra-acc-in .rad-sort select.rad-select { min-height: 44px; }
	body .ra-acc-in a.rad-card-go { min-height: 44px; }
}

/* ---------------------------------------------------------------- certificates and achievements (includes/certificates.php) */
.rad--page { display: block; }
.rad--page .rad-main { gap: 24px; }
.rad-certs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.rad-cert { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--rad-line); border-radius: 14px; background: var(--rad-s3); }
.rad-cert.is-on { border-color: rgba(125, 240, 244, .26); background: var(--rad-s2); }
.rad-cert-ico {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 44px;
	height: 54px;
	border: 1px solid #243357;
	border-radius: 9px;
	background: var(--rad-s2);
	color: var(--rad-muted);
}
.rad-cert.is-on .rad-cert-ico { border-color: var(--ra-cyan-400); background: linear-gradient(160deg, #1b3a6b 0%, #0a1020 100%); color: var(--ra-cyan-300); }
.rad-cert-b { flex: 1 1 auto; min-width: 0; }
body .ra-acc-in .rad-cert-t { margin: 0; font-family: var(--ra-font); font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--ra-text); }
.rad-cert:not(.is-on) .rad-cert-t { color: var(--ra-text-2); }
.rad-cert-b .rad-cert-m { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--rad-muted); }
.rad-cert-b .rad-bar { margin-top: 9px; }
.rad-cert-b .rad-cert-a { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 0; }
body .ra-acc-in .rad-cert-a a { display: inline-flex; align-items: center; min-height: 32px; color: var(--ra-cyan-300); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body .ra-acc-in .rad-cert-a a:hover { color: var(--ra-text); }
.rad-sec .rad-cert-name { margin: 14px 0 0; font-size: 14px; color: var(--ra-text-2); }
/* A link inside a sentence needs more than its colour to stand out (WCAG 1.4.1). */
body .ra-acc-in .rad-cert-name a { color: var(--ra-cyan-300); text-decoration: underline; text-underline-offset: 3px; }
.rad-cert-name strong { color: var(--rad-warm); }

.rad-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.rad-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px 6px 6px;
	border: 1px solid var(--rad-line);
	border-radius: 999px;
	background: var(--rad-s3);
	color: var(--rad-muted);
	font-size: 13.5px;
	font-weight: 600;
}
.rad-badge.is-on { border-color: rgba(125, 240, 244, .26); background: rgba(47, 224, 230, .08); color: var(--ra-text); }
.rad-badge-ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--rad-s2); color: var(--rad-muted); }
.rad-badge.is-on .rad-badge-ico { background: rgba(47, 224, 230, .16); color: var(--ra-cyan-300); }
.rad-badges--full { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 12px; margin-top: 0; }
.rad-badges--full .rad-badge { flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px; border-radius: 16px; font-size: 15px; }
.rad-badges--full .rad-badge-ico { width: 42px; height: 42px; margin-bottom: 4px; }
.rad-badge-n { font-weight: 700; }
.rad-badge-d { color: var(--ra-text-2); font-size: 13.5px; font-weight: 500; line-height: 1.5; }
.rad-badge-s { color: var(--rad-muted); font-size: 13px; font-weight: 600; }
.rad-badge.is-on .rad-badge-s { color: var(--ra-cyan-300); }
.rad-badges--full .rad-bar { align-self: stretch; margin-top: 2px; }
@media (max-width: 1024px) {
	.rad-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.rad-certs { grid-template-columns: 1fr; }
	/* The opening on a phone: the avatar and the greeting side by side, the bell in the corner. */
	.rad-hello { position: relative; flex-wrap: nowrap; padding-inline-end: 54px; }
	.rad-hello-t { flex: 1 1 0; }
	.rad-tools { position: absolute; top: 0; inset-inline-end: 0; }
	.rad-sub { font-size: 14.5px; }
}

/* ---------------------------------------------------------------- the bell's list, the search, the files (includes/account-extras.php) */
.rad-bell-wrap { position: relative; }
body .ra-acc-in summary.rad-bell {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--rad-line-2);
	border-radius: 50%;
	background: var(--rad-s2);
	color: var(--ra-text-2);
	list-style: none;
	cursor: pointer;
	transition: border-color var(--ra-t-fast) var(--ra-e-out), color var(--ra-t-fast) var(--ra-e-out);
}
summary.rad-bell::-webkit-details-marker { display: none; }
body .ra-acc-in summary.rad-bell:hover,
.rad-bell-wrap[open] summary.rad-bell { border-color: var(--rad-line-3); color: var(--ra-text); }
summary.rad-bell:focus-visible { outline: 2px solid var(--ra-cyan-400); outline-offset: 3px; }
.rad-pop {
	position: absolute;
	top: calc(100% + 8px);
	inset-inline-end: 0;
	z-index: 20;
	width: min(330px, calc(100vw - 32px));
	padding: 14px;
	border: 1px solid var(--rad-line-3);
	border-radius: 16px;
	background: var(--rad-s2);
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .85);
}
.rad-head .rad-pop-h { margin: 0 0 10px; font-size: 15px; font-weight: 800; color: var(--ra-text); }
.rad-head .rad-pop-e { margin: 0 0 10px; font-size: 14px; line-height: 1.55; color: var(--ra-text-2); }
.rad-pop-list { display: flex; flex-direction: column; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
body .ra-acc-in .rad-pop-list a { display: block; padding: 10px 12px; border: 1px solid var(--rad-line); border-radius: 12px; background: var(--rad-s3); text-decoration: none; }
body .ra-acc-in .rad-pop-list a:hover { border-color: var(--rad-line-3); }
.rad-pop-t { display: block; font-size: 14px; font-weight: 700; color: var(--ra-text); }
.rad-pop-s { display: block; margin-top: 3px; font-size: 13px; color: var(--ra-text-2); }
body .ra-acc-in a.rad-pop-all { color: var(--ra-cyan-300); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.rad-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	width: 290px;
	min-height: 44px;
	margin-inline-start: auto;
	padding: 0 16px;
	border: 1px solid var(--rad-line-2);
	border-radius: 999px;
	background: var(--rad-s2);
	color: var(--rad-muted);
}
.rad-search:focus-within { border-color: var(--ra-cyan-400); box-shadow: 0 0 0 3px rgba(47, 224, 230, .14); }
.rad-search + .rad-tools { margin-inline-start: 0; }
/* [type] beats the Elementor kit's input rule, which drew a second frame inside the pill. */
body .ra-acc-in .rad-search input[type="search"],
body .ra-acc-in .rad-search input[type="search"]:hover,
body .ra-acc-in .rad-search input[type="search"]:focus {
	flex: 1 1 auto;
	min-width: 0;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ra-text);
	font-family: var(--ra-font);
	font-size: 15px;
	outline: none;
}
.rad-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.rad-search input::placeholder { color: var(--rad-muted); opacity: 1; }
.rad-search-res {
	position: absolute;
	top: calc(100% + 8px);
	inset-inline: 0;
	z-index: 20;
	padding: 10px;
	border: 1px solid var(--rad-line-3);
	border-radius: 16px;
	background: var(--rad-s2);
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .85);
}
.rad-search-res[hidden] { display: none; }
.rad-head .rad-search-n { margin: 2px 4px 8px; font-size: 13px; color: var(--ra-text-2); }
.rad-search-res ul { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
body .ra-acc-in .rad-search-res a { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; padding: 9px 10px; border-radius: 10px; text-decoration: none; }
body .ra-acc-in .rad-search-res a:hover,
body .ra-acc-in .rad-search-res a:focus-visible { background: var(--rad-s3); outline: 2px solid var(--ra-cyan-400); outline-offset: -2px; }
.rad-search-k { grid-row: span 2; align-self: start; padding: 2px 8px; border-radius: 6px; background: rgba(47, 224, 230, .14); color: var(--ra-cyan-300); font-size: 12px; font-weight: 700; white-space: nowrap; }
.rad-search-t { font-size: 14.5px; font-weight: 600; color: var(--ra-text); }
.rad-search-s { font-size: 12.5px; color: var(--rad-muted); }

.rad-files { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.rad-file { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid var(--rad-line-2); border-radius: 13px; background: var(--rad-s2); }
.rad-file-ext { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 10px; background: rgba(194, 205, 232, .1); color: var(--ra-text-2); font-size: 11.5px; font-weight: 800; }
.rad-file-ext.is-pdf { background: rgba(255, 196, 107, .14); color: var(--rad-warm); }
.rad-file-ext.is-doc { background: rgba(127, 182, 255, .14); color: #9cc6ff; }
.rad-file-ext.is-xls { background: rgba(110, 231, 160, .14); color: #8eebb5; }
.rad-file-b { flex: 1 1 auto; min-width: 0; }
.rad .rad-file-t { font-size: 15px; font-weight: 600; color: var(--ra-text); overflow-wrap: anywhere; }
.rad .rad-file-m { margin-top: 3px; font-size: 13px; color: var(--rad-muted); }
body .ra-acc-in a.rad-file-dl { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid #2b3b61; border-radius: 11px; color: var(--ra-text); }
body .ra-acc-in a.rad-file-dl:hover { border-color: var(--rad-line-3); color: var(--ra-cyan-300); }
.rad .rad-files-sub { margin: -6px 0 14px; font-size: 14px; color: var(--ra-text-2); }
.rad-files-filter { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; }
body .ra-acc-in a.rad-link--go { margin-inline-start: 4px; }

@media (max-width: 860px) {
	.rad-search { width: 220px; }
}
@media (max-width: 600px) {
	.rad-hello { flex-wrap: wrap; }
	.rad-search { order: 3; flex: 1 1 100%; width: auto; margin-inline-start: 0; }
	.rad-pop { inset-inline-end: -4px; }
}

/* The opening band lets the bell's list and the search results hang over the content below it. */
body .e-con.ra-acc-hero:has(.rad-head) { overflow: visible; z-index: 3; }
body .e-con.ra-acc-hero:has(.rad-head)::before { inset: 0; }

/* ---------------------------------------------------------------- "בקרוב" (includes/account-soon.php) */
.rad-card--soon { gap: 6px; border-style: dashed; border-color: #2b3b61; background: var(--rad-s3); }
.rad-card--next { align-items: center; justify-content: center; min-height: 140px; text-align: center; }
.rad-soon-k {
	align-self: flex-start;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 196, 107, .14);
	color: var(--rad-warm);
	font-size: 12.5px;
	font-weight: 700;
}
.rad .rad-soon-t { font-size: 15px; font-weight: 700; color: var(--ra-text-2); }
.rad .rad-soon-p { font-size: 13.5px; line-height: 1.55; color: var(--rad-muted); }
.rad-soon-f { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: auto; padding-top: 8px; }
.rad .rad-soon-on { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--ra-cyan-300); }
body .ra-acc-in .rad-undo-link {
	min-height: 36px;
	margin: 0;
	padding: 4px 2px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ra-text-2);
	font-family: var(--ra-font);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	cursor: pointer;
}
body .ra-acc-in .rad-undo-link:hover { background: transparent; color: var(--ra-text); }
body .ra-acc-in .rad-card--soon .rad-card-t { color: var(--ra-text); }
/* ---------------------------------------------------------------- the viewing record (lesson-log.php), under everything */
.rad-watch {
	margin-top: 30px;
	padding: 18px 22px;
	border: 1px dashed var(--rad-line-2);
	border-radius: 16px;
	background: var(--rad-s3);
	color: var(--ra-text-2);
	font-size: 14px;
	line-height: 1.6;
}
body .ra-acc-in .rad-watch .rad-watch-h { margin: 0 0 8px; font-family: var(--ra-font); font-size: 16px; line-height: 1.4; font-weight: 800; color: var(--ra-text); }
.rad-watch-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.rad-watch-list p { margin: 0; }
.rad-watch-line strong { color: var(--ra-text); font-weight: 700; }
.rad-watch-refund { padding-inline-start: 12px; border-inline-start: 2px solid currentColor; }
.rad-watch-refund.is-open { color: var(--ra-cyan-300); }
.rad-watch-refund.is-closed { color: var(--rad-warm); }
@media (max-width: 600px) { .rad-watch { padding: 16px; } }
