
/* AirlyGo V11.1.63B — Results Carousel + Header + Width Fix */

/* Desktop search row must align exactly with Results content */
@media(min-width:901px){
  .search-dock .wrap,
  .search-dock .hotel-search-form,
  .results-main>.wrap{
    width:min(1180px,calc(100% - 48px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hotel-search-form{
    grid-template-columns:minmax(0,1.35fr) minmax(0,.92fr) minmax(0,.92fr) 56px!important;
    gap:8px!important;
  }
  .hotel-search-form .search-field,
  .hotel-search-form .guests-button,
  .hotel-search-form .search-submit{
    min-height:56px!important;
    height:56px!important;
  }
}

/* Mobile header must never overlay cards */
@media(max-width:900px){
  .nav{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
  }
  .nav-inner{
    position:relative!important;
  }
  body.hotel-search-page{
    padding-top:0!important;
  }
}
@media(max-width:600px){
  .ticker-bar{display:none!important}
  .back-to-top{display:none!important}
}

/* Results carousel */
.hotel-photo.ag63b-carousel{
  position:relative!important;
  overflow:hidden!important;
  touch-action:pan-y pinch-zoom;
}
.ag63b-track{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
}
.ag63b-track::-webkit-scrollbar{display:none}
.ag63b-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  background:#e8eef4;
}
.ag63b-slide img{
  width:100%!important;
  height:100%!important;
  display:block;
  object-fit:cover!important;
}
.ag63b-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:36px;height:36px;
  margin-top:-18px;
  border:0;
  border-radius:50%;
  background:rgba(11,31,58,.68);
  color:#fff;
  font-size:22px;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.ag63b-arrow.prev{left:8px}
.ag63b-arrow.next{right:8px}
.ag63b-indicator{
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:5;
  min-height:24px;
  display:flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(11,31,58,.70);
  color:#fff;
  font-size:9.5px;
  font-weight:800;
}
.ag63b-dots{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  z-index:5;
  display:flex;
  gap:5px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(11,31,58,.42);
}
.ag63b-dot{
  width:6px;height:6px;
  border:0;padding:0;
  border-radius:999px;
  background:rgba(255,255,255,.55);
}
.ag63b-dot.is-active{width:14px;background:#fff}
.ag63b-carousel .photo-badge{z-index:7!important}

@media(min-width:901px){
  .ag63b-arrow,.ag63b-dots{opacity:0;transition:opacity .15s ease}
  .ag63b-carousel:hover .ag63b-arrow,
  .ag63b-carousel:hover .ag63b-dots,
  .ag63b-carousel:focus-within .ag63b-arrow,
  .ag63b-carousel:focus-within .ag63b-dots{opacity:1}
}

/* Mobile cards: tighter but readable */
@media(min-width:361px) and (max-width:600px){
  .hotel-card{
    grid-template-columns:minmax(132px,38%) minmax(0,62%)!important;
  }
  .hotel-photo,
  .hotel-photo.ag63b-carousel{
    min-height:225px!important;
  }
  .hotel-title{font-size:16px!important}
  .offer-badge:nth-child(n+4){display:none!important}
  .hotel-price-panel{padding-bottom:10px!important}
  .availability-button{min-height:45px!important}
}
@media(max-width:360px){
  .hotel-card{display:block!important}
  .hotel-photo,
  .hotel-photo.ag63b-carousel{
    height:188px!important;
    min-height:188px!important;
  }
}
