@charset "UTF-8";
/* ==========================================================================
   yoel-ab.com - design layer (2026)
   Loaded LAST, after Bootstrap 3 (LTR + RTL) and heb.css.
   It restyles the look only; Bootstrap's grid and JS stay in charge,
   so pages that were not redesigned keep working and still get the new
   buttons, inputs, alerts, pagination and typography.
   New template parts use the "ya-" prefix to avoid clashing with Bootstrap.
   ========================================================================== */

:root {
	--ya-brand: #1e3a8a;
	--ya-brand-ink: #13234f;
	--ya-accent: #2563eb;
	--ya-accent-hover: #1d4ed8;
	--ya-accent-soft: #eef3ff;
	--ya-accent-line: #d6e2ff;
	--ya-bg: #f5f7fb;
	--ya-surface: #ffffff;
	--ya-text: #0f172a;
	--ya-text-2: #334155;
	--ya-muted: #64748b;
	--ya-border: #e4e8f0;
	--ya-danger: #b91c1c;
	--ya-radius: 14px;
	--ya-radius-sm: 10px;
	--ya-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 20px rgba(15, 23, 42, .06);
	--ya-shadow-hover: 0 2px 4px rgba(15, 23, 42, .06), 0 14px 30px rgba(15, 23, 42, .10);
	--ya-nav-h: 72px;
	--ya-font: 'Heebo', 'Open Sans Hebrew', Arial, sans-serif;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	font-family: var(--ya-font) !important;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ya-text);
	background: var(--ya-bg);
	-webkit-font-smoothing: antialiased;
}
/* No body padding on purpose: pages that were not redesigned yet still push their
   content below the fixed menu with leading <br> tags. Redesigned pages use .ya-main. */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ya-font) !important;
	color: var(--ya-text);
	font-weight: 700;
	line-height: 1.35;
}
h1 { font-size: 32px; font-weight: 800; }
h2 { font-size: 26px; }
h3 { font-size: 21px; }
a { color: var(--ya-accent); transition: color .15s; }
a:hover, a:focus { color: var(--ya-accent-hover); text-decoration: none; }
hr { border-top-color: var(--ya-border); }
img { max-width: 100%; }
::selection { background: var(--ya-accent-line); }

