/**
 * LaMilka Tour 0.5.18
 * Full-height mobile navigation sheet and stable full-viewport homepage hero.
 *
 * Scope:
 * - make the mobile menu occupy all available space below the fixed header;
 * - keep Contact Us / Kontakt reachable through an internally scrollable list;
 * - use compact, consistent rows and prevent the underlying page from moving;
 * - extend the mobile homepage hero to the stable viewport bottom while keeping
 *   the approved CTA group at its established higher visual position.
 */

@media (max-width: 1279px) {
  html.lamilka-mobile-menu-locked,
  body.lamilka-mobile-menu-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  .lamilka-site-header.is-mobile-menu-open {
    z-index: 100000 !important;
  }

  .lamilka-site-header .lamilka-mobile-panel {
    position: fixed !important;
    top: calc(var(--lamilka-header-offset, 0px) + 64px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    overscroll-behavior: contain !important;
    border-top: 1px solid rgba(10, 25, 47, .10) !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #0a192f !important;
  }

  .lamilka-site-header .lamilka-mobile-panel[hidden] {
    display: none !important;
  }

  .lamilka-site-header .lamilka-mobile-panel nav,
  body.lamilka-home .lamilka-site-header .lamilka-mobile-panel nav,
  body:not(.lamilka-home) .lamilka-site-header .lamilka-mobile-panel nav {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 24px !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .lamilka-site-header .lamilka-mobile-utility,
  body.lamilka-home .lamilka-site-header .lamilka-mobile-utility,
  body:not(.lamilka-home) .lamilka-site-header .lamilka-mobile-utility {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(10, 25, 47, .10) !important;
  }

  .lamilka-site-header .lamilka-language-switcher--mobile {
    min-height: 56px !important;
    font-size: 13px !important;
  }

  .lamilka-site-header .lamilka-language-switcher--mobile a,
  .lamilka-site-header .lamilka-language-switcher--mobile > span {
    min-height: 56px !important;
  }

  .lamilka-site-header .lamilka-mobile-links,
  body.lamilka-home .lamilka-site-header .lamilka-mobile-links,
  body:not(.lamilka-home) .lamilka-site-header .lamilka-mobile-links {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 calc(16px + env(safe-area-inset-bottom)) !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
  }

  .lamilka-site-header .lamilka-mobile-links::-webkit-scrollbar {
    display: none !important;
  }

  .lamilka-site-header .lamilka-mobile-link,
  body.lamilka-home .lamilka-site-header .lamilka-mobile-link,
  body:not(.lamilka-home) .lamilka-site-header .lamilka-mobile-link {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 auto !important;
    min-height: clamp(58px, 7.4svh, 62px) !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(10, 25, 47, .10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #1e293b !important;
    font: 500 18px/1.25 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
  }

  .lamilka-site-header .lamilka-mobile-link:last-child {
    border-bottom: 0 !important;
  }

  .lamilka-site-header .lamilka-mobile-link:hover,
  .lamilka-site-header .lamilka-mobile-link:focus-visible,
  .lamilka-site-header .lamilka-mobile-link.is-active {
    background: transparent !important;
    color: #0a192f !important;
  }

  .lamilka-site-header .lamilka-mobile-link:focus-visible {
    outline: 2px solid #c9a86a !important;
    outline-offset: -2px !important;
  }
}

@media (max-width: 767px) {
  body.lamilka-home .lamilka-home-hero {
    height: 100vh !important;
    height: 100svh !important;
    min-height: 600px !important;
    max-height: none !important;
  }

  /* The hero gains the missing lower image area, while the CTA group retains
     the same viewport position it had in the approved 88svh composition. */
  body.lamilka-home .lamilka-home-mobile-actions {
    bottom: 12vh !important;
    bottom: 12svh !important;
    transform: none !important;
  }
}

@media (max-width: 359px) {
  .lamilka-site-header .lamilka-mobile-panel nav,
  body.lamilka-home .lamilka-site-header .lamilka-mobile-panel nav,
  body:not(.lamilka-home) .lamilka-site-header .lamilka-mobile-panel nav {
    padding-inline: 20px !important;
  }

  .lamilka-site-header .lamilka-mobile-link,
  body.lamilka-home .lamilka-site-header .lamilka-mobile-link,
  body:not(.lamilka-home) .lamilka-site-header .lamilka-mobile-link {
    min-height: 56px !important;
    font-size: 17px !important;
  }
}
