/* ===== Hero / Cover slider + flight form (front-end) v2 ===== */
.hero-slider{
  position:relative; width:100%; overflow:hidden;
  height:var(--hero-h, 78vh); min-height:340px; max-height:860px;
  background:var(--purple, #1d1533);
}
.hero-slider.with-form{ height:var(--hero-h, 84vh); min-height:520px; }

.hero-slider .hero-track{position:absolute; inset:0; z-index:1;}
.hero-slide{
  position:absolute; inset:0; opacity:0; visibility:hidden;
  transition:opacity .8s ease, transform 6s ease;
  transform:scale(1.06);
}
.hero-slide.active{opacity:1; visibility:visible; transform:scale(1);}
.hero-slide img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-slide::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.40) 45%, rgba(0,0,0,.66) 100%);
}

/* overlay layer — slides ke upar, hamesha visible */
.hero-overlay{
  position:absolute; inset:0; z-index:2;
  display:flex; align-items:center;
  pointer-events:none;                    /* clicks slides tak jayen */
  padding:70px 0 56px;
  overflow-y:auto;
}
.hero-overlay-inner{
  pointer-events:auto;
  width:min(1160px, 92%); margin:0 auto;
  display:flex; flex-direction:column; gap:20px;
}
.hero-captions{position:relative;}
.hero-caption{
  display:none; color:#fff; max-width:760px;
  animation:heroFade .7s ease;
}
.hero-caption.active{display:flex; flex-direction:column; gap:12px;}
@keyframes heroFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-caption h1{
  font-family:'Playfair Display',serif; font-weight:700; color:#fff;
  font-size:clamp(1.8rem, 4.2vw, 3.3rem); line-height:1.12; margin:0;
  text-shadow:0 4px 24px rgba(0,0,0,.5);
}
.hero-caption p{
  font-size:clamp(.95rem, 1.6vw, 1.15rem); margin:0; color:rgba(255,255,255,.93);
  max-width:52ch; text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.hero-caption .hero-btn{align-self:flex-start; margin-top:4px;}

/* flight booking form on cover */
.hero-slider .hero-search{
  background:rgba(255,255,255,.96);
  border-radius:18px; padding:18px 20px 20px;
  box-shadow:0 26px 60px rgba(0,0,0,.35);
  backdrop-filter:blur(6px);
  max-width:1000px; width:100%; margin:0;
}
.hero-slider .hero-search h3{
  margin:0 0 12px; font-size:1.05rem; display:flex; align-items:center; gap:8px;
  color:var(--purple, #1d1533);
}
.hero-slider .hero-search h3 i{color:var(--gold, #c9a227);}
.hero-slider .hero-search .fs-grid{
  display:grid; gap:12px;
  grid-template-columns:repeat(4, minmax(0,1fr)) auto;
  align-items:end;
}
.hero-slider .hero-search label{
  display:block; font-size:.74rem; letter-spacing:.04em; text-transform:uppercase;
  color:#6b6b7b; margin-bottom:5px; font-weight:600;
}
.hero-slider .hero-search input,
.hero-slider .hero-search select{
  width:100%; padding:11px 12px; border:1px solid rgba(0,0,0,.14);
  border-radius:10px; font-size:.95rem; background:#fff; color:#1c1c26;
}
.hero-slider .hero-search input:focus,
.hero-slider .hero-search select:focus{
  outline:none; border-color:var(--gold, #c9a227); box-shadow:0 0 0 3px rgba(201,162,39,.18);
}
.hero-slider .hero-search .fs-submit .btn{width:100%; padding:12px 22px; white-space:nowrap;}

.hero-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:4;
  width:44px; height:44px; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.20); color:#fff; font-size:18px;
  backdrop-filter:blur(6px); transition:background .2s;
}
.hero-nav:hover{background:var(--gold, #c9a227); color:#fff;}
.hero-nav.prev{left:16px;} .hero-nav.next{right:16px;}

.hero-dots{
  position:absolute; left:0; right:0; bottom:16px; z-index:4;
  display:flex; justify-content:center; gap:8px;
}
.hero-dots button{
  width:10px; height:10px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.5); transition:width .25s, background .25s;
}
.hero-dots button.active{width:26px; border-radius:6px; background:var(--gold, #c9a227);}

@media (max-width:900px){
  .hero-slider .hero-search .fs-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .hero-slider .hero-search .fs-submit{grid-column:1 / -1;}
}
@media (max-width:768px){
  .hero-slider{height:auto; min-height:0; max-height:none;}
  .hero-slider.with-form{height:auto; min-height:0;}
  .hero-overlay{position:relative; inset:auto; padding:26px 0 44px; overflow:visible;}
  .hero-slider .hero-track{position:absolute; inset:0;}
  .hero-nav{width:34px; height:34px; font-size:14px;}
  .hero-slider .hero-search{padding:14px;}
}

/* ===== Admin: cover photo manager ===== */
.hero-admin-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; margin-top:14px;}
.hero-admin-card{border:1px solid rgba(0,0,0,.09); border-radius:14px; overflow:hidden; background:#fff;}
.hero-admin-card .thumb{aspect-ratio:16/9; background:#f2f2f5;}
.hero-admin-card .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-admin-card .body{padding:10px 12px; display:flex; flex-direction:column; gap:6px;}
.hero-admin-card input{width:100%; font-size:.85rem;}
.hero-admin-card .rm{display:flex; align-items:center; gap:6px; font-size:.82rem; color:#b3261e;}
