/* Modern responsive + motion layer (settings-driven) */

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.hs-reveal {
  opacity: 1;
  transform: none;
}

.hs-motion-subtle .hs-reveal,
.hs-motion-expressive .hs-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.65s ease,
    transform 0.65s ease;
}

.hs-motion-expressive .hs-reveal {
  transform: translateY(28px) scale(0.98);
  transition-duration: 0.85s;
}

.hs-motion-subtle .hs-reveal.is-visible,
.hs-motion-expressive .hs-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .hs-motion-subtle .hs-reveal,
  .hs-motion-expressive .hs-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.hs-hero-fullscreen .ht-hero--has-photo,
.hs-hero-fullscreen .ht-hero--metro,
.hs-hero-fullscreen .ht-hero--resort,
.hs-hero-fullscreen .ht-hero--city {
  min-height: min(92vh, 920px);
}

.hs-hero-compact .ht-hero {
  padding: 1.75rem 0 1.25rem;
}

.hs-hero-compact .ht-hero--has-photo {
  min-height: 240px;
}

.hs-hero-balanced .ht-hero--has-photo {
  min-height: clamp(320px, 58vh, 620px);
}

/* Fluid type scale */
.hotel-site h1 {
  font-size: clamp(1.85rem, 5.5vw, 3.5rem);
  line-height: 1.08;
}

.hotel-site h2 {
  font-size: clamp(1.25rem, 3.2vw, 1.85rem);
}

/* Touch targets */
.hs-btn,
.hs-nav-toggle,
.hs-nav a {
  min-height: 44px;
}

/* Safe area for notched phones */
.hs-header-inner,
.ht-container,
.hs-main {
  padding-left: max(1rem, env(safe-area-inset-left));
  padding-right: max(1rem, env(safe-area-inset-right));
}

/* Wide desktop */
@media (min-width: 1280px) {
  .ht-container {
    width: min(1240px, 100%);
  }

  .hs-room-grid--premium {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Tablet landscape fixes */
@media (max-width: 1024px) {
  .hs-header-inner {
    gap: 0.5rem;
  }
}

/* Prevent horizontal overflow */
.hotel-site {
  overflow-x: clip;
}

.hs-booking-widget-grid input[type="date"],
.hs-booking-widget-grid input[type="number"] {
  min-width: 0;
}
