/* Alpha 27 — regression repair for archives, engagement pages and filter stacking. */

/* Alpha 26 containment created new stacking/containing contexts around fixed drawers. */
.mba-main-section,
.mb14-page-content,
.mb18-offers-content{
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important;
  overflow:visible!important;
}

/* Archive layout reset. */
.mba-layout{align-items:start!important}
.mba-results-column{position:relative!important;z-index:1!important;min-width:0!important}
#mba-results>.mba-results-grid,
#mba-results.mba-results-grid{
  width:100%!important;
  min-width:0!important;
}

/* Desktop list view. */
#mba-results.is-list .mba-results-grid,
#mba-results .mba-results-grid.is-list,
#mba-results:not(.is-grid) .mba-results-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
#mba-results.is-list .mba-hotel-card,
#mba-results .mba-results-grid.is-list .mba-hotel-card,
#mba-results:not(.is-grid) .mba-hotel-card{
  display:grid!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  min-height:260px!important;
  width:100%!important;
  overflow:hidden!important;
}
#mba-results.is-list .mba-card-media,
#mba-results:not(.is-grid) .mba-card-media{
  height:100%!important;
  min-height:260px!important;
}

/* Desktop grid view. */
#mba-results.is-grid .mba-results-grid,
#mba-results .mba-results-grid.is-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
#mba-results.is-grid .mba-hotel-card,
#mba-results .mba-results-grid.is-grid .mba-hotel-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
  min-height:0!important;
}
#mba-results.is-grid .mba-card-media,
#mba-results .mba-results-grid.is-grid .mba-card-media{
  width:100%!important;
  height:245px!important;
  min-height:245px!important;
  flex:0 0 245px!important;
}
#mba-results.is-grid .mba-card-content{padding:17px!important;flex:1!important}
#mba-results.is-grid .mba-excerpt{display:none!important}

/* Ensure image and card content never overlap. */
.mba-card-media>a{position:absolute!important;inset:0!important}
.mba-card-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.mba-card-content{position:relative!important;z-index:2!important;background:#fff!important}
.mba-card-bottom{position:relative!important;z-index:3!important}

/* Filter close belongs to mobile/tablet only. */
@media(min-width:1001px){
  .mba-filter-header [data-close-filters]{display:none!important}
  .mba-filter-backdrop{display:none!important}
  .mba-filters{transform:none!important;visibility:visible!important;opacity:1!important}
}

/* Drawer always sits above hero search and all page content. */
@media(max-width:1000px){
  html.mba-filter-open,html.mba-filter-open body{overflow:hidden!important}
  .mba-filter-backdrop:not([hidden]){display:block!important;position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(3,20,35,.62)!important}
  .mba-filters{
    position:fixed!important;
    top:0!important;right:0!important;bottom:0!important;
    z-index:2147483001!important;
    width:min(390px,92vw)!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
    transform:translateX(105%)!important;
    visibility:hidden!important;
    opacity:0!important;
    transition:transform .28s ease,opacity .2s ease,visibility .28s!important;
    border-radius:0!important;
  }
  .mba-filters.is-open,.mba-filters.open{
    transform:translateX(0)!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .mba-filter-header [data-close-filters]{display:grid!important;width:42px!important;height:42px!important;place-items:center!important}
  .mba-hero-search{z-index:5!important}
  .mba-filters.is-open~*,.mba-filter-backdrop:not([hidden])~*{pointer-events:none}
}

/* Wishlist: clean premium grid, no inherited list layout. */
.mb14-engagement-page [data-mode="wishlist"] .mba-results-grid,
.mb14-engagement-page .mb14-wishlist-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
}
.mb14-engagement-page [data-mode="wishlist"] .mba-hotel-card,
.mb14-engagement-page .mb14-wishlist-grid .mba-hotel-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  border:1px solid #e2e8ed!important;
  border-radius:16px!important;
  background:#fff!important;
}
.mb14-engagement-page [data-mode="wishlist"] .mba-card-media,
.mb14-engagement-page .mb14-wishlist-grid .mba-card-media{
  position:relative!important;
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  flex:0 0 220px!important;
}
.mb14-engagement-page [data-mode="wishlist"] .mba-card-content{padding:16px!important;flex:1!important}
.mb14-engagement-page [data-mode="wishlist"] .mba-excerpt{display:none!important}
.mb14-engagement-page [data-mode="wishlist"] .mba-card-bottom{margin-top:auto!important}

