/* ==========================================================================
   מוסדות חב״ד חולון — "הלב היהודי של חולון"
   גיליון סגנון ראשי. נכתב Mobile First ובתכונות לוגיות (inline-start /
   inline-end) כך שהוא משרת RTL ו-LTR כאחד.

   תוכן:
   1.  משתני עיצוב
   2.  איפוס ובסיס
   3.  עזרים כלליים
   4.  כפתורים
   5.  Header וניווט
   6.  תפריט מובייל
   7.  Hero
   8.  מבנה סקשנים
   9.  נתונים (חזון)
   10. כרטיסי מוסדות החינוך
   11. בתי חב״ד
   12. גלריית פעילות
   13. המלצות
   14. קריאה לפעולה
   15. Footer
   16. כפתור וואטסאפ צף
   17. עמודים פנימיים וטופס יצירת קשר
   18. תוכן Gutenberg
   19. העדפות תנועה והדפסה
   ========================================================================== */

/* 1. משתני עיצוב
   ========================================================================== */

:root {
	/*
	 * ערכת הצבעים. איזון של 70% קרם ולבן חמים, 20% בורדו/נייבי ו-10% זהב וירוק.
	 * הבורדו משמש לכותרות, לפעולות ולפוטר — לא כרקע גדול חוזר.
	 *
	 * שני ערכים הותאמו מהמפרט מסיבות נגישות, לאחר מדידה:
	 *   ירוק וואטסאפ #168A55 עם טקסט לבן = 4.37:1 (נכשל AA) ← #15804F = 4.96:1
	 *   זהב #C8A45D כטקסט על קרם        = 2.2:1  (נכשל AA) ← זהב עתיק לטקסט בלבד
	 * הזהב המקורי נשמר במלואו לקווים דקים, לאייקונים ולתגיות — לא לטקסט.
	 */
	--color-burgundy: #5b1021;
	--color-burgundy-dark: #3e0a17;
	--color-navy: #102a43;
	--color-gold: #c8a45d;
	--color-gold-soft: #e8d6ad;
	--color-gold-ink: #7a5d1c;
	--color-cream: #faf7f0;
	--color-cream-dark: #f3ede2;
	--color-white: #ffffff;
	--color-text: #231f20;
	/* הוכהה מ-#746E68 (4.7:1 על קרם) ל-6.07:1 — קריא גם באור יום. */
	--color-text-muted: #635d57;
	/* גוון ביניים: כהה משמעותית מהתוויות, בהיר מהכתובת. */
	--color-text-soft: #4a443f;
	/* זהב כהה לאייקונים אינפורמטיביים: 3.39:1 מול 2.35:1 של הזהב הדקורטיבי. */
	--color-gold-icon: #a8873f;
	--color-border: rgba(91, 16, 33, 0.1);
	--color-whatsapp: #15804f;
	--color-whatsapp-dark: #0f6a41;

	/* שמות התאימות ששאר הגיליון משתמש בהם. */
	--c-deep-rgb: 91, 16, 33;
	--c-deep: var(--color-burgundy);
	--c-deep-80: rgba(var(--c-deep-rgb), 0.8);
	--c-royal: var(--color-burgundy);
	--c-royal-dark: var(--color-burgundy-dark);
	--c-gold: var(--color-gold);
	--c-gold-soft: var(--color-gold-soft);
	--c-cream: var(--color-cream);
	--c-white: var(--color-white);
	--c-ink: var(--color-text);
	--c-muted: var(--color-text-muted);
	--c-line: var(--color-border);
	--c-line-soft: rgba(91, 16, 33, 0.06);
	--c-wa: var(--color-whatsapp);
	--c-error: #b3261e;
	--c-success: #146c43;

	/* טיפוגרפיה */
	--font: "Heebo", "Segoe UI", "Arial Hebrew", Arial, sans-serif;
	--fs-base: 1.0625rem;
	--fs-sm: 1rem;
	--fs-xs: 0.875rem;
	--fs-lead: clamp(1.0625rem, 0.98rem + 0.4vw, 1.1875rem);
	--fs-h1: clamp(2.125rem, 1.75rem + 1.9vw, 3.25rem);
	--fs-h2: clamp(1.75rem, 1.5rem + 1.25vw, 2.25rem);
	--fs-h3: clamp(1.3125rem, 1.25rem + 0.35vw, 1.4375rem);

	/* סולם מרווחים אחיד */
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-8: 32px;
	--space-10: 40px;
	--space-12: 48px;
	--space-16: 64px;

	--gutter: max(var(--space-5), env(safe-area-inset-left), env(safe-area-inset-right));
	--content-max: 1180px;
	--narrow-max: 760px;
	--section-y: clamp(var(--space-12), 2.5rem + 3vw, var(--space-16));
	--gap: var(--space-5);

	/* פרטים */
	--radius: 16px;
	--radius-lg: 20px;
	--radius-field: 14px;
	--radius-pill: 999px;
	--shadow-card: 0 1px 2px rgba(35, 31, 32, 0.04), 0 6px 16px rgba(91, 16, 33, 0.05);
	--shadow-card-hover: 0 2px 4px rgba(35, 31, 32, 0.05), 0 12px 28px rgba(91, 16, 33, 0.09);
	--shadow-header: 0 1px 0 var(--color-border), 0 6px 18px rgba(91, 16, 33, 0.06);
	--header-h: 68px;
	--tap: 48px;
	--ring: 3px solid var(--color-burgundy);
}

/* ערכת הכחול מהקונספט המקורי. מוחלפת מ"התאמה אישית ← לוגו ושיוך". */
body.palette-blue {
	--c-deep-rgb: 16, 42, 67;
	--c-deep: var(--color-navy);
	--c-royal: #174ea6;
	--c-royal-dark: #113b7e;
	--color-burgundy: var(--color-navy);
	--color-burgundy-dark: #0b1d30;
	--color-border: rgba(16, 42, 67, 0.12);
	--c-line: var(--color-border);
	--c-line-soft: rgba(16, 42, 67, 0.07);
	--ring: 3px solid #174ea6;
}

/* 2. איפוס ובסיס
   ========================================================================== */

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

html {
	overflow-x: clip;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--header-h) + 1rem);
}

