/* ============================================================
   אירוח מצליח בכנרת — Design System
   Palette derived from the property photos: deep lake navy,
   turquoise water, warm sand & stone, ochre accent.
   ============================================================ */

:root{
  /* --- color --- */
  --deep:        #0B2A3A;   /* deep lake navy — headers, footer, scrims */
  --deep-2:      #10394D;
  --water:       #0E6E8C;   /* mid lake teal */
  --water-soft:  #E4F1F5;

  --gold:        #8A5A0B;   /* accessible ochre for text (>=4.5:1 on sand) */
  --gold-bright: #C98A16;   /* decorative / stars */
  --gold-soft:   #FBF1DC;

  --sand:        #FAF7F2;   /* page background */
  --sand-2:      #F3ECE2;   /* alt section background */
  --stone:       #E7DED1;   /* borders on sand */
  --line:        #E2DACE;

  --ink:         #14252E;   /* body text */
  --ink-soft:    #4A5C66;   /* muted text  — ≥6:1 on every light surface */
  --ink-faint:   #5A6B75;   /* finest text — ≥4.7:1 on every light surface */
  --white:       #FFFFFF;

  /* --- type --- */
  --font-display: 'Bellefair', 'Frank Ruhl Libre', Georgia, serif;
  --font-body:    'Assistant', 'Rubik', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* --- spacing (spacious scale) --- */
  --s-1: 6px;  --s-2: 12px; --s-3: 20px; --s-4: 28px;
  --s-5: 40px; --s-6: 56px; --s-7: 80px; --s-8: 112px;

  /* --- radius & shadow (Soft UI Evolution) --- */
  --r-sm: 8px; --r-md: 14px; --r-lg: 22px; --r-xl: 32px; --r-pill: 999px;
  --sh-1: 0 1px 2px rgba(11,42,58,.05), 0 2px 8px rgba(11,42,58,.05);
  --sh-2: 0 2px 6px rgba(11,42,58,.06), 0 10px 26px rgba(11,42,58,.08);
  --sh-3: 0 6px 14px rgba(11,42,58,.08), 0 24px 56px rgba(11,42,58,.13);

  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: 260ms;

  --wrap: 1200px;
  --header-h: 74px;
}

