/**
 * sinit_front — תבנית החזית לתורם
 * @copyright Copyright (c) 2026 sinit. All rights reserved.
 *
 * נכתב RTL-first: הכיוון הטבעי של האתר הוא עברית. במקום left/right משתמשים
 * בתכונות לוגיות (inline-start/inline-end), כך שאותו קובץ עובד גם ב-LTR
 * בלי קובץ _rtl נפרד — בניגוד ל-bootstrap_rtl.css של התבנית הישנה.
 *
 * אין כאן Bootstrap. הרשת והרכיבים כתובים כאן, כדי שהתבנית לא תסחוב
 * 200KB של פריימוורק בשביל שש מחלקות.
 */

/* ============================================================ tokens */
:root {
	--sinit-container: 1200px;

	/* נדרסים inline מ-index.php לפי הגדרות התבנית. הערכים כאן הם ברירת
	   המחדל וגם רשת ביטחון: אם התוסף מושבת וה-inline לא נכתב, האתר עדיין
	   מקבל פלטה שלמה במקום צבעים חסרים. */
	--sinit-primary: #0b2545;
	--sinit-accent: #c8a34a;

	--sinit-ink: #14181f;
	--sinit-ink-soft: #5b636d;
	--sinit-bg: #ffffff;
	/* גוון חם ולא אפור קר — אפור כחלחל מול זהב נראה מלוכלך */
	--sinit-bg-soft: #f7f4ee;
	--sinit-line: #e4ded2;

	/* פסים כהים: הרקע של ההירו ושל סקשן --dark */
	--sinit-dark: #0b2545;
	--sinit-on-dark: #f8f5ee;
	--sinit-on-dark-soft: rgba(248, 245, 238, .74);
	--sinit-hero-overlay: .55;

	--sinit-radius: 10px;
	--sinit-radius-sm: 6px;
	--sinit-gap: 1.5rem;
	--sinit-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 12px rgba(16, 24, 40, .08);

	--sinit-header-h: 76px;

	/* Heebo ולא Playfair Display כמו באתר הייחוס: ל-Playfair אין גליפים
	   בעברית, וכותרת עברית הייתה נופלת ל-fallback אקראי של המערכת. */
	--sinit-font: "Heebo", "Rubik", "Segoe UI", system-ui, -apple-system, sans-serif;
	--sinit-weight-display: 800;
	--sinit-tracking-display: -.02em;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--sinit-ink: #ece7dd;
		--sinit-ink-soft: #a8a294;
		--sinit-bg: #12151a;
		--sinit-bg-soft: #1a1e25;
		--sinit-line: #2e3138;
		--sinit-dark: #080f1c;
		--sinit-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .35);
	}
}

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

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--sinit-font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--sinit-ink);
	background: var(--sinit-bg);

	/* מחרוזת ארוכה בלי רווח — כתובת מייל, URL בטקסט הפוטר, מספר הזמנה — מרחיבה
	   את הבלוק שמכיל אותה מעבר לרוחב המסך, וגוררת גלילה אופקית של **כל העמוד**
	   בטלפון. השבירה כאן ולא בכל רכיב בנפרד: זו התנהגות שנכונה בכל מקום. */
	overflow-wrap: break-word;
}

img, svg, video { max-width: 100%; height: auto; }

a { color: var(--sinit-primary); text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; }

/* סקאלה בפרופורציות של עמוד נחיתה: כותרת ההירו נושאת את העמוד, ולכן
   הפער בינה לבין h2 גדול. clamp ולא media queries — גדל רציף עם הצג. */
h1, h2, h3, h4 {
	margin: 0 0 .6em;
	line-height: 1.12;
	font-weight: var(--sinit-weight-display);
	letter-spacing: var(--sinit-tracking-display);
	text-wrap: balance;
}
h1 { font-size: clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem); }
h2 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.75rem); }
h3 { font-size: clamp(1.15rem, 1.05rem + .5vw, 1.5rem); line-height: 1.25; }
h4 { font-size: 1.0625rem; line-height: 1.3; }

p { margin: 0 0 1rem; }

/* פסקת פתיח מתחת לכותרת סקשן */
.sinit-lead {
	max-width: 62ch;
	font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem);
	line-height: 1.7;
	color: var(--sinit-ink-soft);
}

:focus-visible {
	outline: 3px solid var(--sinit-accent);
	outline-offset: 2px;
}