body {
	margin: 0;
	overflow-x: clip;
	background: var(--c-white);
	color: var(--c-ink);
	font-family: var(--font);
	font-size: var(--fs-base);
	line-height: 1.7;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 0.6em;
	color: var(--c-deep);
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

h1 {
	font-size: var(--fs-h1);
}

h2 {
	font-size: var(--fs-h2);
}

h3 {
	font-size: var(--fs-h3);
	font-weight: 700;
}

p {
	margin: 0 0 1em;
}

p:last-child {
	margin-bottom: 0;
}

a {
	color: var(--c-royal);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover {
	color: var(--c-royal-dark);
}

img,
svg,
iframe {
	max-width: 100%;
}

img {
	height: auto;
	display: block;
}

ul,
ol {
	padding-inline-start: 1.2em;
}

figure {
	margin: 0;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

:focus-visible {
	outline: var(--ring);
	outline-offset: 2px;
	border-radius: 4px;
}

/* 3. עזרים כלליים
   ========================================================================== */

.container {
	width: 100%;
	max-width: calc(var(--content-max) + var(--gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.container--narrow {
	max-width: calc(var(--narrow-max) + var(--gutter) * 2);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	inset-block-start: -100px;
	inset-inline-start: 1rem;
	z-index: 200;
	padding: 0.75rem 1.25rem;
	background: var(--c-deep);
	color: var(--c-white);
	border-radius: 0 0 var(--radius) var(--radius);
	text-decoration: none;
	font-weight: 600;
	transition: inset-block-start 0.15s ease;
}

.skip-link:focus {
	inset-block-start: 0;
	color: var(--c-white);
}

.eyebrow {
	margin: 0 0 0.5rem;
	color: var(--c-royal);
	font-size: var(--fs-xs);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.eyebrow::after {
	content: "";
	display: block;
	width: 44px;
	height: 2px;
	margin-block-start: 0.6rem;
	background: var(--c-gold);
	border-radius: 2px;
}

.badge {
	display: inline-block;
	margin: 0 0 0.7rem;
	padding: 0.2rem 0 0.2rem 0;
	font-size: var(--fs-xs);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.02em;
}

.badge--sample {
	padding-inline-start: 0.6rem;
	border-inline-start: 3px solid #d9a441;
	color: #8a5a00;
}

.badge--center {
	display: block;
	width: fit-content;
	margin-inline: auto;
}

.notice-box {
	padding: 1rem 1.15rem;
	border: 1px dashed var(--c-line);
	border-radius: var(--radius);
	background: var(--c-cream);
	color: var(--c-muted);
}

.icon {
	flex: none;
	display: block;
}

/* 4. כפתורים
   ========================================================================== */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-height: var(--tap);
	padding: var(--space-3) var(--space-5);
	border: 1px solid transparent;
	border-radius: var(--radius-field);
	background: var(--color-burgundy);
	color: var(--color-white);
	font-size: var(--fs-sm);
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

.btn:hover {
	color: var(--color-white);
	background: var(--color-burgundy-dark);
}

.btn:active {
	transform: scale(0.98);
}

.btn .icon {
	transition: transform 0.18s ease;
}

.btn--lg {
	min-height: 54px;
	padding: var(--space-4) var(--space-6);
	font-size: 1.0625rem;
}

.btn--block {
	width: 100%;
}

.btn--gold {
	background: var(--color-gold);
	color: var(--color-text);
	border-color: var(--color-gold);
}

.btn--gold:hover {
	background: #b8924a;
	border-color: #b8924a;
	color: var(--color-text);
}

.btn--ghost {
	background: transparent;
	border-color: var(--color-burgundy);
	color: var(--color-burgundy);
}

.btn--ghost:hover {
	background: var(--color-burgundy);
	color: var(--color-white);
}

/* פעולה ראשית בכרטיס: וואטסאפ, ברוחב מלא. */
.btn--whatsapp {
	width: 100%;
	min-height: 48px;
	background: var(--color-whatsapp);
	border-color: var(--color-whatsapp);
	color: var(--color-white);
}

.btn--whatsapp:hover {
	background: var(--color-whatsapp-dark);
	border-color: var(--color-whatsapp-dark);
	color: var(--color-white);
}

/* פעולות משניות: מתאר עדין על רקע קרם רך. */
.btn--quiet {
	min-height: 46px;
	padding: var(--space-3) var(--space-3);
	background: var(--color-cream);
	border-color: var(--color-border);
	color: var(--color-burgundy);
	font-size: var(--fs-sm);
}

.btn--quiet:hover {
	background: var(--color-cream-dark);
	border-color: rgba(91, 16, 33, 0.22);
	color: var(--color-burgundy-dark);
}

.btn--action {
	min-height: 46px;
	padding: var(--space-3);
	background: var(--color-cream);
	border-color: var(--color-border);
	color: var(--color-burgundy);
	font-size: var(--fs-sm);
}

.btn--action:hover {
	background: var(--color-cream-dark);
	color: var(--color-burgundy-dark);
}

.btn__spinner {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-block-start-color: var(--color-white);
	border-radius: 50%;
	animation: chabad-spin 0.7s linear infinite;
}

@keyframes chabad-spin {
	to {
		transform: rotate(360deg);
	}
}

/* 5. Header וניווט
   ========================================================================== */

.site-header {
	position: sticky;
	inset-block-start: 0;
	z-index: 90;
	background: var(--color-white);
	border-block-end: 1px solid var(--color-border);
	transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

/* צל עדין מופיע רק לאחר גלילה. גובה ה-Header נשאר קבוע כדי שלא ייווצר קפיצת פריסה. */
.site-header.is-scrolled {
	border-block-end-color: transparent;
	box-shadow: var(--shadow-header);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	min-height: var(--header-h);
}

/* מנעול המותג: שני הסמלים יחד, בצד ימין של הממשק בעברית.
   ------------------------------------------------------------------ */
.site-brand {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	flex: none;
	min-width: 0;
}

.site-brand--footer {
	display: block;
}

.site-logo {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-height: 44px;
	padding-block: var(--space-2);
	color: var(--color-burgundy);
	text-decoration: none;
}

.site-logo__chip {
	display: flex;
	align-items: center;
	flex: none;
}

/*
 * גובה שונה במעט לכל סמל, בכוונה. סמל חב״ד הוא מלבן מלא בצבע רצוף וסמל
 * המוסדות הוא אמנות פתוחה עם אוויר פנימי — בגובה זהה סמל חב״ד היה נראה
 * גדול משמעותית. הפרש קטן מיישר את המשקל הוויזואלי ולא את גבולות הקובץ.
 * שניהם ב-object-fit: contain ולכן היחסים נשמרים במדויק.
 */
.site-logo--header .site-logo__mark,
.site-logo--menu .site-logo__mark {
	width: auto;
	height: 50px;
	object-fit: contain;
	/* מרכז הכובד של הלוגו גבוה מהמרכז הגאומטרי, בגלל שורת האנגלית התחתונה. */
	transform: translateY(1px);
}

.site-brand__rule {
	flex: none;
	align-self: center;
	width: 1px;
	height: 32px;
	background: var(--color-border);
}

.site-brand__affiliation {
	flex: none;
	width: auto;
	height: 38px;
	object-fit: contain;
}

/* בפוטר יש מקום להציג את לוגו המוסדות גדול. */
.site-logo--footer {
	display: inline-flex;
	padding-block: 0;
}

.site-logo--footer .site-logo__mark {
	width: auto;
	height: 88px;
	object-fit: contain;
}

.primary-nav {
	display: none;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: none;
}

.site-header__cta {
	display: none;
}

.nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tap);
	height: var(--tap);
	padding: 0;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	background: var(--c-white);
	cursor: pointer;
}

.nav-toggle__icon {
	display: block;
	width: 22px;
	height: 16px;
	position: relative;
}

.nav-toggle__icon span {
	position: absolute;
	inset-inline: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--c-deep);
	transition: transform 0.22s ease, opacity 0.15s ease;
}

.nav-toggle__icon span:nth-child(1) {
	inset-block-start: 0;
}

.nav-toggle__icon span:nth-child(2) {
	inset-block-start: 7px;
}

.nav-toggle__icon span:nth-child(3) {
	inset-block-start: 14px;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(2) {
	opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* סרגל הניהול של וורדפרס */
body.admin-bar .site-header {
	inset-block-start: 46px;
}

body.admin-bar {
	--admin-bar-h: 46px;
}

@media (min-width: 783px) {
	body.admin-bar .site-header {
		inset-block-start: 32px;
	}

	body.admin-bar {
		--admin-bar-h: 32px;
	}
}

/* 6. תפריט מובייל
   ========================================================================== */

.mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 120;
}

/*
 * סרגל הניהול של וורדפרס נמצא מעל התפריט בסדר הערימה, ולכן המגירה מתחילה
 * מתחתיו — אחרת שורת הכותרת וכפתור הסגירה מוסתרים ממנהל מחובר.
 */
body.admin-bar .mobile-menu {
	inset-block-start: var(--admin-bar-h, 0px);
}

.mobile-menu[hidden] {
	display: none;
}

.mobile-menu__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(var(--c-deep-rgb), 0.55);
	opacity: 0;
	transition: opacity 0.24s ease;
}

.mobile-menu.is-open .mobile-menu__backdrop {
	opacity: 1;
}

.mobile-menu__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: min(90vw, 380px);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem var(--gutter) calc(1.5rem + env(safe-area-inset-bottom));
	background: var(--c-white);
	box-shadow: -8px 0 30px rgba(var(--c-deep-rgb), 0.18);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(-100%);
	transition: transform 0.26s ease;
}

html[dir="ltr"] .mobile-menu__panel {
	transform: translateX(100%);
}

.mobile-menu.is-open .mobile-menu__panel {
	transform: translateX(0);
}

.mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
}

.mobile-menu__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tap);
	height: var(--tap);
	padding: 0;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	background: var(--c-white);
	color: var(--c-deep);
	cursor: pointer;
}

.mobile-menu__cta {
	width: 100%;
}

.mobile-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-block-start: 1px solid var(--c-line-soft);
}

