/* בלק צ'רי — עמוד גלריה
   ─────────────────────────────────────────────────────────────────────────────
   מקור-אמת: figma-extract/2026-07-20/raw/nodes-15.json
     ‏658:10722  "Gallery"                    1440×3634  (דסקטופ)
     ‏658:10715  "Frame 137" הירו             1440×400 · שכבה 658:10717 #010101@60%
     ‏658:10720  כותרת "גלריה"                72/400 lh90 לבן, ממורכזת
     ‏464:4033   "Frame 60" עוטף-תוכן          padding-inline 48 · fill #ffffff
     ‏464:4034   "Section - Image Gallery Grid" 1344×2664 · LM=GRID
                 ‏gridCols=12 colGap=24 rowGap=24 · padding-block 72/72
     ‏464:4040   תא רגיל  432×400  r16  (span 4 מתוך 12 = 3 עמודות)
     ‏464:4035   "Large Feature" 888×824 r16 (span 8×2 שורות)
     ‏464:4042   Overlay #000000@20% · 464:4044 כיתוב Noto Serif Hebrew 20/400 lh28
   מובייל: nodes-05.json · M_Gallery 658:10846 (393×4624)
     ‏658:11150 הירו 393×250 · כותרת 48/400
     ‏658:11204 "Frame 140" עמודה-אחת, gap 16, padding-block 32
     ‏658:11199 תא 361×271 r8 (padding-inline 16)
   כל מידה כאן נמדדה מה-JSON, לא מהעין.
   ───────────────────────────────────────────────────────────────────────────── */

/* רקע אזור התוכן — לבן כמו בפיגמה (464:4033 fill #ffffff), לא הקרם של body */
.gallery-page { background: var(--bc-white); }

/* ── הירו · 658:10715 (1440×400) ── */
.gal-hero {
  position: relative;
  min-block-size: clamp(250px, 27.8vw, 400px); /* 250 במובייל (658:11150) → 400 ב-1440 */
  display: grid; place-items: center; overflow: hidden;
}
/* חלון החיתוך בפיגמה (658:10716 בתוך 658:10715): התמונה מרונדרת 1458×818 ב-(-12,-336)
   בתוך פריים 1440×400 — כלומר נראות שורות 336..736 מתוך 818 = 41.1%..90.0% מגובה
   התמונה. בהמרה ל-object-fit:cover על hero-gallery.jpg (1376×768) בתיבה 1440×400:
   הגובה המוקטן 803.7, הגלישה 403.7, והיסט-העליון הדרוש 0.411×803.7=330 ⇒ 82%.
   ‏center (ברירת המחדל עד 26.7) הראה 25%..75% — הקינוח נחתך מלמטה ("חתוך באמצע"). */
.gal-hero-bg {
  position: absolute; inset: 0; inline-size: 100%; block-size: 100%;
  object-fit: cover; object-position: 50% 82%;
}
/* 658:10717 fill #010101 opacity .6 */
.gal-hero-overlay { position: absolute; inset: 0; background: rgba(1, 1, 1, .6); }
.gal-hero-title {
  position: relative; margin: 0; color: var(--bc-white);
  /* 658:10720: Heebo 72/400 lh90 (מובייל 48). 20.7 — הוכרע ללכת לפי הפיגמה,
     ולא לפי אימוץ ה-Noto Serif שנרשם ב-14.7. */
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 4.5rem);  /* 72 ב-1440 · 48 במובייל — מדויק יותר מ---fs-hero */
  font-weight: var(--fw-regular); line-height: 1.25; text-align: center;
  padding-inline: 20px;
}

/* ── סקשן הגריד · 464:4034 padding-block 72/72 ── */
.gal-section { padding-block: 72px; }

/* הגריד רחב יותר מהקונטיינר הכללי: בפיגמה 1344 בפריים 1440 (שולי-עמוד 48),
   מול 1280 שנתן `.container` (1320 max פחות padding 20). — FIGMA-CONFORMANCE §גלריה */
.gal-section > .container {
  max-inline-size: 1440px;
  padding-inline: 48px;
}

/* אותו ממצא כמו בצור-קשר: ב-464:4033 גם הגריד וגם הפוטר יושבים בתוך מסגרת
   לבנה — אין פס-קרם ביניהם. ה-`margin-block-start` של `.site-footer` חשף את
   רקע ה-body; מבוטל, והריווח מגיע מה-padding-bottom 72 של הסקשן.
   (‏`~` ולא `+` כי הלייטבוקס יושב בין ה-main לפוטר.) */
