/* ============================================================
   עוז לגיבור — מערכת עיצוב
   ============================================================ */

:root{
  /* Brand greens */
  --green:        #2F6B47;
  --green-700:    #265A3B;
  --green-800:    #1E4A31;
  --green-900:    #163A26;
  --green-300:    #5E9E78;
  --green-tint:   #EAF2EC;
  --green-tint-2: #F1F6F0;

  /* Accent gold / orange */
  --gold:         #F6B22B;
  --gold-600:     #E29A12;
  --orange:       #F59D48;

  /* Neutrals */
  --ink:          #1E2A22;
  --muted:        #5A655E;
  --line:         #E6E1D6;
  --bg:           #F8F6F1;
  --card:         #FFFFFF;
  --white:        #FFFFFF;

  /* Type */
  --font-display: 'Frank Ruhl Libre', 'Times New Roman', serif;
  --font-body:    'Assistant', 'Segoe UI', system-ui, sans-serif;

  /* Radius */
  --r-sm: 10px;
  --r:    16px;
  --r-lg: 26px;
  --r-pill: 999px;

  /* Shadow */
  --sh-sm: 0 1px 2px rgba(22,58,38,.06), 0 2px 6px rgba(22,58,38,.05);
  --sh:    0 6px 18px rgba(22,58,38,.08), 0 2px 6px rgba(22,58,38,.05);
  --sh-lg: 0 24px 60px rgba(22,58,38,.16), 0 8px 22px rgba(22,58,38,.08);

  /* Layout */
  --maxw: 1180px;
  --gutter: clamp(18px, 4vw, 40px);
  --header-h: 84px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-body);
  color:var(--ink);
  background-color:var(--bg);
  /* subtle brand-green dot texture across the site (shows only over open cream/tint areas) */
  background-image: radial-gradient(rgba(22,58,38,.10) 1.5px, transparent 1.9px);
  background-size: 18px 18px;
  background-attachment: fixed;
  line-height:1.7;
  font-size:17px;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; padding:0; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; border-radius:4px; }

/* ---------- Typography ---------- */
h1,h2,h3,h4{ font-family:'Fredoka', var(--font-body); font-weight:600; line-height:1.18; color:var(--green-900); letter-spacing:0; }
h1{ font-size:clamp(2.1rem, 5.2vw, 3.6rem); text-wrap:balance; }
h2{ font-size:clamp(1.7rem, 3.6vw, 2.7rem); }
h3{ font-size:clamp(1.25rem, 2.2vw, 1.6rem); }
p{ color:var(--ink); }
strong{ font-weight:700; color:var(--green-800); }

/* ---------- Layout helpers ---------- */
.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(56px, 8vw, 110px); }
.section--tight{ padding-block:clamp(40px, 5vw, 70px); }
.narrow{ max-width:760px; }
.center{ text-align:center; }

.eyebrow{
  display:inline-flex; align-items:center; gap:.55em;
  font-weight:700; font-size:.82rem; letter-spacing:.14em;
  color:var(--green); text-transform:none; margin-bottom:1rem;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--gold); border-radius:2px; }
