/* NOKK landings — shared design system.
   Per-page palette: override --nk-accent / --nk-bar / --nk-ink on :root. */
:root{
  --nk-accent:#2d6a4f;
  --nk-accent-ink:#ffffff;
  --nk-bar:rgba(12,14,13,.72);
  --nk-ink:#f4f1ea;
  --nk-wa:#25D366;
  --nk-serif:'Cormorant Garamond',Georgia,serif;
  --nk-sans:'Inter','Helvetica Neue',Arial,sans-serif;
}

/* ---------- unified sliding header ---------- */
.nk-header{
  position:fixed; top:0; left:0; right:0; z-index:1200;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:9px 12px;
  background:var(--nk-bar);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.10);
  transform:translateY(0);
  transition:transform .28s ease;
}
.nk-header--hidden{ transform:translateY(-105%); }
.nk-header-left{ display:flex; align-items:center; gap:8px; min-width:0; }
.nk-header-right{ display:flex; align-items:center; gap:8px; }
body[data-nk-offset]{ padding-top:58px; }

.nk-back{
  width:36px; height:36px; flex:0 0 36px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16);
  color:#fff; text-decoration:none; cursor:pointer; padding:0;
  transition:background .2s ease;
}
.nk-back:hover{ background:var(--nk-accent); color:var(--nk-accent-ink); }

/* legacy per-page controls replaced by the shared header */
.langbar, .lang-wrap, .nk-header ~ .back-btn, body > .back-btn,
.wa-sticky, .fab, body > .gallery-btn{ display:none !important; }
.actionbar{ position:static !important; }

.nk-lang{
  display:flex; gap:4px; padding:3px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
}
.nk-lang button{
  font-family:var(--nk-sans);
  font-size:11px; font-weight:600; letter-spacing:.08em;
  line-height:1; padding:7px 11px;
  border:0; border-radius:999px; cursor:pointer;
  background:transparent; color:rgba(255,255,255,.72);
  transition:background .2s ease,color .2s ease;
}
.nk-lang button:hover{ color:#fff; background:rgba(255,255,255,.12); }
.nk-lang button.active{ background:var(--nk-accent); color:var(--nk-accent-ink); }
.nk-lang button:focus-visible{ outline:2px solid var(--nk-accent); outline-offset:2px; }
@media (max-width:600px){
  .nk-lang button{ font-size:10px; padding:6px 9px; }
  .nk-header{ padding:7px 10px; }
}

/* ---------- gallery / photo button ---------- */
.nk-gallery-btn{
  position:static; transform:none;
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 13px; border-radius:999px;
  font-family:var(--nk-sans); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; text-decoration:none;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  transition:background .2s ease;
}
.nk-gallery-btn:hover{ background:var(--nk-accent); }
@media (max-width:600px){
  .nk-gallery-btn{ padding:7px 11px; font-size:10px; }
}

/* ---------- lightbox ---------- */
.nk-lightbox{
  position:fixed; inset:0; z-index:2000; display:none;
  align-items:center; justify-content:center;
  background:rgba(0,0,0,.94); padding:24px;
}
.nk-lightbox.open{ display:flex; }
.nk-lightbox img{ max-width:96vw; max-height:92vh; object-fit:contain; border-radius:4px; }
.nk-lightbox-close{
  position:absolute; top:16px; right:20px; z-index:1;
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08); color:#fff; font-size:22px; line-height:1; cursor:pointer;
}

/* ---------- unified CTA button ---------- */
.nk-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--nk-sans); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  padding:14px 30px; border-radius:999px; border:1px solid transparent;
  text-decoration:none; cursor:pointer;
  background:var(--nk-accent); color:var(--nk-accent-ink);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.nk-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.28); }
.nk-btn--wa{ background:var(--nk-wa); color:#08301b; }
.nk-btn--ghost{ background:transparent; color:var(--nk-ink); border-color:currentColor; }

/* ---------- floating WhatsApp ---------- */
.nk-wa-fab{
  position:fixed; right:18px; bottom:18px; z-index:1300;
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--nk-wa); color:#08301b; text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.32);
  transition:transform .2s ease;
}
.nk-wa-fab:hover{ transform:scale(1.07); }
.nk-wa-fab svg{ width:27px; height:27px; }

/* ---------- unified footer ---------- */
.nk-footer{
  background:#0c0e0d; color:rgba(255,255,255,.72);
  font-family:var(--nk-sans); font-size:12px; line-height:1.7;
  padding:38px 6vw 46px; text-align:center;
}
.nk-footer .nk-f-title{
  font-family:var(--nk-serif); font-size:22px; font-weight:400; letter-spacing:.08em;
  color:#fff; margin:0 0 6px;
}
.nk-footer .nk-f-loc{
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.5); margin-bottom:16px;
}
.nk-footer a{ color:rgba(255,255,255,.85); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); }
.nk-footer a:hover{ color:var(--nk-accent); }
.nk-footer .nk-f-links{ display:flex; flex-wrap:wrap; gap:10px 18px; justify-content:center; margin-bottom:14px; }
.nk-footer .nk-f-copy{ font-size:10.5px; color:rgba(255,255,255,.42); letter-spacing:.06em; }

/* ---------- carousel arrows / drag ---------- */
.nk-car-wrap{position:relative;}
.nk-car-wrap .carousel{cursor:grab;}
.nk-car-wrap .carousel.nk-dragging{cursor:grabbing;scroll-snap-type:none;}
.nk-car-btn{
  position:absolute;top:calc(50% - 26px);transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:rgba(15,15,15,.62);color:#fff;font-size:26px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;
  backdrop-filter:blur(6px);transition:opacity .2s,background .2s;
}
.nk-car-btn:hover{background:rgba(15,15,15,.85);}
.nk-car-prev{left:6px;}
.nk-car-next{right:6px;}
.nk-car-wrap.at-start .nk-car-prev,
.nk-car-wrap.at-end .nk-car-next,
.nk-car-wrap.no-scroll .nk-car-btn{opacity:0;pointer-events:none;}
@media (max-width:640px){ .nk-car-btn{width:36px;height:36px;font-size:21px;} }

/* ---------- lightbox nav ---------- */
.nk-lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.5);color:#fff;font-size:28px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:6;
}
.nk-lb-nav:hover{background:rgba(0,0,0,.8);}
.nk-lb-prev{left:14px;}
.nk-lb-next{right:14px;}
.nk-lb-count{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  color:#fff;font-size:12px;letter-spacing:.12em;background:rgba(0,0,0,.55);
  padding:5px 12px;border-radius:999px;z-index:6;
}