.sinit-skip {
	position: absolute;
	inset-inline-start: -9999px;
	top: 0;
	z-index: 999;
	padding: .75rem 1.25rem;
	background: var(--sinit-primary);
	color: #fff;
}
.sinit-skip:focus { inset-inline-start: 0; }

/* ============================================================ layout */
.sinit-container {
	width: 100%;
	max-width: var(--sinit-container);
	margin-inline: auto;
	padding-inline: 1rem;
}

.sinit-page { display: flow-root; min-height: 100vh; }

.sinit-layout {
	display: grid;
	gap: var(--sinit-gap);
	grid-template-columns: 1fr;
	padding-block: 2rem;
}

@media (min-width: 992px) {
	.sinit-layout.has-left,
	.sinit-layout.has-right { grid-template-columns: 280px 1fr; }
	.sinit-layout.has-right { grid-template-columns: 1fr 280px; }
	.sinit-layout.has-left.has-right { grid-template-columns: 260px 1fr 260px; }
	.sinit-layout.has-right:not(.has-left) .sinit-main { order: -1; }
}

.sinit-main { min-width: 0; }

/* מצב רוחב מלא: אין container עוטף (ראה index.php), והרכיב מצייר עד קצה
   המסך. ה-padding מתאפס כדי שההירו יתחיל מיד מתחת לכותרת, בלי רצועה לבנה. */
.sinit-layout--full {
	padding-block: 0;
	gap: 0;
	grid-template-columns: 1fr;
}

/* ============================================================ topbar */
.sinit-topbar {
	background: var(--sinit-bg-soft);
	border-block-end: 1px solid var(--sinit-line);
	font-size: .875rem;
}
.sinit-topbar .sinit-container {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	min-height: 40px;
	flex-wrap: wrap;
}

/* ============================================================ header */
.sinit-header {
	background: var(--sinit-bg);
	border-block-end: 1px solid var(--sinit-line);
}
.sinit-header.is-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
}
.sinit-header.is-scrolled { box-shadow: var(--sinit-shadow); }

.sinit-header__inner {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	min-height: var(--sinit-header-h);
}

/* min-width: 0 ובלי flex-shrink: 0 — לוגו רחב (הגובה מוגבל, הרוחב לא) הוא
   פריט flex שלא מוכן להתכווץ, ובטלפון הוא דוחף את הטלפון ואת ההמבורגר אל
   מחוץ למסך. הכיווץ מותר; ה-max-width על התמונה הוא מה שמגביל אותו בפועל. */
.sinit-brand { display: inline-flex; align-items: center; min-width: 0; }
.sinit-brand__logo { max-height: 52px; max-width: 100%; width: auto; }
.sinit-brand__text { font-size: 1.35rem; font-weight: 700; color: var(--sinit-ink); }

.sinit-nav { flex: 1; min-width: 0; }
.sinit-header__actions {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-inline-start: auto;
}

.sinit-phone {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-weight: 700;
	font-size: 1.05rem;
	white-space: nowrap;
	color: var(--sinit-ink);
	direction: ltr;
}
.sinit-phone__icon { color: var(--sinit-accent); }

/* ---- תפריט אופקי (mod_menu) */
.sinit-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sinit-nav ul ul { display: none; }
.sinit-nav a, .sinit-nav .separator {
	display: block;
	padding: .55rem .85rem;
	border-radius: var(--sinit-radius-sm);
	color: var(--sinit-ink);
	font-weight: 600;
}
.sinit-nav a:hover { background: var(--sinit-bg-soft); text-decoration: none; }
.sinit-nav .current > a,
.sinit-nav .active > a { color: var(--sinit-primary); background: var(--sinit-bg-soft); }

@media (max-width: 991px) {
	.sinit-nav { display: none; }
}

/* ---- כפתור המבורגר */
.sinit-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 1px solid var(--sinit-line);
	border-radius: var(--sinit-radius-sm);
	background: transparent;
	cursor: pointer;
}
.sinit-burger span {
	display: block;
	height: 2px;
	background: var(--sinit-ink);
	transition: transform .2s ease, opacity .2s ease;
}
@media (max-width: 991px) { .sinit-burger { display: flex; } }

