.hp-mobile-search-launch[hidden], .hp-mobile-search-overlay[hidden], .hp-mobile-search-overlay [hidden] { display: none !important; }
.hp3-destination-page .hp3-duration, .hp-valet-search .hp3-duration { display: none !important; }
.hp-mobile-search-launch h2 { margin: 0 0 16px; color: var(--hp3-navy); font-size: 1.35rem; font-weight: 700; line-height: 1.25; }
.hp-mobile-search-start { display: block; width: 100%; padding: 0; border: 1px solid var(--hp3-line); border-radius: 8px; overflow: hidden; background: white; color: var(--hp3-navy); text-align: left; }
.hp-mobile-search-start > span { display: block; padding: 17px 16px; font-size: 1rem; }
.hp-mobile-search-start strong { display: flex; justify-content: space-between; align-items: center; padding: 17px 16px; background: var(--hp3-yellow); font-size: 1rem; }
.hp-mobile-search-overlay { position: fixed; inset: 0; z-index: 13500; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; background: #fff; color: var(--hp3-ink); }
.hp-mobile-search-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: max(10px, env(safe-area-inset-top)) 12px 10px; border-bottom: 1px solid var(--hp3-line); background: #fff; }
.hp-mobile-search-header button { width: 44px; height: 44px; border: 1px solid var(--hp3-line); border-radius: 50%; background: white; color: var(--hp3-navy); font-size: 1.6rem; }
.hp-mobile-search-header > span { font-size: .85rem; font-weight: 700; color: var(--hp3-muted); }
.hp-mobile-search-content { max-width: 600px; margin: auto; padding: 28px 20px max(28px, env(safe-area-inset-bottom)); }
.hp-mobile-search-content h2 { margin: 0 0 24px; font-size: 1.7rem; font-weight: 700; line-height: 1.2; letter-spacing: -.03em; color: var(--hp3-navy); }
.hp-mobile-search-content h2:focus { outline: none; }
.hp-mobile-search-overlay label { display: block; margin-bottom: 7px; font-size: .85rem; font-weight: 600; }
#hp-mobile-airport-filter { width: 100%; min-height: 54px; margin-bottom: 18px; padding: 12px 15px; border: 1px solid var(--hp3-line); border-radius: 8px; background: #f6fafc; color: var(--hp3-ink); font-size: 16px; }
.hp-mobile-airport-list { display: grid; gap: 8px; }
.hp-mobile-airport-list button { min-height: 56px; padding: 14px 16px; border: 1px solid var(--hp3-line); border-radius: 8px; background: #fff; color: var(--hp3-ink); text-align: left; font-size: 1rem; }
.hp-mobile-airport-list button[aria-pressed="true"] { border-color: var(--hp3-blue); background: #eef8fc; }
.hp-mobile-search-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 16px; border: 1px solid var(--hp3-line); border-radius: 8px; background: #f1f8fc; text-align: left; color: var(--hp3-navy); }
.hp-mobile-search-summary small, .hp-mobile-search-summary strong { display: block; }
.hp-mobile-search-summary small { margin-bottom: 4px; color: var(--hp3-muted); font-size: .75rem; }
.hp-mobile-search-summary > span:last-child { color: var(--hp3-blue); font-size: .85rem; text-decoration: underline; }
.hp-mobile-search-hint { margin: 20px 0; color: var(--hp3-muted); font-size: .9rem; line-height: 1.5; }
.hp-mobile-search-overlay button:focus-visible, #hp-mobile-airport-filter:focus-visible { outline: 3px solid var(--hp3-blue); outline-offset: 3px; }
body:has(.hp-mobile-search-overlay:not([hidden])) .hp3-time-tooltip { z-index: 15000; }
@media (max-width: 767.98px) {
    .hp-mobile-search-enabled > [data-mobile-search-source],
    .hp-mobile-search-enabled .hp3-search-heading,
    .hp-mobile-search-enabled .hp3-booking-nudge,
    .hp-mobile-search-enabled .hp-valet-search__heading { display: none; }
    .hp-mobile-search-overlay .hp3-search .innerSearch { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .hp-mobile-search-overlay .hp3-search .innerSearch > .col-lg-3 { display: none; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range { padding: 0 0 0 52px !important; }
    .hp-mobile-search-overlay .hp3-duration { position: absolute; top: 36px; bottom: 36px; left: 22px; right: auto; width: 24px; height: auto; margin: 0; border: 1px dotted #7293a2; border-right: 0; border-radius: 5px 0 0 5px; }
    .hp-mobile-search-overlay .hp3-duration-badge { position: absolute; top: 50%; left: 0; display: flex; flex-direction: column; gap: 0; width: 44px; height: 44px; padding: 0; border: 1px solid #7293a2; border-radius: 50%; background: #fff; font-size: 11px; line-height: 1.05; white-space: pre; transform: translate(-50%, -50%); }
    .hp-mobile-search-overlay .hp3-duration-badge strong { font-size: 18px; }
    .hp-mobile-search-overlay .hp3-search .innerSearch > .hp3-date-range .row .row { grid-template-columns: minmax(0, 1fr) 120px; gap: 10px; }
    .hp-mobile-search-overlay .hp3-search .innerSearch > .hp3-date-range > .row { gap: 16px; }
    .hp-mobile-search-overlay .hp3-search .parking-spot-element { border-radius: 8px !important; }
    .hp-mobile-search-overlay .hp3-search .top-label-1 { height: 72px !important; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .parking-spot-element > div { padding: 12px 10px !important; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .parking-spot-element label { margin-bottom: 9px !important; font-size: .72rem !important; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .form-control, .hp-mobile-search-overlay .hp3-search .hp3-date-range .timeinput { font-size: 16px !important; }
    .hp-mobile-search-overlay .hp3-search .custom-btn { height: auto !important; min-height: 58px; padding: 14px !important; white-space: normal; font-size: 1rem !important; }
    .hp-mobile-search-overlay .hp-mobile-search-nudge { margin: 20px auto 0; padding: 0 42px 0 0; }
    .hp-mobile-search-overlay .hp-mobile-search-nudge .hp3-booking-nudge-arrow { left: auto; right: -3px; top: -30px; width: 38px; transform: none; }
}
@media (max-width: 374.98px) {
    .hp-mobile-search-overlay .hp3-search .hp3-date-range { padding-left: 44px !important; }
    .hp-mobile-search-overlay .hp3-duration { left: 19px; width: 19px; }
    .hp-mobile-search-overlay .hp3-duration-badge { width: 38px; height: 38px; font-size: 10px; }
    .hp-mobile-search-overlay .hp3-search .innerSearch > .hp3-date-range .row .row { grid-template-columns: minmax(0, 1fr) 98px; gap: 8px; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .parking-spot-element > div { padding: 12px 6px !important; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .parking-spot-element label { font-size: .64rem !important; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .top-label-1 input { padding-right: 0 !important; }
    .hp-mobile-search-overlay .hp3-search .hp3-date-range .top-label-1 > label:last-of-type { display: none !important; }
}
