/**
 * LaMilka Tour 0.6.01
 * Mobile viewport, fixed-action and menu stability correction.
 *
 * Scope:
 * - prevent iOS form-focus auto zoom and browser text enlargement;
 * - remove horizontal page drift without changing intentional carousels;
 * - make the open mobile menu completely opaque and anchor it to the measured
 *   header height;
 * - keep fixed mobile actions on the true viewport bottom and remove them once
 *   their destination form/booking area is visible;
 * - preserve all approved component sizes, colors and content.
 */

@media (max-width: 767px) {
  html {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    width: 100% !important;
  }

  body.lamilka-route,
  body.lamilka-tour-detail,
  body.lamilka-home,
  .lamilka-concierge,
  .lamilka-aesthetic-hub,
  .lamilka-private,
  .lamilka-contact-source,
  .lamilka-transfer,
  .lamilka-detail {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .lamilka-concierge form,
  .lamilka-aesthetic-hub form,
  .lamilka-private form,
  .lamilka-contact-source form,
  .lamilka-transfer form,
  .lamilka-detail form,
  .lamilka-phone-field,
  .lamilka-phone-field__control {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* iOS Safari zooms focused controls whose computed font size is under 16px. */
  .lamilka-concierge input,
  .lamilka-concierge select,
  .lamilka-concierge textarea,
  .lamilka-aesthetic-hub input,
  .lamilka-aesthetic-hub select,
  .lamilka-aesthetic-hub textarea,
  .lamilka-private input,
  .lamilka-private select,
  .lamilka-private textarea,
  .lamilka-contact-source input,
  .lamilka-contact-source select,
  .lamilka-contact-source textarea,
  .lamilka-transfer input,
  .lamilka-transfer select,
  .lamilka-transfer textarea,
  .lamilka-detail input,
  .lamilka-detail select,
  .lamilka-detail textarea {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .lamilka-site-header-spacer {
    height: var(--lamilka-mobile-header-height, 64px) !important;
    min-height: var(--lamilka-mobile-header-height, 64px) !important;
  }

  /* Non-home headers and every open-menu state are fully opaque. */
  body:not(.lamilka-home) .lamilka-site-header,
  .lamilka-site-header.is-mobile-menu-open,
  .lamilka-site-header.is-mobile-menu-open .lamilka-header-bar {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: #fff !important;
    background-color: #fff !important;
  }

  .lamilka-site-header.is-mobile-menu-open::before {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
  }

  .lamilka-site-header .lamilka-mobile-panel {
    background: #fff !important;
    background-color: #fff !important;
    height: auto !important;
    isolation: isolate !important;
    max-height: none !important;
    opacity: 1 !important;
    top: calc(var(--lamilka-header-offset, 0px) + var(--lamilka-mobile-header-height, 64px)) !important;
  }

  .lamilka-site-header .lamilka-mobile-panel::before {
    background: #fff !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: -1 !important;
  }

  .lamilka-site-header .lamilka-mobile-panel nav,
  .lamilka-site-header .lamilka-mobile-utility,
  .lamilka-site-header .lamilka-mobile-links {
    background: #fff !important;
  }

  html.lamilka-mobile-menu-locked,
  body.lamilka-mobile-menu-locked {
    overscroll-behavior: none !important;
  }

  /* Stable anchor clearance for hash links below the fixed header. */
  #contact,
  #contact-form,
  #transfer-booking,
  [data-booking-flow] {
    scroll-margin-top: calc(var(--lamilka-mobile-header-height, 64px) + 12px) !important;
  }

  /* One viewport-bottom contract for all mobile entry actions. */
  .lamilka-concierge__mobile-cta,
  .lamilka-aesthetic-hub__mobile-cta,
  .lamilka-private__mobile,
  .lamilka-transfer__mobile-bar {
    bottom: 0 !important;
    margin: 0 !important;
    top: auto !important;
    transform: none !important;
    will-change: auto !important;
  }

  .lamilka-concierge__mobile-cta {
    padding-bottom: calc(8px + env(safe-area-inset-bottom)) !important;
  }

  .lamilka-aesthetic-hub__mobile-cta,
  .lamilka-private__mobile,
  .lamilka-transfer__mobile-bar {
    padding-bottom: calc(8px + env(safe-area-inset-bottom)) !important;
  }

  /* The action is an entry shortcut, not an overlay over the destination form. */
  .lamilka-concierge__mobile-cta.is-context-hidden,
  .lamilka-aesthetic-hub__mobile-cta.is-context-hidden,
  .lamilka-private__mobile.is-context-hidden,
  .lamilka-transfer__mobile-bar.is-context-hidden,
  .lamilka-contact-source__mobile-wa.is-context-hidden {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  /* Reserve entry-action space only before the destination section is reached. */
  body.lamilka-service-concierge-page .lamilka-concierge,
  body.lamilka-aesthetic-page .lamilka-aesthetic-hub,
  body.lamilka-private-tours-page .lamilka-private,
  body.lamilka-transfers-page .lamilka-transfer {
    padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
  }

  /* Intentional horizontal tracks keep their own scrolling; page-level drift does not. */
  .lamilka-concierge__service-track,
  .lamilka-aesthetic-hub__category-track,
  [data-lamilka-private-ideas] {
    max-width: 100% !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x pan-y !important;
  }
}
