/* V18: remove the redundant empty-search CTA, not the price/retry controls. */
body.recovery-options-open .booking-bar{display:none!important}
body.recovery-options-open.has-cart{padding-bottom:0}
body.recovery-options-open #no-slots-guide{scroll-margin-top:8px;overflow:visible}
#no-slots-guide .recovery-local-price{position:absolute;right:14px;top:30px;font:750 18px/1.2 'DM Sans',Arial,sans-serif;color:#f8efdc;white-space:nowrap}
#no-slots-guide #recovery-title{padding-right:98px}
#recovery-change-search{display:none}
/* A shorter browser window should use less decoration, not smaller tap targets. */
@media(max-width:999px){
 body.recovery-options-open.recovery-compact.booking-active .select-screen{--masthead-height:56px}
 body.recovery-options-open.recovery-compact.booking-active .site-header{height:56px;min-height:56px;padding:0 16px;background:var(--ink)}
 body.recovery-options-open.recovery-compact.booking-active .brand-copy{display:flex;align-items:center;gap:0}
 body.recovery-options-open.recovery-compact.booking-active .brand .brand-wordmark{width:88px;height:auto}
 body.recovery-options-open.recovery-compact.booking-active .site-header h1,
 body.recovery-options-open.recovery-compact.booking-active .loris-signature{display:none}
 body.recovery-options-open.recovery-compact.booking-active .site-header .login{left:auto;right:16px;top:6px;min-height:44px;padding:10px;font-size:11px}
 body.recovery-options-open.recovery-compact.booking-active #recovery-change-search{display:block;position:absolute;left:50%;top:6px;transform:translateX(-50%);min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--paper);font:600 11px/1.3 'DM Sans',Arial,sans-serif}
 body.recovery-compact #no-slots-guide .no-slots-heading{margin-bottom:9px}
 body.recovery-compact #no-slots-guide .no-slots-heading h2{font-size:30px}
 body.recovery-compact #no-slots-guide .booking-alternatives{padding:11px 12px 9px}
 body.recovery-compact #no-slots-guide .recovery-suggestions{padding:9px 12px}
 body.recovery-compact #no-slots-guide .walkin-alternative{padding:9px 12px;margin-top:9px}
 body.recovery-compact #no-slots-guide .no-slots-options{gap:9px}
 body.recovery-compact #no-slots-guide .other-salon-times{margin-top:8px;margin-bottom:5px}
 body.recovery-compact #no-slots-guide #recovery-cards{gap:9px;margin-top:9px}
 body.recovery-compact #no-slots-guide .recovery-card+.recovery-card{padding-top:9px}
 body.recovery-compact #no-slots-guide .recovery-local-price{top:28px;right:12px}
 /* Very short windows, landscape and enlarged text remain naturally scrollable.
    No fixed-height container, clipped options, nested vertical scroll or zoom lock. */
 body.recovery-options-open.recovery-short.booking-active .site-header{position:sticky;top:0}
 body.recovery-short #no-slots-guide .no-slots-heading h2{font-size:28px}
}
@media(max-width:360px){
 #no-slots-guide .recovery-local-price{font-size:17px}
 #no-slots-guide #recovery-title{padding-right:88px}
}
/* CSS safety net before the module initializes on short portrait browsers. */
@media(max-width:999px) and (max-height:590px){
 body.recovery-options-open.booking-active .site-header{position:sticky;top:0}
}

/* Short portrait: reduce spacing, not slot targets. Keep the header sticky so
   the base booking viewport detector has a stable non-negative reference. */
@media(max-width:999px){
 body.recovery-short #no-slots-guide .no-slots-heading{margin-bottom:6px}
 body.recovery-short #no-slots-guide #no-slots-context{margin-top:3px}
 body.recovery-short #no-slots-guide .booking-alternatives{padding:8px 12px 7px}
 body.recovery-short #no-slots-guide .booking-alternatives>.eyebrow{margin-bottom:3px}
 body.recovery-short #no-slots-guide #other-salons-title{font-size:25px}
 body.recovery-short #no-slots-guide .other-salon-times{margin-top:6px;margin-bottom:3px}
 body.recovery-short #no-slots-guide .recovery-suggestions{padding:7px 12px}
 body.recovery-short #no-slots-guide #recovery-title{font-size:24px}
 body.recovery-short #no-slots-guide .recovery-local-price{top:26px}
 body.recovery-short #no-slots-guide #recovery-cards{margin-top:8px;gap:7px}
 body.recovery-short #no-slots-guide .recovery-card+.recovery-card{padding-top:7px}
 body.recovery-short #no-slots-guide .walkin-alternative{padding:8px 12px;margin-top:8px}
 body.recovery-short #no-slots-guide .walkin-detail{margin-top:3px}
 body.recovery-short #no-slots-guide .no-slots-options{gap:8px}
}
#no-slots-guide #recovery-title,#no-slots-guide #other-salons-title{overflow-wrap:anywhere}

#recovery-change-search{z-index:4}