.mobile-menu__list li {
	border-block-end: 1px solid var(--c-line-soft);
}

.mobile-menu__list a {
	display: flex;
	align-items: center;
	min-width: 44px;
	min-height: 56px;
	padding: 0.5rem 0.25rem;
	color: var(--c-deep);
	font-size: 1.125rem;
	font-weight: 600;
	text-decoration: none;
}

.mobile-menu__list a:hover,
.mobile-menu__list .current-menu-item > a {
	color: var(--c-royal);
}

.mobile-menu__contact {
	display: grid;
	gap: 0.4rem;
	margin-block-start: auto;
	padding-block-start: 0.75rem;
	border-block-start: 1px solid var(--c-line-soft);
}

.mobile-menu__contact-link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-height: var(--tap);
	color: var(--c-deep);
	text-decoration: none;
	font-weight: 500;
}

.mobile-menu__contact-link .icon {
	color: var(--c-gold);
}

/* נעילת הגלילה בזמן שהתפריט פתוח. המיקום הקבוע נדרש כדי ש-iOS יכבד את הנעילה. */
body.menu-open {
	position: fixed;
	inset-inline: 0;
	width: 100%;
	overflow: hidden;
}

/* 7. Hero
   ========================================================================== */

.hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 26rem;
	min-height: clamp(26rem, 68svh, 34rem);
	padding-block: 3rem 2.5rem;
	background: var(--c-deep);
	color: var(--c-white);
	isolation: isolate;
}

.hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
}

.hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero--focus-top .hero__image {
	object-position: center top;
}

.hero--focus-bottom .hero__image {
	object-position: center bottom;
}

.hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(var(--c-deep-rgb), 0.95) 0%,
		rgba(var(--c-deep-rgb), 0.82) 45%,
		rgba(var(--c-deep-rgb), 0.6) 100%
	);
}

.hero__content {
	max-width: 40rem;
}

.hero__title {
	margin: 0 0 0.5rem;
	color: var(--c-white);
	font-size: var(--fs-h1);
}

.hero__subtitle {
	margin: 0 0 0.75rem;
	color: var(--c-gold-soft);
	font-size: clamp(1.0625rem, 1rem + 0.6vw, 1.375rem);
	font-weight: 600;
}

.hero__text {
	margin: 0 0 1.5rem;
	color: rgba(255, 255, 255, 0.92);
	font-size: var(--fs-lead);
	max-width: 34rem;
}

.hero__actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.hero__actions .btn {
	width: 100%;
}

/* 8. מבנה סקשנים
   ========================================================================== */

.section {
	padding-block: var(--section-y);
}

/*
 * המרווח לקפיצה לעוגן מגיע מ-scroll-padding-top על html, שמכסה גם מעבר
 * במקלדת. כאן מוסיפים רק את גובה סרגל הניהול, כשהוא מוצג.
 */
body.admin-bar .section,
body.admin-bar .hero {
	scroll-margin-top: var(--admin-bar-h, 0px);
}

.section--tight {
	padding-block: clamp(2rem, 1.5rem + 2vw, 3rem);
}

.section--cream {
	background: var(--c-cream);
}

.section--deep {
	background: var(--c-deep);
	color: rgba(255, 255, 255, 0.94);
}

.section--deep .section__title {
	color: var(--c-white);
}

.section__head {
	max-width: 46rem;
	margin-block-end: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
}

.section__title {
	margin: 0 0 0.6rem;
}

.section__lead {
	margin: 0;
	color: var(--c-muted);
	font-size: var(--fs-lead);
}

.section--deep .section__lead {
	color: rgba(255, 255, 255, 0.8);
}

.card-grid {
	display: grid;
	gap: var(--gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 9. נתונים
   ========================================================================== */

/*
 * ארבעת הנתונים מוצגים כלוח עובדות משורטט, בשפה של דף מידע מודפס — ולא
 * ככרטיסים לבנים עם אייקון בעיגול. הקווים הדקים בזהב הם אותה שפה שחוזרת
 * בכותרות המשנה, בפוטר ובאזור הקריאה לפעולה.
 * רק לנתון אחד מתוך הארבעה יש מספר, ולכן פורמט של "כרטיס סטטיסטיקה" לא
 * התאים לתוכן מלכתחילה.
 */
.stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-block-end: 1px solid rgba(200, 164, 93, 0.45);
}

.stat-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	padding: 1.4rem 1.1rem 1.5rem;
	border-block-start: 1px solid rgba(200, 164, 93, 0.45);
	text-align: start;
}

/* קו מפריד בין העמודות בלבד, לא בשוליים החיצוניים. */
.stat-card:nth-child(odd) {
	border-inline-end: 1px solid rgba(200, 164, 93, 0.45);
}

.stat-card__icon {
	display: block;
	margin-block-end: 0.65rem;
	color: var(--c-gold);
}