/* ---- כותרת בטלפון
   שלושת הפריטים (מותג · טלפון · המבורגר) לא נכנסים ל-360px בגדלים של דסקטופ:
   לוגו בגובה 52px + מספר טלפון ב-1.05rem עם white-space:nowrap + כפתור 44px
   + שני רווחים של 1.25rem — כלומר גלישה, כלומר גלילה אופקית של כל העמוד.

   הכרעת המשתמש: המספר מוסתר והטלפון נשאר ככפתור חיוג עגול. הוא לא נעלם —
   לחיצה אחת מחייגת, והמספר המלא מופיע בפוטר. */
@media (max-width: 767px) {
	:root { --sinit-header-h: 60px; }

	.sinit-header__inner { gap: .75rem; }
	.sinit-brand__logo { max-height: 40px; }
	.sinit-brand__text { font-size: 1.1rem; }

	.sinit-phone {
		justify-content: center;
		flex: none;
		width: 44px;
		height: 44px;
		border: 1px solid var(--sinit-line);
		border-radius: var(--sinit-radius-sm);
		gap: 0;
	}
	.sinit-phone__number { display: none; }
	.sinit-phone__icon { font-size: 1.25rem; }
}

/* ============================================================ offcanvas */
.sinit-offcanvas {
	position: fixed;
	inset-block: 0;
	inset-inline-end: 0;
	width: min(320px, 85vw);
	z-index: 200;
	padding: 3.5rem 1.25rem 1.25rem;
	background: var(--sinit-bg);
	border-inline-start: 1px solid var(--sinit-line);
	box-shadow: var(--sinit-shadow);
	overflow-y: auto;

	/* הפריט האחרון בתפריט נופל מתחת ל-home indicator של אייפון ולא ניתן
	   ללחיצה. env() מחזיר 0 בכל דפדפן שאין בו safe area, ולכן max() משאיר
	   את הריפוד המקורי בשאר המקרים. */
	padding-block-end: max(1.25rem, env(safe-area-inset-bottom));
}
.sinit-offcanvas[hidden] { display: none; }

.sinit-offcanvas__close {
	position: absolute;
	inset-block-start: .5rem;
	inset-inline-end: .75rem;
	width: 40px;
	height: 40px;
	font-size: 1.75rem;
	line-height: 1;
	border: 0;
	background: transparent;
	color: var(--sinit-ink);
	cursor: pointer;
}
.sinit-offcanvas ul { margin: 0; padding: 0; list-style: none; }
.sinit-offcanvas li + li { border-block-start: 1px solid var(--sinit-line); }
.sinit-offcanvas a { display: block; padding: .8rem .25rem; color: var(--sinit-ink); font-weight: 600; }

/* תת-תפריט. ב-.sinit-nav הוא מוסתר (אין נפתחים בדסקטופ), אבל כאן הוא התפריט
   היחיד שיש לגולש בטלפון — בלי הזחה הוא נפלט שטוח ונראה כמו עוד פריט ראשי. */
.sinit-offcanvas ul ul { padding-inline-start: 1rem; }
.sinit-offcanvas ul ul a { font-weight: 500; font-size: .9375rem; }

.sinit-backdrop {
	position: fixed;
	inset: 0;
	z-index: 150;
	background: rgba(0, 0, 0, .45);
}

/* ============================================================ hero + bottom */
/* קרקע כהה קבועה: מודול הירו נטען אחרי התמונה, ובלי רקע מוגדר נראית
   הבהקה לבנה עד שהתמונה מגיעה. */
.sinit-hero {
	position: relative;
	background: var(--sinit-dark);
	color: var(--sinit-on-dark);
}
.sinit-hero > * { margin: 0; }
.sinit-hero img { width: 100%; object-fit: cover; display: block; }
.sinit-hero h1, .sinit-hero h2 { color: var(--sinit-on-dark); }
.sinit-hero p { color: var(--sinit-on-dark-soft); }

.sinit-breadcrumbs {
	background: var(--sinit-bg-soft);
	font-size: .875rem;
	border-block-end: 1px solid var(--sinit-line);
}
.sinit-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: .6rem 0; list-style: none; }

.sinit-bottom {
	background: var(--sinit-bg-soft);
	border-block-start: 1px solid var(--sinit-line);
	padding-block: 2.5rem;
}
/* min(250px, 100%) ולא 250px: רצפה קשיחה ב-minmax גדולה מהמכל מייצרת עמודה
   רחבה מהמסך ומכניסה גלילה אופקית. עם min() העמודה נעצרת ברוחב המכל. */
