/* ============================================================
   SeaRendipity — Global chrome (header + footer)
   Phase 2. Depends on css/tokens.css.
   Header is position:fixed (spans full viewport regardless of the
   legacy 960px #page container). Footer lives inside full-width
   #background, so it also spans full width. No DOM restructuring
   was needed beyond swapping the header/footer markup.
   ============================================================ */

:root {
  --header-h: 72px;
}

/* Push legacy/interior content below the fixed header.
   The home page (body.has-hero) intentionally lets the hero sit
   beneath a transparent overlay nav, so it gets no padding. */
body:not(.has-hero) #background {
  padding-top: var(--header-h);
}

/* ------------------------------ HEADER ------------------------------ */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-header);
  background: linear-gradient(180deg, rgba(0, 40, 50, 0.55) 0%, rgba(0, 40, 50, 0) 100%);
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.site-header.nav-scrolled {
  background: linear-gradient(90deg, var(--color-teal-deep), var(--color-teal));
  box-shadow: 0 2px 18px rgba(0, 40, 50, 0.28);
}

.site-header__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  min-height: var(--header-h);
  padding: 0 var(--container-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.site-brand {
  font-family: var(--font-brand);
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2rem);
  line-height: 1;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.35em 0;
}
.site-brand:hover { color: var(--color-sand); }

/* Primary nav */
.site-nav {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  margin-left: auto;
}
.site-nav__links {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 0.4rem + 1.6vw, 2.1rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-nav__links a {
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: var(--fw-medium);
  text-decoration: none;
  padding: 0.4rem 0;
  position: relative;
  transition: color var(--dur-fast) var(--ease);
}
.site-nav__links a:hover { color: var(--color-sand); }
.site-nav__links a.is-active { color: #fff; }
.site-nav__links a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 2px;
  background: var(--color-sand);
  border-radius: 2px;
}

/* Actions cluster (CTA + hamburger) — CTA always visible */
.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.site-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-weight: var(--fw-semibold);
  font-size: 0.9rem;
  line-height: 1;
  padding: 0.65rem 1.25rem;
  border-radius: var(--radius-pill);
  background: var(--color-coral);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: var(--shadow-cta);
  transition: background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.site-cta:hover { background: var(--color-cta-hover); color: #fff; transform: translateY(-1px); }

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0 auto;
  background: #fff;
  border-radius: 2px;
  transition: transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Mobile nav (single fluid breakpoint) ---- */
@media (max-width: 860px) {
  .nav-toggle { display: flex; }

  .site-nav {
    position: absolute;
    top: var(--header-h);
    left: 0;
    right: 0;
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: linear-gradient(180deg, var(--color-teal-deep), var(--color-ink));
    box-shadow: 0 16px 30px -12px rgba(0, 40, 50, 0.5);
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: max-height var(--dur) var(--ease), visibility var(--dur) var(--ease);
  }
  .site-nav.is-open {
    max-height: 70vh;
    visibility: visible;
  }
  .site-nav__links {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-2) var(--container-pad) var(--space-4);
  }
  .site-nav__links li { margin: 0; }
  .site-nav__links a {
    display: block;
    padding: 0.85rem 0.25rem;
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  .site-nav__links a.is-active::after { display: none; }
  .site-nav__links a.is-active { color: var(--color-sand); }
}

/* ------------------------------ FOOTER ------------------------------ */
.site-footer {
  background: var(--color-ink);
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font-body);
  margin: 0;
}
.site-footer__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-8) var(--container-pad) var(--space-6);
  display: grid;
  grid-template-columns: 1.4fr auto auto;
  gap: var(--space-7);
  align-items: start;
}

.site-footer__brand .brand-script {
  display: block;
  font-family: var(--font-brand);
  font-size: 2rem;
  color: #fff;
  line-height: 1;
  margin-bottom: var(--space-3);
}
.site-footer__brand p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.95rem;
  max-width: 34ch;
  margin: 0;
}

.site-footer h2 {
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  font-weight: var(--fw-bold);
  color: var(--color-sand);
  margin: 0 0 var(--space-4);
}

.site-footer__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5);
}
.site-footer__nav li { margin-bottom: 0; }
.site-footer__nav a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-size: 0.95rem;
}
.site-footer__nav a:hover { color: var(--color-sand); }

/* Book-direct — VRBO + Airbnb visible on ALL layouts */
.site-footer__book .book-btns {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-3);
}
.book-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-weight: var(--fw-semibold);
  font-size: 0.95rem;
  padding: 0.7rem 1.4rem;
  border-radius: var(--radius-pill);
  text-decoration: none;
  transition: transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.book-btn:hover { transform: translateY(-1px); }
