/* Bid2Stay 28.22.8 — Mobile-First Premium Experience
   Mobile-only visual architecture. Desktop 28.22.7 remains untouched.
   Goals: distinct mobile behaviour, floating navigation sheets, reduced editorial copy,
   compact grouped surfaces, consistent 44–48px targets, single-line compact controls,
   brand-only palette, and zero overlap/spill. */

@media (max-width:900px){
  :root{
    --b2s-m-page:14px;
    --b2s-m-gap:10px;
    --b2s-m-card:18px;
    --b2s-m-inner:14px;
    --b2s-m-control:46px;
  }

  html,body{overflow-x:hidden!important;max-width:100%!important}
  body{-webkit-tap-highlight-color:transparent!important}

  /* ==========================================================
     MOBILE NAVIGATION — a floating UI layer, not a desktop drawer
     ========================================================== */
  body.admin-page .b2s-admin-topbar{
    position:sticky!important;top:0!important;z-index:180!important;
    height:60px!important;
    background:rgba(255,255,255,.92)!important;
    backdrop-filter:saturate(180%) blur(18px)!important;
    -webkit-backdrop-filter:saturate(180%) blur(18px)!important;
    border-bottom:1px solid rgba(207,215,223,.78)!important;
  }
  body.admin-page .b2s-admin-topbar-inner{
    height:60px!important;padding:0 12px!important;gap:8px!important;
  }
  body.admin-page .b2s-admin-logo img{width:108px!important;max-height:32px!important}
  body.admin-page .b2s-admin-topbar-actions{gap:8px!important}
  body.admin-page .b2s-admin-notification-button,
  body.admin-page .b2s-admin-menu-toggle{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border-radius:50%!important;
    border:1px solid var(--b2s-a-line)!important;background:#fff!important;
    box-shadow:0 1px 2px rgba(7,27,42,.03)!important;
  }
  body.admin-page .b2s-admin-menu-toggle{
    font-size:0!important;position:relative!important;
  }
  body.admin-page .b2s-admin-menu-toggle::before{
    content:""!important;width:18px!important;height:18px!important;background:var(--b2s-a-navy)!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 7h14M5 12h14M5 17h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 7h14M5 12h14M5 17h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  }

  body.admin-page .admin-nav{
    top:70px!important;left:12px!important;right:12px!important;bottom:auto!important;
    width:auto!important;max-width:none!important;height:auto!important;max-height:calc(100dvh - 84px)!important;
    padding:10px 10px calc(14px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:saturate(180%) blur(24px)!important;
    -webkit-backdrop-filter:saturate(180%) blur(24px)!important;
    border:1px solid rgba(207,215,223,.9)!important;border-radius:24px!important;
    box-shadow:0 24px 70px rgba(7,27,42,.22)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    transform:translateY(-10px) scale(.985)!important;
    transform-origin:top center!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
  }
  body.admin-page .admin-shell.nav-open .admin-nav{
    transform:translateY(0) scale(1)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  body.admin-page .b2s2845-admin-overlay{
    inset:60px 0 0!important;background:rgba(7,27,42,.28)!important;
    backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;
  }
  body.admin-page .b2s-nav-section{
    margin:11px 10px 4px!important;font-size:9px!important;line-height:1!important;letter-spacing:.085em!important;
  }
  body.admin-page .b2s-admin-link{
    min-height:46px!important;height:46px!important;padding:0 12px!important;margin:2px 0!important;
    border-radius:14px!important;gap:11px!important;font-size:14px!important;font-weight:660!important;
  }
  body.admin-page .b2s-nav-icon{width:19px!important;height:19px!important;flex-basis:19px!important}
  body.admin-page .b2s-nav-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Guest/public mobile navigation becomes the same floating-sheet model. */
  .topbar[data-b2s-topbar-role="guest"]{
    position:sticky!important;top:0!important;z-index:180!important;
    min-height:60px!important;height:60px!important;
    backdrop-filter:saturate(180%) blur(18px)!important;-webkit-backdrop-filter:saturate(180%) blur(18px)!important;
  }
  .topbar[data-b2s-topbar-role="guest"] .topbar-inner{min-height:60px!important;height:60px!important;padding:0 12px!important}
  .topbar[data-b2s-topbar-role="guest"] .logo img{max-width:110px!important;max-height:32px!important}
  .topbar[data-b2s-topbar-role="guest"] .header-actions{display:none!important}
  .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-guest-primary{display:none!important}
  .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-more-button{
    display:inline-flex!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border-radius:50%!important;align-items:center!important;justify-content:center!important;
  }
  .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-overflow-panel{
    position:fixed!important;top:70px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;
    max-height:calc(100dvh - 84px)!important;overflow:auto!important;padding:10px!important;
    background:rgba(255,255,255,.98)!important;border:1px solid var(--b2s-a-line)!important;border-radius:24px!important;
    box-shadow:0 24px 70px rgba(7,27,42,.22)!important;z-index:190!important;
    backdrop-filter:saturate(180%) blur(24px)!important;-webkit-backdrop-filter:saturate(180%) blur(24px)!important;
  }
  .b2s-mobile-overflow-links{display:grid!important;gap:2px!important}
  .b2s-mobile-overflow-links a,
  .b2s-mobile-overflow-actions a{
    min-height:48px!important;height:48px!important;display:flex!important;align-items:center!important;gap:12px!important;
    padding:0 12px!important;border-radius:14px!important;color:var(--b2s-a-ink)!important;
    font-size:14px!important;font-weight:660!important;text-decoration:none!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .b2s-mobile-overflow-links a+ a{border-top:1px solid #edf1f4!important}
  .b2s-mobile-overflow-actions{border-top:1px solid var(--b2s-a-line)!important;margin-top:6px!important;padding-top:6px!important}
  .b2s-mobile-overflow-links a::before,
  .b2s-mobile-overflow-actions a::before{
    content:"";width:18px;height:18px;flex:0 0 18px;background:var(--b2s-a-navy);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m9.5 12 1.8 1.8 3.6-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m9.5 12 1.8 1.8 3.6-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-links a[href*="find-stays"]::before,
  .b2s-mobile-overflow-links a[href*="find-accommodation"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='5.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15 15 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='5.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15 15 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-links a[href*="messages"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v11H9l-5 4V5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v11H9l-5 4V5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-links a[href*="profile"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M5 20a7 7 0 0 1 14 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M5 20a7 7 0 0 1 14 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-actions a[href*="logout"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4M8 12h10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4M8 12h10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  /* ==========================================================
     MOBILE CONTENT RHYTHM — compact, one-column, editorially reduced
     ========================================================== */
  body.admin-page .admin-main,
  body[data-portal-role="guest"] main,
  body[data-portal-role="guest"] .main,
  .availability-shell,.provider-interest-main{
    padding-left:var(--b2s-m-page)!important;padding-right:var(--b2s-m-page)!important;
  }
  body.admin-page .admin-main{padding-top:14px!important;padding-bottom:30px!important}
  body.admin-page .admin-top{gap:8px!important;margin-bottom:10px!important}
  body.admin-page .admin-top h1{font-size:23px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0!important}
  body.admin-page .admin-top p{display:none!important}
  body.admin-page .admin-top .report-actions{
    display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;
    padding:2px 0 1px!important;scrollbar-width:none!important;overscroll-behavior-x:contain!important;
  }
  body.admin-page .admin-top .report-actions::-webkit-scrollbar{display:none!important}
  body.admin-page .admin-top .report-actions>*{flex:0 0 auto!important;min-width:max-content!important}

  /* Cards are grouped mobile surfaces, not scaled desktop panels. */
  body.admin-page :is(.card,.panel,.surface,.dashboard-panel,.b2s2877-universal-banner,.b2s28200-admin-intel,.b2s28190-panel,.b2s28190-hero),
  body[data-portal-role="guest"] :is(.card,.panel,.surface,.b2s-gh-search,.b23-card),
  .availability-card,.provider-interest-card{
    border-radius:var(--b2s-m-card)!important;padding:14px!important;box-shadow:0 1px 2px rgba(7,27,42,.03)!important;
    margin-bottom:10px!important;
  }
  body.admin-page main h2,body.admin-page .admin-main h2{font-size:20px!important;line-height:1.1!important;margin-bottom:5px!important}
  body.admin-page main h3,body.admin-page .admin-main h3{font-size:16px!important}

  /* Secondary copy becomes optional on phone. Keep transactional/form instructions. */
  body.admin-page .b2s2870-centre-head>div>p,
  body.admin-page .b2s2877-card-head>div>p,
  body.admin-page .b2s28200-admin-intel>header p,
  body.admin-page .b2s28190-hero-copy>p,
  body.admin-page .b2s2880-filter-heading>p,
  body.admin-page .dashboard-panel>header p,
  body.admin-page .dashboard-panel>p,
  body.admin-page .b2s2880-explorer>header p,
  body.admin-page .b2s2880-attention>header p{
    display:none!important;
  }
  body.admin-page .b2s2877-universal-banner p{display:none!important}
  body.admin-page .b2s2877-universal-banner{padding:14px!important}
  body.admin-page .b2s2877-universal-banner .btn{width:auto!important;max-width:100%!important}

  /* Metrics: concise data tiles rather than oversized desktop cards. */
  body.admin-page :is(.metrics,.b2s2874-metrics,.b2s2877-metrics,.b2s2880-kpis){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:10px 0!important;
  }
  body.admin-page :is(.metric,.b2s2874-metrics>*,.b2s2877-metrics>*,.b2s2880-kpi){
    min-height:72px!important;padding:11px!important;border-radius:16px!important;box-shadow:none!important;
  }
  body.admin-page :is(.metric,.b2s2874-metrics>*,.b2s2877-metrics>*,.b2s2880-kpi) strong{font-size:1.25rem!important;line-height:1!important}
  body.admin-page :is(.metric,.b2s2874-metrics>*,.b2s2877-metrics>*,.b2s2880-kpi) :is(span,small){font-size:9.5px!important;line-height:1.2!important}

  /* Refresh/search toolbars stay small and horizontal. */
  body.admin-page :is(.b2s2870-toolbar,.b2s2877-toolbar,.b2s28200-intel-toolbar,.b2s28190-toolbar){
    gap:8px!important;margin:8px 0!important;min-height:0!important;
  }
  body.admin-page :is([data-b2s2870-refresh],[data-b2s2877-refresh],[data-intel-refresh],[data-refresh]){
    width:auto!important;min-width:92px!important;max-width:100%!important;height:42px!important;min-height:42px!important;
    padding:0 13px!important;border-radius:999px!important;justify-self:start!important;
  }

  /* Dense admin filters become swipeable chips instead of wrapping into tall blocks. */
  body.admin-page :is(.b2s28190-filters,.b2s2880-filter-actions,[class*="filter-chips"]){
    display:flex!important;flex-wrap:nowrap!important;gap:7px!important;overflow-x:auto!important;
    scrollbar-width:none!important;overscroll-behavior-x:contain!important;padding-bottom:2px!important;
  }
  body.admin-page :is(.b2s28190-filters,.b2s2880-filter-actions,[class*="filter-chips"])::-webkit-scrollbar{display:none!important}
  body.admin-page :is(.b2s28190-filter,.booking-filter,.b2s40-filter,[data-b2s2874-metric-filter]){
    flex:0 0 auto!important;min-width:max-content!important;height:40px!important;min-height:40px!important;border-radius:999px!important;
  }

  /* ==========================================================
     PUBLIC HOME — fewer words, stronger actions, swipeable discovery
     ========================================================== */
  .b2s-home-hero{min-height:auto!important;padding:38px 0 30px!important}
  .b2s-home-hero-inner{min-height:0!important;padding-top:0!important;padding-bottom:0!important}
  .b2s-home-hero-copy{max-width:100%!important}
  .b2s-home-hero h1{font-size:34px!important;line-height:1.02!important;letter-spacing:-.045em!important;margin-bottom:14px!important}
  .b2s-home-hero p{font-size:15px!important;line-height:1.48!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .b2s-home-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:18px!important}
  .b2s-home-hero-actions .b2s-btn{width:100%!important;min-height:48px!important;height:48px!important;border-radius:999px!important}
  .b2s-home-trust{gap:6px!important;margin-top:14px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  .b2s-home-trust::-webkit-scrollbar{display:none!important}
  .b2s-home-trust>*{flex:0 0 auto!important}
  .b2s-home-trust>*:nth-child(n+3){display:none!important}

  .b2s-home-journey,.b2s-home-section,.b2s-home-provider{padding-top:24px!important;padding-bottom:24px!important}
  .b2s-journey-intro p,.b2s-home-how .b2s-section-heading p,.b2s-home-discover .b2s-section-heading p,.b2s-home-provider p{display:none!important}
  .b2s-journey-panel{border-radius:22px!important;overflow:hidden!important}
  .b2s-journey-intro{padding:18px!important}
  .b2s-journey-choices{display:grid!important;grid-template-columns:1fr!important}
  .b2s-journey-choice{min-height:82px!important;padding:14px 16px!important}
  .b2s-journey-choice p{display:none!important}

  .b2s-home-how [class*="steps"],.b2s-home-how [class*="grid"]{
    display:flex!important;overflow-x:auto!important;gap:10px!important;scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;padding-bottom:4px!important;
  }
  .b2s-home-how [class*="steps"]::-webkit-scrollbar,.b2s-home-how [class*="grid"]::-webkit-scrollbar{display:none!important}
  .b2s-home-how [class*="step"]{flex:0 0 min(82vw,300px)!important;scroll-snap-align:start!important}
  .b2s-home-how [class*="step"] p{display:none!important}

  .b2s30-destination-grid,.b2s-gh-destinations{
    display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:10px!important;
    scroll-snap-type:x mandatory!important;scroll-padding-left:var(--b2s-m-page)!important;
    -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding-bottom:5px!important;
  }
  .b2s30-destination-grid::-webkit-scrollbar,.b2s-gh-destinations::-webkit-scrollbar{display:none!important}
  .b2s30-destination-grid>*{flex:0 0 min(82vw,320px)!important;scroll-snap-align:start!important}
  .b2s-gh-destinations>*{flex:0 0 min(78vw,300px)!important;scroll-snap-align:start!important}
  .b2s30-card-description,.b2s30-provider-count{display:none!important}

  /* ==========================================================
     GUEST APP — app-like, concise, one clear task per surface
     ========================================================== */
  body[data-portal-role="guest"] :is(.b2s-gh-hero,.b2s-gh-section,.b23-shell){padding-left:0!important;padding-right:0!important}
  .b2s-gh-hero{padding-top:20px!important;padding-bottom:14px!important}
  .b2s-gh-hero h1{font-size:28px!important;line-height:1.04!important;letter-spacing:-.04em!important}
  .b2s-gh-hero p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .b2s-gh-section{margin-top:18px!important}
  .b2s-gh-section-head{margin-bottom:9px!important}
  .b2s-gh-section-head p{display:none!important}
  .b2s-gh-search{padding:14px!important}
  .b2s-gh-quick{gap:8px!important}
  .b2s-gh-action-card{min-height:76px!important;padding:13px!important;border-radius:16px!important}
  .b2s-gh-action-card p{display:none!important}
  .b2s-gh-footer-note{display:none!important}

  .b23-shell{padding-top:14px!important;padding-bottom:28px!important}
  .b23-market>header p,.b23-form>header p,.b23-map-head p,.b23-map-note{display:none!important}
  .b23-card{padding:14px!important;border-radius:18px!important}
  .b23-card h2{font-size:20px!important;margin-bottom:10px!important}
  .b23-grid{grid-template-columns:1fr!important;gap:10px!important}
  .b23-field{gap:6px!important}
  .b23-price-hint{font-size:11px!important;line-height:1.35!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .b23-submit{width:100%!important;min-height:50px!important;height:50px!important;border-radius:999px!important}
  .b23-submit small{display:none!important}
  .b23-map{height:250px!important;min-height:250px!important;border-radius:16px!important}

  /* ==========================================================
     PROVIDER SELF-SERVICE — form-first, not brochure-like
     ========================================================== */
  .provider-interest-header{height:58px!important;min-height:58px!important;padding:0 14px!important}
  .provider-interest-logo img{max-width:112px!important}
  .provider-interest-main{padding-top:14px!important;padding-bottom:26px!important}
  .provider-interest-card{padding:16px!important;border-radius:20px!important}
  .provider-interest-intro p{display:none!important}
  .provider-interest-intro h1{font-size:27px!important;line-height:1.04!important;letter-spacing:-.04em!important}
  .provider-interest-grid{grid-template-columns:1fr!important;gap:11px!important}
  .provider-interest-field small{display:none!important}
  .provider-interest-submit{width:100%!important;min-height:50px!important;border-radius:999px!important}
  .provider-location-actions{gap:8px!important}
  .provider-location-actions>span{display:none!important}
  .provider-location-button{width:100%!important}

  .availability-shell{padding-top:14px!important;padding-bottom:26px!important}
  .availability-brand{margin-bottom:12px!important}
  .availability-brand img{max-width:112px!important}
  .availability-card{padding:16px!important;border-radius:20px!important}
  .availability-copy{display:none!important}
  .availability-note p{display:none!important}
  .availability-switch-card{padding:14px!important;border-radius:16px!important;gap:12px!important}
  .availability-actions,.b2s2842-share-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .availability-actions>* ,.b2s2842-share-actions>*{width:100%!important;min-width:0!important}
  .b2s2842-share-actions>*:last-child:nth-child(3){grid-column:1/-1!important}

  /* ==========================================================
     UNIVERSAL MOBILE CONTAINMENT + COMPACT CONTROLS
     ========================================================== */
  main,main *,.main,.main *,.admin-main,.admin-main *{min-width:0}
  button,.btn,[role="button"],nav a{
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%!important;max-width:100%!important}
  table{max-width:100%!important}
  .table-wrap,.admin-table-wrap,.hotel-table-wrap{max-width:100%!important}
}

@media (max-width:520px){
  :root{--b2s-m-page:12px}
  body.admin-page .admin-top h1{font-size:22px!important}
  .b2s-home-hero h1{font-size:32px!important}
  .b2s-gh-hero h1{font-size:27px!important}
}

@media (prefers-reduced-motion:reduce){
  body.admin-page .admin-nav{transition:none!important}
}

/* ==========================================================
   28.22.8.1 — Mobile visual QA corrections
   ========================================================== */
@media (max-width:900px){
  /* Provider conversion: keep the commercial principle, remove the desktop explanation. */
  body.admin-page .b2s2870-centre~*{} /* specificity anchor */
  body.admin-page .b2s2870-centre-head~p{display:none!important}
  body.admin-page .admin-top + .card>p:first-of-type{display:none!important}
  body.admin-page .admin-top + section.card>p:first-of-type{display:none!important}

  /* Dashboard: concise hero + compact 2-column filter form. */
  body.admin-page .dashboard-hero p{display:none!important}
  body.admin-page .dashboard-hero{padding:2px 0 8px!important;gap:10px!important}
  body.admin-page .b2s2834-hero-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;
  }
  body.admin-page .b2s2834-hero-actions>*{width:100%!important;min-width:0!important}
  body.admin-page .b2s2880-filter-panel{padding:13px!important}
  body.admin-page .b2s2880-filter-heading{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important;
  }
  body.admin-page .b2s2880-filter-heading .btn{width:auto!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0 11px!important}
  body.admin-page .b2s2880-filter-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
  }
  body.admin-page .b2s2880-search-wide{grid-column:1/-1!important}
  body.admin-page .b2s2880-filter-grid>label:nth-child(4){grid-column:1/-1!important}
  body.admin-page .b2s2880-filter-grid label{gap:4px!important}
  body.admin-page .b2s2880-filter-grid label>span{font-size:9px!important;letter-spacing:.06em!important;text-transform:uppercase!important}
  body.admin-page .b2s2880-filter-grid :is(input,select){min-height:43px!important;height:43px!important;font-size:13px!important}

  /* Public homepage: true mobile card carousel, never three desktop columns. */
  .b2s-how-grid{
    display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;scroll-padding-left:0!important;padding:2px 0 5px!important;
    scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
  }
  .b2s-how-grid::-webkit-scrollbar{display:none!important}
  .b2s-how-card{
    flex:0 0 min(78vw,285px)!important;min-width:min(78vw,285px)!important;max-width:min(78vw,285px)!important;
    scroll-snap-align:start!important;border-radius:18px!important;padding:16px!important;min-height:148px!important;
  }
  .b2s-how-card p{display:none!important}
  .b2s-how-card h3{font-size:17px!important;line-height:1.12!important;max-width:100%!important}
  .b2s-section-heading h2{font-size:24px!important;line-height:1.05!important;letter-spacing:-.035em!important}
  .b2s-section-action{margin-top:10px!important}

  /* Guest Home: brand-safe contrast + compact action list. */
  .b2s-gh-hero h1{color:#fff!important}
  .b2s-gh-hero p{color:#fff!important;opacity:.88!important}
  .b2s-gh-btn.secondary{color:#fff!important;border-color:rgba(255,255,255,.45)!important;background:rgba(7,27,42,.5)!important}
  .b2s-gh-action-card>span:nth-child(2)>span{display:none!important}
  .b2s-gh-action-card{min-height:68px!important;grid-template-columns:auto minmax(0,1fr) auto!important}
  .b2s-gh-action-card strong{font-size:15px!important}
  .b2s-gh-destination-card :is(h3,strong){color:#fff!important}
  .b2s-gh-destination-card p,.b2s-gh-destination-card span{color:rgba(255,255,255,.76)!important}

  /* Guest request: keep the three steps, remove the explanatory lecture. */
  .b2s2833-section-title p{display:none!important}
  .b2s2833-section-title{align-items:center!important;margin-bottom:10px!important}
  .b2s2833-section-title h2{font-size:19px!important;line-height:1.08!important;margin:0!important}
  .b2s2833-form-section{padding:0 0 14px!important;margin-bottom:14px!important}
  .b2s2833-form-section:last-of-type{margin-bottom:8px!important}
  .b23-location-status{font-size:10.5px!important;line-height:1.25!important;max-height:28px!important;overflow:hidden!important}
  .b23-price-hint{display:none!important}
  .b2s2833-trust-row{
    display:flex!important;gap:6px!important;overflow-x:auto!important;scrollbar-width:none!important;padding-top:10px!important;
  }
  .b2s2833-trust-row::-webkit-scrollbar{display:none!important}
  .b2s2833-trust-row>span{
    flex:0 0 auto!important;padding:7px 9px!important;border:1px solid var(--b2s-a-line)!important;border-radius:999px!important;
    font-size:10.5px!important;white-space:nowrap!important;
  }
  .b23-map-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .b23-map-head>div:first-child>span{display:none!important}
  .b2315-map-tools{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  .b2315-map-view{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important;padding:3px!important;border-radius:14px!important}
  .b2315-map-view button{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0 8px!important;font-size:11px!important}
  .b23-count{justify-self:start!important;width:auto!important;min-height:36px!important;height:36px!important;padding:0 12px!important;border-radius:999px!important}

  /* Accommodation intelligence is a grouped list, not a giant desktop panel. */
  body.admin-page .b2s28200-admin-intel{padding:14px!important}
  body.admin-page .b2s28200-intel-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--b2s-a-line)!important;border-bottom:1px solid var(--b2s-a-line)!important;margin:10px 0!important}
  body.admin-page .b2s28200-intel-summary>*{padding:11px 8px!important;border-radius:0!important;border:0!important;box-shadow:none!important}
  body.admin-page .b2s28200-intel-summary>*:nth-child(odd){border-right:1px solid var(--b2s-a-line)!important}
  body.admin-page .b2s28200-intel-summary>*:nth-child(-n+2){border-bottom:1px solid var(--b2s-a-line)!important}

  /* Loading placeholders must not look like empty desktop tables. */
  body.admin-page table.b2s-mobile-cards td[colspan],
  body.admin-page .b2s2877-table td[colspan],
  body.admin-page .b2s2870-table td[colspan]{
    min-height:58px!important;height:auto!important;padding:18px 10px!important;border-radius:14px!important;
  }
}

@media (max-width:430px){
  .b2s-home-shell{width:calc(100% - 24px)!important}
  .b2s-home-hero h1{font-size:31px!important}
  .b2s-section-heading h2{font-size:23px!important}
}

/* 28.22.8.2 — menu finalization */
@media (max-width:900px){
  body.admin-page .admin-nav{background:#fff!important}
  body.admin-page .b2s2845-admin-overlay{background:rgba(7,27,42,.34)!important}
  .b2s-mobile-more-button::before{content:none!important;display:none!important}
  .b2s-mobile-more-button .b2s-more-dots{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important}
  .b2s-mobile-more-button .b2s-more-dots i{display:block!important;width:3px!important;height:3px!important;border-radius:50%!important;background:currentColor!important}
  .b2s-gh-destination-card small{color:rgba(255,255,255,.72)!important}
}