.sinit-bottom__grid {
	display: grid;
	gap: var(--sinit-gap);
	grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
}

/* ============================================================ פסי תוכן
   מיקומי section-a/b/c, דרך ה-chrome ‏sinitsection. הרקע מגיע לקצוות
   המסך והטקסט נשאר ברוחב הקריא של .sinit-container שבפנים.
   ההפרדה בין פסים היא בהחלפת רקע, לא בקו — כך שני פסים סמוכים באותו
   גוון פשוט נראים כפס אחד, וזה הרצוי. */
.sinit-section {
	padding-block: clamp(3rem, 2rem + 4vw, 6rem);
	background: var(--sinit-bg);
}

.sinit-section--soft { background: var(--sinit-bg-soft); }

.sinit-section--dark {
	background: var(--sinit-dark);
	color: var(--sinit-on-dark);
}
.sinit-section--dark h1,
.sinit-section--dark h2,
.sinit-section--dark h3,
.sinit-section--dark h4 { color: var(--sinit-on-dark); }
.sinit-section--dark p,
.sinit-section--dark .sinit-lead,
.sinit-section--dark .sinit-rail__hint { color: var(--sinit-on-dark-soft); }
.sinit-section--dark a { color: var(--sinit-accent); }
.sinit-section--dark .sinit-card {
	background: rgb(255 255 255 / .05);
	border-color: rgb(255 255 255 / .14);
}

.sinit-section__title { margin-block-end: .75rem; }

/* ---- רַכֶּבֶת גלילה אופקית (גלריית הזוכים)
   בתכונות לוגיות בלבד: ב-RTL ההתחלה היא מימין, והדפדפן מיישר לבד.
   חישוב כיוון ב-JS היה נשבר בדיוק בשפה שהאתר נכתב בשבילה. */
.sinit-rail {
	display: flex;
	gap: var(--sinit-gap);
	margin: 0;
	padding: 0 0 1rem;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scrollbar-width: thin;
	scrollbar-color: var(--sinit-accent) var(--sinit-line);
}
.sinit-rail > * {
	flex: 0 0 clamp(220px, 62vw, 300px);
	scroll-snap-align: start;
}

/* בזמן גרירה ה-snap מכובה, אחרת הוא נלחם בעכבר ומחזיר את הפריט אחורה */
.sinit-rail.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.sinit-rail::-webkit-scrollbar { height: 6px; }
.sinit-rail::-webkit-scrollbar-track { background: var(--sinit-line); border-radius: 3px; }
.sinit-rail::-webkit-scrollbar-thumb { background: var(--sinit-accent); border-radius: 3px; }

.sinit-rail__hint {
	margin-block: .75rem 0;
	font-size: .875rem;
	color: var(--sinit-ink-soft);
}

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

/* ============================================================ module card */
.sinit-card {
	background: var(--sinit-bg);
	border: 1px solid var(--sinit-line);
	border-radius: var(--sinit-radius);
	padding: 1.25rem;
	margin-block-end: var(--sinit-gap);
}
.sinit-card__title {
	margin: 0 0 .85rem;
	padding-block-end: .6rem;
	border-block-end: 2px solid var(--sinit-primary);
	font-size: 1.1rem;
}

/* ============================================================ supervision
   הצהרת הפיקוח על ההגרלה. התוכן חי במודול HTML מותאם (מיקום content-bottom
   בפריט התפריט של עמוד הקמפיין ⟵ מרונדר מיד אחרי פלט הרכיב, כלומר מתחת
   למכתב הרבנים), והמחלקה יושבת על ה-p שבתוך תוכן המודול עצמו.
   רקע העמוד בהיר — הצבעים כאן הפוכים מגרסת הפוטר הכהה שהוסרה ב-1.3.3. */
.sinit-supervision {
	position: relative;
	max-inline-size: min(56rem, 92vw);
	margin: 0 auto;
	padding-block: 2.5rem 2.75rem;
	text-align: center;
	font-size: clamp(1.05rem, 1rem + .45vw, 1.3rem);
	font-weight: 700;
	line-height: 1.6;
	color: var(--sinit-primary);
}
/* קו זהב קצר מעל הטקסט — אותה שפה עיצובית של .sinit-footer__heading */
.sinit-supervision::before {
	content: "";
	position: absolute;
	inset-block-start: 1.1rem;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	width: 4rem;
	height: 2px;
	background: var(--sinit-accent);
	border-radius: 1px;
}