/* ============ RESET ============ */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top: calc(var(--header-h) + 12px); }
body{
  margin:0; background:var(--sand); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.65;
  font-weight:400; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
h1,h2,h3{ margin:0; line-height:1.2; font-weight:400; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

:focus-visible{ outline:3px solid var(--water); outline-offset:3px; border-radius:4px; }

.skip-link{
  position:absolute; inset-inline-start:-9999px; top:0; z-index:200;
  background:var(--deep); color:#fff; padding:12px 20px; border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{ inset-inline-start:0; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }

/* icons */
.ic{ width:20px; height:20px; flex:none; fill:none; stroke:currentColor;
     stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ic[data-fill]{ fill:currentColor; stroke:none; }

/* ============ TYPE SCALE ============ */
.eyebrow{
  font-size:13px; font-weight:600; letter-spacing:.14em;
  text-transform:none; color:var(--gold); margin-bottom:var(--s-2);
}
.section-head h2,
.hero-title, .final-content h2{
  font-family:var(--font-display);
  letter-spacing:.01em;
}
.section-head h2{ font-size:clamp(30px,4.6vw,50px); color:var(--deep); }
.lede{ margin-top:var(--s-3); color:var(--ink-soft); font-size:clamp(16px,1.7vw,19px); max-width:62ch; }
.section-head{ max-width:760px; margin-bottom:var(--s-6); }

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:48px; padding:0 24px; border:1px solid transparent;
  border-radius:var(--r-pill); cursor:pointer; font-weight:600; font-size:16px;
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease),
             border-color var(--dur) var(--ease), transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease);
  text-align:center;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-sm{ min-height:42px; padding:0 18px; font-size:15px; }
.btn-lg{ min-height:56px; padding:0 34px; font-size:17px; }
.btn-block{ width:100%; }

.btn-primary{ background:var(--deep); color:#fff; box-shadow:var(--sh-2); }
.btn-primary:hover{ background:var(--deep-2); box-shadow:var(--sh-3); }

.btn-outline{ background:transparent; color:var(--deep); border-color:var(--stone); }
.btn-outline:hover{ border-color:var(--deep); background:var(--white); box-shadow:var(--sh-1); }

.btn-ghost{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.55); backdrop-filter:blur(6px); }
.btn-ghost:hover{ background:rgba(255,255,255,.22); border-color:#fff; }

.btn-wa{ background:#157F41; color:#fff; box-shadow:var(--sh-2); }  /* 5.07:1 with white */
.btn-wa:hover{ background:#116A36; }
.btn-wa .ic{ stroke:none; fill:currentColor; }

/* ============ HEADER ============ */
.site-header{
  position:fixed; inset-inline:0; top:0; z-index:100;
  transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-stuck{
  background:rgba(250,247,242,.92); backdrop-filter:saturate(1.6) blur(14px);
  border-bottom-color:var(--line); box-shadow:0 2px 20px rgba(11,42,58,.07);
}
.header-inner{ display:flex; align-items:center; gap:var(--s-4); height:var(--header-h); }

.brand{ display:flex; align-items:center; gap:11px; color:#fff; transition:color var(--dur) var(--ease); }
.site-header.is-stuck .brand{ color:var(--deep); }
.brand-mark{
  width:40px; height:40px; flex:none; display:grid; place-items:center;
  border-radius:12px; border:1px solid currentColor; opacity:.95;
}
.brand-mark svg{ width:22px; height:22px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-text strong{ font-family:var(--font-display); font-size:21px; font-weight:400; letter-spacing:.02em; }
.brand-text small{ font-size:11.5px; opacity:.75; letter-spacing:.05em; }

.main-nav{ display:flex; gap:var(--s-4); margin-inline-start:auto; }
.main-nav a{
  position:relative; color:rgba(255,255,255,.92); font-size:15.5px; font-weight:500;
  padding-block:6px; transition:color var(--dur) var(--ease);
}
.site-header.is-stuck .main-nav a{ color:var(--ink-soft); }
.main-nav a::after{
  content:''; position:absolute; inset-inline:0; bottom:0; height:1.5px;
  background:currentColor; transform:scaleX(0); transform-origin:100% 50%;
  transition:transform var(--dur) var(--ease);
}
.main-nav a:hover{ color:#fff; }
.site-header.is-stuck .main-nav a:hover{ color:var(--deep); }
.main-nav a:hover::after, .main-nav a.is-active::after{ transform:scaleX(1); }
.main-nav a.is-active{ color:#fff; }
.site-header.is-stuck .main-nav a.is-active{ color:var(--gold); }

/* --- בורר שפה --- */
.lang-switch{
  display:flex; flex:none; gap:2px; padding:3px; border-radius:var(--r-pill);
  background:rgba(11,42,58,.07);
}
.site-header:not(.is-stuck) .lang-switch{ background:rgba(255,255,255,.16); }
.lang-switch button{
  border:0; background:none; cursor:pointer; padding:5px 11px;
  border-radius:var(--r-pill); font-size:13px; font-weight:700;
  color:inherit; opacity:.68; transition:background var(--dur) var(--ease), opacity var(--dur);
  line-height:1.4;
}
.lang-switch button:hover{ opacity:1; }
.lang-switch button[aria-pressed="true"]{
  background:var(--white); color:var(--deep); opacity:1; box-shadow:var(--sh-1);
}

.header-cta{ flex:none; }
.site-header:not(.is-stuck) .header-cta{
  background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.6);
  backdrop-filter:blur(6px); box-shadow:none;
}
.site-header:not(.is-stuck) .header-cta:hover{ background:rgba(255,255,255,.26); }

.nav-toggle{
  display:none; width:46px; height:46px; border:0; background:transparent;
  cursor:pointer; padding:11px; flex-direction:column; justify-content:space-between;
}
.nav-toggle span{ display:block; height:2px; background:#fff; border-radius:2px; transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease); }
.site-header.is-stuck .nav-toggle span{ background:var(--deep); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(9px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-9px) rotate(-45deg); }

.mobile-nav{
  display:none; flex-direction:column; gap:2px; padding:var(--s-3) 24px var(--s-4);
  background:var(--sand); border-bottom:1px solid var(--line);
  box-shadow:var(--sh-2);
}
.mobile-nav a{ padding:14px 4px; font-size:17px; font-weight:500; border-bottom:1px solid var(--line); }
.mobile-nav a:last-child{ border:0; margin-top:var(--s-3); }

/* ============ HERO ============ */
.hero{ position:relative; min-height:min(100svh,900px); display:flex; align-items:flex-end; overflow:hidden; }
.hero-media{ position:absolute; inset:0; }
.hero-media img{ width:100%; height:100%; object-fit:cover; object-position:center 45%;
  animation:heroZoom 16s var(--ease) forwards; }
@keyframes heroZoom{ from{ transform:scale(1.08); } to{ transform:scale(1); } }

.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(to top, rgba(6,25,35,.92) 0%, rgba(6,25,35,.55) 38%, rgba(6,25,35,.18) 66%, rgba(6,25,35,.42) 100%);
}
.hero-content{ position:relative; z-index:2; color:#fff; padding-block:var(--s-7) var(--s-6); }
.hero-content .eyebrow{ color:var(--gold-bright); }

.hero-title{ font-size:clamp(44px,8vw,92px); line-height:1.02; letter-spacing:.01em; }
.hero-title em{ font-style:normal; color:var(--gold-bright); }
.hero-sub{ margin-top:var(--s-3); max-width:52ch; font-size:clamp(17px,2vw,21px); color:rgba(255,255,255,.9); }

.hero-actions{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-5); }

.hero-proof{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-3) var(--s-5);
  margin-top:var(--s-6); padding-top:var(--s-4); border-top:1px solid rgba(255,255,255,.22);
}
.score-chip{ display:flex; align-items:center; gap:12px; }
.score-num{
  display:grid; place-items:center; width:56px; height:56px; flex:none;
  background:var(--gold-bright); color:var(--deep); border-radius:14px 14px 14px 4px;
  font-family:var(--font-display); font-size:26px; font-weight:400;
}
.score-meta{ display:flex; flex-direction:column; line-height:1.3; }
.score-meta strong{ font-size:16px; }
.score-meta small{ font-size:13px; color:rgba(255,255,255,.75); }

.hero-facts{ display:flex; flex-wrap:wrap; gap:var(--s-2) var(--s-4); }
.hero-facts li{ display:flex; align-items:center; gap:8px; font-size:15px; color:rgba(255,255,255,.92); }
.hero-facts .ic{ width:18px; height:18px; color:var(--gold-bright); }

.scroll-cue{
  position:absolute; inset-inline-start:50%; bottom:22px; z-index:2;
  width:26px; height:42px; border:1.5px solid rgba(255,255,255,.5); border-radius:14px;
  translate:-50% 0; display:grid; place-items:start center; padding-top:8px;
}
.scroll-cue span{ width:3px; height:8px; border-radius:2px; background:rgba(255,255,255,.85);
  animation:cue 1.9s var(--ease) infinite; }
@keyframes cue{ 0%,100%{ transform:translateY(0); opacity:1 } 50%{ transform:translateY(11px); opacity:.25 } }

/* ============ SCORES ============ */
.scores{ background:var(--deep); color:#fff; padding-block:var(--s-5); }
.score-grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:var(--s-3);
  text-align:center;
}
.score-grid li{ display:flex; flex-direction:column; gap:2px;
  border-inline-start:1px solid rgba(255,255,255,.14); padding-inline:8px; }
.score-grid li:first-child{ border:0; }
.s-val{ font-family:var(--font-display); font-size:clamp(28px,3.4vw,38px); color:var(--gold-bright); }
.s-lbl{ font-size:13.5px; color:rgba(255,255,255,.72); }
.scores-note{ margin-top:var(--s-4); text-align:center; font-size:13.5px; color:rgba(255,255,255,.6); }

/* ============ SECTIONS ============ */
.section{ padding-block:var(--s-8); }
.section-alt{ background:var(--sand-2); }

/* ============ FEATURES ============ */
.feature-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:var(--s-4); }
.feature{
  grid-column:span 2; background:var(--white); border:1px solid var(--line);
  border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-1);
  display:flex; flex-direction:column;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.feature-wide{ grid-column:span 4; }
.feature-wide .feature-img{ aspect-ratio:21/9; }
.feature:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); }
.feature-img{ aspect-ratio:16/10; overflow:hidden; }
.feature-img img{ width:100%; height:100%; object-fit:cover; transition:transform 600ms var(--ease); }
.feature:hover .feature-img img{ transform:scale(1.05); }
.feature-body{ padding:var(--s-4); }
.feature-ic{
  display:grid; place-items:center; width:44px; height:44px; margin-bottom:var(--s-3);
  border-radius:12px; background:var(--water-soft); color:var(--water);
}
.feature-body h3{ font-family:var(--font-display); font-size:26px; color:var(--deep); margin-bottom:10px; }
.feature-body p{ color:var(--ink-soft); font-size:16px; }

/* ============ GALLERY ============ */
.filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:var(--s-4); }
.chip{
  min-height:44px; padding:0 18px; border-radius:var(--r-pill);
  border:1px solid var(--stone); background:var(--white); color:var(--ink-soft);
  cursor:pointer; font-size:15px; font-weight:500;
  transition:all var(--dur) var(--ease);
}
.chip:hover{ border-color:var(--deep); color:var(--deep); }
.chip.is-active{ background:var(--deep); border-color:var(--deep); color:#fff; }

.gallery{
  display:grid; grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px; gap:14px; grid-auto-flow:dense;
}
.g-item{
  position:relative; overflow:hidden; border-radius:var(--r-md); cursor:pointer;
  border:0; padding:0; background:var(--stone); display:block;
  transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.g-item.tall{ grid-row:span 2; }
.g-item.wide{ grid-column:span 2; }
.g-item img{ width:100%; height:100%; object-fit:cover; transition:transform 600ms var(--ease); }
.g-item:hover img{ transform:scale(1.06); }
.g-item::after{
  content:''; position:absolute; inset:0; opacity:0;
  background:linear-gradient(to top, rgba(6,25,35,.7), transparent 55%);
  transition:opacity var(--dur) var(--ease);
}
.g-item:hover::after, .g-item:focus-visible::after{ opacity:1; }
.g-cap{
  position:absolute; inset-inline:14px; bottom:12px; z-index:2; color:#fff;
  font-size:14.5px; font-weight:500; text-align:start;
  opacity:0; transform:translateY(6px);
  transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.g-item:hover .g-cap, .g-item:focus-visible .g-cap{ opacity:1; transform:translateY(0); }
.g-zoom{
  position:absolute; inset-block-start:12px; inset-inline-end:12px; z-index:2;
  width:34px; height:34px; display:grid; place-items:center; border-radius:50%;
  background:rgba(255,255,255,.9); color:var(--deep); opacity:0; transform:scale(.8);
  transition:all var(--dur) var(--ease);
}
.g-item:hover .g-zoom, .g-item:focus-visible .g-zoom{ opacity:1; transform:scale(1); }
.g-zoom .ic{ width:16px; height:16px; }
.g-item.is-hidden{ display:none; }

/* ============ UNITS ============ */
.units-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s-4); }
.unit-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh-1); display:flex; flex-direction:column;
}
.unit-img{ aspect-ratio:16/9; overflow:hidden; }
.unit-img img{ width:100%; height:100%; object-fit:cover; }
.unit-body{ padding:var(--s-4); display:flex; flex-direction:column; gap:var(--s-3); flex:1; }
.unit-body h3{ font-family:var(--font-display); font-size:28px; color:var(--deep); }
.beds{ display:flex; flex-direction:column; gap:9px; }
.beds li{ display:flex; align-items:center; gap:10px; font-size:16px; color:var(--ink); }
.beds .ic{ color:var(--water); width:19px; height:19px; }
.tags{ display:flex; flex-wrap:wrap; gap:7px; }
.tags li{
  font-size:13.5px; padding:5px 12px; border-radius:var(--r-pill);
  background:var(--sand-2); color:var(--ink-soft); border:1px solid var(--line);
}
.unit-note{
  display:flex; gap:10px; font-size:14.5px; color:var(--ink-soft);
  background:var(--gold-soft); border:1px solid #EFDFBE; border-radius:var(--r-md);
  padding:13px 15px;
}
.unit-note .ic{ color:var(--gold); width:18px; height:18px; margin-top:3px; }
.unit-body .btn{ margin-top:auto; }

/* ============ AMENITIES ============ */
.amen-cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-4); }
.amen-group h3{
  font-family:var(--font-display); font-size:23px; color:var(--deep);
  padding-bottom:12px; margin-bottom:var(--s-3); border-bottom:2px solid var(--stone);
}
.amen-list{ display:flex; flex-direction:column; gap:13px; }
.amen-list li{ display:flex; gap:11px; font-size:15.5px; color:var(--ink-soft); line-height:1.5; }
.amen-list .ic{ color:var(--water); margin-top:2px; width:19px; height:19px; }

/* ============ REVIEWS ============ */
.rev-summary{
  display:grid; grid-template-columns:auto 1fr; gap:var(--s-6); align-items:center;
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:var(--s-4) var(--s-5); box-shadow:var(--sh-1); margin-bottom:var(--s-5);
}
.rev-score{ display:flex; flex-direction:column; align-items:center; gap:5px; padding-inline-end:var(--s-5);
  border-inline-end:1px solid var(--line); }
.rev-num{ font-family:var(--font-display); font-size:60px; line-height:1; color:var(--deep); }
.rev-stars{ display:flex; gap:3px; color:var(--gold-bright); }
.rev-stars .ic{ width:17px; height:17px; fill:currentColor; stroke:none; }
.rev-cap{ font-size:14px; color:var(--ink-soft); }

.rev-bars{ display:flex; flex-direction:column; gap:11px; }
.rev-bar{ display:grid; grid-template-columns:120px 1fr 40px; align-items:center; gap:14px; font-size:14.5px; }
.rev-bar .rb-label{ color:var(--ink-soft); }
.rev-bar .rb-track{ height:8px; border-radius:4px; background:var(--sand-2); overflow:hidden; }
.rev-bar .rb-fill{ height:100%; border-radius:4px; background:linear-gradient(90deg,var(--water),#2A9CBC);
  width:0; transition:width 900ms var(--ease); }
.rev-bar .rb-val{ font-weight:600; color:var(--deep); text-align:start; }

.reviews-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s-3); }
.review{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:var(--s-4); box-shadow:var(--sh-1); display:flex; flex-direction:column; gap:var(--s-2);
}
.rv-head{ display:flex; align-items:flex-start; gap:13px; }
.rv-avatar{
  width:46px; height:46px; flex:none; border-radius:50%; display:grid; place-items:center;
  background:var(--water-soft); color:var(--water); font-weight:700; font-size:18px;
}
.rv-who{ flex:1; min-width:0; }
.rv-who strong{ display:block; font-size:16.5px; color:var(--deep); font-weight:600; }
.rv-who span{ font-size:13.5px; color:var(--ink-faint); }
.rv-badge{
  flex:none; min-width:46px; height:34px; padding-inline:10px; display:grid; place-items:center;
  border-radius:10px 10px 10px 3px; background:var(--deep); color:#fff;
  font-weight:600; font-size:15px;
}
.rv-badge[data-tone="mid"]{ background:var(--gold); }
.rv-title{ font-family:var(--font-display); font-size:23px; color:var(--deep); }
.rv-quote{ position:relative; color:var(--ink); font-size:16px; padding-inline-start:26px; }
.rv-quote .ic{ position:absolute; inset-inline-start:0; top:3px; width:18px; height:18px;
  color:var(--stone); fill:currentColor; stroke:none; }
