/* ============================================================
   Bid2Stay Release 12.8.3.39 — Mobile Booking Experience
   Additive mobile-only journey refinement. Desktop UI is locked.
   ============================================================ */
:root{
  --b2s39-browser-offset:0px;
  --b2s39-safe-bottom:max(10px, env(safe-area-inset-bottom));
}
.b2s39-mobile-only,
.b2s39-bid-progress,
.b2s39-draft-status,
.b2s39-step-actions,
.b2s39-form-footnote{display:none}
.b2s39-start-bid-fab,
.b2s39-bottom-actions{display:none}

@media (max-width:760px){
  html{scroll-padding-top:76px}
  body.b2s39-has-bottom-actions{padding-bottom:calc(98px + env(safe-area-inset-bottom) + var(--b2s39-browser-offset))!important}
  body.b2s39-mobile-booking{overscroll-behavior-y:none}
  .b2s39-mobile-only,
  .b2s39-bid-progress,
  .b2s39-draft-status,
  .b2s39-step-actions,
  .b2s39-form-footnote{display:block}

  /* Always-visible journey entry point */
  .b2s39-start-bid-fab{
    position:fixed;
    right:12px;
    bottom:calc(var(--b2s39-safe-bottom) + var(--b2s39-browser-offset));
    z-index:1580;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:52px;
    max-width:calc(100vw - 24px);
    padding:0 18px;
    border:1px solid rgba(255,207,75,.8);
    border-radius:16px;
    background:linear-gradient(180deg,#ffd25f,#f4ad16);
    color:#07101b;
    font-size:13px;
    font-weight:950;
    letter-spacing:.01em;
    text-decoration:none;
    box-shadow:0 15px 38px rgba(0,0,0,.32),0 6px 18px rgba(245,173,22,.24);
    transition:transform .18s ease,opacity .18s ease,visibility .18s ease;
  }
  .b2s39-start-bid-fab::before{content:"⌁";font-size:18px}
  .b2s39-start-bid-fab:active{transform:translateY(1px) scale(.985)}
  .b2s39-start-bid-fab.is-hidden,
  body.b2s39-has-bottom-actions .b2s39-start-bid-fab{opacity:0;visibility:hidden;pointer-events:none}

  /* Two-minute mobile bid wizard */
  #b2sBidForm{scroll-margin-top:72px}
  #b2sBidForm.b2s39-wizard-ready{
    padding:22px 16px 0!important;
    border-radius:18px!important;
  }
  #b2sBidForm.b2s39-wizard-ready>h2{font-size:29px!important}
  #b2sBidForm.b2s39-wizard-ready>p{margin-bottom:12px!important}
  .b2s39-bid-progress{
    margin:0 0 14px;
    padding:12px;
    border:1px solid rgba(120,151,184,.34);
    border-radius:14px;
    background:rgba(4,15,28,.72);
  }
  .b2s39-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
  .b2s39-progress-top strong{color:#fff;font-size:12px}
  .b2s39-progress-top span{color:#aeb9c8;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
  .b2s39-progress-track{height:5px;border-radius:999px;background:#1c3147;overflow:hidden}
  .b2s39-progress-track i{display:block;height:100%;width:33.333%;border-radius:inherit;background:linear-gradient(90deg,#f4ad16,#ffd462);transition:width .22s ease}
  .b2s39-progress-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
  .b2s39-progress-step{
    min-height:31px;border:0;border-radius:9px;background:transparent;color:#8f9cac;
    font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:4px;
  }
  .b2s39-progress-step.is-current{background:rgba(245,173,22,.14);color:#ffd05b}
  .b2s39-progress-step.is-complete{color:#d8e0ea}
  .b2s39-draft-status{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin:0 0 14px;padding:9px 11px;border-radius:11px;
    background:rgba(255,255,255,.055);color:#b8c3d0;font-size:10px;
  }
  .b2s39-draft-status strong{color:#dbe4ef}
  .b2s39-draft-status button{border:0;background:transparent;color:#ffd05b;font:inherit;font-weight:850;padding:6px;white-space:nowrap}
  #b2sBidForm.b2s39-wizard-ready .b2s-bid-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  #b2sBidForm.b2s39-wizard-ready .b2s-bid-grid>[data-b2s39-step]{display:none!important}
  #b2sBidForm.b2s39-wizard-ready .b2s-bid-grid>[data-b2s39-step].is-active{display:block!important;animation:b2s39-step-in .18s ease both}
  #b2sBidForm.b2s39-wizard-ready .b2s-field label{margin-bottom:7px!important}
  #b2sBidForm.b2s39-wizard-ready input,
  #b2sBidForm.b2s39-wizard-ready select{
    min-height:54px!important;border-radius:13px!important;font-size:16px!important;
  }
  #b2sBidForm.b2s39-wizard-ready input[type="date"]{
    appearance:auto!important;-webkit-appearance:auto!important;color-scheme:dark;
    padding-right:10px!important;cursor:pointer;
  }
  #b2sBidForm.b2s39-wizard-ready input[type="date"]::-webkit-calendar-picker-indicator{
    width:24px;height:24px;opacity:1;filter:invert(77%) sepia(81%) saturate(723%) hue-rotate(343deg) brightness(104%);
  }
  .b2s39-step-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin:14px 0 3px}
  .b2s39-step-actions button{
    min-height:50px;border-radius:13px;font-size:12px;font-weight:950;padding:0 12px;
  }
  .b2s39-step-back{border:1px solid #53677d;background:#102238;color:#f3f6fa}
  .b2s39-step-next{border:0;background:linear-gradient(180deg,#ffd05b,#f3aa11);color:#07101b}
  .b2s39-step-actions.is-first{grid-template-columns:1fr}
  .b2s39-step-actions.is-final{grid-template-columns:1fr}
  .b2s39-step-actions.is-final .b2s39-step-next{display:none}
  #b2sBidForm.b2s39-wizard-ready .b2s-bid-submit{min-height:56px!important;border-radius:13px!important}
  #b2sBidForm.b2s39-wizard-ready .b2s-bid-stats{margin-top:17px!important;padding-top:14px!important;padding-bottom:14px!important}
  #b2sBidForm.b2s39-wizard-ready .b2s-bid-stat{min-width:0!important}
  .b2s39-form-footnote{margin:9px 0 0!important;text-align:center;color:#9eabb9!important;font-size:9px!important;line-height:1.4}

  /* One-hand offer comparison */
  .b2s-comparison-shell{padding-bottom:8px}
  .b2s-comparison-top{gap:12px!important}
  .b2s-comparison-top h1{font-size:26px!important;line-height:1.05!important}
  .b2s-comparison-toolbar{
    position:sticky;top:60px;z-index:35;margin-inline:-1px!important;padding:11px!important;
    border-radius:13px!important;box-shadow:0 10px 28px rgba(8,17,28,.1);
  }
  .b2s-comparison-toolbar label,.b2s-comparison-toolbar select,.b2s-comparison-location{width:100%!important}
  .b2s-comparison-location{min-height:48px!important;justify-content:center!important}
  .b2s-comparison-grid{grid-template-columns:1fr!important;gap:14px!important}
  .b2s-comparison-card{border-radius:16px!important;scroll-margin-top:124px;box-shadow:0 12px 30px rgba(12,25,41,.1)!important}
  .b2s-comparison-card.is-b2s39-active{outline:2px solid rgba(245,173,22,.78);outline-offset:2px}
  .b2s-comparison-image{min-height:164px!important;max-height:196px!important}
  .b2s-comparison-body{padding:15px!important}
  .b2s-comparison-features{grid-template-columns:1fr!important;gap:8px!important}
  .b2s-comparison-feature{min-height:58px!important}
  .b2s-comparison-actions{gap:8px!important}
  .b2s-comparison-actions a,.b2s-comparison-actions button{min-height:46px!important}

  /* Maps: compact, thumb-friendly and scroll-safe */
  .market-layout{display:flex!important;flex-direction:column!important;gap:14px!important}
  .market-side{order:-1!important;width:100%!important;position:static!important}
  .market-map{min-height:250px!important;height:min(39dvh,330px)!important;border-radius:16px!important;overflow:hidden!important}
  .market-map-canvas,#b2sPropertyMap,.b2s-map-canvas{
    min-height:220px!important;touch-action:pan-x pan-y!important;overscroll-behavior:contain!important;
  }
  .market-map button,.leaflet-control a,.b2s-map-control{min-width:44px!important;min-height:44px!important}
  .market-results{grid-template-columns:1fr!important}
  .market-toolbar{position:sticky!important;top:60px!important;z-index:30!important;padding:10px!important;border-radius:13px!important}
  .market-toolbar input,.market-toolbar select,.market-toolbar button{min-height:46px!important}
  .property-card,.market-card{scroll-snap-align:start}

  /* Safe bottom action bar */
  .b2s39-bottom-actions{
    position:fixed;left:10px;right:10px;
    bottom:calc(var(--b2s39-safe-bottom) + var(--b2s39-browser-offset));
    z-index:1600;display:grid;grid-template-columns:minmax(0,1fr) auto;
    align-items:center;gap:10px;padding:9px;
    border:1px solid rgba(245,173,22,.42);border-radius:17px;
    background:rgba(7,12,18,.96);color:#fff;
    box-shadow:0 18px 48px rgba(0,0,0,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  }
  .b2s39-action-context{min-width:0;padding-left:3px}
  .b2s39-action-context span{display:block;color:#aeb8c5;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
  .b2s39-action-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;color:#fff}
  .b2s39-action-buttons{display:flex;align-items:center;gap:7px}
  .b2s39-action-buttons button,.b2s39-action-buttons a{
    min-height:48px;border-radius:12px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:950;text-decoration:none;white-space:nowrap;
  }
  .b2s39-action-secondary{border:1px solid #596879;background:#111d29;color:#fff}
  .b2s39-action-primary{border:0;background:linear-gradient(180deg,#ffd05b,#f3aa11);color:#07101b}
  .b2s39-action-danger{border:1px solid rgba(255,111,111,.48);background:#241318;color:#ffd4d4}
  .b2s39-action-buttons .is-hidden{display:none!important}

  /* Hotel counter panel made usable above the fixed bar */
  [data-b2s-counter-panel]:not([hidden]){
    padding:13px!important;border-radius:13px!important;background:#f8fafc!important;
    box-shadow:inset 0 0 0 1px rgba(10,26,44,.12)!important;
  }
  [data-b2s-counter-panel] input,[data-b2s-counter-panel] textarea{width:100%!important;min-height:50px!important;font-size:16px!important}
  [data-b2s-counter-panel] textarea{min-height:88px!important}
  .hotel-list article{scroll-margin-top:78px}
  .hotel-list article.is-b2s39-active{outline:2px solid rgba(245,173,22,.74);outline-offset:2px}

  /* Confirmed stay: check-in pass remains reachable with one hand */
  .b2s-stay-grid{grid-template-columns:1fr!important}
  #b2sCheckinPassCard{scroll-margin-top:76px}
}

@media (max-width:430px){
  .b2s39-bottom-actions{grid-template-columns:1fr;padding:8px}
  .b2s39-action-context{display:none}
  .b2s39-action-buttons{display:grid;grid-template-columns:1fr 1.35fr;width:100%}
  .b2s39-action-buttons button,.b2s39-action-buttons a{width:100%;padding:0 9px}
  .b2s39-action-buttons.b2s39-three{grid-template-columns:.8fr 1fr 1.35fr}
  .b2s39-action-buttons.b2s39-three button,.b2s39-action-buttons.b2s39-three a{font-size:10px;padding:0 6px}
}

@keyframes b2s39-step-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .b2s39-start-bid-fab,.b2s39-progress-track i,#b2sBidForm [data-b2s39-step]{transition:none!important;animation:none!important}
}
