/* Shared mobile interaction polish for the public site and customer portal. */
@media (max-width: 820px) {
  html { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  body.mobile-sheet-open { overflow: hidden; touch-action: none; }
  body:has(.main-mobile-nav) .mobile-bottom-nav { display: none !important; }
  .main-mobile-nav,.portal-sidebar { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  .main-mobile-nav>a,.portal-sidebar .nav-primary {-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .16s ease,background-color .16s ease,transform .1s ease}
  .main-mobile-nav>a:active,.portal-sidebar .nav-primary:active{transform:scale(.97)}
  .main-mobile-nav>a.active,.main-mobile-nav>a[aria-current="page"],.portal-sidebar .nav-primary.active,.portal-sidebar .nav-primary[aria-current="page"]{color:#ff432d!important;background:#f5f7f9;box-shadow:inset 0 3px #ff432d}
  .main-support-sheet,.mobile-support-sheet{max-height:min(78dvh,680px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
  .main-support-sheet>a,.mobile-support-sheet>a{min-height:72px;touch-action:manipulation}
  .main-support-sheet header>a,.mobile-support-sheet header>a{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px}
  .profile-form.is-dirty .profile-completion{border-color:#ffb5a8;background:#fff8f6}
  .profile-form.is-dirty .profile-completion::after{content:"Unsaved changes";grid-column:1/-1;color:#a43a28;font:700 12px/1.35 "DM Sans",Arial,sans-serif}
  button:disabled,[aria-disabled="true"]{cursor:not-allowed}
  .loading,[data-loading="true"]{min-height:44px}
}

/* Full-height, Hertz-style customer hamburger menu. */
@media (max-width: 760px) {
  #clientMoreMenu.client-more-menu {
    position: fixed !important;
    inset: 62px 0 0 !important;
    z-index: 600 !important;
    width: 100% !important;
    max-height: none !important;
    padding: 0 22px calc(28px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  #clientMoreMenu:not([hidden]) { display: block !important; }
  #clientMoreMenu > a,
  #clientMoreMenu .customer-hertz-menu > a,
  #clientMoreMenu .customer-hertz-menu > details > summary {
    min-height: 72px !important;
    border-bottom: 1px solid #d7dde2 !important;
    background: #fff !important;
  }
  #clientMoreMenu > a {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) auto !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  #clientMoreMenu > a i,
  #clientMoreMenu .cm-row-icon {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    color: #f25540 !important;
  }
  #clientMoreMenu > a i svg,
  #clientMoreMenu .cm-row-icon svg {
    width: 25px !important;
    height: 25px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
  }
  #clientMoreMenu > a > span,
  #clientMoreMenu .cm-row-label {
    color: #121923 !important;
    font: 700 16px/1.25 "DM Sans",Arial,sans-serif !important;
  }
  #clientMoreMenu > a > small {
    color: #687582 !important;
    font: 600 14px/1.25 "DM Sans",Arial,sans-serif !important;
  }
  #clientMoreMenu .customer-hertz-menu details > a {
    min-height: 50px !important;
    padding-left: 56px !important;
    color: #5d6976 !important;
    font: 600 14px/1.3 "DM Sans",Arial,sans-serif !important;
  }
  #clientMoreMenu .customer-hertz-menu summary::after {
    content: "⌄" !important;
    color: #111820 !important;
    font-size: 25px !important;
  }
  #clientMoreMenu .customer-hertz-menu details[open] > summary::after {
    transform: rotate(180deg) translateY(1px) !important;
  }
  body:has(#clientMoreMenu:not([hidden])) { overflow: hidden !important; }
  body.mobile-hamburger-open { overflow: hidden !important; }
}

@media(max-width:760px){#mobileMenu{position:relative!important;z-index:700!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}#clientMoreMenu[hidden]{display:none!important}#clientMoreMenu.menu-is-open{display:block!important}}

@media(max-width:760px){#clientMoreMenu[popover]{display:none!important;margin:0!important;inset:62px 0 0!important;width:100%!important;height:calc(100dvh - 62px)!important;max-width:none!important;max-height:none!important}#clientMoreMenu[popover]:popover-open{display:block!important}#clientMoreMenu::backdrop{background:transparent}}

/* Lock the native mobile popover to the viewport, independent of page scroll or invoker anchoring. */
@media (max-width:760px) {
  #clientMoreMenu[popover] {
    position: fixed !important;
    position-anchor: none !important;
    top: 62px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    inset: 62px 0 0 0 !important;
    margin: 0 !important;
    width: 100vw !important;
    height: auto !important;
    max-width: 100vw !important;
    max-height: calc(100dvh - 62px) !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
    z-index: 2147483647 !important;
  }
  #clientMoreMenu[popover]:popover-open {
    display: block !important;
  }
}


/* Mobile homepage booking form clearance — 2026-09-18 */
@media (max-width:820px) {
  html { scroll-padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important; }
  body { padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important; }

  .main-mobile-nav {
    height: calc(68px + env(safe-area-inset-bottom)) !important;
    min-height: calc(68px + env(safe-area-inset-bottom)) !important;
  }

  .search-wrap.restored-search {
    padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;
  }

  .restored-search .search-intro {
    display: grid !important;
    grid-template-columns: max-content minmax(0,1fr) !important;
    align-items: end !important;
    gap: 14px !important;
    margin: 0 0 10px !important;
    text-align: left !important;
  }

  .restored-search .search-intro > span {
    display: block !important;
    margin: 0 0 3px !important;
    color: #68727d !important;
    font: 800 9px/1.2 Manrope,"DM Sans",Arial,sans-serif !important;
    letter-spacing: 2px !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
  }

  .restored-search .search-intro > div {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .restored-search .search-intro h2 {
    margin: 0 !important;
    color: #101820 !important;
    font: 700 18px/1.15 "DM Sans",Arial,sans-serif !important;
    letter-spacing: -.3px !important;
    white-space: nowrap !important;
  }

  .restored-search .search-card {
    padding: 11px 12px 12px !important;
    gap: 7px 0 !important;
  }

  .restored-search .search-field label {
    margin-bottom: 3px !important;
  }

  .restored-search .btn-search {
    min-height: 46px !important;
    height: 46px !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #quickSearch {
    scroll-margin-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:390px) {
  .restored-search .search-intro {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .restored-search .search-intro > span {
    margin: 0 !important;
  }

  .restored-search .search-intro h2 {
    font-size: 17px !important;
  }
}