/* ============================================================ footer
   פוטר כהה, כמו באתר הייחוס. אין margin-block-start: פס תוכן שנגמר
   מיד מעליו היה מקבל רצועה לבנה באמצע. ההפרדה בעמודים רגילים מגיעה
   מה-padding של .sinit-layout. */
.sinit-footer {
	position: relative;
	background: var(--sinit-dark);
	color: var(--sinit-on-dark);
	padding-block-start: clamp(2.75rem, 2rem + 2.5vw, 4.5rem);
}
/* פס זהב דק בקצה העליון: מפריד את הפוטר מפס תוכן כהה שנגמר מיד מעליו,
   בלי רצועה לבנה ובלי margin. */
.sinit-footer::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--sinit-accent) 30%, var(--sinit-accent) 70%, transparent);
}
.sinit-footer a { color: var(--sinit-on-dark); transition: color .15s ease; }
.sinit-footer a:hover, .sinit-footer a:focus-visible { color: var(--sinit-accent); }

/* ---- הרשת הראשית: מותג | קישורים | יצירת קשר.
   --sinit-footer-top-cols מגיע inline מ-index.php: מספר העמודות המאוכלסות
   בפועל. עמודת המותג רחבה יותר (1.4fr) כי היא נושאת טקסט רץ. */
.sinit-footer__top {
	display: grid;
	gap: 2.25rem var(--sinit-gap);
	grid-template-columns: 1fr;
	padding-block-end: clamp(2rem, 1.5rem + 2vw, 3rem);
}
/* בלי calc() בתוך repeat(): הספירה חייבת להיות מספר שלם, ותמיכת הדפדפנים
   ב-calc שם לא אחידה. שלוש אפשרויות = שלושה סלקטורים על ה-inline style. */
@media (min-width: 768px) {
	.sinit-footer__top {
		grid-template-columns: 1.4fr minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--sinit-gap) clamp(2rem, 1rem + 4vw, 5rem);
	}
	.sinit-footer__top[style*="top-cols:2"] { grid-template-columns: 1.4fr minmax(0, 1fr); }
	.sinit-footer__top[style*="top-cols:1"] { grid-template-columns: 1fr; }
}

/* מותג */
.sinit-footer__home {
	display: inline-block;
	margin-block-end: 1rem;
	text-decoration: none;
}
.sinit-footer__home:hover { text-decoration: none; }
.sinit-footer__logo { display: block; max-height: 56px; width: auto; }
.sinit-footer__sitename {
	font-size: clamp(1.35rem, 1.2rem + .6vw, 1.75rem);
	font-weight: var(--sinit-weight-display);
	letter-spacing: var(--sinit-tracking-display);
	color: var(--sinit-on-dark);
}
.sinit-footer__title {
	margin: 0 0 .5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--sinit-on-dark);
}
.sinit-footer__text {
	max-width: 42ch;
	color: var(--sinit-on-dark-soft);
	line-height: 1.7;
}
.sinit-footer__text p:last-child { margin-block-end: 0; }
.sinit-footer__note {
	margin: 1rem 0 0;
	padding-inline-start: .85rem;
	border-inline-start: 2px solid var(--sinit-accent);
	font-size: .8125rem;
	line-height: 1.6;
	color: var(--sinit-on-dark-soft);
}
/* אותה תיבה כשהתוכן בא ממודול (מיקום footer1) ולא מהפרמטר: המודול מביא
   פסקאות משלו, ושוליים של פסקה ראשונה/אחרונה היו מרחיבים את הקו הזהוב
   מעל ומתחת לטקסט. הכלל יושב אחרי כלל הבסיס בכוונה. */
.sinit-footer__note > :first-child { margin-block-start: 0; }
.sinit-footer__note > :last-child { margin-block-end: 0; }

/* כותרת עמודה: קטנה, uppercase, עם קו זהב קצר — אותה שפה כמו .sinit-card__title
   בגרסה כהה. h2 סמנטית (מבנה העמוד), לא בגודל של h2. */
.sinit-footer__heading {
	position: relative;
	margin: 0 0 1.1rem;
	padding-block-end: .6rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sinit-on-dark);
}
.sinit-footer__heading::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	width: 2rem;
	height: 2px;
	background: var(--sinit-accent);
	border-radius: 1px;
}