.stat-card__value {
	color: var(--c-royal);
	font-size: clamp(2.25rem, 1.9rem + 1.6vw, 3rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.stat-card__label {
	color: var(--c-deep);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
}

.stat-card__sub {
	color: var(--c-muted);
	font-size: var(--fs-xs);
	line-height: 1.5;
}

/* 10. כרטיסי מוסדות החינוך
   ========================================================================== */

.edu-card > article {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 0;
	overflow: hidden;
	transition: border-color 0.25s ease;
}

.edu-card > article:hover {
	border-color: rgba(200, 164, 93, 0.75);
}

.edu-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--c-cream);
}

.edu-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.edu-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0.5rem;
	padding: 1.15rem 1.15rem 1.25rem;
	border-block-start: 3px solid var(--c-gold);
}

.edu-card__title {
	margin: 0;
}

.edu-card__text {
	margin: 0;
	color: var(--c-muted);
	font-size: var(--fs-sm);
}

.edu-card__cta {
	margin-block-start: auto;
	align-self: flex-start;
	width: 100%;
}

/* 11. בתי חב״ד
   ========================================================================== */

/* פתיח העמוד — קרם חם במקום מלבן בורדו שטוח.
   ------------------------------------------------------------------ */
.page-intro {
	position: relative;
	overflow: hidden;
	padding-block: var(--space-6) var(--space-5);
	background: linear-gradient(180deg, var(--color-cream) 0%, var(--color-white) 100%);
	border-block-end: 1px solid var(--color-border);
}

/*
 * צורה דקורטיבית רכה מאוד — קשת אבן מרומזת. נשארת מתחת לטקסט ובעוצמה
 * נמוכה, כדי שלא תתחרה בקריאוּת.
 */
.page-intro__ornament {
	position: absolute;
	inset-block-start: -38%;
	inset-inline-start: -30%;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(200, 164, 93, 0.22);
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	pointer-events: none;
}

.page-intro__ornament::after {
	content: "";
	position: absolute;
	inset: 30px;
	border: 1px solid rgba(200, 164, 93, 0.14);
	border-radius: inherit;
}

@media (min-width: 900px) {
	.page-intro__ornament {
		inset-block-start: -32%;
		inset-inline-start: auto;
		inset-inline-end: 4%;
		width: 380px;
		height: 380px;
	}
}

.page-intro__inner {
	position: relative;
	max-width: calc(46rem + var(--gutter) * 2);
	margin-inline: 0 auto;
}

.page-intro__eyebrow {
	margin: 0 0 var(--space-2);
	/* זהב עתיק — הזהב הבהיר אינו קריא כטקסט על קרם. */
	color: var(--color-gold-ink);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.12em;
}

.page-intro__title {
	margin: 0;
	color: var(--color-burgundy);
	font-size: var(--fs-h1);
	font-weight: 700;
	line-height: 1.18;
}

.page-intro__accent {
	display: block;
	width: 54px;
	height: 2px;
	margin-block: var(--space-3) var(--space-3);
	background: var(--color-gold);
	border-radius: 2px;
}

.page-intro__lead {
	margin: 0;
	max-width: 38rem;
	color: var(--color-text-muted);
	font-size: var(--fs-lead);
	line-height: 1.7;
}

.section--houses {
	padding-block: var(--space-5) var(--section-y);
	background: var(--color-cream);
}

/* פאנל החיפוש
   ------------------------------------------------------------------ */
