/* Seasonal details follow page content. Shared header styles remain untouched. */
html.home-winter { background-color: #182b30; }
#booking.hero .winter-decoration { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; user-select: none; }
#booking.hero .winter-decoration__right { position: absolute; top: 96px; right: 10px; display: block; width: auto; height: clamp(64px, calc(28vh - 112px), 140px); }
#booking.hero .hero__content { position: relative; z-index: 2; }
.home-winter .winter-section-art { display: block; height: auto; pointer-events: none; user-select: none; }
.home-winter .winter-offers-link { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.home-winter .winter-offers-bauble { width: 58px; }
#about .winter-about-bird { width: 150px; margin: 30px auto 0; }
#about .winter-about-bird + .about__closing { margin-top: 10px; }
.home-winter #footer { position: relative; }
.home-winter .winter-footer-border { position: absolute; top: 92px; left: max(16px, calc((100% - 1200px) / 2 - 90px)); width: 48px; }
.home-winter .winter-footer-snowflakes { display: flex; justify-content: center; align-items: center; gap: 22px; margin: 26px auto 0; pointer-events: none; user-select: none; }
.winter-snow { position: fixed; inset: 0; z-index: 90; overflow: hidden; pointer-events: none; user-select: none; }
.winter-snow[hidden] { display: none; }
.winter-snow__flake { position: absolute; top: -40px; left: var(--snow-left); width: var(--snow-size); height: var(--snow-size); background: var(--snow-image) center / contain no-repeat; opacity: var(--snow-opacity); animation: winter-snowfall var(--snow-duration) var(--snow-delay) linear infinite; will-change: transform; }
.winter-snow.is-paused .winter-snow__flake { animation-play-state: paused; }
@keyframes winter-snowfall { from { transform: translate3d(0, -40px, 0) rotate(0deg); } to { transform: translate3d(var(--snow-drift), calc(100vh + 80px), 0) rotate(210deg); } }

@media (max-width: 1180px) {
  #booking.hero .winter-decoration__right { height: 120px; }
}
@media (max-width: 760px) {
  #booking.hero .winter-decoration__right { top: 82px; right: 10px; width: 76px; height: auto; }
  .home-winter .winter-offers-link { gap: 16px; }
  .home-winter .winter-offers-bauble { width: 34px; }
  #about .winter-about-bird { width: 120px; margin-top: 24px; }
  .home-winter .winter-footer-border { display: none; }
  .winter-snow__flake:nth-child(n+15) { display: none; }
}
@media (max-height: 600px) and (min-width: 761px) {
  #booking.hero .winter-decoration__right { display: none; }
}

@media (max-width: 1440px) {
  .home-winter .winter-footer-border { display: none; }
}

/* Original campaign artwork remains visible edge to edge. */
#booking.hero--new-year { position: relative; display: block; min-height: 100svh; padding: 0 0 20px; background: #182b30; }
#booking.hero--new-year .new-year-hero__banner { position: relative; display: block; width: 100%; margin: 0; }
#booking.hero--new-year .new-year-hero__banner img { display: block; width: 100%; height: auto; }
#booking.hero--new-year .hero__content--tz { position: relative; inset: auto; z-index: 3; width: calc(100% - 24px); max-width: 1120px; margin: -52px auto 0; padding: 0; transform: none; }
#booking.hero--new-year .hero-booking { position: relative; inset: auto; width: 100%; max-width: 100%; margin: 0; transform: none; }
#booking.hero--new-year .winter-decoration__left { position: absolute; display: block; top: 76px; left: 0; width: 22px; height: auto; }
#booking.hero--new-year .winter-decoration__right { top: 76px; right: 0; width: 64px; height: auto; display: block; }
#booking.hero--new-year .hero-reputation--corner { position: relative; inset: auto; width: calc(100% - 24px); margin: 18px auto 0; }
#booking.hero--new-year .hero-reputation__list { display: flex; gap: 12px; overflow-x: auto; padding: 0 0 4px; }
#booking.hero--new-year .hero-reputation__list .hero-rating { flex: 0 0 195px; width: 195px; }
.winter-snow.is-reduced-motion .winter-snow__flake { animation-duration: 40s; }
.winter-snow.is-reduced-motion .winter-snow__flake:nth-child(n+9) { display: none; }
@media (min-width: 981px) {
  #booking.hero--new-year { height: max(100svh, calc(100vw * 941 / 1672)); padding: 0; }
  #booking.hero--new-year .new-year-hero__banner { position: absolute; inset: 0; width: 100%; height: 100%; }
  #booking.hero--new-year .new-year-hero__banner img { height: 100%; object-fit: cover; object-position: left top; }
  #booking.hero--new-year .hero__content--tz { position: absolute; right: 24px; bottom: 20px; left: 24px; width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
  #booking.hero--new-year .winter-decoration__left { top: 76px; width: auto; height: calc(100% - 76px); max-width: 20vw; object-fit: contain; object-position: left top; }
  #booking.hero--new-year .winter-decoration__right { top: 0; width: clamp(180px, 18vw, 280px); }
  #booking.hero--new-year .hero-reputation--corner { position: absolute; top: clamp(240px, 20vw, 300px); right: 24px; left: auto; bottom: auto; width: 195px; margin: 0; }
  #booking.hero--new-year .hero-reputation__list { display: grid; gap: 6px; overflow: visible; }
}

/* The campaign artwork stays clear beneath the header at the top of the page. */
body.home-winter #site-header:not(.is-scrolled) { background: transparent; box-shadow: none; }