/* קישורים */
.sinit-footer__nav ul { margin: 0; padding: 0; list-style: none; }
.sinit-footer__link { margin-block-end: .55rem; }
.sinit-footer__link a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding-block: .15rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--sinit-on-dark-soft);
	transition: color .15s ease, transform .15s ease;
}
/* נקודת זהב לפני כל קישור; ב-hover היא מתחזקת והקישור זז 3px בכיוון הקריאה */
.sinit-footer__link a::before {
	content: "";
	width: 6px;
	height: 6px;
	flex: none;
	border-radius: 50%;
	background: var(--sinit-accent);
	opacity: .55;
	transition: opacity .15s ease, transform .15s ease;
}
.sinit-footer__link a:hover, .sinit-footer__link a:focus-visible {
	color: var(--sinit-accent);
	text-decoration: none;
	transform: translateX(3px);
}

/* בטלפון הקישורים האלה הם היעד היחיד לתקנון ולפרטיות. שטח הנגיעה שלהם היום
   הוא ~24px — מתחת למינימום המקובל של 44px, כלומר החטאות. בדסקטופ (עכבר)
   הריווח הצפוף נכון, ולכן ההגדלה מוגבלת למסכי מגע צרים. */
@media (max-width: 767px) {
	.sinit-footer__link a { padding-block: .55rem; }
}
[dir="rtl"] .sinit-footer__link a:hover,
[dir="rtl"] .sinit-footer__link a:focus-visible { transform: translateX(-3px); }
.sinit-footer__link a:hover::before, .sinit-footer__link a:focus-visible::before { opacity: 1; }

/* יצירת קשר */
.sinit-footer__contact {
	margin: 0;
	padding: 0;
	list-style: none;
	font-weight: 600;
}
.sinit-footer__contact li {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-block-end: .85rem;
}
.sinit-footer__contact li > a {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	text-decoration: none;
}
.sinit-footer__icon {
	display: inline-grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	flex: none;
	border-radius: 50%;
	background: rgb(255 255 255 / .08);
	border: 1px solid rgb(255 255 255 / .14);
	color: var(--sinit-accent);
	font-size: 1rem;
	line-height: 1;
}
.sinit-footer__contact a:hover .sinit-footer__icon { background: rgb(255 255 255 / .14); }
/* המייל מגיע מ-email.cloak; כתובת ארוכה נשברת בתוך העמודה במקום לגלוש ממנה */
.sinit-footer__contact li > span:last-child { overflow-wrap: anywhere; }

/* ריווח נגיעה בין הטלפון למייל בפוטר. **הבלוק כאן ולא ליד כלל הקישורים
   שלמעלה** — `.sinit-footer__contact li` מוגדר מעליו באותה ספציפיות בדיוק,
   וכלל מאוחר יותר בקובץ גובר על מדיה קווארי מוקדם יותר. */
@media (max-width: 767px) {
	.sinit-footer__contact li { margin-block-end: 1rem; }
}

/* ---- עמודות מודולים חופשיות (footer-a/b/c) — --sinit-footer-cols מגיע
   inline מ-index.php ומחזיק את מספר העמודות המאוכלסות בפועל. */
.sinit-footer__grid {
	display: grid;
	gap: var(--sinit-gap);
	grid-template-columns: 1fr;
	padding-block: 2rem;
	border-block-start: 1px solid rgb(255 255 255 / .12);
}
@media (min-width: 768px) {
	.sinit-footer__grid {
		grid-template-columns: repeat(var(--sinit-footer-cols, 3), minmax(0, 1fr));
	}
}
.sinit-footer__col ul { margin: 0; padding: 0; list-style: none; }
.sinit-footer__col li { margin-block-end: .5rem; }

/* דיסקליימר משפטי: קטן ומאופק בכוונה — הוא חייב להופיע, אבל הוא לא
   מה שהתורם בא לקרוא. */
.sinit-footer__legal {
	padding-block: 1.25rem;
	border-block-start: 1px solid rgb(255 255 255 / .12);
	font-size: .8125rem;
	line-height: 1.6;
	color: var(--sinit-on-dark-soft);
}
.sinit-footer__legal p:last-child { margin: 0; }

