/* SOFORTKEY v5.8.6 — targeted mobile/public recovery.
 * Scope: mobile homepage viewport/button visibility, hamburger reliability,
 * and moving vehicle-brand strip. Loaded after the legacy bundles so these
 * narrowly scoped rules are authoritative without altering desktop cards. */

html.sk-mobile-recovery-v586 .sk-header {
  overflow: visible !important;
}

html.sk-mobile-recovery-v586 .sk-header .sk-menu-toggle,
.sk-header .sk-menu-toggle[data-sk-menu-owner="v585"] {
  position: relative !important;
  z-index: 7420 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  cursor: pointer !important;
}

html.sk-mobile-recovery-v586.sk-nav-enhanced .sk-header .sk-nav,
html.sk-mobile-recovery-v586.sk-nav-enhanced body.sk-home-page .sk-header .sk-nav {
  z-index: 7450 !important;
}

html.sk-mobile-recovery-v586.sk-nav-enhanced .sk-header .sk-nav.is-open {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

html.sk-mobile-recovery-v586 .sk-premium-nav-backdrop {
  /* Restore the proven pre-regression stacking: backdrop below the fixed header/menu. */
  z-index: 7350 !important;
}

html.sk-mobile-recovery-v586.sk-nav-open .sk-premium-nav-backdrop {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

@keyframes sk-brand-flow-v585 {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 767px) {
  /* Header and text strip stay above the hero and remain touchable. */
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 7400 !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-strip,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-strip[data-sk-mobile-textbar="true"] {
    position: fixed !important;
    top: var(--sk-public-header-mobile-height, 36px) !important;
    inset-block-start: var(--sk-public-header-mobile-height, 36px) !important;
    z-index: 7390 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-marquee {
    width: 100% !important;
    overflow: hidden !important;
  }

  /* v5.7.9 accidentally forced animation:none. Restore a continuous marquee.
     Current 34 s loop is reduced to 30% of its previous speed (= 70% slower): 113.333 s.
     Historical bundle reference before the regression used a much slower 82 s loop. */
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-track,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-track[data-sk-v585-brand-ready="1"] {
    width: max-content !important;
    min-width: max-content !important;
    flex: 0 0 auto !important;
    animation: sk-brand-flow-v585 113.333s linear infinite !important;
    transition: none !important;
    transform: translate3d(0, 0, 0);
    will-change: transform !important;
  }

  /* Do not let the first hero section clip its CTA stack. Small mobile browser
     bars change the visual viewport; content must be allowed to grow/scroll. */
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-hero {
    box-sizing: border-box !important;
    min-height: calc(100svh - var(--sk-shell-h, 58px)) !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: clip !important;
    padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-hero .sk-home-hero-grid,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-hero .sk-home-hero-grid.sk-dashboard-cluster-ready {
    box-sizing: border-box !important;
    min-height: calc(100svh - var(--sk-shell-h, 58px)) !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    align-content: start !important;
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page #sk-home-mobile-hero-panel,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-mobile-panel,
  html.sk-mobile-recovery-v586 body.sk-home-page #sk-home-mobile-hero-panel .sk-home-mobile-panel__surface,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-mobile-panel__actions {
    max-height: none !important;
    overflow: visible !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page #sk-home-mobile-hero-panel {
    pointer-events: auto !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page.sk-home-mobile-panel-ready #sk-home-mobile-hero-panel,
  html.sk-mobile-recovery-v586 body.sk-home-page.sk-home-mobile-panel-ready #sk-home-mobile-hero-panel .sk-home-mobile-panel__surface {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-mobile-panel__actions {
    box-sizing: border-box !important;
    margin-bottom: calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-mobile-panel__btn,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-mobile-panel__btn--booking,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-home-mobile-panel__btn--wa {
    flex: 0 0 auto !important;
    max-height: none !important;
  }

  /* Menu occupies only the usable viewport below header + brand strip. */
  html.sk-mobile-recovery-v586.sk-nav-enhanced body:not(.sk-shop-page) .sk-header .sk-nav {
    top: calc(var(--sk-public-header-mobile-height, 36px) + var(--sk-public-brand-strip-mobile-height, 22px)) !important;
    inset-block-start: calc(var(--sk-public-header-mobile-height, 36px) + var(--sk-public-brand-strip-mobile-height, 22px)) !important;
    bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
    height: auto !important;
    max-height: calc(100svh - var(--sk-public-header-mobile-height, 36px) - var(--sk-public-brand-strip-mobile-height, 22px) - 12px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* Respect an explicit OS accessibility choice while leaving normal devices moving. */
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-track,
  html.sk-mobile-recovery-v586 body.sk-home-page .sk-brand-track[data-sk-v585-brand-ready="1"] {
    animation: none !important;
    transform: translate3d(0, 0, 0) !important;
    will-change: auto !important;
  }
}