.search-panel {
	margin-block-end: var(--space-5);
	padding: var(--space-4) var(--space-5) var(--space-5);
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

.search-panel__title {
	margin: 0 0 var(--space-2);
	color: var(--color-burgundy);
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.25;
}

.search-panel__hint {
	margin: 0 0 var(--space-3);
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
	line-height: 1.6;
}

.search-panel__label {
	display: block;
	margin-block-end: var(--space-1);
	color: var(--color-text);
	font-size: var(--fs-xs);
	font-weight: 600;
}

.search-field {
	position: relative;
	display: flex;
	align-items: center;
}

.search-field__icon {
	position: absolute;
	inset-inline-start: var(--space-4);
	display: flex;
	color: var(--color-text-muted);
	pointer-events: none;
}

.search-field__input {
	width: 100%;
	min-height: 52px;
	padding: var(--space-3) 3rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-field);
	background: var(--color-cream);
	font-size: var(--fs-base);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.search-field__input::-webkit-search-cancel-button {
	display: none;
}

.search-field__input:focus {
	outline: none;
	background: var(--color-white);
	border-color: var(--color-burgundy);
	box-shadow: 0 0 0 3px rgba(91, 16, 33, 0.12);
}

.search-field__clear {
	position: absolute;
	inset-inline-end: var(--space-1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--color-text-muted);
	cursor: pointer;
	transition: color 0.18s ease, background-color 0.18s ease;
}

.search-field__clear[hidden] {
	display: none;
}

.search-field__clear:hover {
	background: var(--color-cream-dark);
	color: var(--color-burgundy);
}

.search-panel__count {
	margin: var(--space-2) 0 0;
	color: var(--color-text-muted);
	font-size: var(--fs-xs);
	transition: opacity 0.15s ease;
}

.search-panel__count.is-updating {
	opacity: 0;
}

.houses__empty {
	margin-block-start: var(--space-5);
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: var(--color-white);
	color: var(--color-text-muted);
}

.houses__note,
.houses__more {
	margin-block-start: var(--space-6);
}

/* כרטיס בית חב״ד
   ------------------------------------------------------------------ */
.card-grid--houses {
	gap: var(--space-5);
}

.house-card {
	display: flex;
}

.house-card[hidden] {
	display: none;
}

.house-card__inner {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: var(--space-5);
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.house-card__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin: 0 0 var(--space-3);
}

.house-card__neighborhood {
	padding: var(--space-1) var(--space-3);
	border-radius: var(--radius-pill);
	background: var(--color-cream-dark);
	color: var(--color-gold-ink);
	font-size: var(--fs-xs);
	font-weight: 600;
	line-height: 1.5;
}

/* נראית רק למי שרשאי לערוך את הרשומה. ניטרלית בכוונה — לא זהב, לא שיווקי. */
.house-card__sample {
	padding: var(--space-1) var(--space-3);
	border: 1px dashed rgba(35, 31, 32, 0.22);
	border-radius: var(--radius-pill);
	color: var(--color-text-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.5;
}

.house-card__title {
	margin: 0 0 var(--space-2);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

/*
 * מצבי הקישור מוגדרים במפורש, כולל :visited, כדי שכל כותרות הכרטיסים ייראו
 * זהות — גם אחרי שהמבקר כבר ביקר בחלק מהעמודים.
 * הריפוד האנכי עם שוליים שליליים תואמים מגדיל את אזור הלחיצה ל-44px+
 * בלי לשנות את הפריסה.
 */
.house-card__title a:link,
.house-card__title a:visited {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding-block: 9px;
	margin-block: -9px;
	color: var(--color-burgundy);
	text-decoration: none;
}

.house-card__title a:focus-visible {
	outline: var(--ring);
	outline-offset: 3px;
	border-radius: 6px;
}

/* חץ קטן שמסמן שיש עמוד לפרטים. משני לשלוש פעולות הקשר. */
.house-card__more {
	flex: none;
	color: var(--color-gold-icon);
	transition: transform 0.18s ease, color 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
	.house-card__title a:hover {
		color: var(--color-burgundy-dark);
		text-decoration: underline;
		text-underline-offset: 4px;
	}

	.house-card__title a:hover .house-card__more {
		color: var(--color-burgundy);
		transform: translateX(-3px);
	}
}

/* הכתובת בולטת יותר מפרטי המנהלה — היא מה שהמבקר מחפש. */
.house-card__address {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	margin: 0 0 var(--space-3);
	color: var(--color-text);
	font-size: 1.0625rem;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.house-card__address .icon {
	flex: none;
	margin-block-start: 0.2rem;
	color: var(--color-gold-icon);
}

.house-card__meta {
	display: grid;
	gap: var(--space-1);
	margin: 0 0 var(--space-4);
}

.house-card__meta-row {
	display: flex;
	gap: var(--space-2);
	font-size: var(--fs-sm);
	line-height: 1.6;
}

.house-card__meta-row dt {
	flex: none;
	color: var(--color-text-muted);
	font-weight: 400;
}

.house-card__meta-row dt::after {
	content: ":";
}

.house-card__meta-row dd {
	margin: 0;
	color: var(--color-text-soft);
	font-weight: 400;
	overflow-wrap: anywhere;
}

.house-card__meta-row dd a {
	display: inline-block;
	padding-block: 11px;
	margin-block: -11px;
	color: var(--color-text-soft);
	text-decoration: none;
	unicode-bidi: isolate;
}

.house-card__meta-row dd a:hover {
	color: var(--color-burgundy);
	text-decoration: underline;
}

/*
 * שלוש פעולות שוות משקל, ממורכזות. אין פס ירוק רחב: כשיש עשרים כרטיסים
 * בעמוד, פעולה אחת דומיננטית בכל כרטיס הופכת את הרשימה לרועשת.
 */
.house-card__actions {
	display: flex;
	justify-content: center;
	gap: var(--space-4);
	margin-block-start: auto;
	padding-block-start: var(--space-1);
}

.icon-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex: none;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-field);
	box-shadow: 0 1px 2px rgba(35, 31, 32, 0.05);
	transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.icon-action--call {
	background: var(--color-cream-dark);
	color: var(--color-burgundy);
}

.icon-action--whatsapp {
	background: #e8f3ec;
	color: var(--color-whatsapp);
	border-color: rgba(21, 128, 79, 0.18);
}

.icon-action--navigate {
	background: #eaf0f6;
	color: var(--color-navy);
	border-color: rgba(16, 42, 67, 0.14);
}

.icon-action:active {
	transform: scale(0.96);
	box-shadow: none;
}

.icon-action:focus-visible {
	outline: var(--ring);
	outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
	.icon-action:hover {
		transform: translateY(-2px);
		box-shadow: 0 4px 10px rgba(35, 31, 32, 0.1);
	}

	.icon-action--call:hover {
		border-color: rgba(91, 16, 33, 0.28);
	}

	.icon-action--whatsapp:hover {
		border-color: rgba(21, 128, 79, 0.4);
	}

	.icon-action--navigate:hover {
		border-color: rgba(16, 42, 67, 0.32);
	}

	/* חיווי טקסטואלי במצביע ובמקלדת בלבד — לעולם לא במגע. */
	.icon-action[data-tip]::after {
		content: attr(data-tip);
		position: absolute;
		inset-block-end: calc(100% + 8px);
		inset-inline-start: 50%;
		transform: translateX(50%) translateY(3px);
		padding: 4px 9px;
		border-radius: 8px;
		background: var(--color-burgundy);
		color: var(--color-white);
		font-size: 0.8125rem;
		font-weight: 500;
		line-height: 1.4;
		white-space: nowrap;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
	}

	.icon-action[data-tip]:hover::after,
	.icon-action[data-tip]:focus-visible::after {
		opacity: 1;
		visibility: visible;
		transform: translateX(50%) translateY(0);
	}
}

/* 12. גלריית פעילות
   ========================================================================== */

.gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gallery__item figure {
	position: relative;
	height: 100%;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--c-cream);
}

.gallery__image {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.gallery__caption {
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	padding: 1.75rem 0.75rem 0.6rem;
	background: linear-gradient(to top, rgba(var(--c-deep-rgb), 0.92), rgba(var(--c-deep-rgb), 0));
	color: var(--c-white);
	font-size: var(--fs-xs);
	font-weight: 600;
	line-height: 1.35;
}

/* 13. המלצות
   ========================================================================== */

.testimonial-grid {
	display: grid;
	gap: var(--gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.testimonial figure {
	position: relative;
	height: 100%;
	padding: 1.5rem 1.25rem 1.25rem;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(200, 164, 93, 0.35);
	border-radius: var(--radius-lg);
}

.testimonial__mark {
	position: absolute;
	inset-block-start: 0.25rem;
	inset-inline-start: 1rem;
	color: var(--c-gold);
	font-size: 3rem;
	line-height: 1;
	opacity: 0.75;
}

.testimonial__quote {
	margin: 0 0 0.85rem;
	padding: 0;
	border: 0;
	color: rgba(255, 255, 255, 0.94);
	font-size: 1.0625rem;
	line-height: 1.75;
}

.testimonial__author {
	color: var(--c-gold-soft);
	font-size: var(--fs-xs);
	font-weight: 600;
}

.section--deep .badge--sample {
	background: rgba(200, 164, 93, 0.16);
	border-color: rgba(200, 164, 93, 0.5);
	color: var(--c-gold-soft);
}

/* 14. קריאה לפעולה
   ========================================================================== */

.cta__box {
	padding: clamp(1.75rem, 1.25rem + 3vw, 3rem) clamp(1.25rem, 1rem + 2vw, 3rem);
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	text-align: center;
}

.cta__rule {
	display: block;
	width: 56px;
	height: 3px;
	margin: 0 auto 1.15rem;
	border-radius: 3px;
	background: var(--c-gold);
}

.cta__title {
	margin: 0 0 0.6rem;
}

.cta__text {
	margin: 0 auto 1.5rem;
	max-width: 34rem;
	color: var(--c-muted);
	font-size: var(--fs-lead);
}

.cta__actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* 15. Footer
   ========================================================================== */

/* רצועת המותג — הלוגואים על הקרם של האתר, לא בתוך קופסה שהומצאה עבורם. */
.footer-brand-band {
	padding-block: var(--space-8);
	background: var(--color-cream);
	border-block-start: 1px solid var(--color-border);
}

.footer-brand-band__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-3);
	text-align: center;
}

.footer-brand-band .site-logo {
	gap: var(--space-4);
}

.footer-brand-band .site-logo__mark {
	height: 72px;
}

.footer-brand-band .site-brand__affiliation {
	height: 46px;
}

.footer-brand-band__name {
	margin: var(--space-2) 0 0;
	color: var(--color-burgundy);
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.3;
}

.footer-brand-band__tagline {
	margin: 0;
	color: var(--color-text-muted);
	font-size: var(--fs-sm);
}

.site-footer {
	padding-block: var(--space-10) calc(var(--space-6) + env(safe-area-inset-bottom));
	background: var(--color-burgundy);
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--fs-sm);
}

.site-footer__grid {
	display: grid;
	gap: var(--space-8);
}

.site-footer__about {
	margin: 0;
	max-width: 30rem;
	color: rgba(255, 255, 255, 0.74);
	line-height: 1.7;
}

.site-footer__heading {
	margin: 0 0 var(--space-4);
	color: var(--color-white);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.site-footer__list {
	display: grid;
	gap: var(--space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__list li {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	min-height: 40px;
	padding-block: var(--space-1);
	overflow-wrap: anywhere;
}

.site-footer__list li > .icon {
	margin-block-start: 0.6rem;
	color: var(--color-gold);
}

.site-footer__list a {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 44px;
	min-height: 44px;
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	transition: color 0.18s ease;
}

.site-footer__list a:hover {
	color: var(--color-white);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.site-footer__list a .icon {
	color: var(--color-gold);
}

.site-footer__hours span {
	padding-block: var(--space-2);
}

.site-footer__admin-note {
	margin-block-start: var(--space-3);
	padding: var(--space-2) var(--space-3);
	border: 1px dashed rgba(200, 164, 93, 0.5);
	border-radius: var(--radius-field);
	color: var(--color-gold-soft);
	font-size: var(--fs-xs);
}

.social-list {
	display: flex;
	gap: var(--space-2);
	margin: var(--space-5) 0 0;
	padding: 0;
	list-style: none;
}

.social-list a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	color: var(--color-white);
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.social-list a:hover {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-text);
}

.site-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin-block-start: var(--space-8);
	padding-block-start: var(--space-5);
	padding-block-end: var(--space-12);
	border-block-start: 1px solid rgba(255, 255, 255, 0.14);
	font-size: var(--fs-xs);
	color: rgba(255, 255, 255, 0.66);
}

.site-footer__copy {
	margin: 0;
}

.site-footer__privacy {
	display: inline-flex;
	align-items: center;
	min-width: 44px;
	min-height: 44px;
	color: rgba(255, 255, 255, 0.9);
}

/* 16. כפתור וואטסאפ צף
   ========================================================================== */

.whatsapp-fab {
	position: fixed;
	inset-block-end: calc(var(--space-5) + env(safe-area-inset-bottom));
	inset-inline-end: calc(var(--space-5) + env(safe-area-inset-right));
	z-index: 80;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--color-whatsapp);
	color: var(--color-white);
	box-shadow: 0 4px 14px rgba(21, 128, 79, 0.28);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px) scale(0.94);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s, background-color 0.18s ease;
}

/* מוצג רק לאחר שהמבקר גלל מעבר לפתיח העמוד. */
.whatsapp-fab.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.whatsapp-fab:hover {
	color: var(--color-white);
	background: var(--color-whatsapp-dark);
}

/*
 * נסוג ברגע שרשימת בתי חב״ד נכנסת למסך, או כשהוא חופף לפעולה כלשהי.
 * visibility: hidden מוציא אותו גם מסדר המקלדת, ו-pointer-events: none מבטיח
 * שלא יישאר אזור לחיץ בלתי נראה מעל הכרטיסים.
 */
.whatsapp-fab.is-hidden {
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px) scale(0.94);
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.whatsapp-fab {
		transition: none;
	}
}

/* מרווח בתחתית העמוד כדי שהכפתור הצף לא יסתיר תוכן */
body {
	padding-block-end: 0;
}

.site-footer__bottom {
	padding-block-end: 3.5rem;
}

@media (min-width: 900px) {
	.site-footer__bottom {
		padding-block-end: 0;
	}
}

/* 17. עמודים פנימיים וטופס יצירת קשר
   ========================================================================== */

.page-hero {
	padding-block: var(--space-10) var(--space-8);
	background: linear-gradient(180deg, var(--color-cream) 0%, var(--color-white) 100%);
	border-block-end: 1px solid var(--color-border);
}

.page-hero__title {
	margin: 0;
	color: var(--color-burgundy);
	font-weight: 700;
}

.page-hero__lead {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: var(--space-4) 0 0;
	max-width: 44rem;
	color: var(--color-text-muted);
	font-size: var(--fs-lead);
	line-height: 1.7;
}

.page-hero__lead .icon {
	color: var(--color-gold);
}

.contact-cards {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-card {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 1.25rem 1.15rem 1.35rem;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-block-start: 2px solid rgba(200, 164, 93, 0.65);
	border-radius: 0 0 var(--radius) var(--radius);
}

.contact-card__icon {
	display: block;
	margin-block-end: 0.6rem;
	color: var(--c-gold);
}

.contact-card__label {
	color: var(--c-muted);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.contact-card__value {
	color: var(--c-deep);
	font-size: 1.0625rem;
	font-weight: 700;
	overflow-wrap: anywhere;
	unicode-bidi: isolate;
}

a.contact-card__value {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--c-royal);
	text-decoration: none;
}

a.contact-card__value:hover {
	text-decoration: underline;
}

.contact-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 44px;
	font-size: var(--fs-sm);
	font-weight: 600;
	text-decoration: none;
}

.contact-card__link:hover {
	text-decoration: underline;
}

.map-frame {
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--c-white);
}

