/* xFame LOBBY V10 — booking phone/tablet layout.
   Loaded after lobby-orange-ui.css to neutralise the generic 96px inner-page pad. */
body.lobby-theme:has(.booking-page){
  padding-top:0!important;
  overflow-x:hidden!important;
  background:#070604!important;
}
body.lobby-theme:has(.booking-page) main{overflow:visible!important;min-width:0!important}
.booking-map[hidden],.booking-map-grid-fallback[hidden]{display:none!important}

@media (max-width: 800px){
  body.lobby-theme:has(.booking-page) .lobby-floating-chrome{
    top:max(8px,env(safe-area-inset-top))!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    min-width:0!important;
    z-index:1200!important;
  }
  body.lobby-theme:has(.booking-page) .lobby-floating-brand{
    min-width:58px!important;
    min-height:60px!important;
    padding:6px!important;
    border-radius:17px!important;
  }
  body.lobby-theme:has(.booking-page) .lobby-floating-brand>strong{display:none!important}
  body.lobby-theme:has(.booking-page) .lobby-floating-actions{min-width:0!important;gap:6px!important;padding:5px!important}
  body.lobby-theme:has(.booking-page) .lobby-floating-login{min-height:50px!important;padding:0 16px!important;border-radius:12px!important}
  body.lobby-theme:has(.booking-page) .lobby-burger{width:54px!important;min-width:54px!important;padding:0 14px!important}

  .booking-page{
    box-sizing:border-box!important;
    width:calc(100% - 16px)!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:calc(max(8px,env(safe-area-inset-top)) + 82px) 0 48px!important;
  }
  .booking-hero{
    min-height:0!important;
    padding:27px 20px 25px!important;
    border-radius:20px!important;
  }
  .booking-hero__copy{max-width:100%!important;min-width:0!important}
  .booking-kicker{gap:9px!important;font-size:9px!important;letter-spacing:.15em!important;white-space:nowrap!important}
  .booking-kicker i{width:28px!important}
  .booking-hero h1{
    max-width:100%!important;
    margin:22px 0 18px!important;
    font-size:clamp(39px,11.8vw,58px)!important;
    line-height:.88!important;
    letter-spacing:-.055em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .booking-hero h1 em{display:block!important}
  .booking-hero p{max-width:100%!important;font-size:14px!important;line-height:1.55!important}
  .booking-hero__signal{top:18px!important;right:19px!important;transform:scale(.8);transform-origin:top right}
  .booking-live-line{margin-top:22px!important;gap:9px!important;align-items:flex-start!important;flex-direction:column!important}
  .booking-live-line>span{padding:8px 11px!important;font-size:8.5px!important}
  .booking-live-line b{font-size:12px!important}

  .booking-flow{display:block!important;margin-top:10px!important}
  .booking-steps{
    position:sticky!important;
    top:calc(max(8px,env(safe-area-inset-top)) + 72px)!important;
    z-index:950!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    margin:9px 0!important;
    padding:6px!important;
    border-radius:16px!important;
    background:rgba(10,8,6,.96)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.5)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  .booking-steps>button{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    min-width:0!important;
    min-height:48px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:8px 7px!important;
    border-radius:11px!important;
    text-align:left!important;
  }
  .booking-steps>button span{grid-row:auto!important;font-size:9px!important}
  .booking-steps>button b{min-width:0!important;font-size:9px!important;line-height:1.12!important;white-space:normal!important}
  .booking-steps>button small,.booking-steps__secure{display:none!important}

  .booking-workspace{width:100%!important;min-width:0!important}
  .booking-panel{width:100%!important;min-width:0!important;padding:22px 16px!important;border-radius:18px!important;overflow:hidden!important}
  .booking-panel__head{display:block!important;padding-bottom:20px!important}
  .booking-panel__head h2{font-size:clamp(31px,9.6vw,43px)!important;line-height:.98!important}
  .booking-panel__head p{max-width:100%!important;margin-top:11px!important;font-size:12px!important;line-height:1.5!important;text-align:left!important}

  .booking-time-grid,.booking-time-grid--start,.booking-time-grid--quote,.booking-contact-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:11px!important}
  .booking-time-grid input,.booking-contact-grid input{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;height:56px!important;padding:0 13px!important;font-size:16px!important}
  .booking-zone-choice{box-sizing:border-box!important;min-width:0!important;min-height:58px!important;padding:10px 14px!important}
  .booking-zone-choice b{overflow-wrap:anywhere!important}

  .booking-map-toolbar{display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:12px!important;margin-top:18px!important}
  .booking-legend{display:flex!important;flex-wrap:wrap!important;gap:8px 12px!important;font-size:10px!important;line-height:1.25!important}
  .booking-map-toolbar>button{align-self:stretch!important;width:100%!important;min-height:46px!important}
  .booking-map-shell{box-sizing:border-box!important;width:100%!important;min-height:0!important;padding:8px!important;border-radius:16px!important;overflow:hidden!important}
  .booking-map-grid-fallback{width:100%!important;min-width:0!important;gap:10px!important}
  .booking-fallback-zone{min-width:0!important;padding:12px!important;border-radius:12px!important}
  .booking-fallback-zone>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .booking-map-grid-fallback button{box-sizing:border-box!important;min-width:0!important;min-height:68px!important;padding:9px!important;align-items:flex-start!important;text-align:left!important}
  .booking-map-grid-fallback button b{font-size:13px!important}
  .booking-map-grid-fallback button small{max-width:100%!important;overflow-wrap:anywhere!important}
  .booking-map-loading{inset:8px!important}

  .booking-selection{grid-template-columns:minmax(0,1fr)!important;gap:7px!important;padding:14px!important}
  .booking-selection>span{grid-column:auto!important}
  .booking-selection strong{max-width:100%!important;text-align:left!important;overflow-wrap:anywhere!important}
  .booking-next,.booking-submit{width:100%!important;min-width:0!important;height:54px!important;margin:22px 0 0!important}
  .booking-nav-actions{align-items:stretch!important;flex-direction:column-reverse!important;gap:9px!important;margin-top:22px!important}
  .booking-nav-actions button{width:100%!important;min-width:0!important;margin:0!important}
  .booking-back{height:48px!important}

  .booking-tariff-grid{grid-template-columns:1fr!important;gap:9px!important}
  .booking-tariff{min-height:138px!important;padding:16px!important}
  .booking-tariff__computed{min-height:74px!important}
  .booking-order{grid-template-columns:1fr!important}
  .booking-order>div{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .booking-order>div:last-child{border-bottom:0!important}
  .booking-consent{font-size:11px!important}
  .booking-success{padding:10px!important}
  .booking-success>section{max-height:calc(100dvh - 20px)!important;overflow:auto!important;padding:30px 18px!important;border-radius:18px!important}
  #bookingSuccessDetails{grid-template-columns:1fr!important}
}

@media (max-width: 430px){
  .booking-page{width:calc(100% - 12px)!important}
  .booking-hero{padding:24px 17px 23px!important}
  .booking-hero h1{font-size:clamp(37px,11.4vw,49px)!important}
  .booking-hero p{font-size:13.5px!important}
  .booking-panel{padding:20px 13px!important}
  .booking-panel__head h2{font-size:34px!important}
  .booking-steps>button{grid-template-columns:1fr!important;gap:2px!important;text-align:center!important}
  .booking-steps>button span{font-size:8px!important}
  .booking-steps>button b{font-size:8.5px!important}
  .booking-fallback-zone>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width: 350px){
  .booking-kicker{font-size:8px!important;letter-spacing:.1em!important}
  .booking-hero h1{font-size:35px!important}
  .booking-fallback-zone>div{grid-template-columns:1fr!important}
}
@media (max-width: 800px){
  .booking-panel{scroll-margin-top:calc(max(8px,env(safe-area-inset-top)) + 142px)!important}
}
