:root{
  --tg-primary:#0b6efd;
  --tg-primary-dark:#0857c9;
  --tg-accent:#febb02;
  --tg-bg:#f7f9fc;
  --tg-text:#0f172a;
}
html,body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--tg-text);background:#fff;}
a{text-decoration:none}
.btn-primary{background:var(--tg-primary);border-color:var(--tg-primary)}
.btn-primary:hover{background:var(--tg-primary-dark);border-color:var(--tg-primary-dark)}
.text-primary{color:var(--tg-primary)!important}
.bg-primary{background:var(--tg-primary)!important}
.shadow-sm{box-shadow:0 4px 18px rgba(15,23,42,.06)!important}
.shadow-lg{box-shadow:0 18px 50px rgba(15,23,42,.18)!important}

/* Hero */
.hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(135deg,rgba(11,110,253,.85),rgba(8,87,201,.85)),url('https://images.unsplash.com/photo-1488646953014-85cb44e25828?w=1600');background-size:cover;background-position:center;}
.hero-inner{position:relative;z-index:2;padding:80px 0 40px}
.search-card{background:#fff;color:var(--tg-text);border-radius:18px;padding:24px}
.trust{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);padding:14px;border-radius:12px}
.trust i{font-size:1.6rem}
.trust strong{display:block;font-size:.95rem;color:#fff}
.trust small{display:block;color:rgba(255,255,255,.75);font-size:.8rem}

/* Animations */
.fade-up{animation:fadeUp .7s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Destination cards */
.dest-card{position:relative;display:block;border-radius:14px;overflow:hidden;height:200px;box-shadow:0 4px 18px rgba(15,23,42,.08);transition:.3s}
.dest-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(15,23,42,.18)}
.dest-card img{width:100%;height:100%;object-fit:cover;transition:.5s}
.dest-card:hover img{transform:scale(1.06)}
.dest-overlay{position:absolute;inset:auto 0 0 0;padding:14px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff}
.dest-overlay strong{display:block;font-size:1.1rem}
.dest-overlay small{opacity:.85}

.hotel-card{transition:.3s;border:0}
.hotel-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(15,23,42,.18)!important}
.hotel-card .card-img-top{height:180px;object-fit:cover;border-top-left-radius:.375rem;border-top-right-radius:.375rem}
.hotel-row .object-cover{object-fit:cover}
.airline-badge{display:inline-block;background:var(--tg-primary);color:#fff;font-weight:700;padding:6px 10px;border-radius:8px;font-size:.85rem}
.flight-line{height:2px;background:#dfe6f1;position:relative;margin:6px 0}
.flight-line i{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:#fff;color:var(--tg-primary);padding:0 6px}

.kpi{background:#fff;border-radius:14px;padding:22px;text-align:center;box-shadow:0 4px 18px rgba(15,23,42,.06)}
.kpi strong{display:block;font-size:1.8rem;color:var(--tg-primary)}
.kpi span{color:#64748b;font-size:.9rem}

@media (max-width:767px){
  .hero{min-height:auto;padding:30px 0}
  .hero-inner{padding:30px 0}
  .display-4{font-size:2rem}
  .search-card{padding:16px;border-radius:14px}
}


/* Profile dashboard */
.profile-hero{background:linear-gradient(135deg,#0b6efd,#0857c9);color:#fff;border-radius:0 0 24px 24px}
.avatar-xl{width:80px;height:80px;border-radius:50%;background:#fff;color:#0b6efd;display:flex;
  align-items:center;justify-content:center;font-size:2rem;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.stat-card{background:#fff;border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 18px rgba(15,23,42,.06)}
.stat-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem}
.quick-link{display:flex;align-items:center;gap:12px;background:#fff;padding:16px;border-radius:12px;
  box-shadow:0 4px 18px rgba(15,23,42,.06);text-decoration:none;color:#0f172a;transition:.2s}
.quick-link:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0b6efd}
.quick-link i{font-size:1.4rem}

/* Autocomplete */
.tg-suggest-list{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:6px 0;list-style:none;
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.15);
  max-height:360px;overflow:auto;z-index:1000;display:none;min-width:280px}
.tg-suggest-list li{padding:0}
.tg-suggest-list li>a,.tg-suggest-list li{display:flex;align-items:center;gap:10px;padding:10px 14px;
  cursor:pointer;color:#0f172a;text-decoration:none}
.tg-suggest-list li:hover,.tg-suggest-list li>a:hover{background:#f1f5f9}
.tg-suggest-list i{font-size:1.1rem;color:#0b6efd}
.tg-suggest-list strong{display:block;font-size:.92rem}
.tg-suggest-list small{display:block;color:#64748b;font-size:.78rem}