.map-frame iframe {
	display: block;
	width: 100%;
	min-height: 320px;
	border: 0;
}

.map-frame__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	min-height: 240px;
	padding: 1.5rem;
	color: var(--c-muted);
	text-align: center;
}

.map-frame__placeholder .icon {
	color: var(--c-gold);
}

/* טופס */
.contact-form {
	margin-block-start: 1.5rem;
}

.contact-form[hidden] {
	display: none;
}

.contact-form__trap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.contact-form__trap input {
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
}

.field {
	margin: 0 0 1.15rem;
}

.field__label {
	display: block;
	margin-block-end: 0.35rem;
	color: var(--c-deep);
	font-weight: 600;
}

.field__required {
	color: var(--c-error);
	margin-inline-start: 0.15rem;
}

.field__optional {
	color: var(--c-muted);
	font-weight: 400;
	font-size: var(--fs-xs);
	margin-inline-start: 0.25rem;
}

.field__input {
	width: 100%;
	min-height: var(--tap);
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: var(--c-white);
	font-size: 1.0625rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field__input:focus {
	border-color: var(--c-royal);
	box-shadow: 0 0 0 3px rgba(23, 78, 166, 0.14);
	outline: none;
}

.field__input--textarea {
	min-height: 8rem;
	resize: vertical;
	line-height: 1.6;
}

select.field__input {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B6B7C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 0.85rem center;
	padding-inline-end: 0.9rem;
	padding-inline-start: 2.5rem;
}

html[dir="ltr"] select.field__input {
	background-position: right 0.85rem center;
}

.field__input[aria-invalid="true"] {
	border-color: var(--c-error);
	background: #fff8f7;
}

.field__hint {
	display: block;
	margin-block-start: 0.3rem;
	color: var(--c-muted);
	font-size: var(--fs-xs);
}

.field__error {
	display: block;
	margin-block-start: 0.35rem;
	color: var(--c-error);
	font-size: var(--fs-sm);
	font-weight: 600;
}

.field__error[hidden] {
	display: none;
}

.field--checkbox .field__checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	min-height: 44px;
	padding-block: 0.35rem;
	font-size: var(--fs-sm);
	cursor: pointer;
}