.rv-orig{ font-size:14.5px; color:var(--ink-faint); line-height:1.6; padding-inline-start:26px;
  border-top:1px dashed var(--line); padding-top:11px; }
.rv-orig b{ display:block; font-size:12px; letter-spacing:.06em; color:var(--ink-faint);
  font-weight:600; margin-bottom:3px; }
.rv-meta{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:var(--s-2); }
.rv-meta span{ font-size:12.5px; padding:4px 10px; border-radius:var(--r-pill);
  background:var(--sand-2); color:var(--ink-soft); }

.reviews-brief{ margin-top:var(--s-5); }
.reviews-brief h3{ font-family:var(--font-display); font-size:24px; color:var(--deep); margin-bottom:var(--s-3); }
.brief-list{ display:flex; flex-wrap:wrap; gap:10px; }
.brief-list li{
  display:flex; align-items:center; gap:10px; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-pill); padding:8px 8px 8px 16px;
  font-size:14.5px; color:var(--ink-soft);
}
.brief-list b{ background:var(--deep); color:#fff; border-radius:var(--r-pill);
  padding:3px 11px; font-size:13.5px; font-weight:600; }
.brief-list b[data-tone="mid"]{ background:var(--gold); }

/* ============ LOCATION ============ */
.loc-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:var(--s-5); align-items:start; }
.loc-media{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); aspect-ratio:4/3; }
.loc-media img{ width:100%; height:100%; object-fit:cover; }
.loc-lists{ display:flex; flex-direction:column; gap:var(--s-4); }
.loc-block h3{ display:flex; align-items:center; gap:10px; font-family:var(--font-display);
  font-size:23px; color:var(--deep); margin-bottom:var(--s-2); }