.eyebrow.center{ }
.section-head{ max-width:720px; margin-bottom:clamp(34px,4vw,56px); }
.section-head.center{ margin-inline:auto; }
.section-head p{ color:var(--muted); font-size:1.1rem; margin-top:.7rem; }
.lead{ font-size:1.18rem; color:var(--ink); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-weight:700; font-size:1.02rem; line-height:1;
  padding:.95em 1.7em; border-radius:var(--r-pill);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, color .25s;
  will-change:transform; white-space:nowrap;
}
.btn svg{ width:1.15em; height:1.15em; }
.btn--gold{ background:var(--gold); color:var(--green-900); box-shadow:0 8px 20px rgba(246,178,43,.32); }
.btn--gold:hover{ background:var(--gold-600); transform:translateY(-2px); box-shadow:0 12px 26px rgba(246,178,43,.42); }
.btn--green{ background:var(--green); color:#fff; box-shadow:0 8px 20px rgba(47,107,71,.26); }
.btn--green:hover{ background:var(--green-700); transform:translateY(-2px); box-shadow:0 12px 26px rgba(47,107,71,.34); }
.btn--ghost{ background:transparent; color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.5); }
.btn--ghost:hover{ background:rgba(255,255,255,.12); box-shadow:inset 0 0 0 2px #fff; transform:translateY(-2px); }
.btn--outline{ background:transparent; color:var(--green); box-shadow:inset 0 0 0 2px var(--green-300); }
.btn--outline:hover{ background:var(--green); color:#fff; transform:translateY(-2px); }
.btn--lg{ padding:1.05em 2.1em; font-size:1.1rem; }
.btn--wa{ background:#25D366; color:#0a3d1f; box-shadow:0 8px 20px rgba(37,211,102,.3); }
.btn--wa:hover{ background:#1ebe5a; transform:translateY(-2px); box-shadow:0 12px 26px rgba(37,211,102,.4); }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(248,246,241,.86);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid transparent;
  transition:box-shadow .3s, border-color .3s, background .3s;
}
.site-header.scrolled{ box-shadow:0 6px 24px rgba(22,58,38,.08); border-color:var(--line); }
.nav{ height:var(--header-h); display:flex; align-items:center; gap:18px; }
.brand{ display:flex; align-items:center; gap:12px; margin-inline-end:auto; }
.brand img{ height:46px; width:auto; }
.brand-text{ display:flex; flex-direction:column; line-height:1.05; }
.brand-text b{ font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:var(--green-900); }
.brand-text span{ font-size:.72rem; color:var(--muted); font-weight:600; letter-spacing:.02em; }

.nav-links{ display:flex; align-items:center; gap:2px; }
.nav-links a{
  position:relative; font-weight:600; font-size:1rem; color:var(--green-800);
  padding:.55em .85em; border-radius:var(--r-sm); transition:color .2s, background .2s;
}
.nav-links a::after{
  content:""; position:absolute; inset-inline:.85em; bottom:.34em; height:2px;
  background:var(--gold); border-radius:2px; transform:scaleX(0); transform-origin:center;
  transition:transform .28s var(--ease);
}
.nav-links a:hover{ color:var(--green); }
.nav-links a:hover::after{ transform:scaleX(1); }
.nav-links a.active{ color:var(--green); }
.nav-links a.active::after{ transform:scaleX(1); }
.nav-cta{ margin-inline-start:8px; }

.nav-toggle{ display:none; width:46px; height:46px; border-radius:12px; align-items:center; justify-content:center; color:var(--green-900); }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:24px; height:2.4px; background:currentColor; border-radius:2px; transition:transform .3s var(--ease), opacity .2s;
}
.nav-toggle span::before{ transform:translateY(-7px); }
.nav-toggle span::after{ transform:translateY(7px); position:relative; top:-2.4px; }
body.menu-open .nav-toggle span{ background:transparent; }
body.menu-open .nav-toggle span::before{ transform:translateY(0) rotate(45deg); }
body.menu-open .nav-toggle span::after{ transform:translateY(-2.4px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{
  position:relative; isolation:isolate; overflow:hidden;
  background-color:var(--green-800);
  background-image:
    radial-gradient(120% 120% at 85% -10%, rgba(94,158,120,.20), transparent 55%),
    linear-gradient(to left, rgba(16,40,26,.90) 0%, rgba(16,40,26,.74) 38%, rgba(22,58,38,.52) 70%, rgba(22,58,38,.34) 100%),
    url("../img/hero/hero-home.jpg");
  background-size: auto, auto, cover;
  background-position: center, center, center 45%;
  background-repeat: no-repeat;
  color:#fff;
}
.hero-inner{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; padding-block:clamp(48px,6vw,84px); }
.hero-emblem{ justify-self:center; position:relative; }
.hero-emblem img{ width:min(360px,90%); filter:drop-shadow(0 20px 50px rgba(0,0,0,.35)); animation:floaty 6s ease-in-out infinite; }
.hero-video{ justify-self:center; }
.hero-video{ justify-self:center; }
.hero-video video{
  display:block; height:76vh; width:calc(76vh * 9 / 16 * 1.8); object-fit:cover;
  border-radius:26px; background:#0c1c12;
  border:3px solid rgba(255,255,255,.16);
  box-shadow:0 30px 64px rgba(0,0,0,.45), 0 10px 24px rgba(0,0,0,.3);
}
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.hero h1{ color:#fff; }
.hero .kicker{ color:var(--gold); font-weight:700; letter-spacing:.04em; font-size:1.02rem; margin-bottom:1rem; display:inline-flex; align-items:center; gap:.6em; }
.hero .kicker::before{ content:""; width:30px; height:2px; background:var(--gold); }
.hero p.sub{ color:rgba(255,255,255,.9); font-size:1.2rem; max-width:34ch; margin-top:1.3rem; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:2.2rem; }
.hero-meta{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:2.4rem; color:rgba(255,255,255,.82); font-weight:600; font-size:.98rem; }
.hero-meta span{ display:inline-flex; align-items:center; gap:.5em; }
.hero-meta svg{ width:18px; height:18px; color:var(--gold); }
.hero-wave{ position:absolute; bottom:-1px; inset-inline:0; z-index:-1; line-height:0; }
.hero-wave svg{ width:100%; height:auto; display:block; }

/* page hero (inner pages) */
.page-hero{
  position:relative; color:#fff; overflow:hidden;
  background:
    radial-gradient(120% 140% at 90% 0%, rgba(94,158,120,.28), transparent 55%),
    linear-gradient(155deg, var(--green-800), var(--green-700));
  padding-block:clamp(56px,7vw,88px);
}
.page-hero::after{ content:""; position:absolute; inset:0; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 59h60M59 0v60' stroke='%23ffffff' stroke-opacity='0.045' stroke-width='1'/%3E%3C/svg%3E"); }
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ color:#fff; }
.page-hero p{ color:rgba(255,255,255,.88); font-size:1.15rem; max-width:60ch; margin-top:.9rem; }
.crumbs{ font-size:.9rem; color:rgba(255,255,255,.85); margin-bottom:1rem; font-weight:600; }
.crumbs a:hover{ color:var(--gold); }
.crumbs span{ color:var(--gold); }

/* page-hero עם תמונת רקע */
/* תמונת הרקע מוגדרת inline על הסקשן כדי שה-url יתפרש יחסית ל-HTML (לא לקובץ ה-CSS) */
.page-hero--photo{ background-size:cover; background-position:center 45%; background-repeat:no-repeat; }
.page-hero--photo .crumbs,
.page-hero--photo h1,
.page-hero--photo p{ text-shadow:0 2px 16px rgba(8,24,15,.85), 0 1px 3px rgba(8,24,15,.6); }
.page-hero--photo::after{ opacity:.15; }

/* ---------- Prose ---------- */
.prose p{ margin-bottom:1.25em; font-size:1.08rem; color:#33403a; }
.prose p:last-child{ margin-bottom:0; }
.prose .first::first-letter{
  font-family:var(--font-display); font-size:3.4em; font-weight:700; color:var(--green);
  float:inline-start; line-height:.82; margin-inline-end:.08em; margin-top:.06em;
}

/* ---------- Cards / features ---------- */
.grid{ display:grid; gap:clamp(18px,2.4vw,30px); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(24px,3vw,34px); box-shadow:var(--sh-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:transparent; }
.card .ic{
  width:54px; height:54px; border-radius:15px; display:flex; align-items:center; justify-content:center;
  background:var(--green-tint); color:var(--green); margin-bottom:1.1rem;
}
.card .ic svg{ width:27px; height:27px; }
.card h3{ margin-bottom:.5rem; font-family:'Fredoka', var(--font-body); font-weight:600; letter-spacing:0; }
.card p{ color:var(--muted); font-size:1rem; }
.card--gold .ic{ background:#FDF3D9; color:var(--gold-600); }

/* photo card — image fills the card, title + text overlaid */
.card--photo{
  position:relative; overflow:hidden; padding:0; border:none; isolation:isolate;
  min-height:320px; display:flex; flex-direction:column; justify-content:flex-end;
  color:#fff;
}
.card--photo .card-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  z-index:-2; transition:transform .65s var(--ease);
}
.card--photo::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top, rgba(11,28,18,.94) 0%, rgba(11,28,18,.66) 34%, rgba(11,28,18,.18) 64%, rgba(11,28,18,0) 100%);
}
.card--photo:hover{ box-shadow:var(--sh-lg); }
.card--photo:hover .card-bg{ transform:scale(1.06); }
.card--photo .ic{
  position:absolute; top:16px; inset-inline-start:16px; margin:0;
  background:rgba(255,255,255,.18); color:#fff;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.32);
}
.card--photo .card-body{ padding:clamp(20px,2.6vw,26px); }
.card--photo h3{ color:#fff; margin-bottom:.4rem; text-shadow:0 1px 10px rgba(0,0,0,.35); }
.card--photo p{ color:rgba(255,255,255,.9); font-size:1rem; text-shadow:0 1px 8px rgba(0,0,0,.3); }

/* feature list (icon + text, hairline divider) */
.flist{ display:grid; gap:2px; }
.flist li{ display:flex; gap:18px; align-items:flex-start; padding:22px 4px; border-bottom:1px solid var(--line); }
.flist li:last-child{ border-bottom:none; }
.flist .fic{ flex:0 0 auto; width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:var(--green-tint); color:var(--green); }
.flist .fic svg{ width:24px; height:24px; }
.flist h3{ font-family:var(--font-body); font-weight:700; font-size:1.12rem; color:var(--green-900); margin-bottom:.2rem; }
.flist p{ color:var(--muted); font-size:1rem; }

/* split section (text + visual) */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,68px); align-items:center; }
.split--media-start{ }
.media-card{
  position:relative; border-radius:var(--r-lg); overflow:hidden; min-height:340px;
  background:linear-gradient(150deg,var(--green-700),var(--green)); color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--sh-lg);
}
.media-card .emb{ width:62%; opacity:.96; filter:drop-shadow(0 14px 30px rgba(0,0,0,.3)); }
.media-card.placeholder{ background:var(--green-tint); color:var(--green); border:1px dashed var(--green-300); box-shadow:none; }
.media-card.placeholder .ph{ text-align:center; padding:24px; }
.media-card.placeholder .ph svg{ width:46px; height:46px; margin-bottom:.6rem; opacity:.7; }
.media-card--photo{ min-height:0; background:none; padding:0; }
.media-card--photo img{ width:100%; height:440px; object-fit:cover; display:block; }
@media (max-width:980px){ .media-card--photo img{ height:300px; } }

/* highlight band */
.band{ background:var(--green-tint); border-radius:0; }
.band-2{ background:linear-gradient(160deg,var(--green-800),var(--green-700)); color:#fff; }
.band-2 h2,.band-2 h3{ color:#fff; }
.band-2 .eyebrow{ color:var(--gold); }
.band-2 .eyebrow::before{ background:var(--gold); }
.band-2 p{ color:rgba(255,255,255,.88); }

/* keyword highlight in headings — green on light, gold on dark */
.hl{ color:var(--green); }
.band-2 .hl,.hero .hl,.page-hero .hl,.donate-band .hl{ color:var(--gold); }

/* hairline green separator between two consecutive cream sections (keeps rhythm without a full band) */
.section:not(.band):not(.band-2) + .section:not(.band):not(.band-2){
  border-top:1px solid #DDE6DC;
  border-top-color:color-mix(in srgb, var(--green) 14%, var(--line));
}

/* pull quote */
.pullquote{
  font-family:var(--font-display); font-weight:500; font-size:clamp(1.4rem,3vw,2.1rem);
  line-height:1.5; color:var(--green-900); position:relative; padding-inline-start:30px;
}
.pullquote::before{ content:""; position:absolute; inset-inline-start:0; top:.1em; bottom:.1em; width:5px; border-radius:3px; background:var(--gold); }
.band-2 .pullquote{ color:#fff; }

/* hours card */
.hours{ display:grid; gap:14px; }
.hours-row{ display:flex; justify-content:space-between; gap:18px; align-items:baseline; padding:16px 20px; background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); }
.hours-row .d{ font-weight:700; color:var(--green-900); }
.hours-row .t{ color:var(--green); font-weight:700; }
.hours-row.note{ background:var(--green-tint); border-color:transparent; }
.hours-row.note .t{ color:#8a5a00; }

/* chips */
.chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ background:#fff; border:1px solid var(--line); color:var(--green-800); font-weight:600; font-size:.96rem; padding:.5em 1.05em; border-radius:var(--r-pill); box-shadow:var(--sh-sm); }
.chip svg{ width:16px; height:16px; color:var(--gold-600); vertical-align:-3px; margin-inline-end:.3em; }

/* gallery marquee (home page bottom) — infinite running image strip */
.marquee-sec{ padding:clamp(26px,4vw,52px) 0; overflow:hidden; }
.marquee{ direction:ltr; overflow:hidden; -webkit-mask-image:linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%); mask-image:linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%); }
.marquee-track{ display:flex; direction:ltr; width:max-content; }
.marquee-track img{ height:clamp(120px,17vh,170px); width:auto; flex:0 0 auto; margin-inline-end:14px; border-radius:14px; object-fit:cover; box-shadow:var(--sh-sm); display:block; }

/* stat */
.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.stat{ text-align:center; padding:26px 14px; }
.stat b{ font-family:var(--font-display); display:block; font-size:clamp(2rem,4vw,2.8rem); color:var(--green); line-height:1; }
.stat span{ color:var(--muted); font-weight:600; margin-top:.4rem; display:block; }

/* ---------- Donate band ---------- */
.donate-band{ position:relative; overflow:hidden; background:linear-gradient(155deg,var(--green-800),var(--green) 70%,var(--green-700)); color:#fff; border-radius:clamp(20px,3vw,34px); padding:clamp(34px,5vw,64px); box-shadow:var(--sh-lg); }
.donate-band::before{ content:""; position:absolute; inset-inline-end:-60px; top:-60px; width:280px; height:280px; background:radial-gradient(circle,var(--gold),transparent 65%); opacity:.22; }
.donate-band h2{ color:#fff; }
.donate-band p{ color:rgba(255,255,255,.9); max-width:54ch; margin-top:.7rem; }
.donate-band .hero-cta{ margin-top:1.8rem; }

/* ---------- Gallery placeholder ---------- */
.gal{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gal-item{ aspect-ratio:4/3; border-radius:var(--r); background:linear-gradient(135deg,var(--green-tint),#fff); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--green-300); position:relative; overflow:hidden; }
.gal-item svg{ width:40px; height:40px; opacity:.6; }
.gal-item::after{ content:"בקרוב"; position:absolute; bottom:12px; font-size:.78rem; font-weight:700; color:var(--green-300); letter-spacing:.1em; }
.gal-note{ text-align:center; margin-top:30px; color:var(--muted); }

/* ---------- Contact ---------- */
/* subtle green wash across the whole contact page (matches the .band tint) */
body[data-page="contact"]{ background-color:var(--green-tint); }
.contact-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,48px); align-items:start; }
.form{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(24px,3vw,38px); box-shadow:var(--sh); }
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:700; color:var(--green-900); margin-bottom:.45rem; font-size:.98rem; }
.field input,.field textarea{
  width:100%; font-family:inherit; font-size:1rem; color:var(--ink);
  padding:.85em 1em; background:var(--green-tint-2); border:1.5px solid var(--line); border-radius:12px;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--green-300); background:#fff; box-shadow:0 0 0 4px rgba(94,158,120,.15); }
.field textarea{ resize:vertical; min-height:130px; }
.form .btn{ width:100%; }
.form-note{ font-size:.86rem; color:var(--muted); margin-top:12px; text-align:center; }
.form-status{ margin-top:14px; padding:12px 16px; border-radius:12px; font-weight:600; display:none; }
.form-status.ok{ display:block; background:var(--green-tint); color:var(--green-800); }
.form-status.err{ display:block; background:#FBEAEA; color:#9B2C2C; }

.contact-cards{ display:grid; gap:16px; }
.cinfo{ display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; box-shadow:var(--sh-sm); transition:transform .25s var(--ease), box-shadow .25s; }
.cinfo:hover{ transform:translateY(-3px); box-shadow:var(--sh); border-color:var(--green-300); }
.cinfo .ic{ flex:0 0 auto; width:48px; height:48px; border-radius:13px; background:var(--green-tint); color:var(--green); display:flex; align-items:center; justify-content:center; }
.cinfo .ic svg{ width:23px; height:23px; }
.cinfo h3{ font-family:var(--font-body); font-weight:700; font-size:1.05rem; color:var(--green-900); margin-bottom:.15rem; }
.cinfo p,.cinfo a{ color:var(--muted); font-size:1rem; }
.cinfo a:hover{ color:var(--green); }
.map-wrap{ margin-top:8px; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh); }
.map-wrap iframe{ width:100%; height:clamp(240px,42vh,340px); border:0; display:block; filter:grayscale(.15) contrast(1.02); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--green-900); color:rgba(255,255,255,.78); padding-top:clamp(50px,6vw,76px); margin-top:0; }
.footer-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand img{ height:84px; width:auto; margin-bottom:16px; background:#F7F5EF; padding:16px 22px; border-radius:18px; box-shadow:0 8px 22px rgba(0,0,0,.22); }
.footer-brand p{ color:rgba(255,255,255,.66); font-size:.98rem; max-width:34ch; }
.footer h2{ font-family:var(--font-body); color:#fff; font-weight:700; font-size:1.05rem; margin-bottom:1rem; letter-spacing:.02em; }
.footer-links a{ display:block; padding:.32em 0; color:rgba(255,255,255,.74); transition:color .2s, transform .2s; }
.footer-links a:hover{ color:var(--gold); transform:translateX(-4px); }
.footer-contact li{ display:flex; gap:11px; align-items:flex-start; padding:.34em 0; color:rgba(255,255,255,.74); }
.footer-contact svg{ width:18px; height:18px; color:var(--gold); flex:0 0 auto; margin-top:.28em; }
.footer-contact a:hover{ color:var(--gold); }
.socials{ display:flex; gap:12px; margin-top:18px; }
.socials a{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); color:#fff; transition:background .25s, transform .25s, color .25s; }
.socials a:hover{ background:var(--gold); color:var(--green-900); transform:translateY(-3px); }
.socials svg{ width:21px; height:21px; }
.footer-cta{ }
.footer-cta .btn{ width:100%; margin-top:4px; }
.footer-bottom{ padding:22px 0; display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:space-between; align-items:center; font-size:.86rem; color:rgba(255,255,255,.72); }
.footer-bottom a:hover{ color:var(--gold); }
.footer-credit{ flex:1 1 auto; text-align:center; min-width:220px; }
.footer-credit .credit-phone{ color:var(--gold); font-weight:700; white-space:nowrap; text-decoration:none; }
.footer-credit .credit-phone:hover{ color:#fff; }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; }
.reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; }
.reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-emblem img{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-inner{ grid-template-columns:1fr; text-align:center; gap:18px; }
  .hero-emblem{ order:-1; }
  .hero-emblem img{ width:min(240px,60%); }
  .hero .kicker,.hero p.sub{ margin-inline:auto; }
  .hero-cta,.hero-meta{ justify-content:center; }
  .hero-video video{ height:auto; width:min(82vw,380px); }
  .split{ grid-template-columns:1fr; }
  .split .media-card{ order:-1; min-height:240px; }
  .contact-grid{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:30px; }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .nav-links{
    position:fixed; inset:var(--header-h) 0 auto 0; flex-direction:column; align-items:stretch; gap:4px;
    background:var(--bg); padding:18px var(--gutter) 28px; border-bottom:1px solid var(--line);
    box-shadow:var(--sh-lg); transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:opacity .25s, transform .25s;
  }
  body.menu-open .nav-links{ transform:none; opacity:1; pointer-events:auto; }
  .nav-links a{ padding:.85em 1em; font-size:1.08rem; border-bottom:1px solid var(--line); border-radius:0; }
  .nav-links a::after{ display:none; }
  .nav-links a.active{ background:var(--green-tint); border-radius:10px; }
  .nav-cta{ padding:.78em 1.25em; font-size:.96rem; }
  .nav-toggle{ display:flex; }
  .grid-3,.grid-2,.grid-4{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr; gap:8px; }
  .gal{ grid-template-columns:repeat(2,1fr); }
  .footer-top{ grid-template-columns:1fr; }
  .brand-text span{ display:none; }
  body{ font-size:16px; }
}
@media (max-width:420px){
  .gal{ grid-template-columns:1fr; }
  .brand-text{ display:none; }
}

/* ============================================================
   רכיבים נוספים (סבב שיפורים)
   ============================================================ */

/* Skip link */
.skip-link{
  position:absolute; inset-inline-start:16px; top:-60px; z-index:200;
  background:var(--green-900); color:#fff; font-weight:700;
  padding:.7em 1.2em; border-radius:0 0 12px 12px; box-shadow:var(--sh);
  transition:top .25s var(--ease);
}
.skip-link:focus{ top:0; }

/* Timeline (about) */
.timeline{ display:grid; gap:0; max-width:760px; margin-inline:auto; }
.tl-item{ position:relative; padding:0 56px 38px 0; }
.tl-item:last-child{ padding-bottom:0; }
.tl-item::before{ content:""; position:absolute; inset-inline-start:19px; top:6px; bottom:-6px; width:2px; background:var(--line); }
.tl-item:last-child::before{ display:none; }
.tl-num{
  position:absolute; inset-inline-start:0; top:0; width:42px; height:42px; border-radius:50%;
  background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:1.15rem; box-shadow:0 6px 14px rgba(47,107,71,.3);
}
.tl-item h3{ margin-bottom:.35rem; }
.tl-item p{ color:var(--muted); }

/* Process steps */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,28px); counter-reset:step; }
.step{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(24px,3vw,32px); box-shadow:var(--sh-sm); }
.step::before{
  counter-increment:step; content:counter(step); display:flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:14px; background:var(--green-tint); color:var(--green);
  font-family:var(--font-display); font-weight:700; font-size:1.3rem; margin-bottom:1rem;
}
.step h3{ margin-bottom:.4rem; }
.step p{ color:var(--muted); font-size:1rem; }

/* FAQ (details/summary) */
.faq{ max-width:780px; margin-inline:auto; display:grid; gap:14px; }
.faq details{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); overflow:hidden; }
.faq summary{
  list-style:none; cursor:pointer; padding:20px 22px; font-weight:700; color:var(--green-900);
  font-size:1.08rem; display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:1.5rem; color:var(--green); font-weight:400; transition:transform .25s var(--ease); line-height:1; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq .faq-a{ padding:0 22px 20px; color:var(--muted); }

/* Stat strip honest variant */
.stats--strip{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-sm); padding:clamp(20px,3vw,34px) 14px; }
.stat b.sm{ font-size:clamp(1.5rem,3vw,2.1rem); }

/* Featured/upcoming panel (activities) */
.featured{
  position:relative; overflow:hidden; border-radius:var(--r-lg); padding:clamp(26px,4vw,44px);
  background:linear-gradient(150deg,var(--green-tint),#fff); border:1px solid var(--line);
  display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; justify-content:space-between;
}
.featured .tag{ display:inline-block; background:var(--gold); color:var(--green-900); font-weight:700; font-size:.82rem; letter-spacing:.06em; padding:.4em 1em; border-radius:var(--r-pill); margin-bottom:.9rem; }
.featured h2{ font-size:clamp(1.3rem,2.4vw,1.7rem); margin-bottom:.4rem; }
.featured p{ color:var(--muted); max-width:46ch; }

/* Form invalid state */
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"]{ border-color:#C0492F; background:#FCEEEA; }
.field .err-msg{ display:none; color:#9B2C2C; font-size:.86rem; margin-top:.4rem; font-weight:600; }
.field input[aria-invalid="true"] ~ .err-msg, .field textarea[aria-invalid="true"] ~ .err-msg{ display:block; }

@media (max-width:760px){
  .steps{ grid-template-columns:1fr; }
  .tl-item{ padding-inline-end:48px; }
}

/* ============================================================
   גלריית מוזאיקה + לייטבוקס
   ============================================================ */
.mosaic{ display:grid; grid-template-columns:repeat(auto-fill, minmax(155px, 1fr)); grid-auto-rows:155px; grid-auto-flow:dense; gap:14px; }
.gallery-img{ position:relative; display:block; overflow:hidden; border-radius:18px; box-shadow:var(--sh-sm); cursor:zoom-in; background:var(--green-tint); }
.gallery-img img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.72) brightness(.96); transition:filter .45s var(--ease), transform .6s var(--ease); }
.gallery-img::after{ content:""; position:absolute; inset:0; border-radius:18px; box-shadow:inset 0 0 0 1px rgba(22,58,38,.06); pointer-events:none; transition:box-shadow .3s; }
.gallery-img:hover{ box-shadow:var(--sh-lg); z-index:2; }
.gallery-img:hover img{ filter:none; transform:scale(1.07); }
.gallery-img:hover::after{ box-shadow:inset 0 0 0 2px var(--gold); }
.gallery-img:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.g-wide{ grid-column:span 2; }
.g-tall{ grid-row:span 2; }
.g-big{ grid-column:span 2; grid-row:span 2; }
@media (max-width:760px){
  .mosaic{ grid-template-columns:repeat(2,1fr); grid-auto-rows:128px; gap:10px; }
}
@media (max-width:420px){ .mosaic{ grid-auto-rows:115px; } }

.lightbox{ position:fixed; inset:0; z-index:300; display:none; align-items:center; justify-content:center; padding:24px;
  background:rgba(16,40,26,.93); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.lightbox.open{ display:flex; animation:lbIn .25s var(--ease); }
@keyframes lbIn{ from{ opacity:0 } to{ opacity:1 } }
.lb-img{ max-width:92vw; max-height:86vh; border-radius:14px; box-shadow:0 30px 70px rgba(0,0,0,.55); }
.lb-close,.lb-prev,.lb-next{ position:absolute; width:54px; height:54px; border-radius:50%; color:#fff;
  background:rgba(255,255,255,.14); font-size:2rem; line-height:1; display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .2s, color .2s; }
.lb-close:hover,.lb-prev:hover,.lb-next:hover{ background:var(--gold); color:var(--green-900); }
.lb-close{ top:20px; inset-inline-end:22px; font-size:2.2rem; }
.lb-prev{ top:50%; inset-inline-end:22px; transform:translateY(-50%); }
.lb-next{ top:50%; inset-inline-start:22px; transform:translateY(-50%); }
.lb-prev:hover{ transform:translateY(-50%) scale(1.1); }
.lb-next:hover{ transform:translateY(-50%) scale(1.1); }
@media (max-width:600px){
  .lb-prev,.lb-next{ top:auto; bottom:22px; transform:none; }
  .lb-prev:hover,.lb-next:hover{ transform:scale(1.1); }
}
@media (prefers-reduced-motion:reduce){ .gallery-img img{ transition:none; } .lightbox.open{ animation:none; } }

/* ============================================================
   צבעי מותג — אינסטגרם / פייסבוק
   ============================================================ */
/* אייקוני פוטר */
.socials a.fb{ background:#1877F2; color:#fff; }
.socials a.ig{ background:linear-gradient(45deg,#feda75 0%,#fa7e1e 24%,#d62976 50%,#962fbf 74%,#4f5bd5 100%); color:#fff; }
.socials a.fb:hover, .socials a.ig:hover{ color:#fff; transform:translateY(-3px); filter:brightness(1.1); }
/* כפתורי מותג */
.btn--fb{ background:#1877F2; color:#fff; box-shadow:0 8px 20px rgba(24,119,242,.3); }
.btn--fb:hover{ background:#0e63d6; color:#fff; transform:translateY(-2px); box-shadow:0 12px 26px rgba(24,119,242,.42); }
.btn--ig{ background:linear-gradient(45deg,#feda75 0%,#fa7e1e 22%,#d62976 50%,#962fbf 74%,#4f5bd5 100%); color:#fff; box-shadow:0 8px 20px rgba(214,41,118,.32); }
.btn--ig:hover{ color:#fff; transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 12px 26px rgba(214,41,118,.44); }
/* קישורי טקסט */
.cinfo a.fb-text{ color:#1877F2; font-weight:700; }
.cinfo a.fb-text:hover{ color:#0e63d6; }
.ig-text{ font-weight:700; background:linear-gradient(45deg,#fa7e1e,#d62976,#962fbf); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.fb-text svg, .ig-text svg{ width:1em; height:1em; vertical-align:-2px; margin-inline-end:.3em; }
