/* Mobile-only polish. Keep desktop layout and existing form/player behavior. */
@media (max-width: 900px) {
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .site-header .brand {
    width: 164px;
    max-width: 100%;
  }

  .site-header .header-actions {
    grid-column: auto;
    gap: 8px;
  }

  .site-header .header-actions .language-switch {
    display: inline-flex;
    min-width: 0;
    gap: 0;
  }

  .site-header .language-switch button {
    min-width: 40px;
    min-height: 44px;
    padding: 8px 4px;
  }

  .site-header .language-switch span {
    width: 8px;
    text-align: center;
  }

  .site-header .menu-toggle {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  /* Language selection is in the header; do not cover text with flags. */
  .oi-language-switcher {
    display: none !important;
  }

  main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  main textarea,
  main select {
    font-size: 16px !important;
  }

  .booking-field input,
  .booking-field select,
  .contact-challenge-answer input {
    min-height: 48px;
  }

  .mobile-drawer {
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 760px) {
  /* clip avoids creating a second scroll container around sticky menu tabs. */
  @supports (overflow: clip) {
    main { overflow: clip; }
  }

  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  .cookie-banner {
    bottom: calc(88px + env(safe-area-inset-bottom));
  }
}
