
html { width: 100%; max-width: 100%; overflow-x: clip; }
body { width: 100%; max-width: 100%; overflow-x: clip; min-height: 100vh; }
body.menu-open { overflow: hidden; }
main { display: block; width: 100%; min-width: 0; }
header, nav, main, section, article, aside, footer, form, div { min-width: 0; }
img { max-width: 100%; height: auto; }
svg { max-width: 100%; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; box-shadow: 0 0 0 2px #ffffff; }
button { touch-action: manipulation; }
.navigation-mobile-overlay[hidden] { display: none !important; }
.navigation-mobile-overlay.is-open { display: flex; }
.footer-social-static { display: contents; cursor: default; }
.footer-social-static .footer-social-link { pointer-events: none; }
.footer-bottom-info { color: rgba(255,255,255,.78); }
.footer-link, .footer-contact-item, .footer-philosophy { color: rgba(255,255,255,.88); }
.table-container, .pricing-table-wrapper { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; }
.form-status { min-height: 1.5em; margin-top: var(--spacing-md); color: var(--color-primary); font-weight: 600; }
.seo-casino-section { padding: var(--spacing-3xl) var(--spacing-xl); background: var(--color-surface-elevated); }
.seo-casino-inner { width: min(100%, var(--content-max-width)); margin: 0 auto; }
.seo-casino-inner h2 { color: var(--color-primary); margin-bottom: var(--spacing-lg); }
.seo-casino-inner p + p { margin-top: var(--spacing-md); }
.site-back-link { margin-top: var(--spacing-xl); }
@media (max-width: 767px) {
  :root {
    --font-size-4xl: clamp(2rem, 10vw, 2.65rem);
    --font-size-3xl: clamp(1.7rem, 8vw, 2.2rem);
    --font-size-2xl: clamp(1.35rem, 6.5vw, 1.8rem);
    --spacing-3xl: 3rem;
    --spacing-2xl: 2.25rem;
  }
  .hero-title { font-size: var(--font-size-3xl); }
  .section-title { font-size: var(--font-size-2xl); }
  .navigation-container, .navigation-mobile-header, .navigation-mobile-content, .footer-container,
  .container-wrapper, .wellness-overview-container, .wellness-features-container,
  .wellness-pricing-container, .wellness-testimonials-container, .wellness-contact-container,
  .entertainment-program-container, .cultural-container, .resort-container,
  .seasonal-offers__container, .private-dining__container, .reservation-info__container {
    padding-left: 1rem; padding-right: 1rem;
  }
  .btn, .btn-lg, .btn-xl { max-width: 100%; white-space: normal; }
  .footer-grid, .showcase-rooms-grid, .info-grid, .testimonials-grid,
  .dining-showcase__grid, .seasonal-offers__grid, .private-dining__grid,
  .wellness-overview-grid, .features-grid, .wellness---spa-testimonials-grid,
  .seasonal-grid, .entertainment---leisure-features-grid, .activities-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .reservation-info__container, .wellness-contact-container, .split-layout, .casino-card-wrapper { flex-direction: column; }
  .footer-contact-item { text-align: left; align-items: flex-start; }
  .footer-bottom-info { overflow-wrap: anywhere; }
  .seo-casino-section { padding: 2.5rem 1rem; }
}
@media (max-width: 480px) {
  .navigation-container { height: 68px; padding: .75rem 1rem; }
  .navigation-mobile-header { height: 68px; padding: .75rem 1rem; }
  .navigation-mobile-link { font-size: 1.45rem; }
  .hero-accommodation, .wellness-hero, .hero-intro, .hero-culinary { min-height: 56vh; height: auto; }
  .room-card-image, .gallery-item { height: auto; min-height: 220px; }
  .tabs-nav { display: grid; grid-template-columns: 1fr; }
  .tab-btn { width: 100%; justify-content: center; }
  .testimonial-card { flex-basis: 92%; }
  .footer-root { padding: 2.5rem 0 1.5rem; }
}