.book-btn--direct {
  background: var(--color-coral);
  color: #fff;
  box-shadow: var(--shadow-cta);
}
.book-btn--direct:hover { background: var(--color-coral-hover); color: #fff; }
.book-btn--vrbo {
  background: var(--color-coral);
  color: #fff;
  box-shadow: var(--shadow-cta);
}
.book-btn--vrbo:hover { background: var(--color-coral-hover); color: #fff; }
.book-btn--airbnb {
  background: #eef2f2;
  color: var(--color-ink);
}
.book-btn--airbnb:hover { background: #e1eaea; color: var(--color-ink); }
/* Footer Airbnb sits on the dark ink footer — keep it the white pill it was. */
.site-footer__book .book-btn--airbnb { background: #fff; }
.site-footer__book .book-btn--airbnb:hover { background: var(--color-sand); }

/* Brand marks: monochrome, inherit each button's text color (currentColor).
   Embedded as data URIs + alpha sampling so they render reliably even when
   the site is opened directly via file:// (external mask URLs can fail there).
   VRBO pill = white text -> white mark; Airbnb pill = dark text -> dark mark. */
.book-btn--vrbo::after,
.book-btn--airbnb::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
}
.book-btn--vrbo::after {
  width: 2.8em;
  height: 0.9em;
  -webkit-mask-image: url("data:image/png;base64,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");
  mask-image: url("data:image/png;base64,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");
}
.book-btn--airbnb::after {
  width: 1.05em;
  height: 1.1em;
  -webkit-mask-image: url("data:image/png;base64,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");
  mask-image: url("data:image/png;base64,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");
}
.site-footer__blurb {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: 0 var(--container-pad) var(--space-6);
  font-size: 0.85rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.55);
  max-width: min(var(--container-max), 100%);
}

.site-footer__legal {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.site-footer__legal-inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-4) var(--container-pad);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  justify-content: space-between;
  align-items: center;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.6);
}
.site-footer__legal a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}
.site-footer__legal a:hover { color: var(--color-sand); }

@media (max-width: 760px) {
  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    text-align: left;
  }
  .site-footer__legal-inner { justify-content: center; text-align: center; }
  .site-footer__book .book-btns { flex-wrap: wrap; }
  .site-footer__nav ul { flex-direction: column; gap: var(--space-2); }
}

/* ------------------------------ WEATHER WIDGET ------------------------------ */
/* Lightweight Open-Meteo widget used on the home + booking pages. */
.weather-widget { display: block; }
.weather-widget__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-sand-soft);
  border: 1px solid var(--color-line);
  color: var(--color-ink);
  text-decoration: none;
  transition: box-shadow var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.weather-widget__card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
  color: var(--color-ink);
}
.weather-widget__main {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.weather-widget__icon { font-size: 1.9rem; line-height: 1; }
.weather-widget__body { display: flex; flex-direction: column; }
.weather-widget__temp {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--fw-semibold);
  line-height: 1.1;
  color: var(--color-ink);
}
.weather-widget__air {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-regular);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.weather-widget__cond { font-size: var(--fs-small); color: var(--color-muted); }
.weather-widget__hilo {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  line-height: 1.25;
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
}
.weather-widget__hi { color: var(--color-coral); }
.weather-widget__lo { color: var(--color-teal-deep); }
.weather-widget__more {
  margin-left: auto;
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  color: var(--color-teal-deep);
  white-space: nowrap;
}
.weather-widget__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-line);
  font-size: var(--fs-small);
  color: var(--color-muted);
}
.weather-widget__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  white-space: nowrap;
}
.weather-widget__stat strong {
  font-weight: var(--fw-semibold);
  color: var(--color-ink);
}
.weather-widget__stat-icon { font-size: 1em; line-height: 1; }

/* ============================ LIGHTBOX (shared: gallery + rooms) ============================ */
.lb {
  position: fixed;
  inset: 0;
  z-index: var(--z-lightbox);
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(4, 26, 31, 0.92);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  padding: clamp(1rem, 0.5rem + 3vw, 3rem);
}
.lb.is-open { display: flex; }
.lb__stage {
  position: relative;
  max-width: min(1200px, 100%);
  max-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}
.lb__img {
  max-width: 100%;
  max-height: 82vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--radius-sm);
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.7);
  animation: lbFade var(--dur) var(--ease);
  cursor: zoom-in;
  transition: transform var(--dur) var(--ease);
  will-change: transform;
}
.lb.is-zoomed .lb__img { cursor: grab; touch-action: none; }
.lb.is-panning .lb__img { cursor: grabbing; transition: none; }
@keyframes lbFade {
  from { opacity: 0; transform: scale(0.98); }
  to   { opacity: 1; transform: scale(1); }
}
.lb__caption {
  color: rgba(255, 255, 255, 0.92);
  font-size: var(--fs-small);
  text-align: center;
  max-width: 60ch;
  min-height: 1.35em;
}
.lb__btn {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  cursor: pointer;
  border-radius: 50%;
  transition: background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.lb__btn:hover { background: rgba(255, 255, 255, 0.28); }
.lb__btn:active { transform: scale(0.94); }
.lb__close {
  top: calc(-1 * clamp(0.5rem, 0.2rem + 2vw, 1.5rem));
  right: 0;
  width: 46px;
  height: 46px;
  font-size: 26px;
  line-height: 1;
}
.lb__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  font-size: 32px;
  line-height: 1;
}
.lb__nav:hover { transform: translateY(-50%) scale(1.05); }
.lb__prev { left: clamp(-1rem, -3vw, -0.25rem); }
.lb__next { right: clamp(-1rem, -3vw, -0.25rem); }
.lb__count {
  position: absolute;
  top: calc(-1 * clamp(0.5rem, 0.2rem + 2vw, 1.5rem));
  left: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-small);
  line-height: 46px;
}

@media (max-width: 560px) {
  .lb__prev { left: 0.25rem; background: rgba(0,0,0,0.4); }
  .lb__next { right: 0.25rem; background: rgba(0,0,0,0.4); }
  .lb__img { max-height: 72vh; }
}