/* =========================================================
   JC Hotels Home UI — PRODUCTION
   File: /assets/ui/jc-hotels.css
   ========================================================= */

.filterBar{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:12px;
  align-items:center;
}
@media(max-width:980px){ .filterBar{grid-template-columns:1fr} }

.filterBar input,
.filterBar select{
  width:100%;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.94);
  font-weight:900;
  outline:none;
}

.moreFilters{
  margin-top:10px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  overflow:hidden;
}
.moreFilters summary{
  cursor:pointer;
  padding:12px 14px;
  font-weight:1000;
  list-style:none;
}
.moreFilters summary::-webkit-details-marker{display:none}
.moreFilters .inner{
  padding:12px 14px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}
@media(max-width:980px){ .moreFilters .inner{grid-template-columns:1fr} }
.moreFilters .inner select{
  width:100%;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.94);
  font-weight:900;
}

.quoteBar{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr;
  gap:10px;
  margin-top:12px;
}
@media(max-width:980px){ .quoteBar{grid-template-columns:1fr 1fr} }
.quoteBar input, .quoteBar select{
  width:100%;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.94);
  font-weight:900;
  outline:none;
}

.actionsRow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  margin-top:12px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  font-weight:1000;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  text-decoration:none;
  color:#0f172a;
}
.btn.primary{
  border:none;
  background:linear-gradient(135deg, var(--brand2), #fff);
}
.pillStat{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.75);
  font-weight:1000;font-size:12px;
}

.hotelGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
@media(max-width:1100px){.hotelGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hotelGrid{grid-template-columns:1fr}}

.hotelCard{
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
  overflow:hidden;
  transition:.2s ease;
}
.hotelCard:hover{transform:translateY(-2px);box-shadow:0 26px 65px rgba(15,23,42,.12)}

.hImg{height:170px;background-size:cover;background-position:center}
.hBody{padding:14px}
.hTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.hName{margin:0;font-weight:1000;font-size:15px;line-height:1.2}
.hMeta{margin-top:6px;color:var(--muted);font-weight:900;font-size:12px}

.featureTag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,204,0,.25);
  border:1px solid rgba(255,204,0,.45);
  color:#7c5200;
  font-weight:1000;
  font-size:12px;
}

.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.badges span{
  padding:6px 10px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.70);
  font-weight:1000;font-size:12px;
}

.hPrice{margin-top:10px;font-weight:1000}
.hNote{margin-top:6px;color:var(--muted);font-weight:900;font-size:12px}

.cardActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.cardActions a{
  flex:1;
  text-align:center;
  padding:10px 12px;
  border-radius:999px;
  font-weight:1000;
  text-decoration:none;
  border:1px solid var(--line);
  background:#fff;
  color:#0f172a;
}
.cardActions a.hot{
  border:none;
  background:linear-gradient(135deg, var(--brand2), #fff);
}
.cardActions a.wa{
  border:none;
  background:linear-gradient(135deg, #25D366, #b7f7d2);
  color:#052e16;
}
.ref{margin-top:10px;color:var(--muted);font-weight:900;font-size:12px}

.pager{
  margin-top:14px;
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.pager button{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:1000;
  cursor:pointer;
}
.pager button.active{
  border:none;
  background:linear-gradient(135deg, var(--brand2), #fff);
}

/* Cinematic banners */
.cinemaGrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:20px 0;
}
@media(max-width:900px){
  .cinemaGrid{grid-template-columns:1fr}
}

.cinemaCard{
  position:relative;
  height:220px;
  border-radius:24px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  display:block;
  text-decoration:none;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
  transition:.4s ease;
}

.cinemaCard:hover{
  transform:scale(1.02);
  box-shadow:0 40px 100px rgba(0,0,0,.35);
}

.cinemaOverlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.2));
  display:flex;
  align-items:flex-end;
  padding:20px;
}

.cinemaTitle{
  color:#fff;
  font-size:20px;
  font-weight:1000;
  letter-spacing:.3px;
}

.cinemaSub{
  color:#ddd;
  font-weight:800;
  font-size:13px;
  margin-top:6px;
}