/* Bid2Stay 29.0.9.3.4 FINAL — independent mobile public shell.
   Mobile no longer reuses the legacy header. The legacy public header remains desktop-only. */

:root{
  --b2s394m-bg:#07161d;
  --b2s394m-bg2:#0c222b;
  --b2s394m-gold:#e8b84a;
  --b2s394m-text:#f7fafb;
  --b2s394m-muted:#afbdc4;
  --b2s394m-line:rgba(255,255,255,.10);
}

.b2s394-mobile-shell{display:none}

@media (max-width:820px){
  /* The old header is deliberately removed from the mobile layout. This is the
     key isolation boundary that prevents historical !important rules and menu
     listeners from re-owning the current mobile interface. */
  header.b2s-global-header[data-b2s-header-type="public"]{display:none!important}

  .b2s394-mobile-shell{
    display:block!important;
    position:sticky!important;
    top:0!important;
    z-index:2147482000!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:linear-gradient(180deg,#0b2029 0%,#07171e 100%)!important;
    border-bottom:1px solid rgba(232,184,74,.16)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
    isolation:isolate!important;
  }
  .b2s394-mobile-shell-bar{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-height:60px!important;
    padding:8px 12px!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .b2s394-mobile-brand{
    display:inline-flex!important;
    align-items:center!important;
    min-width:0!important;
    max-width:180px!important;
    text-decoration:none!important;
  }
  .b2s394-mobile-brand img{
    display:block!important;
    width:auto!important;
    height:34px!important;
    max-width:min(164px,52vw)!important;
    max-height:34px!important;
    object-fit:contain!important;
  }

  .b2s394-mobile-menu{
    position:relative!important;
    display:block!important;
    flex:0 0 auto!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
  }
  .b2s394-mobile-menu>summary{
    list-style:none!important;
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(232,184,74,.42)!important;
    border-radius:13px!important;
    background:#102a34!important;
    color:#f0c55f!important;
    -webkit-text-fill-color:currentColor!important;
    box-shadow:none!important;
    cursor:pointer!important;
    font-size:0!important;
    line-height:0!important;
    text-indent:0!important;
    user-select:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .b2s394-mobile-menu>summary::-webkit-details-marker{display:none!important}
  .b2s394-mobile-menu>summary::marker{content:""!important}
  .b2s394-mobile-menu>summary:focus-visible{
    outline:3px solid rgba(232,184,74,.28)!important;
    outline-offset:2px!important;
  }
  .b2s394-mobile-menu>summary svg{
    display:block!important;
    width:22px!important;
    height:22px!important;
    stroke:currentColor!important;
    fill:none!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .b2s394-mobile-menu .b2s394-icon-close{display:none!important}
  .b2s394-mobile-menu[open] .b2s394-icon-menu{display:none!important}
  .b2s394-mobile-menu[open] .b2s394-icon-close{display:block!important}

  .b2s394-mobile-menu-panel{
    position:absolute!important;
    top:52px!important;
    right:0!important;
    left:auto!important;
    display:block!important;
    width:min(318px,calc(100vw - 20px))!important;
    max-width:318px!important;
    max-height:calc(100dvh - 78px)!important;
    margin:0!important;
    padding:10px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    border:1px solid rgba(232,184,74,.26)!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#112a34 0%,#091c24 100%)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.36)!important;
    box-sizing:border-box!important;
  }
  .b2s394-mobile-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .b2s394-mobile-nav a,
  .b2s394-mobile-action-set a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:43px!important;
    margin:0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:var(--b2s394m-text)!important;
    -webkit-text-fill-color:var(--b2s394m-text)!important;
    font-family:inherit!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:760!important;
    letter-spacing:0!important;
    text-decoration:none!important;
    white-space:normal!important;
  }
  .b2s394-mobile-nav a:hover,
  .b2s394-mobile-nav a:focus-visible,
  .b2s394-mobile-action-set a:hover,
  .b2s394-mobile-action-set a:focus-visible{
    background:rgba(255,255,255,.07)!important;
    outline:none!important;
  }
  .b2s394-mobile-actions{
    display:block!important;
    width:100%!important;
    margin:7px 0 0!important;
    padding:9px 0 0!important;
    border-top:1px solid var(--b2s394m-line)!important;
  }
  .b2s394-mobile-action-set{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    width:100%!important;
  }
  html:not([data-b2s-session-hint]) .b2s394-mobile-action-set[data-b2s-action-state="signed-out"],
  html[data-b2s-session-hint="signed-out"] .b2s394-mobile-action-set[data-b2s-action-state="signed-out"],
  html[data-b2s-session-hint="guest"] .b2s394-mobile-action-set[data-b2s-action-state="guest"],
  html[data-b2s-session-hint="hotel"] .b2s394-mobile-action-set[data-b2s-action-state="hotel"],
  html[data-b2s-session-hint="admin"] .b2s394-mobile-action-set[data-b2s-action-state="admin"]{
    display:grid!important;
  }
  .b2s394-mobile-action-set .b2s394-mobile-primary{
    justify-content:center!important;
    background:linear-gradient(135deg,#f2cd70,#e3ae36)!important;
    color:#102129!important;
    -webkit-text-fill-color:#102129!important;
    font-weight:850!important;
  }
  .b2s394-mobile-action-set .b2s394-mobile-secondary{
    justify-content:center!important;
    border:1px solid rgba(255,255,255,.13)!important;
    background:rgba(255,255,255,.04)!important;
    color:#e9eff2!important;
    -webkit-text-fill-color:#e9eff2!important;
  }
  .b2s394-mobile-action-set .b2s394-mobile-signout{
    color:#ffd5d5!important;
    -webkit-text-fill-color:#ffd5d5!important;
  }

  .b2s394-sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }

  /* This shell never locks the page. */
  html,body{overflow-y:auto!important}
  body{touch-action:auto!important;-webkit-overflow-scrolling:touch!important}
}

@media (max-width:390px){
  .b2s394-mobile-shell-bar{min-height:58px!important;padding:7px 10px!important}
  .b2s394-mobile-brand img{height:31px!important;max-height:31px!important;max-width:min(150px,50vw)!important}
  .b2s394-mobile-menu,.b2s394-mobile-menu>summary{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .b2s394-mobile-menu-panel{top:50px!important;width:min(304px,calc(100vw - 16px))!important;max-width:304px!important}
}
