html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  margin: 0;
}

body.menu-open {
  overflow: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img, picture, video, canvas, iframe, svg {
  max-width: 100%;
}

img {
  height: auto;
}

main, section, article, aside, header, footer, nav,
[class*="container"], [class*="grid"], [class*="content"], [class*="wrapper"] {
  min-width: 0;
}

p, h1, h2, h3, h4, h5, h6, li, a, span, address {
  overflow-wrap: anywhere;
}

button, input, textarea, select {
  max-width: 100%;
}

button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--color-secondary);
  outline-offset: 3px;
}

.navigation-wrapper,
.footer-wrapper {
  width: 100%;
}

.navigation-container,
.footer-container,
.container {
  width: min(100%, var(--content-max-width));
}

.navigation-mobile-toggle,
.navigation-close-button {
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

.footer-social-static {
  display: contents;
  cursor: default;
}

.footer-contact-text[data-company],
.footer-contact-text[data-address],
.contact-static {
  cursor: text;
}

.seo-context-section {
  padding: var(--spacing-3xl) var(--spacing-xl);
  background: var(--color-surface-elevated);
}

.seo-context-inner {
  width: min(100%, var(--content-max-width));
  margin: 0 auto;
}

.seo-context-inner p + p {
  margin-top: var(--spacing-md);
}

.form-status {
  min-height: 1.4em;
  margin-top: var(--spacing-sm);
  color: var(--color-primary);
  font-size: var(--font-size-sm);
}

@media (max-width: 991px) {
  .navigation-container {
    padding-inline: clamp(1rem, 4vw, 1.5rem);
  }

  .navigation-desktop-links {
    display: none;
  }

  .navigation-mobile-toggle {
    display: inline-flex;
  }

  .footer-grid,
  .contact-grid,
  .about-grid,
  .features-grid,
  .categories-grid,
  .home-showcase-grid,
  .hotel-overview__grid,
  .pros-cons-grid,
  .detailed-review__grid,
  .location-transport__split,
  .fine-dining-grid,
  .local-cuisine-grid,
  .intl-cuisine-grid,
  .vip-dining-grid,
  .breakfast-sweets-grid,
  .dining-gallery-grid,
  .spa-services-grid,
  .facilities-items,
  .beauty-grid,
  .wellness---ya-am-tarz--showcase-grid,
  .gallery-grid,
  .ilkeler-section__grid,
  .yonetim-rehberi__grid,
  .destek-kaynaklari__grid,
  .istatistik-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-bottom {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }

  .footer-legal-links {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  :root {
    --font-size-2xl: clamp(1.35rem, 1.25rem + 0.5vw, 1.6rem);
    --font-size-3xl: clamp(1.65rem, 1.5rem + 0.8vw, 2rem);
    --font-size-4xl: clamp(2rem, 1.75rem + 1.2vw, 2.55rem);
    --font-size-base: 0.95rem;
    --spacing-4xl: 3rem;
    --spacing-3xl: 2.5rem;
  }

  .navigation-logo .section-title {
    font-size: 1.08rem;
  }

  .navigation-overlay-content {
    padding: 2rem 1.25rem 3rem;
  }

  .navigation-overlay-link {
    font-size: var(--font-size-xl);
  }

  .hero-section,
  .hero-review-intro,
  .dining-hero,
  .wellness-hero,
  .hero-sorumlu-giris {
    min-height: auto;
    height: auto;
    padding-block: 40px;
  }

  .hero-cta-group,
  .home-hero-actions,
  .contact-grid,
  .footer-grid {
    width: 100%;
  }

  .btn,
  .hero-cta-group .btn,
  .home-hero-actions .btn {
    max-width: 100%;
    white-space: normal;
  }

  .footer-container,
  .container,
  .seo-context-section {
    padding-inline: 1rem;
  }

  .footer-column,
  .footer-brand {
    text-align: left;
    align-items: flex-start;
  }

  .footer-links,
  .footer-contact-list {
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .navigation-container,
  .navigation-overlay-header {
    padding-inline: 0.9rem;
  }

  .navigation-logo .section-title {
    font-size: 1rem;
    letter-spacing: 0;
  }

  .btn,
  .newsletter-form button,
  .newsletter-form input {
    width: 100%;
  }

  .footer-legal-links {
    gap: 0.8rem;
    flex-direction: column;
  }

  .footer-contact-item {
    align-items: flex-start;
    flex-direction: row;
    text-align: left;
  }

  .fine-dining-card,
  .facility-item {
    height: auto;
    min-height: 280px;
  }
}