/* ---------- Bootstrap component overrides (apply site-wide) ---------- */
.btn {
	border-radius: 999px;
	font-weight: 600;
	padding: 8px 20px;
	transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.btn-primary { background: var(--ya-accent); border-color: var(--ya-accent); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.open .dropdown-toggle.btn-primary { background: var(--ya-accent-hover); border-color: var(--ya-accent-hover); }
.btn-default { background: #fff; border-color: var(--ya-border); color: var(--ya-text-2); }
.btn-default:hover { background: var(--ya-accent-soft); border-color: var(--ya-accent-line); color: var(--ya-accent); }

.form-control {
	height: auto;
	padding: 10px 14px;
	font-size: 16px;
	border-radius: var(--ya-radius-sm);
	border-color: var(--ya-border);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.form-control:focus { border-color: var(--ya-accent); box-shadow: 0 0 0 3px var(--ya-accent-line); }
label { font-weight: 600; color: var(--ya-text-2); }

.well {
	background: var(--ya-surface);
	border: 1px solid var(--ya-border);
	border-radius: var(--ya-radius);
	box-shadow: var(--ya-shadow);
}
.alert { border-radius: var(--ya-radius); border: 1px solid transparent; }
.alert-info { background: var(--ya-accent-soft); border-color: var(--ya-accent-line); color: var(--ya-brand-ink); }
.alert-warning { background: #fff8eb; border-color: #fde7c2; color: #7c4a03; }

.pagination > li > a, .pagination > li > span {
	margin: 0 3px;
	border-radius: 8px !important;
	border-color: var(--ya-border);
	color: var(--ya-text-2);
}
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover { background: var(--ya-accent); border-color: var(--ya-accent); }

.dropdown-menu { border-radius: var(--ya-radius-sm); border-color: var(--ya-border); box-shadow: var(--ya-shadow-hover); padding: 6px; }
.dropdown-menu > li > a { border-radius: 8px; padding: 8px 14px; }

/* ---------- Top navigation ---------- */
/* Desktop: two rows - the site's name and the search on top, all the links below.
   Phone and tablet: one row, and a button that opens everything as a column.
   The bar's height is --ya-nav-h; the page's top padding and the anchors follow it. */
.ya-nav {
	position: fixed;
	top: 0; right: 0; left: 0;
	z-index: 1030;
	height: var(--ya-nav-h);
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--ya-border);
}
.ya-nav-inner { display: flex; align-items: center; gap: 20px; height: var(--ya-nav-h); }
/* Bootstrap's clearing pseudo-elements would count as items of this row */
.ya-nav-inner::before, .ya-nav-inner::after { display: none; }
.ya-brand { display: flex; flex-direction: column; line-height: 1.2; flex-shrink: 0; }
.ya-brand:hover { text-decoration: none; }
.ya-brand strong { font-size: 22px; font-weight: 800; color: var(--ya-brand); letter-spacing: -.2px; }
.ya-brand small { font-size: 13px; color: var(--ya-muted); font-weight: 500; }

.ya-menu { display: flex; align-items: center; gap: 4px; flex: 1; }
.ya-links { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ya-links a {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 8px 13px;
	border-radius: 999px;
	color: var(--ya-text-2);
	font-weight: 500;
	font-size: 15.5px;
	white-space: nowrap;
}
.ya-links a .fa { color: var(--ya-muted); font-size: 15px; transition: color .15s; }
.ya-links a:hover, .ya-links a.is-active { background: var(--ya-accent-soft); color: var(--ya-accent); text-decoration: none; }
.ya-links a:hover .fa, .ya-links a.is-active .fa { color: var(--ya-accent); }

/* The search box */
.ya-tools { display: flex; align-items: center; gap: 10px; }
.ya-search { display: flex; align-items: center; background: var(--ya-bg); border: 1px solid var(--ya-border); border-radius: 999px; padding: 3px; transition: border-color .15s, box-shadow .15s; }
.ya-search:focus-within { border-color: var(--ya-accent); box-shadow: 0 0 0 3px var(--ya-accent-line); background: #fff; }
.ya-search input { border: 0; background: transparent; outline: none; padding: 6px 12px; width: 280px; font-size: 15px; color: var(--ya-text); }
.ya-search select { border: 0; background: transparent; font-size: 14px; color: var(--ya-muted); outline: none; cursor: pointer; padding: 0 4px; }
.ya-search button { border: 0; background: var(--ya-accent); color: #fff; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ya-search button:hover { background: var(--ya-accent-hover); }

.ya-burger { display: none; margin-right: auto; border: 1px solid var(--ya-border); background: #fff; border-radius: 10px; width: 42px; height: 42px; color: var(--ya-text-2); font-size: 18px; }

@media (min-width: 992px) {
	:root { --ya-nav-h: 118px; }
	.ya-nav-inner { display: grid; grid-template-columns: auto 1fr; grid-template-rows: 70px 48px; grid-template-areas: "brand tools" "links links"; column-gap: 20px; row-gap: 0; }
	/* The menu's two parts take their own places in the grid: the box around them steps aside */
	.ya-menu.collapse { display: contents !important; }
	.ya-brand { grid-area: brand; }
	.ya-tools { grid-area: tools; justify-self: end; }
	.ya-links { grid-area: links; align-self: stretch; border-top: 1px solid var(--ya-border); }
}
/* Mid-size desktops (the page is 970px wide there): ten links need slightly tighter spacing to stay in one row */
@media (min-width: 992px) and (max-width: 1199px) {
	.ya-links a { gap: 5px; padding: 8px 9px; }
}
@media (max-width: 991px) {
	.ya-burger { display: flex; align-items: center; justify-content: center; }
	.ya-menu {
		position: absolute;
		top: var(--ya-nav-h); right: 0; left: 0;
		flex-direction: column;
		align-items: stretch;
		max-height: calc(100vh - var(--ya-nav-h));
		overflow-y: auto;
		background: #fff;
		border-bottom: 1px solid var(--ya-border);
		box-shadow: var(--ya-shadow-hover);
		padding: 12px 16px 18px;
	}
	.ya-menu.collapse:not(.in) { display: none; }
	.ya-links { flex-direction: column; align-items: stretch; }
	.ya-links a { padding: 12px 14px; border-radius: 10px; font-size: 17px; }
	.ya-tools { flex-direction: column; align-items: stretch; gap: 0; }
	.ya-search { margin: 10px 0 0; }
	.ya-search input { flex: 1; width: auto; }
}

/* ---------- Page layout ---------- */
.ya-main { padding-top: calc(var(--ya-nav-h) + 32px); padding-bottom: 24px; }

/* Two-column layout: sidebar on the right, content on the left.
   Content comes first in the HTML, so on phones it is shown before the sidebar. */
.ya-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); grid-template-areas: "side content"; gap: 32px; align-items: start; }
.ya-content { grid-area: content; min-width: 0; }
.ya-side { grid-area: side; min-width: 0; }
@media (min-width: 992px) and (max-width: 1199px) {
	.ya-layout { grid-template-columns: 290px minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 991px) {
	.ya-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "content" "side"; gap: 8px; }
}
.ya-page-head { margin: 8px 0 24px; }
.ya-page-head h1 { margin: 0 0 6px; }
.ya-page-head p { color: var(--ya-muted); margin: 0; }

/* Intro band on the home page */
.ya-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--ya-brand) 0%, #2d52b8 100%);
	color: #fff;
	border-radius: var(--ya-radius);
	padding: 40px 44px;
	margin-bottom: 32px;
	box-shadow: var(--ya-shadow);
}
.ya-hero::after {
	content: "";
	position: absolute;
	left: -80px; bottom: -120px;
	width: 340px; height: 340px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 70%);
	pointer-events: none;
}
.ya-hero-kicker { display: inline-block; font-size: 14px; font-weight: 600; letter-spacing: .3px; color: #c7d6ff; margin-bottom: 10px; }
.ya-hero h1 { color: #fff; font-size: 30px; margin: 0 0 14px; }
.ya-hero p { font-size: 18.5px; line-height: 1.7; color: rgba(255, 255, 255, .9); max-width: 60ch; margin: 0 0 26px; }
.ya-hero .btn { padding: 10px 22px; margin-left: 8px; margin-bottom: 6px; }
.ya-hero .btn-light { background: #fff; color: var(--ya-brand); border-color: #fff; }
.ya-hero .btn-light:hover { background: #e9efff; }
.ya-hero .btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .45); }
.ya-hero .btn-ghost:hover { background: rgba(255, 255, 255, .12); color: #fff; }

.ya-section-title { display: flex; align-items: center; justify-content: space-between; margin: 0 0 16px; }
.ya-section-title h2 { font-size: 22px; margin: 0; }
.ya-section-title a { font-weight: 600; font-size: 15px; }

/* ---------- Article / media post card ---------- */
.ya-post {
	display: flex;
	gap: 22px;
	background: var(--ya-surface);
	border: 1px solid var(--ya-border);
	border-radius: var(--ya-radius);
	padding: 18px;
	margin-bottom: 18px;
	box-shadow: var(--ya-shadow);
	transition: box-shadow .2s, transform .2s;
}
.ya-post:hover { box-shadow: var(--ya-shadow-hover); transform: translateY(-2px); }
.ya-post-media {
	flex: 0 0 190px;
	aspect-ratio: 4 / 3;
	border-radius: var(--ya-radius-sm);
	overflow: hidden;
	background: var(--ya-accent-soft);
	color: var(--ya-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
}
.ya-post-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ya-post-media .fa { font-size: 42px; opacity: .85; }
.ya-post-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ya-post h3 { font-size: 20px; line-height: 1.45; margin: 0 0 8px; }
.ya-post h3 a { color: var(--ya-text); }
.ya-post h3 a:hover { color: var(--ya-accent); }
.ya-post p {
	color: var(--ya-text-2);
	margin: 0 0 12px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ya-post-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14.5px; color: var(--ya-muted); }
.ya-more { font-weight: 600; color: var(--ya-accent); display: inline-flex; align-items: center; gap: 6px; }
.ya-more .fa { transition: transform .15s; }
.ya-post:hover .ya-more .fa { transform: translateX(-3px); }

.ya-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	font-size: 13px;
	font-weight: 600;
	color: var(--ya-accent);
	background: var(--ya-accent-soft);
	padding: 2px 10px;
	border-radius: 999px;
	margin-bottom: 8px;
}
.ya-badge.is-media { color: #7c3aed; background: #f3edff; }
.ya-badge.is-audio { color: #0f766e; background: #e6f6f4; }

@media (max-width: 600px) {
	.ya-post { flex-direction: column; gap: 14px; }
	.ya-post-media { flex-basis: auto; width: 100%; aspect-ratio: 16 / 9; }
	.ya-hero { padding: 28px 24px; }
	.ya-hero h1 { font-size: 25px; }
}

/* ---------- Sidebar cards ---------- */
.ya-card {
	background: var(--ya-surface);
	border: 1px solid var(--ya-border);
	border-radius: var(--ya-radius);
	box-shadow: var(--ya-shadow);
	padding: 22px 24px;
	margin-bottom: 24px;
}
.ya-card-title { display: flex; align-items: center; gap: 10px; font-size: 18px; margin: 0 0 12px; }
.ya-card-title .fa { color: var(--ya-accent); }
.ya-card-foot { margin-top: 12px; font-weight: 600; font-size: 15px; }

.ya-list { list-style: none; margin: 0; padding: 0; }
.ya-list li + li { border-top: 1px solid var(--ya-border); }
.ya-list a { display: block; padding: 11px 0; color: var(--ya-text); }
.ya-list a:hover .ya-list-title { color: var(--ya-accent); }
.ya-list-title { display: block; font-weight: 600; font-size: 16px; line-height: 1.45; transition: color .15s; }
.ya-list-meta { display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--ya-muted); }

.ya-donate { background: linear-gradient(160deg, #fff 0%, var(--ya-accent-soft) 100%); text-align: center; }
.ya-donate h3 { font-size: 19px; margin: 0 0 6px; }
.ya-donate p { color: var(--ya-text-2); font-size: 15px; margin: 0 0 14px; }
.ya-donate form { margin: 0; }
.ya-donate .btn { padding: 10px 26px; }

.ya-feature { position: relative; display: block; border-radius: var(--ya-radius); overflow: hidden; margin-bottom: 24px; box-shadow: var(--ya-shadow); background: var(--ya-brand-ink); min-height: 220px; }
.ya-feature img { width: 100%; display: block; transition: transform .4s; }
.ya-feature:hover img { transform: scale(1.03); }
.ya-feature-cap { position: absolute; right: 0; left: 0; bottom: 0; padding: 48px 20px 18px; background: linear-gradient(to top, rgba(15, 23, 42, .88), rgba(15, 23, 42, 0)); }
.ya-feature-cap span { font-size: 13px; font-weight: 600; color: #c7d6ff; }
.ya-feature-cap h3 { color: #fff; font-size: 19px; margin: 4px 0 0; }

.ya-note { font-size: 14.5px; line-height: 1.7; color: var(--ya-muted); }
.ya-note strong { color: var(--ya-text-2); }

/* ---------- Forum: topics list ---------- */
.btn-sm { padding: 5px 12px; font-size: 14px; }
.ya-forum-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ya-forum-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 12px; font-size: 15px; color: var(--ya-muted); }
.ya-forum-bar strong { color: var(--ya-text); }

.ya-topics { list-style: none; margin: 0; padding: 0; background: var(--ya-surface); border: 1px solid var(--ya-border); border-radius: var(--ya-radius); box-shadow: var(--ya-shadow); }
.ya-topic { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-top: 1px solid var(--ya-border); transition: background-color .15s; }
.ya-topic:first-child { border-top: 0; border-radius: var(--ya-radius) var(--ya-radius) 0 0; }
.ya-topic:last-child { border-radius: 0 0 var(--ya-radius) var(--ya-radius); }
.ya-topic:hover { background: #fafbfe; }
.ya-topic-icon { flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--ya-accent-soft); color: var(--ya-accent); display: flex; align-items: center; justify-content: center; font-size: 17px; }
.ya-topic-icon.is-fresh { background: #fff1e0; color: #c2410c; }
.ya-topic-main { flex: 1; min-width: 0; }
.ya-topic-title { display: block; font-weight: 600; font-size: 17px; line-height: 1.45; color: var(--ya-text); overflow-wrap: anywhere; }
.ya-topic-title:hover { color: var(--ya-accent); }
.ya-topic.is-hidden .ya-topic-title { color: var(--ya-danger); }
.ya-topic-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; margin-top: 2px; font-size: 13.5px; color: var(--ya-muted); }
.ya-topic-meta .fa-check-circle { color: var(--ya-accent); }
.ya-tag-hidden { color: var(--ya-danger); background: #fdecec; border-radius: 999px; padding: 0 8px; font-weight: 600; }
.ya-topic-stat { flex: 0 0 auto; min-width: 64px; text-align: center; font-size: 13px; line-height: 1.3; color: var(--ya-muted); }
.ya-topic-stat strong { display: block; font-size: 17px; color: var(--ya-text); }
.ya-topic-admin { flex: 0 0 auto; }
.ya-topic-admin .dropdown-menu { right: auto; left: 0; min-width: 150px; }
.ya-topic-admin .dropdown-menu .fa { width: 18px; color: var(--ya-muted); }

.ya-pager { display: flex; justify-content: center; margin-top: 22px; }
.ya-pager .pagination { margin: 0; }
.ya-pager .pagination > .disabled > span { color: #c4cad6; }

@media (max-width: 600px) {
	.ya-topic { padding: 12px 14px; gap: 10px; }
	.ya-topic-icon { display: none; }
	.ya-topic-stat { min-width: 44px; }
}

/* ---------- Forum: thread view ---------- */
.ya-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; font-weight: 600; font-size: 15px; }
.ya-thread-head h1 { overflow-wrap: anywhere; }
.ya-thread-head p strong { color: var(--ya-text); }

/* Replies are indented by depth (--ya-depth is set per message), up to --ya-max-depth steps */
.ya-thread { --ya-indent: 22px; --ya-max-depth: 8; }
.ya-msg {
	--ya-depth: 0;
	background: var(--ya-surface);
	border: 1px solid var(--ya-border);
	border-radius: var(--ya-radius);
	box-shadow: var(--ya-shadow);
	padding: 18px 22px;
	margin: 0 0 14px;
	margin-right: calc(min(var(--ya-depth), var(--ya-max-depth)) * var(--ya-indent));
	scroll-margin-top: calc(var(--ya-nav-h) + 16px);
}
.ya-msg.is-reply { border-right: 3px solid var(--ya-accent-line); }
.ya-msg.is-staff { border-right-color: var(--ya-accent); }
.ya-msg.is-hidden { background: #fffafa; border-color: #f3caca; }
/* The message a link pointed at (e.g. from "latest messages") */
.ya-msg:target { border-color: var(--ya-accent); box-shadow: 0 0 0 3px var(--ya-accent-line), var(--ya-shadow); }

.ya-msg-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.ya-msg-avatar { flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--ya-accent-soft); color: var(--ya-accent); display: flex; align-items: center; justify-content: center; font-size: 17px; }
.ya-msg.is-staff .ya-msg-avatar { background: var(--ya-brand); color: #fff; }
.ya-msg-by { flex: 1; min-width: 0; line-height: 1.45; }
.ya-msg-writer { display: block; font-weight: 600; font-size: 16px; color: var(--ya-text); overflow-wrap: anywhere; }
.ya-msg-writer a { color: inherit; }
.ya-msg-writer a:hover { color: var(--ya-accent); }
.ya-msg-writer .fa-check-circle { color: var(--ya-accent); }
.ya-msg-time { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; font-size: 13.5px; color: var(--ya-muted); }
.ya-msg-head .ya-tag-hidden { flex: 0 0 auto; font-size: 13.5px; }

.ya-msg-title { font-size: 19px; line-height: 1.45; margin: 0 0 8px; overflow-wrap: anywhere; }
.ya-msg.is-hidden .ya-msg-title { color: var(--ya-danger); }
.ya-msg-body { color: var(--ya-text-2); overflow-wrap: anywhere; }
.ya-msg-body img { height: auto; }
.ya-msg-pic { display: block; width: -moz-fit-content; width: fit-content; max-width: 100%; margin: 0 0 12px; border-radius: var(--ya-radius-sm); overflow: hidden; border: 1px solid var(--ya-border); }
.ya-msg-pic img { display: block; max-height: 320px; width: auto; }

.ya-msg-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ya-border); }
.ya-msg-admin { display: flex; flex-wrap: wrap; gap: 6px; margin-right: auto; }
.ya-msg-admin .fa { color: var(--ya-muted); }

.ya-thread-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 22px; font-weight: 600; font-size: 15px; }

/* Single-column layout: keep the sidebar cards off the buttons */
@media (max-width: 991px) { .ya-thread-foot, .ya-pager { margin-bottom: 20px; } }
@media (max-width: 600px) {
	.ya-thread { --ya-indent: 10px; --ya-max-depth: 5; }
	.ya-thread-head h1 { font-size: 25px; }
	.ya-msg { padding: 14px 16px; }
	.ya-msg-avatar { flex-basis: 34px; height: 34px; font-size: 15px; }
}

/* ---------- Forum: new message / reply form ---------- */
.ya-narrow { max-width: 820px; margin: 0 auto; }
.ya-quote-label { margin: 0 0 8px; font-weight: 600; font-size: 15px; color: var(--ya-muted); }
/* The message being answered: keep a long one from pushing the form off the screen */
.ya-msg.is-quote { margin-bottom: 24px; }
.ya-msg.is-quote .ya-msg-body { max-height: 260px; overflow-y: auto; }

.ya-form { padding: 24px 26px; }
.ya-form .form-group { margin-bottom: 18px; }
.ya-optional { font-weight: 400; font-size: 14px; color: var(--ya-muted); }
/* Latin-only fields (e-mail) inside the RTL form */
.ya-ltr { direction: ltr; text-align: right; }
.ya-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--ya-border); }
.ya-form-hint { margin-right: auto; font-size: 14px; color: var(--ya-muted); }

/* Message editor (Quill, "snow" theme): site look, and right-to-left for the toolbar, lists and link box */
.ya-editor { border: 1px solid var(--ya-border); border-radius: var(--ya-radius-sm); background: #fff; transition: border-color .15s, box-shadow .15s; }
.ya-editor:focus-within { border-color: var(--ya-accent); box-shadow: 0 0 0 3px var(--ya-accent-line); }
.ya-editor textarea.form-control { border: 0; box-shadow: none; resize: vertical; }

.ya-editor .ql-toolbar.ql-snow { border: 0; border-bottom: 1px solid var(--ya-border); border-radius: var(--ya-radius-sm) var(--ya-radius-sm) 0 0; background: #f8fafc; padding: 8px 10px; font-family: inherit; }
.ya-editor .ql-toolbar.ql-snow .ql-formats { margin-right: 0; margin-left: 12px; }
.ya-editor .ql-snow.ql-toolbar button { float: right; width: 32px; height: 30px; padding: 5px 6px; border-radius: 8px; }
.ya-editor .ql-snow.ql-toolbar button:hover, .ya-editor .ql-snow.ql-toolbar button:focus { background: var(--ya-accent-soft); color: var(--ya-accent); }
.ya-editor .ql-snow.ql-toolbar button.ql-active { background: var(--ya-accent-soft); color: var(--ya-accent); }
.ya-editor .ql-snow.ql-toolbar button:hover .ql-stroke, .ya-editor .ql-snow.ql-toolbar button:focus .ql-stroke, .ya-editor .ql-snow.ql-toolbar button.ql-active .ql-stroke { stroke: var(--ya-accent); }
.ya-editor .ql-snow.ql-toolbar button:hover .ql-fill, .ya-editor .ql-snow.ql-toolbar button:focus .ql-fill, .ya-editor .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: var(--ya-accent); }

.ya-editor .ql-container.ql-snow { border: 0; font-family: inherit; font-size: 16px; }
.ya-editor .ql-editor { min-height: 240px; padding: 12px 14px; direction: rtl; text-align: right; line-height: 1.75; color: var(--ya-text); overflow-wrap: anywhere; }
.ya-editor .ql-editor p { margin: 0 0 6px; }
.ya-editor .ql-editor ol { padding-left: 0; padding-right: 1.5em; margin: 0 0 6px; }
.ya-editor .ql-editor li { padding-left: 0; padding-right: 1.5em; }
.ya-editor .ql-editor li > .ql-ui::before { margin-left: .3em; margin-right: -1.5em; text-align: left; }
.ya-editor .ql-snow .ql-editor blockquote { border-left: 0; border-right: 4px solid var(--ya-accent-line); padding: 2px 16px 2px 0; margin: 6px 0; font-size: inherit; color: var(--ya-muted); }
.ya-editor .ql-snow .ql-editor a { color: var(--ya-accent); }

/* Link box: Hebrew labels instead of the built-in English ones */
.ya-editor .ql-snow .ql-tooltip { z-index: 5; direction: rtl; border-color: var(--ya-border); border-radius: var(--ya-radius-sm); box-shadow: var(--ya-shadow-hover); color: var(--ya-text-2); font-size: 14px; }
/* Fixed label width: Quill places the box before it switches the label, so a longer label would push it out of the frame */
.ya-editor .ql-snow .ql-tooltip::before { content: "קישור:"; display: inline-block; min-width: 6.6em; margin-right: 0; margin-left: 8px; }
.ya-editor .ql-snow .ql-tooltip[data-mode=link]::before { content: "כתובת הקישור:"; }
.ya-editor .ql-snow .ql-tooltip input[type=text] { direction: ltr; border-color: var(--ya-border); border-radius: 6px; }
.ya-editor .ql-snow .ql-tooltip a.ql-preview { direction: ltr; }
.ya-editor .ql-snow .ql-tooltip a.ql-action::after { content: "עריכה"; border-right: 0; border-left: 1px solid var(--ya-border); margin-left: 0; margin-right: 16px; padding-right: 0; padding-left: 8px; }
.ya-editor .ql-snow .ql-tooltip.ql-editing a.ql-action::after { content: "שמירה"; border-left: 0; padding-left: 0; }
.ya-editor .ql-snow .ql-tooltip a.ql-remove::before { content: "הסרה"; margin-left: 0; margin-right: 8px; }

/* Admin edit page: switch between the editor and the message's raw HTML */
.ya-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.ya-editor-head label { margin: 0; }
.ya-editor-modes .btn { padding: 3px 14px; font-size: 13.5px; }
.ya-editor-note { margin: 0 0 8px; padding: 8px 12px; border-radius: var(--ya-radius-sm); background: #fff8eb; border: 1px solid #fde7c2; color: #7c4a03; font-size: 14px; line-height: 1.6; }
.ya-editor.is-html textarea.form-control { min-height: 280px; padding: 12px 14px; border-radius: var(--ya-radius-sm); direction: ltr; text-align: left; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 1.6; }

/* The same formatting where a message is shown */
.ya-msg-body ul, .ya-msg-body ol { margin: 0 0 10px; padding: 0 24px 0 0; }
.ya-msg-body blockquote { margin: 0 0 10px; padding: 2px 16px 2px 0; border: 0; border-right: 4px solid var(--ya-accent-line); font-size: inherit; color: var(--ya-muted); }

@media (max-width: 600px) {
	.ya-form { padding: 18px 16px; }
	.ya-form-hint { margin-right: 0; flex-basis: 100%; }
	/* Keep the toolbar on one row and the link box inside the editor on a phone */
	.ya-editor .ql-toolbar.ql-snow .ql-formats { margin-left: 6px; }
	.ya-editor .ql-snow .ql-tooltip { max-width: 100%; white-space: normal; }
	.ya-editor .ql-snow .ql-tooltip::before { min-width: 0; }
	.ya-editor .ql-snow .ql-tooltip input[type=text] { width: 130px; }
	.ya-editor .ql-snow .ql-tooltip a.ql-preview { max-width: 130px; }
}

/* ---------- Articles list: filter bar ---------- */
.ya-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
/* The arrow takes the button's text colour (Bootstrap draws it white on every button here) */
.ya-filter .btn .caret { margin-right: 4px; border-top-color: currentColor; }
.ya-filter .dropdown-menu { min-width: 230px; max-height: 60vh; overflow-y: auto; }
.ya-filter .dropdown-menu > li > a { display: flex; align-items: center; justify-content: space-between; gap: 14px; white-space: normal; }
.ya-filter .dropdown-menu > .active > a, .ya-filter .dropdown-menu > .active > a:hover, .ya-filter .dropdown-menu > .active > a:focus { background: var(--ya-accent-soft); color: var(--ya-accent); font-weight: 600; }
.ya-count { flex: 0 0 auto; padding: 0 8px; border-radius: 999px; background: var(--ya-bg); color: var(--ya-muted); font-size: 13px; font-weight: 400; }

/* ---------- Documents list ---------- */
/* A small page-shaped tile with the file icon instead of a picture, and the full description */
.ya-post.is-doc .ya-post-media { flex: 0 0 92px; aspect-ratio: 3 / 4; }
.ya-post.is-doc .ya-post-media .fa { font-size: 34px; }
.ya-post-text { margin: 0 0 12px; color: var(--ya-text-2); overflow-wrap: anywhere; }
.ya-post-text > :last-child { margin-bottom: 0; }
@media (max-width: 600px) {
	.ya-post.is-doc { flex-direction: row; }
	.ya-post.is-doc .ya-post-media { flex: 0 0 52px; width: auto; aspect-ratio: 3 / 4; }
	.ya-post.is-doc .ya-post-media .fa { font-size: 22px; }
}

/* ---------- Article page ---------- */
.ya-article { background: var(--ya-surface); border: 1px solid var(--ya-border); border-radius: var(--ya-radius); box-shadow: var(--ya-shadow); padding: 28px 32px; margin-bottom: 32px; }
.ya-article-head { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--ya-border); }
.ya-article-head h1 { font-size: 30px; line-height: 1.4; margin: 6px 0 12px; overflow-wrap: anywhere; }
.ya-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; font-size: 14.5px; color: var(--ya-muted); }
.ya-article-meta a { color: inherit; font-weight: 600; }
.ya-article-meta a:hover { color: var(--ya-accent); }
.ya-article-image { display: block; max-width: 100%; height: auto; margin: 0 auto 22px; border-radius: var(--ya-radius-sm); }
/* The text itself: one font throughout, whatever was pasted in */
.ya-article-body { font-size: 18px; line-height: 1.9; color: var(--ya-text-2); text-align: justify; overflow-wrap: anywhere; }
.ya-article-body * { font-family: inherit !important; }
.ya-article-body p { margin: 0 0 16px; }
.ya-article-body h1, .ya-article-body h2, .ya-article-body h3, .ya-article-body h4 { margin: 26px 0 12px; text-align: right; }
.ya-article-body h1 { font-size: 26px; }
.ya-article-body img { height: auto; border-radius: 8px; }
.ya-article-body table { max-width: 100%; }
.ya-article-body ul, .ya-article-body ol { margin: 0 0 16px; padding: 0 26px 0 0; }
.ya-article-body blockquote { margin: 0 0 16px; padding: 4px 18px 4px 0; border: 0; border-right: 4px solid var(--ya-accent-line); font-size: inherit; color: var(--ya-muted); }
.ya-article-promo { margin: 0 0 6px; font-size: 17px; color: var(--ya-text-2); }
.ya-article-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--ya-border); }
.ya-media { margin-bottom: 18px; }
.ya-media video, .ya-media audio { display: block; width: 100%; }
.ya-media video { border-radius: var(--ya-radius-sm); background: #000; }
.ya-responses { scroll-margin-top: calc(var(--ya-nav-h) + 16px); }

@media (max-width: 600px) {
	.ya-article { padding: 20px 18px; }
	.ya-article-head h1 { font-size: 24px; }
	.ya-article-body { font-size: 17px; text-align: right; }
}

/* ---------- Admin: hidden-messages list ---------- */
/* A long message scrolls inside its card, so the list stays easy to go through */
.ya-queue .ya-msg-body { max-height: 240px; overflow-y: auto; }
.ya-queue .ya-msg-head .ya-badge { flex: 0 0 auto; align-self: center; margin-bottom: 0; }
.ya-queue .ya-msg-time a { color: inherit; }
.ya-queue .ya-msg-time a:hover { color: var(--ya-accent); }

/* ---------- Admin login ---------- */
.ya-login { max-width: 420px; margin: 16px auto 0; padding: 30px 30px 26px; }
.ya-login h1 { font-size: 24px; margin: 0 0 22px; text-align: center; }
.ya-login h1 .fa { color: var(--ya-accent); font-size: 20px; margin-left: 6px; }
.ya-login .checkbox { margin: 0 0 18px; }
.ya-login .checkbox label { font-weight: 400; color: var(--ya-text-2); }
.ya-login .ya-form-actions .btn-primary { flex: 1; }

/* ---------- Admin menu ---------- */
.ya-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; align-items: start; }
.ya-admin-grid .ya-card { margin-bottom: 0; }
.ya-admin-grid .ya-list-title .fa { width: 22px; margin-left: 4px; text-align: center; color: var(--ya-muted); transition: color .15s; }
.ya-admin-grid .ya-list a:hover .ya-list-title .fa { color: var(--ya-accent); }

/* ---------- Admin: lists (articles, documents, lessons, news, programmes, subjects, users) ---------- */
/* The rows reuse the forum's topic list; the buttons drop under the title when the row gets narrow */
.ya-wide { max-width: 980px; margin: 0 auto; }
.ya-rows .ya-topic { flex-wrap: wrap; }
.ya-rows .ya-topic-main { flex: 1 1 240px; }
.ya-rows .ya-topic-title { display: inline; }
.ya-rows .ya-topic-meta a:not(.ya-tag-hidden) { color: inherit; }
.ya-rows .ya-topic-meta a:not(.ya-tag-hidden):hover { color: var(--ya-accent); }
/* Arriving back from a switch (list.asp#row): the row clears the fixed top bar */
.ya-rows .ya-topic { scroll-margin-top: calc(var(--ya-nav-h) + 16px); }
.ya-rows .ya-topic.is-off .ya-topic-title { color: var(--ya-muted); }
.ya-rows .ya-topic-icon { overflow: hidden; }
.ya-rows .ya-topic-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ya-rows .ya-topic[hidden] { display: none; }
.ya-row-actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ya-btn-del:hover, .ya-btn-del:focus { color: var(--ya-danger); border-color: #f3c6c6; background: #fdecec; }
/* An action that is not possible for this row (its title says why) */
.ya-row-actions .btn.disabled, .ya-row-actions .btn.disabled:hover { background: var(--ya-surface); border-color: var(--ya-border); color: var(--ya-muted); opacity: .5; cursor: not-allowed; box-shadow: none; }
.ya-forum-bar .form-control { width: 260px; max-width: 100%; }

/* Shown / hidden switch: says what the state is now, a click changes it */
.ya-switch { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 96px; padding: 4px 12px; border: 1px solid var(--ya-border); border-radius: 999px; background: var(--ya-bg); color: var(--ya-muted); font-size: 13.5px; font-weight: 600; white-space: nowrap; transition: border-color .15s, box-shadow .15s; }
.ya-switch.is-on { background: #e6f6f4; border-color: #bfe6e1; color: #0f766e; }
.ya-switch:hover, .ya-switch:focus { color: var(--ya-muted); border-color: #94a3b8; text-decoration: none; }
.ya-switch.is-on:hover, .ya-switch.is-on:focus { color: #0f766e; border-color: #0f766e; }

/* One-line form above a list (new subject) */
.ya-inline-form { display: flex; align-items: flex-start; gap: 10px; }
.ya-inline-form .form-group { flex: 1; min-width: 0; margin: 0; }

@media (max-width: 600px) {
	.ya-row-actions { flex-basis: 100%; }
	.ya-forum-bar .form-control { width: 100%; }
}

/* ---------- Admin: forms ---------- */
.ya-help { display: block; margin-top: 5px; font-size: 14px; font-weight: 400; color: var(--ya-muted); }
.ya-form .checkbox { margin: 0 0 6px; }
.ya-form .checkbox label { font-weight: 400; color: var(--ya-text-2); }
.ya-form .form-control + .checkbox { margin: 8px 0 0; }

/* Subject boxes */
.ya-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0 16px; max-height: 250px; overflow-y: auto; padding: 8px 14px; border: 1px solid var(--ya-border); border-radius: var(--ya-radius-sm); background: #fff; }
.ya-checks label { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 5px 0; font-weight: 400; color: var(--ya-text-2); cursor: pointer; }
.ya-checks input[type=checkbox] { flex: 0 0 auto; margin: 6px 0 0; }
.has-error .ya-checks, .has-error .ya-upload, .has-error .ya-nicedit { border-color: var(--ya-danger); }
.has-error .ya-checks label { color: var(--ya-text-2); }

/* File upload: the upload page sits in a frame inside the form */
.ya-upload { padding: 10px 12px; border: 1px dashed #cbd5e1; border-radius: var(--ya-radius-sm); background: #fafbfe; }
.ya-upload iframe { display: block; width: 100%; border: 0; }

/* Edit pages: the file a record already has, with a button that swaps it for the upload frame */
.ya-file-now { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 10px 12px; border: 1px solid var(--ya-border); border-radius: var(--ya-radius-sm); background: #fafbfe; }
.ya-file-now[hidden] { display: none; }
.ya-file-now img { flex: 0 0 auto; width: 60px; height: 60px; object-fit: cover; border-radius: 8px; background: var(--ya-accent-soft); }
.ya-file-now .ya-file-name { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.ya-file-now .ya-file-name .fa { margin-left: 6px; color: var(--ya-muted); }
.ya-file-keep { margin-top: 8px; }
/* A field with a small button next to it (the article's date and its calendar) */
.ya-with-btn { display: flex; gap: 8px; }
.ya-with-btn .form-control { flex: 1; min-width: 0; }
.ya-form .alert { border-radius: var(--ya-radius-sm); }

/* Article text editor (nicEdit sets fixed pixel widths on its own boxes) */
.ya-nicedit { border: 1px solid var(--ya-border); border-radius: var(--ya-radius-sm); background: #fff; overflow: hidden; }
.ya-nicedit > div { width: auto !important; border: 0 !important; }
.ya-nicedit > div:first-child { border-bottom: 1px solid var(--ya-border) !important; }
.ya-nicedit .nicEdit-panel { background: #f8fafc !important; padding: 4px 6px; }
.ya-nicedit .nicEdit-main { width: auto !important; min-height: 320px !important; margin: 0 !important; padding: 12px 14px; direction: rtl; text-align: right; line-height: 1.75; outline: 0; overflow-wrap: anywhere; }
.ya-nicedit textarea { width: 100% !important; border: 0; padding: 12px 14px; }

/* ---------- Form field messages (js/ya-forms.js) ---------- */
.has-error .form-control, .has-error .form-control:focus { border-color: var(--ya-danger); }
.has-error .form-control:focus { box-shadow: 0 0 0 3px #fbd5d5; }
.has-error label { color: var(--ya-danger); }
.ya-field-error { display: block; margin: 6px 0 0; font-size: 14px; font-weight: 500; color: var(--ya-danger); }

/* ---------- "Done" message (after the contact form) ---------- */
.ya-done { padding: 40px 24px; text-align: center; }
.ya-done > .fa { font-size: 46px; color: #0f766e; }
.ya-done h1 { font-size: 26px; margin: 14px 0 6px; }
.ya-done p { margin: 0 0 20px; color: var(--ya-muted); }
.ya-done .btn { margin: 0 4px 6px; }
.ya-done.is-error > .fa { color: #b45309; }

/* ---------- Book page ---------- */
.ya-book-cover { float: right; width: 267px; max-width: 42%; margin: 6px 0 16px 26px; box-shadow: var(--ya-shadow-hover); }
.ya-article-body::after { content: ""; display: table; clear: both; }
.ya-book-author { margin-top: 8px; padding: 16px 20px; border: 1px solid var(--ya-accent-line); border-radius: var(--ya-radius-sm); background: var(--ya-accent-soft); color: var(--ya-brand-ink); font-size: 16px; line-height: 1.75; }
.ya-book-author strong { display: block; margin-bottom: 2px; }
.ya-book-download { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--ya-border); text-align: center; }
.ya-book-download h2 { font-size: 21px; margin: 0 0 14px; }
.ya-book-files { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ya-book-files .btn { display: inline-flex; flex-direction: column; align-items: center; padding: 12px 28px; border-radius: var(--ya-radius); line-height: 1.45; font-size: 17px; }
.ya-book-files .btn small { font-size: 13px; font-weight: 400; opacity: .85; }
@media (max-width: 600px) {
	.ya-book-cover { float: none; display: block; max-width: 70%; margin: 0 auto 18px; }
	.ya-book-files .btn { flex: 1 1 100%; }
}

/* Printing an article: the text only */
@media print {
	body { background: #fff; }
	.ya-nav, .ya-side, .ya-footer, .ya-back, .ya-article-tools, .ya-responses .btn { display: none !important; }
	.ya-main { padding-top: 0; }
	.ya-layout { display: block; }
	.ya-article, .ya-msg, .ya-card { border: 0; box-shadow: none; padding: 0; }
	a[href]:after { content: none !important; }
}

/* ---------- Footer ---------- */
.ya-footer {
	background: var(--ya-brand-ink);
	color: rgba(255, 255, 255, .72);
	margin-top: 56px;
	padding: 44px 0 22px;
	font-size: 15.5px;
	clear: both;
}
.ya-footer h4 { color: #fff; font-size: 16px; margin: 0 0 14px; }
.ya-footer a { color: rgba(255, 255, 255, .86); }
.ya-footer a:hover { color: #fff; }
.ya-footer-brand strong { display: block; color: #fff; font-size: 20px; font-weight: 800; }
.ya-footer-brand p { margin: 6px 0 0; max-width: 40ch; }
.ya-footer-links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
.ya-footer-links li { margin-bottom: 8px; break-inside: avoid; }
.ya-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 28px; padding-top: 18px; font-size: 14px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
@media (max-width: 767px) { .ya-footer [class*="col-"] { margin-bottom: 24px; } }

/* ---------- Utilities ---------- */
.ya-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