.loc-block h3 .ic{ color:var(--gold); }
.dist-list li{
  display:flex; align-items:baseline; gap:12px; padding:11px 0;
  border-bottom:1px solid var(--line); font-size:16px;
}
.dist-list li span{ color:var(--ink); }
.dist-list li::before{
  content:''; flex:1; order:2; height:1px; margin-block-end:5px;
  background:repeating-linear-gradient(90deg,var(--stone) 0 3px,transparent 3px 7px);
}
.dist-list li b{ order:3; color:var(--water); font-weight:600; white-space:nowrap; }
.loc-note{ font-size:13.5px; color:var(--ink-faint); }

/* ============ BOOKING ============ */
.booking{ background:var(--deep); color:#fff; }
.booking-shell{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-6); align-items:start; }
.booking-copy .eyebrow{ color:var(--gold-bright); }
.booking-copy h2{ font-family:var(--font-display); font-size:clamp(30px,4.4vw,48px); }
.booking-copy .lede{ color:rgba(255,255,255,.78); }
.booking-points{ display:flex; flex-direction:column; gap:var(--s-3); margin-top:var(--s-5); }
.booking-points li{ display:flex; gap:14px; align-items:flex-start; }
.booking-points .ic{ color:var(--gold-bright); margin-top:3px; }
.booking-points strong{ display:block; font-size:16.5px; }
.booking-points span{ font-size:14.5px; color:rgba(255,255,255,.65); }