.sinit-copyright {
	border-block-start: 1px solid rgb(255 255 255 / .12);
	padding-block: 1rem;
	font-size: .875rem;
	color: var(--sinit-on-dark-soft);
}
.sinit-copyright__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: .5rem 1.5rem;
}
.sinit-copyright p { margin: 0; }

/* ============================================================ back to top */
.sinit-totop {
	position: fixed;
	inset-block-end: 1.25rem;
	inset-inline-end: 1.25rem;
	z-index: 90;
	width: 46px;
	height: 46px;
	font-size: 1.25rem;
	border: 0;
	border-radius: 50%;
	background: var(--sinit-primary);
	color: #fff;
	box-shadow: var(--sinit-shadow);
	cursor: pointer;
}
.sinit-totop[hidden] { display: none; }

@media (max-width: 767px) {
	.sinit-totop {
		width: 42px;
		height: 42px;
		/* מעל ה-home indicator של אייפון, שאחרת חותך חצי מהכפתור */
		inset-block-end: max(1rem, env(safe-area-inset-bottom));
	}
}

/* ============================================================ buttons + forms */
.sinit-btn, .btn {
	display: inline-block;
	padding: .6rem 1.4rem;
	border: 1px solid transparent;
	border-radius: var(--sinit-radius-sm);
	font: inherit;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	background: var(--sinit-bg-soft);
	color: var(--sinit-ink);
}
.sinit-btn:hover, .btn:hover { text-decoration: none; filter: brightness(.96); }

.sinit-btn--primary, .btn-primary { background: var(--sinit-primary); color: #fff; }

/* טקסט כהה על הזהב, לא לבן. לבן על #c8a34a נותן יחס ניגודיות ~2.3:1
   ונופל ב-WCAG AA; כהה על אותו רקע נותן ~8.5:1. */
.sinit-btn--accent, .btn-warning { background: var(--sinit-accent); color: #14181f; }

/* על רקע כהה הכפתור הראשי בצבע הפס — צריך היפוך כדי להיראות בכלל */
.sinit-section--dark .sinit-btn--primary,
.sinit-hero .sinit-btn--primary {
	background: var(--sinit-on-dark);
	color: var(--sinit-dark);
}

input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], input[type="search"], select, textarea, .form-control {
	width: 100%;
	padding: .55rem .75rem;
	border: 1px solid var(--sinit-line);
	border-radius: var(--sinit-radius-sm);
	font: inherit;
	color: var(--sinit-ink);
	background: var(--sinit-bg);
}

/* ============================================================ system messages */
.alert {
	padding: .9rem 1.1rem;
	border: 1px solid var(--sinit-line);
	border-inline-start: 4px solid var(--sinit-primary);
	border-radius: var(--sinit-radius-sm);
	background: var(--sinit-bg-soft);
	margin-block-end: 1rem;
}
.alert-success { border-inline-start-color: #2f9e44; }
.alert-warning { border-inline-start-color: #f08c00; }
.alert-danger, .alert-error { border-inline-start-color: #e03131; }

/* ============================================================ grid subset
   ג'ומלה ו-VirtueMart פולטים מחלקות Bootstrap ב-layouts שלהם. זו כמות
   מינימלית של תאימות, לא Bootstrap מלא. אם override פולט מחלקה שלא כאן —
   להוסיף כאן, לא לייבא את כל הפריימוורק. */
.row {
	display: flex;
	flex-wrap: wrap;
	margin-inline: -.75rem;
}
.row > [class*="col-"] { padding-inline: .75rem; width: 100%; }

.col-12 { width: 100%; }
@media (min-width: 768px) {
	.col-md-3 { width: 25%; }
	.col-md-4 { width: 33.3333%; }
	.col-md-6 { width: 50%; }
	.col-md-8 { width: 66.6667%; }
	.col-md-9 { width: 75%; }
}
@media (min-width: 992px) {
	.col-lg-3 { width: 25%; }
	.col-lg-4 { width: 33.3333%; }
	.col-lg-6 { width: 50%; }
	.col-lg-8 { width: 66.6667%; }
}

.d-none { display: none !important; }
.text-center { text-align: center; }
.visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ============================================================ print */
@media print {
	.sinit-topbar, .sinit-header, .sinit-hero, .sinit-bottom,
	.sinit-footer, .sinit-totop, .sinit-offcanvas, .sinit-skip { display: none !important; }
	body { color: #000; background: #fff; }
}
