/* =========================================================================
   Seasonal announcement bar (Christmas light tours).
   Shown only while seasonal/seasonal.js flags <html class="rr-holiday">.
   ========================================================================= */
:root { --rr-bar-h: 38px; }
@media (max-width: 600px) { :root { --rr-bar-h: 40px; } }

/* Hidden unless the season is live. Also covers no-JS visitors. */
html:not(.rr-holiday) [data-seasonal] { display: none !important; }

.rr-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--rr-bar-h);
  z-index: 98; /* under the mobile drawer + its overlay (99/101) */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 16px;
  background:
    radial-gradient(120px 38px at 12% 50%, rgba(187,142,78,.18), transparent 70%),
    radial-gradient(120px 38px at 88% 50%, rgba(187,142,78,.14), transparent 70%),
    #1f1013;
  border-bottom: 1px solid rgba(187,142,78,.35);
  color: #f3e6d2;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.2;
  white-space: nowrap;
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
}
.rr-bar-msg {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: inherit;
  text-decoration: none;
}
.rr-bar-msg strong { color: #d9b57a; font-weight: 600; }
.rr-bar-msg .rr-bar-more {
  border-bottom: 1px solid rgba(217,181,122,.55);
  padding-bottom: 1px;
  transition: border-color .2s ease, color .2s ease;
}
.rr-bar-msg:hover .rr-bar-more,
.rr-bar-msg:focus-visible .rr-bar-more { color: #fff; border-color: #fff; }
.rr-bar-star {
  width: 12px; height: 12px;
  fill: #d9b57a;
  flex-shrink: 0;
}
.rr-bar-book {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  border-radius: 3px;
  background: #bb8e4e;
  color: #3a0f15;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: filter .2s ease, transform .2s ease;
}
.rr-bar-book:hover,
.rr-bar-book:focus-visible { filter: brightness(1.1); transform: translateY(-1px); }
.rr-bar a:focus-visible { outline: 2px solid #d9b57a; outline-offset: 3px; }
.rr-bar-short { display: none; }

@media (max-width: 760px) {
  .rr-bar-long { display: none; }
  .rr-bar-short { display: inline; }
}
@media (max-width: 600px) {
  .rr-bar { gap: 12px; font-size: 12.5px; }
  .rr-bar-msg .rr-bar-more { display: none; }
}

/* The extra "Light Tours" nav link only fits on wide screens; below that the
   bar and the mobile drawer carry it. */
@media (max-width: 1199px) { .nav-links li[data-seasonal] { display: none; } }

/* Push the fixed nav down under the bar, then tuck both away on scroll. */
html.rr-holiday .nav { top: var(--rr-bar-h); }
html.rr-holiday.rr-bar-tucked .nav { top: 0; }
html.rr-holiday.rr-bar-tucked .rr-bar { transform: translateY(-100%); }

/* Keep first-screen content clear of the taller header stack. */
html.rr-holiday .hero-content,
html.rr-holiday .page-header > .container { margin-top: var(--rr-bar-h); }

@media (prefers-reduced-motion: reduce) {
  .rr-bar { transition: none; }
}
