:root{
  --brand:#0ea5e9;
  --nav1:#0f172a;
  --nav2:#1e3a8a;
  --card:#ffffff;
  --muted:#6b7280;
  --accent:#ff9e0b;
}

/* Base */
*{box-sizing:border-box}
body{
  background:#f8fafc;
  color:#0f172a;
}
a{color:inherit; text-decoration:none}
.small-muted{color:var(--muted)}
.shadow-soft{box-shadow:0 12px 32px rgba(2,6,23,.08)}
.section{padding:64px 0}
.section-title{font-weight:800; letter-spacing:-.02em}
.icon-pill{
  width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color:#fff;
}

/* Buttons */
.btn-brand{
  background: var(--brand);
  border-color: var(--brand);
  border-radius: 16px;
  padding: 10px 16px;
}
.btn-brand:hover{filter:brightness(.95)}
.btn{border-radius:16px}

/* Topbar */
.topbar{
  background:linear-gradient(90deg,var(--nav1),var(--nav2));
  color:#e5e7eb;
}
.topbar a{color:#e5e7eb}
.badge-soft{
  background: rgba(245,158,11,.14);
  color:#92400e;
  border:1px solid rgba(245,158,11,.25);
  border-radius:999px;
  padding:.45rem .7rem;
}

/* Navbar */
.navbar .nav-link{color:#111827; padding:.7rem .9rem}
.navbar .nav-link.active{color:var(--brand)}
.navbar .navbar-brand{font-weight:800}

/* HERO (IMPORTANT FIX) */
.hero{
  position:relative;
}
.hero .carousel-item{
  position:relative;
  min-height: 78vh;         /* hero height */
}
.hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero .overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(2,6,23,.78), rgba(2,6,23,.25));
}
.hero .content{
  position:relative;
  z-index:2;
  padding: 96px 0 72px;
}
.hero .carousel-control-prev,
.hero .carousel-control-next{
  z-index:3;
}

/* Search card in hero */
.search-card{
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(10px);
}
.search-card .form-control,
.search-card .form-select{
  border-radius: 14px;
}

/* Package Cards */
.pkg-img{
  height: 200px;
  width: 100%;
  object-fit: cover;
}
.rating i{color:#f59e0b}

/* Feature cards */
.feature-card{
  border-radius: 18px;
  border: 1px solid rgba(2,6,23,.06);
  padding: 18px;
  box-shadow: 0 10px 26px rgba(2,6,23,.06);
}
.feature-card .icon-pill{
  background: rgba(14,165,233,.12);
  border-color: rgba(14,165,233,.22);
  color: var(--brand);
}

/* Page hero */
.page-hero{
  background: linear-gradient(90deg, rgba(14,165,233,.10), rgba(245,158,11,.10));
  border-bottom: 1px solid rgba(2,6,23,.06);
  padding: 42px 0;
}
.breadcrumb a{color:var(--nav2); text-decoration:none}

/* Sticky summary */
.sticky-summary{position:sticky; top:90px}

/* Footer */
.footer{
  background:#0b1220;
  color:#cbd5e1;
}
.footer a{color:#cbd5e1}
.footer a:hover{color:#fff}
.footer .text-muted{color:#94a3b8 !important}

/* Responsive */
@media (max-width: 991px){
  .hero .content{padding: 72px 0 56px}
  .hero .carousel-item{min-height: 72vh}
}
@media (max-width: 575px){
  .hero .carousel-item{min-height: 68vh}
}