.booking-form{
  background:var(--sand); color:var(--ink); border-radius:var(--r-xl);
  padding:var(--s-5); box-shadow:var(--sh-3);
}
.bf-title{ font-family:var(--font-display); font-size:27px; color:var(--deep); margin-bottom:var(--s-4); }
.field{ margin-bottom:var(--s-3); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-2); }
.field label{ display:block; font-size:14.5px; font-weight:600; color:var(--deep); margin-bottom:7px; }
.field label .opt{ font-weight:400; color:var(--ink-faint); }
.field input, .field select, .field textarea{
  width:100%; min-height:50px; padding:12px 15px; background:var(--white);
  border:1px solid var(--stone); border-radius:var(--r-md); font-size:16px;
  transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.field textarea{ min-height:auto; resize:vertical; }
.field input:hover, .field select:hover, .field textarea:hover{ border-color:var(--ink-faint); }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:0; border-color:var(--water); box-shadow:0 0 0 3px rgba(14,110,140,.16);
}
.field input::placeholder, .field textarea::placeholder{ color:var(--ink-faint); }
.field.has-error input, .field.has-error select{ border-color:#C0392B; }
.err{ margin-top:6px; font-size:13.5px; color:#C0392B; font-weight:500; }

.nights{
  margin:0 0 var(--s-3); padding:11px 15px; border-radius:var(--r-md);
  background:var(--water-soft); color:#0A5468; font-size:14.5px; font-weight:600;
}
.send-label{ font-size:14.5px; font-weight:600; color:var(--deep); margin:var(--s-3) 0 10px; }
.send-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:10px; }
.send-grid .btn{ padding-inline:12px; font-size:15px; }
.form-note{ margin-top:var(--s-3); font-size:13.5px; color:var(--ink-faint); text-align:center; }
.form-status{ margin-top:10px; font-size:14.5px; font-weight:600; color:var(--water); text-align:center; }
.form-status.is-bad{ color:#C0392B; }

/* ============ יומן הזמנות ============ */
.cal-wrap{
  border:1.5px solid var(--stone); border-radius:var(--r-md);
  background:var(--white); padding:var(--s-2) var(--s-2) 10px;
}

.cal-bar{ display:flex; align-items:center; gap:8px; margin-bottom:var(--s-2); }
.cal-range{
  flex:1; text-align:center; font-size:14.5px; font-weight:600; color:var(--deep);
}
.cal-nav{
  width:36px; height:36px; flex:none; border-radius:var(--r-sm);
  border:1px solid var(--stone); background:var(--white); cursor:pointer;
  font-size:19px; line-height:1; color:var(--deep);
  display:grid; place-items:center; transition:background var(--dur) var(--ease);
}
.cal-nav:hover:not(:disabled){ background:var(--sand-2); }
.cal-nav:disabled{ opacity:.32; cursor:not-allowed; }

.cal-months{ display:grid; grid-template-columns:1fr; gap:var(--s-3); }
@media (min-width:720px){ .cal-months{ grid-template-columns:1fr 1fr; } }

.cal-title{
  margin:0 0 8px; text-align:center; font-size:15px; font-weight:600;
  color:var(--ink-soft); font-family:var(--font-body);
}
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.c-dow{
  text-align:center; font-size:11.5px; font-weight:700;
  color:var(--ink-faint); padding-bottom:3px;
}
.c-pad{ aspect-ratio:1; }

.c-day{
  aspect-ratio:1; border:1px solid transparent; border-radius:var(--r-sm);
  background:var(--white); color:var(--ink); cursor:pointer; padding:0;
  font-size:14.5px; font-weight:500; display:grid; place-items:center;
  transition:background .14s var(--ease), color .14s var(--ease);
}
.c-day:hover:not(:disabled){ background:var(--water-soft); }
.c-day:disabled{ cursor:not-allowed; }
.c-day.is-past{ color:#BFC7CB; }
.c-day.is-busy{
  color:#B8BFC3; background:var(--sand-2);
  text-decoration:line-through; text-decoration-thickness:1.5px;
}
.c-day.is-mid{ background:var(--water-soft); border-radius:0; }
/* לילה תפוס שעדיין אפשר לעזוב בבוקרו — חצי פנוי, חצי תפוס */
.c-day.is-edge{
  background:linear-gradient(135deg, var(--white) 0 48%, var(--sand-2) 52% 100%);
  border-color:var(--stone);
}
.c-day.is-in, .c-day.is-out{
  background:var(--deep); color:#fff; font-weight:700;
}
.c-day.is-in:hover, .c-day.is-out:hover{ background:var(--deep-2); }

.cal-loading{
  grid-column:1 / -1; text-align:center; color:var(--ink-faint);
  font-size:14.5px; padding:var(--s-4) 0;
}

.cal-foot{
  display:flex; align-items:center; gap:var(--s-3);
  margin-top:var(--s-2); padding-top:10px; border-top:1px solid var(--line);
  font-size:12.5px; color:var(--ink-faint);
}
.cal-key i{
  width:11px; height:11px; border-radius:3px; display:inline-block;
  margin-inline-end:5px; vertical-align:-1px; border:1px solid var(--stone);
}
.cal-key .k-free{ background:var(--white); }
.cal-key .k-busy{ background:var(--sand-2); }
.cal-clear{
  margin-inline-start:auto; background:none; border:0; cursor:pointer;
  color:var(--water); font-size:13px; font-weight:600; text-decoration:underline;
  padding:2px 4px;
}

/* ============ פירוט מחיר ============ */
.quote{
  margin:var(--s-3) 0; padding:var(--s-3);
  background:var(--water-soft); border-radius:var(--r-md);
}
.q-head{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:10px; flex-wrap:wrap; font-size:14.5px; font-weight:600; color:#0A5468;
}
.q-avg{ font-weight:400; color:var(--ink-soft); font-size:13.5px; }
.q-units{ margin:12px 0 0; padding:0; list-style:none; }
.q-units li{
  display:flex; justify-content:space-between; gap:10px;
  font-size:14.5px; padding:5px 0; color:var(--ink-soft);
}
.q-total{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-top:12px; padding-top:12px; border-top:1px solid rgba(10,84,104,.18);
  font-size:16px; color:var(--deep);
}
.q-total b{ font-size:23px; font-family:var(--font-display); }
.q-note{ margin-top:8px; font-size:12.5px; color:var(--ink-faint); }
.q-loading{ font-size:14.5px; color:var(--ink-soft); text-align:center; }
.q-err{ font-size:14.5px; color:#C0392B; font-weight:600; text-align:center; }

/* ============ כפתור ההזמנה ============ */
.btn-book{
  width:100%; background:var(--deep); color:#fff; box-shadow:var(--sh-2);
  padding-block:15px; font-size:17px;
}
.btn-book:hover{ background:var(--deep-2); }
.btn-book:disabled{ opacity:.6; cursor:wait; }

/* ============ אישור ============ */
.booked{ text-align:center; padding:var(--s-3) 0; }
.booked-mark{
  width:58px; height:58px; margin:0 auto var(--s-3); border-radius:50%;
  background:var(--water-soft); color:#0A5468; display:grid; place-items:center;
}
.booked-mark .ic{ width:28px; height:28px; stroke-width:2.4; }
.booked h3{ font-family:var(--font-display); font-size:29px; color:var(--deep); }
.booked > p{ margin-top:10px; color:var(--ink-soft); }
.booked-facts{
  margin:var(--s-4) 0 0; display:grid; gap:1px; text-align:start;
  background:var(--line); border:1px solid var(--line); border-radius:var(--r-md);
  overflow:hidden;
}
.booked-facts > div{
  display:flex; justify-content:space-between; gap:12px;
  background:var(--white); padding:11px 15px; font-size:15px;
}
.booked-facts dt{ color:var(--ink-faint); }
.booked-facts dd{ margin:0; font-weight:600; }
.booked-note{ margin-top:var(--s-3); font-size:13.5px; color:var(--ink-faint); }

/* ============ RULES ============ */
.rules-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-3); }
.rule{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:var(--s-4); box-shadow:var(--sh-1);
}
.rule .ic{ color:var(--gold); width:24px; height:24px; margin-bottom:var(--s-2); }
.rule h3{ font-size:17px; font-weight:600; color:var(--deep); margin-bottom:7px; }
.rule p{ font-size:14.5px; color:var(--ink-soft); }

/* ============ FINAL CTA ============ */
.final-cta{ position:relative; min-height:440px; display:grid; place-items:center; overflow:hidden; }
.final-media{ position:absolute; inset:0; }
.final-media img{ width:100%; height:100%; object-fit:cover; }
.final-scrim{ position:absolute; inset:0; background:linear-gradient(to top,rgba(6,25,35,.85),rgba(6,25,35,.5)); }
.final-content{ position:relative; z-index:2; text-align:center; color:#fff; padding-block:var(--s-7); }
.final-content h2{ font-size:clamp(30px,5vw,52px); }
.final-content p{ margin:var(--s-3) auto var(--s-5); max-width:46ch; color:rgba(255,255,255,.85); font-size:18px; }

/* ============ FOOTER ============ */
.site-footer{ background:var(--deep); color:rgba(255,255,255,.72); padding-block:var(--s-6) var(--s-4); }
.footer-inner{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:var(--s-5); }
.f-brand strong{ display:block; font-family:var(--font-display); font-size:24px; color:#fff; margin-bottom:11px; font-weight:400; }
.f-brand p{ font-size:15px; line-height:1.7; }
.f-nav{ display:flex; flex-direction:column; gap:10px; }
.f-nav a, .f-link{ font-size:15px; transition:color var(--dur) var(--ease); }
.f-nav a:hover, .f-link:hover{ color:var(--gold-bright); }
.f-contact{ display:flex; flex-direction:column; gap:12px; }
.f-link{ display:flex; align-items:center; gap:10px; }
.f-link .ic{ width:18px; height:18px; }
#fWa .ic{ fill:currentColor; stroke:none; }
.footer-bottom{ margin-top:var(--s-5); padding-top:var(--s-3); border-top:1px solid rgba(255,255,255,.13); }
.footer-bottom p{ font-size:13px; color:rgba(255,255,255,.62); text-align:center; }

/* ============ MOBILE STICKY CTA ============ */
.mobile-cta{
  position:fixed; inset-inline:0; bottom:0; z-index:90; display:none; gap:10px;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  background:rgba(250,247,242,.95); backdrop-filter:blur(14px);
  border-top:1px solid var(--line); box-shadow:0 -4px 24px rgba(11,42,58,.1);
  transform:translateY(110%); transition:transform 320ms var(--ease);
}
.mobile-cta.is-visible{ transform:translateY(0); }
.mobile-cta .btn{ flex:1; min-height:50px; }

/* ============ LIGHTBOX ============ */
.lightbox{
  position:fixed; inset:0; z-index:200; display:grid; place-items:center;
  background:rgba(6,20,28,.96); padding:64px 20px;
  opacity:0; transition:opacity 240ms var(--ease);
  pointer-events:none;          /* הגנה שנייה: גם אם display לא נתפס, לא חוסם לחיצות */
}
/* חובה: display:grid גובר על תכונת hidden מה-HTML, ואז הלייטבוקס
   פרוס כשכבה שקופה על כל הדף וחוסם כל לחיצה וכל ריחוף באתר. */
.lightbox[hidden]{ display:none !important; }
.lightbox.is-open{ opacity:1; pointer-events:auto; }
.lb-figure{ margin:0; max-width:min(1200px,100%); max-height:100%; display:flex; flex-direction:column; gap:14px; }
.lb-figure img{
  max-width:100%; max-height:calc(100svh - 160px); width:auto; margin-inline:auto;
  border-radius:var(--r-md); box-shadow:0 30px 80px rgba(0,0,0,.55); object-fit:contain;
}
.lb-figure figcaption{ display:flex; justify-content:center; align-items:center; gap:14px;
  color:rgba(255,255,255,.85); font-size:15px; text-align:center; }
.lb-count{ color:rgba(255,255,255,.5); font-size:14px; font-variant-numeric:tabular-nums; }

.lb-close, .lb-nav{
  position:absolute; z-index:2; display:grid; place-items:center;
  width:50px; height:50px; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff;
  transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.lb-close:hover, .lb-nav:hover{ background:rgba(255,255,255,.26); transform:scale(1.06); }
.lb-close{ top:18px; inset-inline-end:18px; }
.lb-nav{ top:50%; translate:0 -50%; }
.lb-prev{ inset-inline-end:18px; }   /* RTL: previous sits on the right */
.lb-next{ inset-inline-start:18px; }
.lb-close .ic, .lb-nav .ic{ width:22px; height:22px; }
body.lb-lock{ overflow:hidden; }

/* ============ REVEAL ANIMATION ============ */
.reveal{ opacity:0; transform:translateY(22px); }
.reveal.is-in{
  opacity:1; transform:none;
  transition:opacity 620ms var(--ease), transform 620ms var(--ease);
}
.reveal[data-delay="1"].is-in{ transition-delay:80ms }
.reveal[data-delay="2"].is-in{ transition-delay:160ms }
.reveal[data-delay="3"].is-in{ transition-delay:240ms }
.reveal[data-delay="4"].is-in{ transition-delay:320ms }
.reveal[data-delay="5"].is-in{ transition-delay:400ms }
.reveal[data-delay="6"].is-in{ transition-delay:480ms }
.reveal[data-delay="7"].is-in{ transition-delay:560ms }

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .feature, .feature-wide{ grid-column:span 3; }
  .feature-wide .feature-img{ aspect-ratio:16/10; }
  .amen-cols{ grid-template-columns:repeat(2,1fr); gap:var(--s-5) var(--s-4); }
  .rules-grid{ grid-template-columns:repeat(3,1fr); }
  .gallery{ grid-template-columns:repeat(3,1fr); }
  .score-grid{ grid-template-columns:repeat(3,1fr); row-gap:var(--s-4); }
  .score-grid li:nth-child(3n+1){ border-inline-start:0; }
}

@media (max-width:920px){
  .main-nav, .header-cta{ display:none; }
  .nav-toggle{ display:flex; margin-inline-start:auto; }
  .mobile-nav{ display:flex; }
  .mobile-nav[hidden]{ display:none; }
  .mobile-cta{ display:flex; }

  .booking-shell{ grid-template-columns:1fr; gap:var(--s-5); }
  .loc-grid{ grid-template-columns:1fr; }
  .units-grid{ grid-template-columns:1fr; }
  .reviews-grid{ grid-template-columns:1fr; }
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .rev-summary{ grid-template-columns:1fr; gap:var(--s-4); padding:var(--s-4); }
  .rev-score{ flex-direction:row; align-items:center; gap:14px; padding-inline-end:0;
    border-inline-end:0; border-bottom:1px solid var(--line); padding-bottom:var(--s-3); }
  .rev-num{ font-size:44px; }
  body{ padding-bottom:78px; }
}

@media (max-width:720px){
  :root{ --s-7:56px; --s-8:64px; }
  .wrap{ padding-inline:18px; }
  .feature, .feature-wide{ grid-column:span 6; }
  .feature-grid{ gap:var(--s-3); }
  .gallery{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; gap:10px; }
  .g-item.wide{ grid-column:span 2; }
  .rules-grid{ grid-template-columns:repeat(2,1fr); }
  .amen-cols{ grid-template-columns:1fr; }
  .hero-proof{ gap:var(--s-3); }
  .hero-facts{ gap:10px var(--s-3); }
  .booking-form{ padding:var(--s-4); }
  .send-grid{ grid-template-columns:1fr; }
  .field-row{ grid-template-columns:1fr; gap:0; }
  .rev-bar{ grid-template-columns:98px 1fr 34px; gap:10px; font-size:13.5px; }
  .footer-inner{ grid-template-columns:1fr; gap:var(--s-4); }
  .scroll-cue{ display:none; }
  .lightbox{ padding:70px 12px; }
  .lb-nav{ top:auto; bottom:16px; translate:0 0; width:46px; height:46px; }
  .lb-prev{ inset-inline-end:calc(50% + 8px); }
  .lb-next{ inset-inline-start:calc(50% + 8px); }
  .lb-figure figcaption{ padding-bottom:60px; }
}

@media (max-width:420px){
  .score-grid{ grid-template-columns:repeat(2,1fr); }
  .score-grid li:nth-child(3n+1){ border-inline-start:1px solid rgba(255,255,255,.14); }
  .score-grid li:nth-child(odd){ border-inline-start:0; }
  .rules-grid{ grid-template-columns:1fr; }
}

/* ============ MOTION / PRINT ============ */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .reveal{ opacity:1; transform:none; }
  .hero-media img{ animation:none; }
}

@media print{
  .site-header,.mobile-cta,.scroll-cue,.lightbox,.filters{ display:none !important; }
  .reveal{ opacity:1; transform:none; }
  body{ background:#fff; }
}

/* קיצור דרך לזירוז האישור, מוצג אחרי שליחת בקשת הזמנה */
.booked-rush{
  margin-top:var(--s-4); padding-top:var(--s-4);
  border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  gap:10px; flex-wrap:wrap;
}
.booked-rush span{ font-size:14.5px; color:var(--ink-soft); font-weight:600; }