.field--checkbox input[type="checkbox"] {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0.15rem 0 0;
	accent-color: var(--c-royal);
}

.contact-form__submit {
	margin: 1.5rem 0 0;
}

.contact-form__note {
	margin-block-start: 0.85rem;
	color: var(--c-muted);
	font-size: var(--fs-xs);
}

.btn[aria-busy="true"] {
	opacity: 0.85;
	pointer-events: none;
}

.form-feedback {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-block-start: 1.25rem;
	padding: 1rem 1.15rem;
	border-radius: var(--radius);
	font-weight: 600;
}

.form-feedback[hidden] {
	display: none;
}

.form-feedback p {
	margin: 0;
}

.form-feedback--success {
	background: #e9f6ee;
	border: 1px solid #b6dfc6;
	color: var(--c-success);
}

.form-feedback--error {
	background: #fdecea;
	border: 1px solid #f3c2bd;
	color: var(--c-error);
}

/* עמוד בית חב״ד בודד */
.house-single__media {
	margin-block-end: 1.5rem;
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.house-single__facts {
	display: grid;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.house-single__facts li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	overflow-wrap: anywhere;
}

.house-single__facts .icon {
	margin-block-start: 0.25rem;
	color: var(--c-gold);
}

.house-single__actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: 0.5rem;
	margin-block-end: 1.75rem;
}

.house-single__contact-cta,
.house-single__back {
	margin-block-start: 1.5rem;
}

.house-single__back a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-width: 44px;
	min-height: 44px;
	text-decoration: none;
	font-weight: 600;
}

.error-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block: 1.5rem;
}

.post-list {
	display: grid;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-list__title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
}

.post-list__excerpt {
	margin: 0;
	color: var(--c-muted);
}

.search-form__label {
	display: block;
	margin-block-end: 0.35rem;
	font-weight: 600;
}

.search-form__row {
	display: flex;
	gap: 0.5rem;
}

.search-form__input {
	flex: 1;
	min-height: var(--tap);
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
}

/* 18. תוכן Gutenberg
   ========================================================================== */

.entry-content > * + * {
	margin-block-start: 1.15rem;
}

.entry-content h2 {
	margin-block-start: 2rem;
}

.entry-content h3 {
	margin-block-start: 1.5rem;
}

.entry-content ul,
.entry-content ol {
	padding-inline-start: 1.35em;
}

.entry-content li + li {
	margin-block-start: 0.35rem;
}

.entry-content img {
	border-radius: var(--radius);
}

.entry-content blockquote {
	margin: 0;
	padding: 0.75rem 1.15rem;
	border-inline-start: 4px solid var(--c-gold);
	background: var(--c-cream);
	border-radius: 0 var(--radius) var(--radius) 0;
}

.entry-content a {
	font-weight: 500;
}

.page-links {
	margin-block-start: 1.5rem;
}

.is-placeholder {
	background: var(--c-cream);
}

/* אנימציות כניסה
   ========================================================================== */

/*
 * המצב ההתחלתי חל רק כאשר JavaScript פעיל (המחלקה has-js נוספת ב-head לפני
 * הציור הראשון). כך, אם הסקריפט לא נטען, התוכן פשוט מוצג — ולעולם לא נשאר מוסתר.
 */
.has-js .reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.has-js .reveal.is-revealed {
	opacity: 1;
	transform: none;
}

/* פתיח העמוד נכנס בטעינה, לא בגלילה. הרצף כולו מסתיים תוך כ-620ms. */
.has-js .page-intro__eyebrow,
.has-js .page-intro__title,
.has-js .page-intro__accent,
.has-js .page-intro__lead,
.has-js .hero__content > * {
	animation: chabad-rise 0.5s cubic-bezier(0.22, 0.75, 0.3, 1) both;
}

.has-js .page-intro__eyebrow {
	animation-delay: 0.04s;
}

.has-js .page-intro__title {
	animation-delay: 0.12s;
}

.has-js .page-intro__accent {
	animation-delay: 0.18s;
}

.has-js .page-intro__lead {
	animation-delay: 0.24s;
}

.has-js .hero__title {
	animation-delay: 0.05s;
}

.has-js .hero__subtitle {
	animation-delay: 0.14s;
}

.has-js .hero__text {
	animation-delay: 0.22s;
}

.has-js .hero__actions {
	animation-delay: 0.3s;
}

@keyframes chabad-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* מצב לחיצה בכרטיס — במגע אין ריחוף, ולכן נדרשת תגובה מפורשת. */
.house-card__inner:active {
	background: var(--color-cream);
}

/* הגדלה עדינה של תמונות ותגובת ריחוף לכרטיסים — רק במכשירים עם עכבר. */
@media (hover: hover) and (pointer: fine) {
	.house-card__inner:hover {
		transform: translateY(-3px);
		box-shadow: var(--shadow-card-hover);
		border-color: rgba(200, 164, 93, 0.5);
	}

	.house-card__inner:active {
		transform: translateY(-1px);
		background: var(--color-white);
	}

	.edu-card__media {
		overflow: hidden;
	}

	.edu-card__image,
	.gallery__item figure .gallery__image {
		transition: transform 0.6s cubic-bezier(0.22, 0.75, 0.3, 1);
	}

	.edu-card > article:hover .edu-card__image,
	.gallery__item figure:hover .gallery__image {
		transform: scale(1.045);
	}

	.btn--quiet:hover .icon {
		transform: translateX(-2px);
	}
}

/* מיקוד מקלדת נשאר ברור גם על הכרטיסים. */
.house-card__inner:focus-within {
	border-color: rgba(91, 16, 33, 0.35);
	box-shadow: var(--shadow-card-hover);
}

/* מסכים צרים במיוחד: הכותרת נשברה לשלוש שורות גדולות ודחפה את התוצאה
   הראשונה מתחת למסך. הטקסט נשאר מלא, רק צפוף מעט יותר. */
@media (max-width: 340px) {
	.page-intro {
		padding-block: var(--space-4) var(--space-4);
	}

	.page-intro__title {
		font-size: 2rem;
		line-height: 1.12;
	}

	.page-intro__ornament {
		inset-block-start: -44%;
		inset-inline-start: -38%;
	}
}

/* 19. מסכים גדולים
   ========================================================================== */

@media (min-width: 480px) {
	.hero__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.hero__actions .btn {
		width: auto;
		flex: 1 1 14rem;
	}

	.cta__actions {
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
	}
}