.gallery-page ~ .site-footer { margin-block-start: 0; }

/* ── גריד מוזאיקה — 12 עמודות פיגמה = 3 תאים (432 כ"א), מרווח 24, רדיוס 16 ──
   (1344 − 11×24)/12 = 90px לעמודה · תא = span 4 → 432 · פיצ'ר = span 8 → 888 */
.gal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  grid-auto-flow: row dense;
}
.gal-item {
  position: relative; display: block; inline-size: 100%; min-inline-size: 0; padding: 0;
  aspect-ratio: 432 / 400;
  border-radius: var(--radius-lg); overflow: hidden;  /* 464:4040 cornerRadius=16 */
  background: var(--bc-cream-warm);
  cursor: zoom-in;
}
.gal-item img {
  inline-size: 100%; block-size: 100%; object-fit: cover;
  transition: transform .45s ease;
}
.gal-item:hover img, .gal-item:focus-visible img { transform: scale(1.04); }

/* ‼ שכבת שם-המוצר (464:4042 Overlay + 464:4044 טקסט) הוסרה ב-26.7 בהכרעת שילה:
   הגלריה עברה מ"מאגר תמונות מוצר" ל"תמונות אווירה", והשם החזיר אותה להיות קטלוג.
   ‏.gi-name כבר לא נוצר ב-gallery.js — נשארה רק שכבת-ריחוף כהה עדינה כחיווי-לחיצות. */
.gal-item::after {
  content: ""; position: absolute; inset: 0;
  background: rgba(0, 0, 0, .12);
  opacity: 0; transition: opacity .25s ease;
  pointer-events: none;
}
.gal-item:hover::after, .gal-item:focus-visible::after { opacity: 1; }
.gal-item:focus-visible { outline: 2px solid var(--bc-rose); outline-offset: 2px; }

/* תאי פיצ'ר 2×2 · פיגמה 464:4035 / 464:4050 — span 8 מתוך 12 עמודות (=2 מתוך 3)
   על פני 2 שורות.
   ⚠ עד 26.7 ‎feat-b‎ היה נעוץ ב-‎grid-column: 2 / span 2‎ — כלומר קשור קשיח לגריד
   של 3 עמודות. זה מה שאילץ את בלוק ה-1600 לנטרל את הפיצ'רים לגמרי ("ריבועים
   אחידים" — דיווח שילה 26.7). שניהם עכשיו ‎span 2‎ בלי עוגן-עמודה, וה-‎dense‎
   של ‎.gal-grid‎ ממלא את החורים — עובד ב-3 עמודות וב-4 באותה מידה. */
.gal-item.feat { grid-row: span 2; grid-column: span 2; aspect-ratio: auto; }

/* ── תא-הזנב הוסר · הכרעת שילה 28.7 ──
   מספר-התמונות משתנה לפי כמה חבילות קיבלו תמונה, ולכן השורה האחרונה כמעט תמיד
   נגמרת באמצע. עד 28.7 נמתח כאן תא-זנב (‎.gal-tail‎ + ‎fitTail()‎) שמילא את החסר.
   שילה בחר **להשאיר חור**: תא מתוח משנה את יחס-התמונה ומושך את העין לפריט האחרון,
   ושורה שנגמרת באמצע היא ההתנהגות המקובלת ברשת-תמונות.
   ⚠ אם מישהו יחזיר את זה — הפתרון ב-CSS טהור (‎grid-column-end: -1‎) כבר נבדק ונכשל:
   כשההתחלה אוטומטית והסוף מוגדר, המפרט נותן span של 1 ומצמיד את התא לעמודה האחרונה. */

.gal-empty {
  grid-column: 1 / -1; text-align: center;
  color: var(--bc-ink-soft); padding-block: 3rem; margin: 0;
}

/* אנימציית כניסה עדינה */
@media (prefers-reduced-motion: no-preference) {
  .gal-item { animation: galIn .5s ease both; }
  @keyframes galIn {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
  }
}

/* ── לייטבוקס ── */
.lb-layer {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(26, 10, 14, .85);
  display: flex; align-items: center; justify-content: center;
  padding: clamp(16px, 4vw, 48px);
}
.lb-layer[hidden] { display: none; }
.lb-box { margin: 0; text-align: center; max-inline-size: min(88vw, 1080px); }
.lb-box img {
  max-inline-size: 100%; max-block-size: 78vh;
  object-fit: contain; border-radius: 12px;
  box-shadow: var(--shadow-pop);
  margin-inline: auto;
  background: var(--bc-cream-warm);
}
/* כיתוב בהגדלה בלבד (2.8.26) — הכיתוב שטליה כותבת בעורך הגלריה. על אריחי הגריד
   אין כיתוב: הכרעת 26.7 עומדת. הרצפה של ה-clamp היא ערך-המובייל, לא התקרה. */
