/* Per-shop design tokens. Loaded with a <link>; never imported from TSX. */
:root {
  --ink: #17351f;
  --ivory: #f5edda;
  --gold: #b38a42;
  --gold-lt: #d7b76f;
  --sage: #4f7f2b;
  --cta-green: #1c3e15;
  --cta-green-hover: #295a20;
  --blush: #dce8c3;
  --white: #ffffff;
  --mid: #5f6257;
  --border: rgba(23, 53, 31, .14);

  --sans: 'Inter', sans-serif;
  --serif: 'Cormorant Garamond', Georgia, serif;

  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --btt-bg: #174d25;
}

/* The supplied brown-and-green logo remains readable after the nav becomes solid. */
.nav.scrolled {
  background: rgba(191, 227, 154, .97);
  box-shadow: 0 1px 0 rgba(23, 53, 31, .12);
}

.nav.scrolled .nav-links a,
.nav.scrolled .nav-links .btn-member {
  color: #17351f;
  border-color: rgba(23, 53, 31, .28);
}

.nav.scrolled .nav-burger span { background: #17351f; }
.nav-logo img { height: 54px; width: auto; }

.site-chrome .nav .nav-links a.btn-book,
.site-chrome .mobile-nav a.btn-book {
  background: var(--cta-green);
  border-color: var(--cta-green);
  color: #fff;
}

.site-chrome .nav .nav-links a.btn-book:hover,
.site-chrome .mobile-nav a.btn-book:hover {
  background: var(--cta-green-hover);
  border-color: var(--cta-green-hover);
}

.hero-content {
  width: min(720px, 90vw);
  margin-right: auto;
  margin-left: 5vw;
  align-items: flex-start;
  text-align: left;
}

.hero-ctas { justify-content: flex-start; }
.hero-title { text-shadow: 0 2px 24px rgba(0, 0, 0, .3); }
.hero-slide::after {
  background: linear-gradient(90deg, rgba(18, 43, 25, .72) 0%, rgba(18, 43, 25, .3) 46%, rgba(18, 43, 25, .08) 76%);
}

.btn-primary { background: var(--cta-green); border-color: var(--cta-green); }
.btn-primary:hover { background: var(--cta-green-hover); box-shadow: 0 8px 24px rgba(28, 62, 21, .3); }
.strip, .contact { background: #17351f; }
.feat-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--cta-green);
  color: var(--ivory);
  border: 1px solid rgba(245, 237, 218, .3);
  box-shadow: 0 6px 18px rgba(28, 62, 21, .18);
}
.feat-icon svg { width: 30px; height: 30px; }
.service-card { background: #fbf7ee; }

/* Couple booking is disabled for this tenant; the legacy booking markup renders
   its control unconditionally, so hide only that control for this theme. */
#panel-1 > label:has(#coupleToggle) { display: none !important; }

@media (max-width: 700px) {
  .nav-logo img { height: 42px; max-width: 68vw; }
  .hero-content {
    margin: 0 auto;
    align-items: center;
    text-align: center;
  }
  .hero-ctas { justify-content: center; }
  .hero-slide { background-position: 62% center; }
  .hero-slide::after { background: rgba(18, 43, 25, .58); }
}
