/* Gatscherhof multilingual and responsive polish */
html[data-gh-lang] .language-switcher,
html[data-gh-lang] .mobile-language-switcher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, 1vw, 10px);
  flex-wrap: wrap;
}

html[data-gh-lang] .lang-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(151, 134, 103, 0.18);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 22px rgba(27, 25, 24, 0.08);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

html[data-gh-lang] .lang-item:hover,
html[data-gh-lang] .lang-item:focus-visible,
html[data-gh-lang] .lang-item.is-active {
  transform: translateY(-1px);
  border-color: rgba(154, 116, 64, 0.58);
  background: #fff;
  box-shadow: 0 12px 28px rgba(27, 25, 24, 0.14);
  outline: none;
}

html[data-gh-lang] .lang-item.is-active::after {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #9a7440;
  border: 2px solid #fff;
}

html[data-gh-lang] .lang-flag-image {
  width: 24px;
  height: 24px;
  display: block;
  border-radius: 50%;
}

html[data-gh-lang] body,
html[data-gh-lang] p,
html[data-gh-lang] li,
html[data-gh-lang] a,
html[data-gh-lang] label,
html[data-gh-lang] input,
html[data-gh-lang] textarea,
html[data-gh-lang] select,
html[data-gh-lang] button,
html[data-gh-lang] .cus-btn,
html[data-gh-lang] .nice-select,
html[data-gh-lang] .newsletter-consent span,
html[data-gh-lang] .tooltip-text {
  overflow-wrap: anywhere;
  hyphens: auto;
}

html[data-gh-lang] h1,
html[data-gh-lang] h2,
html[data-gh-lang] h3,
html[data-gh-lang] h4,
html[data-gh-lang] h5,
html[data-gh-lang] h6,
html[data-gh-lang] .h-69,
html[data-gh-lang] .h-53,
html[data-gh-lang] .h-31,
html[data-gh-lang] .banner-title,
html[data-gh-lang] .title h2 {
  text-wrap: balance;
  overflow-wrap: anywhere;
  hyphens: auto;
}

html[data-gh-lang] .cus-btn,
html[data-gh-lang] button,
html[data-gh-lang] .booking-btn,
html[data-gh-lang] .gh-submit-btn {
  min-width: 0;
  white-space: normal;
  line-height: 1.25;
}

html[data-gh-lang] .footer .subscribe-block,
html[data-gh-lang] .subscribe-block {
  gap: 10px;
}

html[data-gh-lang] .newsletter-consent {
  align-items: flex-start;
}

@media (max-width: 1199.98px) {
  html[data-gh-lang] .header-nav,
  html[data-gh-lang] header .navigation,
  html[data-gh-lang] .main-menu,
  html[data-gh-lang] .navbar-nav {
    gap: clamp(8px, 1.4vw, 18px);
  }

  html[data-gh-lang] header a,
  html[data-gh-lang] .mobile-menu a {
    line-height: 1.25;
  }
}

@media (max-width: 991.98px) {
  html[data-gh-lang] .mobile-language-switcher {
    width: 100%;
    justify-content: flex-start;
    margin: 10px 0 16px;
  }

  html[data-gh-lang] .mobile-menu,
  html[data-gh-lang] .gh-mobile-sidebar,
  html[data-gh-lang] .mobile-sidebar {
    max-width: min(92vw, 420px);
  }

  html[data-gh-lang] .suite-room .content,
  html[data-gh-lang] .gh-apartment-selector,
  html[data-gh-lang] .gh-info-grid,
  html[data-gh-lang] .gh-contact-grid {
    min-width: 0;
  }
}

@media (max-width: 767.98px) {
  html[data-gh-lang] .language-switcher {
    gap: 6px;
  }

  html[data-gh-lang] .lang-item {
    width: 34px;
    height: 34px;
  }

  html[data-gh-lang] .lang-flag-image {
    width: 22px;
    height: 22px;
  }

  html[data-gh-lang] .subscribe-block {
    display: grid;
    grid-template-columns: 1fr;
  }

  html[data-gh-lang] .subscribe-block .cus-btn,
  html[data-gh-lang] .subscribe-block button,
  html[data-gh-lang] .gh-form-actions .cus-btn,
  html[data-gh-lang] .booking-btn {
    width: 100%;
  }

  html[data-gh-lang] .footer-menu-card,
  html[data-gh-lang] .footer-menu-card-secondary,
  html[data-gh-lang] .footer-submenu,
  html[data-gh-lang] .category {
    min-width: 0;
  }

  html[data-gh-lang] .hero-gatscherhof-copy,
  html[data-gh-lang] .gh-section-head,
  html[data-gh-lang] .title,
  html[data-gh-lang] .banner-content {
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  html[data-gh-lang] .h-69,
  html[data-gh-lang] .h-53,
  html[data-gh-lang] .title h2 {
    font-size: clamp(30px, 11vw, 46px) !important;
  }

  html[data-gh-lang] .h-31 {
    font-size: clamp(22px, 7vw, 30px) !important;
  }
}