/* Offers cards restore. */
.mb18-offers-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.mb18-offer-card{display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important}
.mb18-offer-media{position:relative!important;height:220px!important;min-height:220px!important}
.mb18-offer-media a{position:absolute!important;inset:0!important}
.mb18-offer-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.mb18-offer-body{display:flex!important;flex:1!important;flex-direction:column!important}
.mb18-offer-footer{margin-top:auto!important}

@media(max-width:767px){
  /* Archive toolbar and cards. */
  .mba-main-section{padding-top:250px!important}
  .mba-toolbar{display:grid!important;gap:14px!important;margin-bottom:18px!important}
  .mba-toolbar-actions{display:grid!important;grid-template-columns:1fr auto auto!important;width:100%!important;gap:7px!important}
  .mba-toolbar-actions>*{min-width:0!important}
  .mba-layout-switcher button span{display:none!important}
  .mba-layout-switcher button{width:42px!important;padding:0!important;justify-content:center!important}

  #mba-results .mba-results-grid,
  #mba-results.is-grid .mba-results-grid,
  #mba-results .mba-results-grid.is-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #mba-results .mba-hotel-card,
  #mba-results.is-grid .mba-hotel-card,
  #mba-results:not(.is-grid) .mba-hotel-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    min-height:0!important;
    width:100%!important;
    border-radius:13px!important;
  }
  #mba-results .mba-card-media,
  #mba-results.is-grid .mba-card-media,
  #mba-results:not(.is-grid) .mba-card-media{
    height:160px!important;
    min-height:160px!important;
    flex:0 0 160px!important;
  }
  #mba-results .mba-card-content{padding:10px!important;flex:1!important}
  #mba-results .mba-card-heading{display:block!important}
  #mba-results .mba-card-heading h3{font-size:14px!important;line-height:1.45!important;margin-bottom:5px!important}
  #mba-results .mba-score{display:none!important}
  #mba-results .mba-stars{font-size:10px!important;margin-top:6px!important}
  #mba-results .mba-stars small{display:none!important}
  #mba-results .mba-amenities,#mba-results .mba-excerpt{display:none!important}
  #mba-results .mba-card-bottom{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding-top:9px!important}
  #mba-results .mba-card-price strong{font-size:18px!important}
  #mba-results .mba-view-hotel{width:100%!important;text-align:center!important;padding:9px 5px!important;font-size:11px!important}
  #mba-results .mba-card-badge{font-size:9px!important;padding:5px 8px!important}
  #mba-results .mba-wishlist{width:40px!important;height:40px!important;font-size:18px!important}
  #mba-results .mba-compare-check{font-size:9px!important;padding:5px 7px!important}

  /* Explicit mobile list mode remains one column. */
  #mba-results.is-list .mba-results-grid{grid-template-columns:1fr!important}
  #mba-results.is-list .mba-hotel-card{display:grid!important;grid-template-columns:125px minmax(0,1fr)!important;min-height:170px!important}
  #mba-results.is-list .mba-card-media{height:100%!important;min-height:170px!important;flex:auto!important}
  #mba-results.is-list .mba-card-content{padding:11px!important}

  /* Engagement and offers. */
  .mb14-engagement-page [data-mode="wishlist"] .mba-results-grid,
  .mb14-engagement-page .mb14-wishlist-grid,
  .mb18-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .mb14-engagement-page [data-mode="wishlist"] .mba-card-media,
  .mb14-engagement-page .mb14-wishlist-grid .mba-card-media,
  .mb18-offer-media{height:155px!important;min-height:155px!important;flex-basis:155px!important}
  .mb14-engagement-page [data-mode="wishlist"] .mba-card-content,
  .mb18-offer-body{padding:10px!important}
  .mb18-offer-body h3{font-size:14px!important}
  .mb18-offer-meta{font-size:10px!important}
  .mb18-offer-footer{display:grid!important;gap:8px!important}
  .mb18-offer-footer>a{width:100%!important;text-align:center!important;padding:9px 5px!important;font-size:11px!important}
}

@media(max-width:390px){
  #mba-results .mba-card-media{height:145px!important;min-height:145px!important;flex-basis:145px!important}
  .mb14-engagement-page [data-mode="wishlist"] .mba-card-media,.mb18-offer-media{height:145px!important;min-height:145px!important}
}