.lb-cap {
  margin-block-start: 14px;
  color: var(--bc-cream);
  font-size: clamp(14px, 1.6vw, 17px);
  line-height: 1.5;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
}
/* ‏hidden הוא display של הדפדפן וכל כלל-מחלקה גובר עליו — מפורש כדי שכיתוב ריק
   (תמונה בלי שם) לא ישאיר רווח מתחת לתמונה. */
.lb-cap[hidden] { display: none; }

.lb-close { /* מרכז האייקון 38 מהפינה; האופסט = 38 פחות חצי מגודל הכפתור */
  position: absolute;
  inset-block-start: calc(38px - var(--bc-close-size) / 2);
  inset-inline-start: calc(38px - var(--bc-close-size) / 2);
  inline-size: var(--bc-close-size); block-size: var(--bc-close-size);
  background: var(--bc-white); color: var(--bc-primary);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}
.lb-close svg { inline-size: var(--bc-close-icon); block-size: var(--bc-close-icon); }
.lb-close:hover { background: var(--bc-cream); }

/* חצים — מראה זהה ל-car-nav, ממוסגרים לוגית ל-RTL */
.lb-nav {
  position: absolute; inset-block-start: 50%; transform: translateY(-50%);
  inline-size: 46px; block-size: 46px; border-radius: 50%;
  background: var(--bc-white); color: var(--bc-primary);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
  display: grid; place-items: center;
  transition: transform .2s ease;
}
.lb-nav:hover { transform: translateY(-50%) scale(1.08); }
.lb-prev { inset-inline-start: clamp(10px, 3vw, 34px); }
.lb-next { inset-inline-end: clamp(10px, 3vw, 34px); }
.lb-prev::after, .lb-next::after {
  content: ""; inline-size: 10px; block-size: 10px;
  border-block-start: 2px solid currentColor; border-inline-end: 2px solid currentColor;
}
.lb-prev::after { transform: rotate(45deg) translate(-1px, 1px); }   /* חץ לימין (RTL: אחורה) */
.lb-next::after { transform: rotate(-135deg) translate(-1px, 1px); } /* חץ לשמאל (RTL: קדימה) */

/* ── רספונסיב ── */
@media (max-width: 960px) {
  .gal-section { padding-block: 40px; }
  .gal-section > .container { padding-inline: 24px; }
  .gal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .gal-item { aspect-ratio: 1 / 1; border-radius: var(--radius-8); }
  .gal-item.feat {
    grid-column: 1 / -1; grid-row: auto; aspect-ratio: 3 / 2;
  }
  .lb-nav { inline-size: 40px; block-size: 40px; }
  .lb-box img { max-block-size: 66vh; }
}

/* מובייל · M_Gallery 658:10846 — עמודה אחת, תא 361×271 r8, gap 16,
   ‏padding-inline 16 (658:11199), padding-block 32 (658:11204) */
@media (max-width: 560px) {
  .gal-section { padding-block: 32px; }
  .gal-section > .container { padding-inline: 16px; }
  .gal-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .gal-item { aspect-ratio: 361 / 271; }
  .gal-item.feat { aspect-ratio: 361 / 271; }
}

/* ── מסך רחב ≥1600px · 22.7.26 — 4 תמונות בשורה ──
   הרוחב נשלט ע"י קונטיינר הסקשן (‎.gal-section > .container‎), לא ע"י הגריד עצמו.
   ‏26.7: הנטרול של תאי-הפיצ'ר בוטל. הוא נדרש רק כי ‎feat-b‎ היה נעוץ לעמודה 2;
   מאז ששניהם ‎span 2‎ נטולי-עוגן, המוזאיקה עובדת גם ב-4 עמודות וה-‎dense‎ סוגר
   את החורים. הפיגמה מגדירה מוזאיקה עם שני גדלים (464:4034 GRID 12 עמודות,
   תא רגיל span 4, פיצ'ר span 8×2) — ריבועים אחידים היו סטייה, לא כוונה. */
@media (min-width: 1600px) {
  /* 27.7: 1600 קשיח → --shell-max, כדי שהגלריה לא תישאר צרה מהכרום (בעיית המרכוז) */
  .gal-section > .container { max-inline-size: var(--shell-max); }
  .gal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