@media (min-width: 560px) {
	:root {
		--gutter: max(1.5rem, env(safe-area-inset-left), env(safe-area-inset-right));
	}

	.card-grid--houses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 640px) {
	.card-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.testimonial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 720px) {
	.stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.stat-card:nth-child(odd) {
		border-inline-end: 0;
	}

	.stat-card:not(:last-child) {
		border-inline-end: 1px solid rgba(200, 164, 93, 0.45);
	}

	.site-footer__grid {
		grid-template-columns: 1.4fr 1fr 1.2fr;
		gap: 2.5rem;
	}

	.site-footer__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (min-width: 900px) {
	:root {
		--header-h: 80px;
	}

	.site-logo--header .site-logo__mark {
		height: 58px;
	}

	.site-brand {
		gap: var(--space-4);
	}

	.site-brand__rule {
		height: 38px;
	}

	.site-brand__affiliation {
		height: 44px;
	}

	.affiliation__mark {
		height: 50px;
	}

	.primary-nav {
		display: block;
		flex: 1 1 auto;
	}

	.primary-nav__list {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.35rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.primary-nav__list a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 0.35rem 0.75rem;
		border-radius: var(--radius-pill);
		color: var(--c-deep);
		font-weight: 600;
		text-decoration: none;
		white-space: nowrap;
	}

	.primary-nav__list a:hover,
	.primary-nav__list .current-menu-item > a {
		background: var(--c-cream);
		color: var(--c-royal);
	}

	.site-header__cta {
		display: inline-flex;
	}

	.nav-toggle {
		display: none;
	}

	.card-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.card-grid--houses {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.testimonial-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.contact-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hero {
		align-items: center;
		min-height: clamp(30rem, 74svh, 40rem);
	}

	.hero__media::after {
		/* RTL: the dark side sits on the right, behind the text column. */
		background: linear-gradient(
			to left,
			rgba(var(--c-deep-rgb), 0.94) 0%,
			rgba(var(--c-deep-rgb), 0.8) 45%,
			rgba(var(--c-deep-rgb), 0.45) 100%
		);
	}

	html[dir="ltr"] .hero__media::after {
		background: linear-gradient(
			to right,
			rgba(var(--c-deep-rgb), 0.94) 0%,
			rgba(var(--c-deep-rgb), 0.8) 45%,
			rgba(var(--c-deep-rgb), 0.45) 100%
		);
	}

	.gallery {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1rem;
	}

	.gallery__caption {
		font-size: var(--fs-sm);
	}

	.whatsapp-fab {
		inset-block-end: 1.5rem;
		inset-inline-end: 1.5rem;
	}

	.edu-card__cta {
		width: auto;
	}
}

@media (min-width: 1100px) {
	.house-card__actions {
		gap: 0.6rem;
	}
}

/* 20. העדפות תנועה והדפסה
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}

	/* אין הסתרה התחלתית: הכול מוצג מיד, בלי תנועה. */
	.has-js .reveal {
		opacity: 1 !important;
		transform: none !important;
	}
}

@media (prefers-contrast: more) {
	.section__lead,
	.edu-card__text,
	.house-card__fact,
	.stat-card__sub {
		color: #3b4856;
	}
}

@media print {
	.site-header,
	.mobile-menu,
	.whatsapp-fab,
	.houses__search,
	.skip-link {
		display: none !important;
	}

	body {
		color: #000;
	}

	.hero {
		min-height: auto;
		color: #000;
		background: none;
	}

	.hero__media {
		display: none;
	}
}

/* כותרת קבוצה בתוך עמוד מסלול (גנים / תלמוד תורה / ישיבה קטנה). */
.road-group__title {
	margin: var(--space-8) 0 var(--space-5);
	color: var(--color-burgundy);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.road-group__title:first-of-type {
	margin-block-start: 0;
}

/* שם מסגרת חינוך — טקסט, לא קישור: כל הפעולות נמצאות על הכרטיס עצמו. */
.house-card__title--plain {
	padding: 0;
	margin-block: 0 var(--space-2);
	color: var(--color-burgundy);
}

/* קבוצת מסגרות בעמוד מסלול — יעד עוגן ממפת הדרך. */
.road-group {
	scroll-margin-block-start: calc(var(--header-h) + var(--space-6));
}

/* מפריד דק בין שם השליח למספר שלו בכרטיס. */
.house-card__dot {
	margin-inline: 0.25em;
	color: var(--color-text-muted);
}

/* כפתור שיתוף האתר בפוטר. */
.site-share {
	margin: 0 0 var(--space-5);
}

.site-share__btn {
	gap: var(--space-2);
	border-color: rgba(255, 255, 255, 0.28);
	color: var(--color-white);
}

.site-share__btn .icon {
	color: var(--color-gold);
	transition: transform 0.18s ease;
}

.site-share__btn.is-done {
	border-color: var(--color-gold-soft);
	color: var(--color-gold-soft);
}

@media (hover: hover) and (pointer: fine) {
	.site-share__btn:hover {
		background: rgba(255, 255, 255, 0.08);
		border-color: var(--color-gold-soft);
	}

	.site-share__btn:hover .icon {
		transform: scale(1.06);
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-share__btn .icon {
		transition: none;
	}

	.site-share__btn:hover .icon {
		transform: none;
	}
}

/* שיתוף בהדר — אייקון בגודל מגע מלא, בלי רקע שיתחרה בכפתור הזהב. */
.site-header__share {
	display: none;
	align-items: center;
	justify-content: center;
	width: var(--tap);
	height: var(--tap);
	flex: none;
	border-radius: var(--radius-field);
	color: var(--color-burgundy);
	transition: background-color 0.18s ease, color 0.18s ease;
}

.site-header__share.is-done {
	color: var(--color-whatsapp);
}

@media (min-width: 900px) {
	.site-header__share {
		display: inline-flex;
	}
}

@media (hover: hover) and (pointer: fine) {
	.site-header__share:hover {
		background: var(--color-cream-dark);
	}
}

/* שיתוף בתפריט המובייל, מתחת לכפתור הראשי. */
.mobile-menu__share {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-height: var(--tap);
	margin-block-start: var(--space-3);
	color: var(--color-gold-ink);
	font-size: var(--fs-sm);
	font-weight: 600;
	text-decoration: none;
}

.mobile-menu__share .icon {
	color: var(--color-gold-icon, var(--color-gold));
}

.mobile-menu__share.is-done {
	color: var(--color-whatsapp);
}

@media (prefers-reduced-motion: reduce) {
	.site-header__share {
		transition: none;
	}
}

/* פאנל יצירת קשר בגרסה הסטטית — מחליף את הטופס. */
.static-contact{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.static-contact__lead{margin:0;color:var(--color-text-soft);font-size:var(--fs-lead);line-height:1.6}
.static-contact__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0}
.static-contact__note{margin:0;padding-block-start:var(--space-4);border-block-start:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--fs-sm)}
.static-contact__note a{color:var(--color-gold-ink);font-weight:600}
