
/* VegasRoomDeals MOBILE LOCK V1
   MOBILE ONLY. Desktop locked design is intentionally untouched. */

@media (max-width: 600px){

  /* Header: compact but keep the approved desktop branding intact on desktop. */
  .topbar{
    min-height:72px !important;
    padding:10px 14px !important;
  }
  .topbar .brand{
    transform:scale(.92);
    transform-origin:left center;
  }
  .topbar .menu{
    width:48px !important;
    height:48px !important;
  }

  /* Compact the yellow notice to a short mobile message. */
  .preview-notice{
    padding:8px 14px !important;
    min-height:0 !important;
    font-size:0 !important;
    line-height:1.2 !important;
    text-align:center !important;
  }
  .preview-notice b{
    font-size:11px !important;
    letter-spacing:.03em !important;
  }
  .preview-notice::after{
    content:" Browse hotel profiles now — live rates coming soon.";
    font-size:11px !important;
    font-weight:600 !important;
  }

  /* MOBILE HERO: same locked art, recomposed for a phone so all three signature pieces stay visible. */
  .hero-approved-locked{
    padding-bottom:10px !important;
    background:#030b16 !important;
  }
  .hero-approved-locked .hero-approved-art{
    content:url('/assets/images/vegas-approved-mobile-layout-v1.jpg') !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:3/1 !important;
    object-fit:cover !important;
    object-position:center !important;
    display:block !important;
    filter:none !important;
  }

  /* Booking panel: tighter and balanced. */
  .hero-approved-locked .search{
    width:calc(100% - 20px) !important;
    margin:10px auto 0 !important;
    padding:9px !important;
    gap:8px !important;
    grid-template-columns:1fr 1fr !important;
    border-radius:12px !important;
  }
  .hero-approved-locked .search label{
    min-height:54px !important;
    padding:7px 9px !important;
  }
  .hero-approved-locked .search label:nth-of-type(3){
    grid-column:1 / -1 !important;
    min-height:50px !important;
  }
  .hero-approved-locked .search label>span{
    font-size:10px !important;
    line-height:1.1 !important;
  }
  .hero-approved-locked .search input,
  .hero-approved-locked .search select{
    height:27px !important;
    margin-top:3px !important;
    font-size:15px !important;
  }
  .hero-approved-locked .search button{
    grid-column:1 / -1 !important;
    min-height:50px !important;
    font-size:15px !important;
    border-radius:10px !important;
  }

  /* Two-up category grid: stops each image from filling an entire phone screen. */
  .categories{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:10px 8px 14px !important;
    max-width:none !important;
    margin:0 !important;
  }
  .categories .tile{
    width:100% !important;
    aspect-ratio:196/142 !important;
    border-radius:9px !important;
  }
  .categories .t7{
    grid-column:1 / -1 !important;
    width:calc(50% - 4px) !important;
    justify-self:center !important;
  }

  /* Section 3: stack cleanly after categories. */
  .content-grid.wrap{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .content-grid.wrap > .cost,
  .content-grid.wrap > .featured{
    width:100% !important;
  }
  .featured .deal-cards{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}

/* Small phones still stay two-up; only reduce spacing and type scale. */
@media (max-width: 390px){
  .topbar .brand{
    transform:scale(.85);
  }
  .categories{
    gap:6px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .hero-approved-locked .search{
    width:calc(100% - 14px) !important;
  }
}
