/* ==========================================================================
   Sage site refresh — October 2026
   Loaded last on every page. Remove the <link> to this file to undo.
   1) One-row desktop header with a single gold "Reserve Your Spot" button
   3) Sections never fade in from blank; gentle lift only
   ========================================================================== */

/* ── 1a. Header on homepage / blog / big pages (ul.nav-links) ── */
@media (min-width: 1341px) {
  #main-nav .nav-inner { gap: 32px; }
  #main-nav .nav-links { flex-wrap: nowrap !important; justify-content: flex-end !important; gap: 18px !important; row-gap: 0 !important; }
  #main-nav .nav-links a { font-size: 0.86rem; }
  #main-nav .nav-row-break { display: none !important; }
  #main-nav .nav-links li:has(> a[href="/"]) { display: none; }
  #main-nav .nav-links li:has(> a.nav-cta:not(.nav-cta-book)) { display: none; }
  #main-nav .nav-links li:has(> a.nav-cta-book) { margin-left: 6px; }
}
#main-nav a.nav-cta-book,
nav.primary a.nav-cta-book {
  background: var(--gold-light, #e8c97a) !important;
  color: var(--sage-deep, #2a3f2a) !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
  box-shadow: 0 2px 10px rgba(201,168,76,0.28);
}
#main-nav a.nav-cta-book:hover,
nav.primary a.nav-cta-book:hover { background: #dcb95f !important; }

/* ── 1b. Header on service / town / team pages (nav.primary, sage.css) ── */
@media (min-width: 1200px) {
  nav.primary { flex-wrap: nowrap !important; justify-content: flex-end !important; gap: 2px !important; }
  nav.primary a { font-size: 14px !important; padding: 8px 10px !important; white-space: nowrap; }
  nav.primary .nav-row-break { display: none !important; }
  nav.primary > a[href="/"] { display: none !important; }
  nav.primary > a.nav-cta:not(.nav-cta-book) { display: none !important; }
  nav.primary > a.nav-cta-book { margin-left: 10px; padding: 9px 18px !important; }
}

/* ── 3. Calmer scroll motion: content is always visible ── */
.animate-on-scroll { opacity: 1 !important; transform: translateY(10px); transition: transform 0.5s ease !important; }
.animate-on-scroll.visible { transform: none; }
@media (prefers-reduced-motion: reduce) { .animate-on-scroll { transform: none !important; } }

/* ── Areas Served: towns without their own page (plain text) match the linked ones ── */
footer .footer-col ul li:not(:has(a)) { font-size: 0.875rem; color: rgba(255,255,255,0.65); }


/* ── Reserve card on service, condition and town pages (Oct 2026) ── */
.sage-reserve { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; margin: 22px 0 6px; padding: 18px 20px;
  border-radius: 18px; text-decoration: none !important; color: #1c2a1c !important;
  background: linear-gradient(120deg,#f3d98d 0%,#e8c97a 45%,#d4b056 100%); box-shadow: 0 10px 28px rgba(42,63,42,0.18), inset 0 1px 0 rgba(255,255,255,0.6);
  transition: transform .25s ease, box-shadow .25s ease; }
.sage-reserve:hover, .sage-reserve:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(42,63,42,0.26); }
.sage-reserve:focus-visible { outline: 2px solid #2a3f2a; outline-offset: 3px; }
.sage-reserve svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sage-reserve-cal { width: 50px; height: 50px; border-radius: 14px; background: #2a3f2a; color: #e8c97a; display: grid; place-items: center; }
.sage-reserve-cal svg { width: 24px; height: 24px; }
.sage-reserve-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sage-reserve-eyebrow { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(28,42,28,0.68); }
.sage-reserve-title { font-family: 'Lora', 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; line-height: 1.15; }
.sage-reserve-sub { font-size: 0.88rem; color: rgba(28,42,28,0.8); }
.sage-reserve-wait { display: inline-flex; align-items: center; gap: 7px; margin-top: 6px; align-self: flex-start; font-size: 0.82rem; font-weight: 600; background: rgba(255,255,255,0.55); border-radius: 999px; padding: 4px 11px; }
.sage-reserve-wait[hidden] { display: none; }
.sage-reserve-wait .sage-wait-dot { width: 8px; height: 8px; border-radius: 50%; background: #3f9b52; }
.sage-reserve-go { width: 36px; height: 36px; border-radius: 50%; background: #2a3f2a; color: #fff; display: grid; place-items: center; transition: transform .25s ease; }
.sage-reserve-go svg { width: 16px; height: 16px; }
.sage-reserve:hover .sage-reserve-go { transform: translateX(3px); }
@media (max-width: 520px) { .sage-reserve { grid-template-columns: auto minmax(0,1fr); } .sage-reserve-go { display: none; } .sage-reserve-title { font-size: 1.25rem; } }
@media (prefers-reduced-motion: reduce) { .sage-reserve, .sage-reserve-go { transition: none; } }
