/* =========================================================
   Travll Tur — style.css
   Matches the reference screenshots (home + about pages)
   ========================================================= */

:root{
  --blue: #2563eb;
  --blue-dark: #1d4ed8;
  --orange: #f5820d;
  --orange-dark: #e07300;
  --navy: #0e1b3d;
  --navy-2: #13234f;
  --ink: #16213e;
  --muted: #6b7686;
  --light-bg: #f5f8fc;
  --border: #e7ebf2;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 10px 30px rgba(16, 30, 70, .08);
  --shadow-sm: 0 4px 14px rgba(16, 30, 70, .06);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family:'Poppins', sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}

a{ text-decoration:none; }
img{ max-width:100%; display:block; }

.section-pad{ padding:70px 0; }
.bg-light{ background:var(--light-bg) !important; }

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:8px;
}
.eyebrow::before{
  content:"";
  width:22px;
  height:2px;
  background:var(--orange);
  display:inline-block;
}

.section-title{
  font-weight:700;
  font-size:2rem;
  color:var(--navy);
  margin-bottom:6px;
}

.link-arrow{
  font-weight:600;
  color:var(--blue);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.link-arrow i{ transition:transform .2s ease; }
.link-arrow:hover i{ transform:translateX(4px); }

.btn-brand{
  background:linear-gradient(135deg, var(--orange), var(--orange-dark));
  border:none;
  color:#fff;
  font-weight:600;
  padding:.7rem 1.4rem;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(245,130,13,.28);
}
.btn-brand:hover{
  color:#fff;
  background:linear-gradient(135deg, var(--orange-dark), var(--orange-dark));
}

.btn-outline-brand{
  border:2px solid var(--blue);
  color:var(--blue);
  font-weight:600;
  padding:.6rem 1.3rem;
  border-radius:10px;
  background:transparent;
}
.btn-outline-brand:hover{
  background:var(--blue);
  color:#fff;
}

/* ============ NAVBAR ============ */

.navbar-custom{
  position:sticky;
  top:0;
  z-index:1030;
}

.navbar-brand-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}

.brand-logo-circle{
  width:46px;
  height:46px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--orange));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  flex-shrink:0;
}

.brand-logo-img{
  height:45px;
  max-width:120px;
  object-fit:contain;
  flex-shrink:0;
}
.footer .brand-logo-img-dark{
  height:40px;
  filter:brightness(0) invert(1);
}

.brand-text .main{
  font-weight:800;
  font-size:1.35rem;
  line-height:1.1;
  color:var(--navy);
}
.brand-text .main span{ color:var(--orange); }
.brand-text .tag{
  font-size:.68rem;
  color:var(--muted);
  letter-spacing:.03em;
}

.navbar-nav .nav-link{
  font-weight:500;
  color:var(--ink);
  padding:.5rem 1rem !important;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover{
  color:var(--blue);
}

.navbar-phone{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:300;
  color:#fff;
}
.navbar-phone .icon-circle{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}

@keyframes heroFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-12px); }
}

.search-card{
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius);
  box-shadow:0 20px 45px rgba(0,0,0,.3);
  padding:1.4rem 1.6rem;
  margin-top:3.5rem;
  color:var(--ink);
}
.search-field label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.78rem;
  font-weight:600;
  color:rgba(255,255,255,.85);
  margin-bottom:2px;
}
.search-field .value{
  font-weight:600;
  font-size:.95rem;
  color:#fff;
}
.search-field select.value,
.search-field input.value{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  color:#fff;
  font-weight:600;
  font-size:.95rem;
  padding:2px 0;
}
.search-field select.value option{
  color:var(--ink);
  background:#fff;
}
.search-field input.value::-webkit-calendar-picker-indicator{
  filter:invert(1);
  cursor:pointer;
}
.search-field input.value::-webkit-datetime-edit{
  color:#fff;
}
.search-field input.value:invalid{
  color:rgba(255,255,255,.6);
}
.search-card .col-6:not(:last-child),
.search-card .col-lg-3:not(:last-child),
.search-card .col-lg-2:not(:last-child){
  border-right:1px solid rgba(255,255,255,.22);
}
.search-card .text-muted{ color:rgba(255,255,255,.75) !important; }
.search-card .text-primary{ color:#7fb0ff !important; }
@media (max-width: 991px){
  .search-card [class*="col-"]{ border-right:none !important; }
  .hero-media{ margin-top:2rem; }
  .hero-card-1{ left:0; }
  .hero-card-2{ right:0; }
  .hero h1{ font-size:2.8rem; }
  .hero-img-main img{ height:340px; }
}

/* ============ DESTINATION CARDS ============ */
.dest-card{
  position:relative;
  border-radius:var(--radius-sm);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  height:220px;
  color:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
}
.dest-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}
.dest-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.dest-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.75) 100%);
}
.dest-card-body{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:14px;
  z-index:2;
}
.dest-card-body h5{ font-weight:700; margin-bottom:2px; }
.dest-card-body .subtitle{ font-size:.75rem; opacity:.85; margin-bottom:6px; }
.dest-card-body .price{ font-weight:700; font-size:.95rem; }
.dest-card-body .price small{ font-weight:400; opacity:.8; font-size:.68rem; }

/* ============ PACKAGE CARDS ============ */
@media (min-width: 1200px){
  .col-xl-2-4{ flex:0 0 auto; width:20%; }
}
.pkg-card{
  position:relative;
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.pkg-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}
.pkg-badge{
  position:absolute;
  top:12px; left:12px;
  background:var(--orange);
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  padding:.3rem .7rem;
  border-radius:20px;
  z-index:2;
}
.pkg-img{ height:210px; overflow:hidden; }
.pkg-img img{ width:100%; height:100%; object-fit:cover; }
.pkg-body{ padding:16px; }
.pkg-body h5{ font-weight:700; margin-bottom:2px; font-size:1.05rem; }
.pkg-body .loc{ font-size:.78rem; color:var(--muted); margin-bottom:8px; }
.pkg-meta{ font-size:.78rem; color:var(--muted); margin-bottom:4px; }
.pkg-meta i{ color:var(--blue); margin-right:4px; }
.pkg-price{ font-weight:700; color:var(--navy); font-size:1.15rem; margin-top:6px; }
.pkg-price small{ font-weight:400; color:var(--muted); font-size:.7rem; }

/* ============ FEATURE BOX ============ */
.feature-box{
  text-align:center;
  padding:20px 12px;
}
.feature-icon{
  width:64px; height:64px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  color:#fff;
  margin:0 auto 14px;
}
.bg-icon-blue{ background:linear-gradient(135deg,#2563eb,#3b82f6); }
.bg-icon-orange{ background:linear-gradient(135deg,#f5820d,#fb923c); }
.bg-icon-green{ background:linear-gradient(135deg,#16a34a,#4ade80); }
.bg-icon-purple{ background:linear-gradient(135deg,#7c3aed,#a78bfa); }
.bg-icon-pink{ background:linear-gradient(135deg,#db2777,#f472b6); }

.feature-box h6{ font-weight:700; margin-bottom:6px; }
.feature-box p{ font-size:.83rem; color:var(--muted); margin:0; }

/* ============ STATS BAR ============ */
.stats-bar{
  position:relative;
  background:
    radial-gradient(1100px 520px at 85% -10%, rgba(139,92,246,.25), transparent 60%),
    radial-gradient(900px 480px at 5% 115%, rgba(37,99,235,.35), transparent 60%),
    #0a1128;
  color:#fff;
  padding:72px 0;
  overflow:hidden;
}
.stats-bar .container{ position:relative; z-index:2; }

.grid-overlay{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
}

.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.5;
  z-index:1;
  animation:orbFloat 10s ease-in-out infinite;
}
.orb-1{
  width:360px; height:360px;
  background:#ff6a3d;
  top:-130px; right:6%;
}
.orb-2{
  width:320px; height:320px;
  background:#8b5cf6;
  bottom:-140px; left:3%;
  animation-delay:-3s;
  animation-direction:reverse;
}
.orb-3{
  width:240px; height:240px;
  background:#06b6d4;
  top:15%; left:45%;
  opacity:.35;
  animation-delay:-6s;
}
@keyframes orbFloat{
  0%, 100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(34px,-34px) scale(1.18); }
}

.stat-item{ text-align:center; position:relative; z-index:1; }

.stat-card{
  position:relative;
  --acc1:#ff6a3d;
  --acc2:#ffb35c;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:34px 16px 30px;
  text-align:center;
  height:100%;
  overflow:hidden;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  transition:transform .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.stat-card.accent-orange{ --acc1:#ff6a3d; --acc2:#ffb35c; }
.stat-card.accent-blue{ --acc1:#3b82f6; --acc2:#67e8f9; }
.stat-card.accent-pink{ --acc1:#f43f5e; --acc2:#fda4af; }
.stat-card.accent-green{ --acc1:#10b981; --acc2:#6ee7b7; }
.stat-card.accent-amber{ --acc1:#f59e0b; --acc2:#fde68a; }

.stat-card::before{
  content:"";
  position:absolute;
  top:0; left:18%; right:18%;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--acc2), transparent);
  opacity:0;
  transition:opacity .35s ease;
}
.stat-card::after{
  content:"";
  position:absolute;
  bottom:12px; left:50%;
  transform:translateX(-50%);
  width:30px; height:30px;
  border-radius:50%;
  background:var(--acc1);
  filter:blur(18px);
  opacity:0;
  transition:opacity .35s ease;
}
.stat-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.09);
  border-color:var(--acc2);
  box-shadow:0 24px 50px rgba(3,8,30,.6), 0 0 34px -8px var(--acc1);
}
.stat-card:hover::before,
.stat-card:hover::after{ opacity:1; }
.stat-card:hover .stat-icon{ transform:scale(1.1) rotate(-6deg); }

.stat-card .shimmer{
  position:absolute;
  top:0; left:-80%;
  width:55%; height:100%;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.14), transparent);
  transform:skewX(-20deg);
  animation:shimmerSweep 4s ease-in-out infinite;
}
@keyframes shimmerSweep{
  0%{ left:-80%; }
  55%, 100%{ left:140%; }
}

.stat-icon{
  width:62px; height:62px;
  margin:0 auto 16px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  color:#fff;
  background:linear-gradient(135deg, var(--acc1), var(--acc2));
  box-shadow:0 0 0 6px rgba(255,255,255,.08), 0 0 28px -4px var(--acc2);
  animation:statFloat 3s ease-in-out infinite;
  transition:transform .35s ease;
}
.stat-card h3{
  font-weight:800;
  font-size:2.5rem;
  line-height:1;
  margin-bottom:8px;
  background:linear-gradient(180deg, #ffffff 15%, var(--acc2));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.stat-card p{
  margin:0;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  font-weight:600;
}
@keyframes statFloat{
  0%, 100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}

/* ============ TESTIMONIALS ============ */
.testi-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:24px;
  height:100%;
}
.testi-card .stars{ color:#fbbf24; margin-bottom:10px; font-size:.9rem; }
.testi-card .quote{ color:var(--ink); font-size:.93rem; margin-bottom:18px; }
.testi-user{ display:flex; align-items:center; gap:12px; }
.testi-user img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.testi-user .testi-avatar{ width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#2563eb,#f5820d); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.testi-user strong{ display:block; font-size:.9rem; }
.testi-user span{ font-size:.76rem; color:var(--blue); }

/* ============ REGION PILLS ============ */
.region-pill{
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);
  padding:12px;
  height:100%;
  transition:transform .2s ease;
}
.region-pill:hover{ transform:translateY(-3px); }
.region-pill img{
  width:60px; height:60px;
  border-radius:12px;
  object-fit:cover;
  flex-shrink:0;
}
.region-pill h6{ font-weight:700; margin-bottom:2px; font-size:.92rem; }
.region-pill span{ font-size:.74rem; color:var(--muted); }

/* ============ CTA BANNER ============ */
.cta-banner{
  background:linear-gradient(120deg, var(--navy), #1a2c5e);
  border-radius:var(--radius);
  color:#fff;
  padding:40px;
  display:flex;
  align-items:center;
}
.cta-banner h3{ font-weight:700; margin-bottom:6px; }
.cta-banner p{ color:rgba(255,255,255,.8); }

/* ============ ABOUT — COLLAGE ============ */
.about-collage{ position:relative; }
.about-collage .grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.about-collage .grid img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:16px;
}
.about-badge{
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:150px; height:150px;
  background:#fff;
  border-radius:50%;
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:700;
  font-size:.92rem;
  color:var(--navy);
  line-height:1.35;
}
.about-badge span{ color:var(--orange); font-style:italic; }

.about-pill-stats{
  background:var(--light-bg);
  border-radius:var(--radius);
  padding:36px;
}
.stat-card-mini{
  background:#fff;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);
  padding:18px 10px;
  text-align:center;
}
.stat-card-mini i{ color:var(--blue); font-size:1.3rem; margin-bottom:6px; display:inline-block; }
.stat-card-mini h4{ font-weight:800; margin-bottom:2px; color:var(--navy); }
.stat-card-mini p{ font-size:.74rem; color:var(--muted); margin:0; }

/* ============ TEAM ============ */
.team-card{
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  text-align:center;
  transition:transform .2s ease;
}
.team-card:hover{ transform:translateY(-4px); }
.team-card img{ width:100%; height:220px; object-fit:cover; }
.team-card .body{ padding:16px; }
.team-card h6{ font-weight:700; margin-bottom:2px; }
.team-card .role{ font-size:.78rem; color:var(--orange); font-weight:600; margin-bottom:8px; }
.team-card .desc{ font-size:.78rem; color:var(--muted); }
.team-card .socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px; height:30px;
  border-radius:50%;
  background:var(--light-bg);
  color:var(--blue);
  margin:0 3px;
  font-size:.8rem;
}
.team-card .socials a:hover{ background:var(--blue); color:#fff; }

/* ============ QUOTE BANNER ============ */
.quote-banner{
  background:linear-gradient(120deg, rgba(14,27,61,.85), rgba(14,27,61,.55)),
    url('https://images.unsplash.com/photo-1626621341517-bbf3d9990a23?q=80&w=1400&auto=format&fit=crop') center/cover no-repeat;
  border-radius:var(--radius);
  color:#fff;
  padding:40px;
  display:flex;
  align-items:center;
}
.quote-mark{
  font-size:2.6rem;
  color:var(--orange);
  font-weight:800;
  line-height:1;
  display:block;
  margin-bottom:6px;
}

/* ============ ASSOCIATES ============ */
.assoc-strip{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:16px 10px;
  text-align:center;
  font-size:1rem;
}

/* ============ CONTACT ============ */
.contact-info-card{
  background:#fff;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);
  padding:18px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  height:100%;
}
.contact-info-card .ic{
  width:44px; height:44px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.contact-info-card h6{ font-weight:700; margin-bottom:4px; }
.contact-info-card p{ font-size:.82rem; color:var(--muted); margin:0; }

.contact-form-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:32px;
}
.contact-form-card .form-control,
.contact-form-card .form-select{
  border-radius:8px;
  border:1px solid var(--border);
  padding:.6rem .9rem;
  font-size:.9rem;
}
.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.contact-map{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  height:100%;
  min-height:340px;
}
.contact-map iframe{ width:100%; height:100%; border:0; min-height:340px; }

/* ============ FOOTER ============ */
.footer{
  background:var(--navy);
  color:rgba(255,255,255,.75);
  padding:60px 0 0;
}
.footer .brand-text .main{ color:#fff; }
.footer p{ font-size:.86rem; }
.footer h6{ color:#fff; font-weight:700; margin-bottom:14px; }
.footer ul{ list-style:none; padding:0; margin:0; }
.footer ul li{ margin-bottom:9px; }
.footer ul li a{ color:rgba(255,255,255,.7); font-size:.86rem; }
.footer ul li a:hover{ color:var(--orange); }

.footer-social{ display:flex; gap:10px; margin-top:14px; }
.footer-social a{
  width:36px; height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.footer-social a:hover{ background:var(--orange); }

.newsletter-input{
  border-radius:8px 0 0 8px !important;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.newsletter-input::placeholder{ color:rgba(255,255,255,.5); }
.newsletter-btn{ border-radius:0 8px 8px 0 !important; padding:.6rem .9rem; }

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:40px;
  padding:20px 0;
  font-size:.82rem;
}
.footer-bottom a{ color:rgba(255,255,255,.7); }
.footer-bottom a:hover{ color:var(--orange); }

/* ============ BACK TO TOP ============ */
.back-to-top{
  position:fixed;
  right:24px; bottom:24px;
  width:44px; height:44px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow);
  z-index:1050;
}
.back-to-top.show{ display:flex; }
.back-to-top:hover{ background:var(--orange); color:#fff; }

/* ============ ABOUT HERO BANNER (used on about.html) ============ */
.page-hero{
  position:relative;
  padding:90px 0 60px;
  color:#fff;
  text-align:center;
  background:
    linear-gradient(90deg, rgba(10,20,50,.7), rgba(10,20,50,.45)),
    url('https://images.unsplash.com/photo-1564507592333-c60657eea523?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
}
.page-hero h1{ font-weight:800; font-size:2.6rem; }
.page-hero .breadcrumb-nav{ font-size:.9rem; opacity:.9; }
.page-hero .breadcrumb-nav a{ color:#fff; }
.page-hero .breadcrumb-nav .current{ color:var(--orange); font-weight:600; }

/* ============ PACKAGES LIST PAGE ============ */
.pkg-filter-bar{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.3rem 1.5rem;
  margin-top:-44px;
  position:relative;
  z-index:5;
}
.pkg-filter-bar .form-select,
.pkg-filter-bar .form-control{
  border-radius:8px;
  border:1px solid var(--border);
  font-size:.85rem;
  padding:.55rem .8rem;
}
.pkg-filter-bar .form-select:focus,
.pkg-filter-bar .form-control:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.pkg-filter-bar .f-label{
  font-size:.75rem;
  font-weight:600;
  color:var(--muted);
  margin-bottom:4px;
  display:flex;
  align-items:center;
  gap:5px;
}

/* ============ PACKAGE TYPE TABS ============ */
.pkg-type-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:-26px;
  position:relative;
  z-index:6;
}
.pkg-type-tabs a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#fff;
  border-radius:30px;
  padding:.55rem 1.2rem;
  font-size:.75rem;
  font-weight:600;
  color:var(--ink);
  text-decoration:none;
  transition:.2s;
}
.pkg-type-tabs a:hover{ border-color:var(--orange); color:var(--orange); }
.pkg-type-tabs a.active{
  background:linear-gradient(135deg, var(--orange), var(--orange-dark));
  color:#fff;
  border-color:transparent;
}

/* ============ PACKAGE TYPE CHIP (card) ============ */
.pkg-type-chip{
  position:absolute;
  top:10px;
  right:10px;
  background:rgba(11,28,69,.78);
  color:#fff;
  border-radius:20px;
  padding:.28rem .7rem;
  font-size:.7rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:5px;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}

.rating{
  display:flex;
  align-items:center;
  gap:6px;
}
.rating .stars{ color:#fbbf24; font-size:.8rem; }
.rating .score{ font-weight:700; color:var(--navy); font-size:.85rem; }
.rating .count{ font-size:.72rem; color:var(--muted); }

.pkg-card--list .pkg-img{ height:210px; }
.pkg-price-old{
  display:block;
  font-size:.78rem;
  color:var(--muted);
  text-decoration:line-through;
  font-weight:400;
  line-height:1;
}

/* ============ PACKAGE DETAIL PAGE ============ */
.detail-gallery .main-img{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.detail-gallery .main-img img{
  width:100%;
  height:420px;
  object-fit:cover;
}
.detail-gallery .thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:12px;
}
.detail-gallery .thumbs img{
  width:100%;
  height:90px;
  object-fit:cover;
  border-radius:10px;
  cursor:pointer;
  border:2px solid transparent;
  transition:border-color .2s ease;
}
.detail-gallery .thumbs img:hover,
.detail-gallery .thumbs img.active{ border-color:var(--orange); }

.detail-head .section-title{ font-size:1.9rem; }

.highlight-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.highlight-chip{
  background:var(--light-bg);
  border-radius:20px;
  padding:.45rem .9rem;
  font-size:.8rem;
  font-weight:600;
  color:var(--ink);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.highlight-chip i{ color:var(--orange); }

.detail-block{ margin-top:1.5rem; }
.detail-title{
  font-weight:700;
  color:var(--navy);
  margin-bottom:14px;
  position:relative;
  padding-left:14px;
}
.detail-title::before{
  content:"";
  position:absolute;
  left:0; top:6px; bottom:6px;
  width:4px;
  border-radius:4px;
  background:linear-gradient(180deg, var(--orange), var(--orange-dark));
}

.incl-card{
  background:var(--light-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  height:100%;
}
.incl-card h5{
  font-weight:700;
  color:#16a34a;
  font-size:1rem;
  margin-bottom:14px;
}
.incl-card h5 i{ margin-right:4px; }
.incl-card h5.exclude{ color:#dc2626; }

.check-list{
  list-style:none;
  padding:0;
  margin:0;
}
.check-list li{
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-size:.86rem;
  color:var(--ink);
  margin-bottom:10px;
}
.check-list li i{ color:#16a34a; margin-top:2px; }
.check-list li.cross i{ color:#dc2626; }

.itinerary-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px;
  margin-bottom:14px;
  transition:box-shadow .2s ease;
}
.itinerary-card:hover{ box-shadow:var(--shadow-sm); }
.itinerary-head{ display:flex; gap:14px; align-items:flex-start; }
.itinerary-head .day-num{
  flex-shrink:0;
  width:50px; height:50px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:.9rem;
}
.itinerary-head h5{ font-size:1rem; font-weight:700; margin-bottom:4px; }
.itinerary-head p{ font-size:.85rem; color:var(--muted); margin-bottom:0; }
.itinerary-places{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.itinerary-places .chip{
  background:var(--light-bg);
  border-radius:8px;
  padding:.3rem .7rem;
  font-size:.75rem;
  font-weight:600;
  color:var(--blue);
}

.know-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:14px;
  font-size:.83rem;
  color:var(--muted);
  height:100%;
}
.know-card i{ color:var(--blue); font-size:1.1rem; }
.know-card strong{ color:var(--ink); display:block; }

/* ============ PACKAGE ROUTE STRIP ============ */
.route-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:0;
  background:var(--light-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px 18px;
}
.route-stop{
  flex:1 1 130px;
  min-width:118px;
  text-align:center;
  padding:6px 8px;
  position:relative;
}
.route-stop i{ font-size:1.15rem; color:var(--orange); }
.route-stop strong{
  display:block;
  font-size:.85rem;
  color:var(--navy);
  margin-top:4px;
}
.route-stop small{
  font-size:.72rem;
  color:var(--muted);
  font-weight:600;
}
.route-arrow{
  align-self:center;
  color:var(--orange);
  font-size:1.05rem;
  padding:0 2px;
  flex:0 0 auto;
}
.is-highlight .route-stop{ border-radius:var(--radius-sm); }
@media (max-width: 720px){
  .route-strip{ justify-content:center; }
  .navbar-custom{
      background:#fff;
      
  }
  .navbar-nav li a{
      color:#000 !important;
  }
}

/* ============ OPTIONAL ACTIVITIES ============ */
.optional-box{
  margin-top:12px;
  border:1px dashed var(--orange);
  border-radius:12px;
  background:rgba(245,130,13,.06);
  padding:10px 14px;
}
.optional-box .opt-title{
  font-size:.8rem;
  font-weight:700;
  color:var(--orange);
  margin-bottom:8px;
  display:flex;
  align-items:center;
  gap:6px;
}
.optional-box .opt-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.optional-box .opt-chip{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  font-size:.74rem;
  font-weight:600;
  padding:.28rem .7rem;
  color:var(--ink);
}
.optional-box .opt-chip i{ color:var(--orange); margin-right:3px; }

/* ============ ENQUIRY / QUOTE CARD ============ */
.quote-facts{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.quote-fact{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.83rem;
  color:var(--ink);
}
.quote-fact i{
  width:32px; height:32px;
  flex-shrink:0;
  border-radius:9px;
  background:var(--light-bg);
  color:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.95rem;
}
.quote-fact strong{ color:var(--navy); display:block; font-size:.85rem; }
.quote-fact span{ font-size:.78rem; color:var(--muted); }

/* ============ BOOKING CARD ============ */
.booking-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:26px;
  position:sticky;
  top:100px;
}
.booking-card .b-price{ margin-bottom:2px; }
.booking-card .b-price .old{
  font-size:.85rem;
  color:var(--muted);
  text-decoration:line-through;
  margin-right:8px;
}
.booking-card .b-price .now{
  font-size:1.9rem;
  font-weight:800;
  color:var(--navy);
}
.booking-card .b-note{ font-size:.75rem; color:var(--muted); }
.booking-card .form-control,
.booking-card .form-select{
  border-radius:8px;
  border:1px solid var(--border);
  font-size:.88rem;
}
.booking-card .form-control:focus,
.booking-card .form-select:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.b-total{ font-size:.9rem; }
.b-total strong{ font-size:1.05rem; color:var(--navy); }
.b-contact{
  display:flex;
  align-items:center;
  gap:12px;
}
.b-contact .icon-circle{
  width:44px; height:44px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.b-contact span{ display:block; font-size:.72rem; color:var(--muted); }
.b-contact a{ font-weight:700; color:var(--navy); }
.b-assure{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:.78rem;
  font-weight:600;
  color:var(--ink);
}
.b-assure i{ color:#16a34a; margin-right:4px; }

/* ============ FAQ ============ */
.faq-item{
  border:1px solid var(--border);
  border-radius:var(--radius-sm) !important;
  margin-bottom:12px;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.faq-item .accordion-button{
  font-weight:600;
  color:var(--ink);
  background:#fff;
  padding:1rem 1.25rem;
}
.faq-item .accordion-button:not(.collapsed){
  color:var(--blue);
  background:#fff;
  box-shadow:none;
}
.faq-item .accordion-button:focus{ box-shadow:none; }
.faq-item .accordion-button::after{ flex-shrink:0; }
.faq-item .accordion-body{
  font-size:.88rem;
  color:var(--muted);
  background:#fff;
}

/* ============ OFFICE CARDS ============ */
.office-card{
  position:relative;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:22px;
  height:100%;
  transition:transform .2s ease, box-shadow .2s ease;
}
.office-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}
.office-card .o-icon{
  width:46px; height:46px;
  border-radius:12px;
  background:var(--light-bg);
  color:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  margin-bottom:12px;
}
.office-card h6{ font-weight:700; margin-bottom:2px; }
.office-card .o-city{
  font-size:.78rem;
  color:var(--orange);
  font-weight:600;
  margin-bottom:10px;
}
.office-card p{ font-size:.82rem; color:var(--muted); margin-bottom:8px; }
.office-card .o-phone{ font-size:.85rem; font-weight:600; color:var(--ink); }
.office-card .o-phone i{ color:var(--blue); margin-right:4px; }
.office-card.is-hq{
  border:2px solid var(--orange);
  background:linear-gradient(180deg, #fff, #fff8f0);
}
.office-card .o-badge{
  position:absolute;
  top:-12px; right:14px;
  background:linear-gradient(135deg, var(--orange), var(--orange-dark));
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  padding:.3rem .7rem;
  border-radius:20px;
  box-shadow:0 6px 14px rgba(245,130,13,.3);
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.btn-wa{
  background:#25d366;
  border:none;
  color:#fff;
  font-weight:600;
  padding:.7rem 1.4rem;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(37,211,102,.3);
}
.btn-wa:hover{
  color:#fff;
  background:#1eb858;
}
.btn-wa.btn-sm{ padding:.55rem 1.1rem; }

.cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}
.cta-actions .btn{
  padding:.6rem 1.1rem;
  white-space:nowrap;
}
@media (min-width: 992px){
  .cta-actions{ justify-content:flex-end; }
}

/* ============ FLOAT ACTIONS ============ */
.float-actions{
  position:fixed;
  right:24px;
  bottom:88px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:1050;
}
.float-actions a{
  width:48px; height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.35rem;
  box-shadow:var(--shadow);
  transition:transform .2s ease;
}
.float-actions a:hover{
  transform:scale(1.08);
  color:#fff;
}
.float-actions .float-wa{ background:#25d366; }
.float-actions .float-call{ background:var(--blue); }

/* ============ WHY CHOOSE US ============ */
.why-section{
  position:relative;
  background:
    radial-gradient(640px 320px at 85% 8%, rgba(255,106,61,.10), transparent 60%),
    radial-gradient(640px 340px at 8% 92%, rgba(37,99,235,.10), transparent 60%),
    #fff;
  color:var(--ink);
  overflow:hidden;
}
.why-section .container{ position:relative; z-index:2; }
.why-section .section-title{ color:var(--navy); }
.why-sub{
  max-width:600px;
  color:var(--muted);
  font-size:.95rem;
  margin-top:4px;
}

.blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  z-index:0;
}
.blob-1{ width:340px; height:340px; background:rgba(245,130,13,.16); top:-80px; right:6%; }
.blob-2{ width:300px; height:300px; background:rgba(37,99,235,.14); bottom:-100px; left:4%; }
.blob-3{ width:220px; height:220px; background:rgba(139,92,246,.12); top:40%; left:45%; }

.why-card2{
  position:relative;
  --acc1:#ff6a3d;
  --acc2:#ffb35c;
  background:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.65);
  border-radius:18px;
  padding:26px 22px;
  height:100%;
  overflow:hidden;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:0 8px 24px rgba(22,33,62,.08);
  transition:transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.why-card2.c-orange{ --acc1:#ff6a3d; --acc2:#ffb35c; }
.why-card2.c-blue{ --acc1:#3b82f6; --acc2:#67e8f9; }
.why-card2.c-green{ --acc1:#10b981; --acc2:#6ee7b7; }
.why-card2.c-purple{ --acc1:#8b5cf6; --acc2:#c4b5fd; }
.why-card2.c-pink{ --acc1:#f43f5e; --acc2:#fda4af; }
.why-card2.c-amber{ --acc1:#f59e0b; --acc2:#fde68a; }

.why-card2::before{
  content:"";
  position:absolute;
  top:0; left:15%; right:15%;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--acc2), transparent);
  opacity:0;
  transition:opacity .3s ease;
}
.why-card2:hover{
  transform:translateY(-6px);
  border-color:var(--acc2);
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 40px rgba(22,33,62,.12), 0 0 30px -12px var(--acc1);
}
.why-card2:hover::before{ opacity:1; }

.why-num{
  position:absolute;
  top:12px; right:18px;
  font-size:2.7rem;
  font-weight:800;
  line-height:1;
  background:linear-gradient(180deg, rgba(22,33,62,.18), rgba(22,33,62,.03));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.why-card2 .why-icon{
  width:54px; height:54px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--acc1), var(--acc2));
  color:#fff;
  font-size:1.3rem;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  box-shadow:0 10px 24px -8px var(--acc1);
  transition:transform .3s ease;
}
.why-card2:hover .why-icon{ transform:scale(1.1) rotate(-6deg); }
.why-card2 h6{ color:var(--navy); font-weight:700; margin-bottom:8px; }
.why-card2 p{ color:var(--muted); font-size:.83rem; margin:0; }

/* ============ REVEAL ON SCROLL ============ */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.revealed{ opacity:1; transform:none; }

/* ============ RESPONSIVE ============ */
@media (max-width: 991px){
  .hero h1{ font-size:2.4rem; }
  .section-title{ font-size:1.6rem; }
  .navbar-phone{ display:none; }
  .about-collage .grid img{ height:130px; }
  .about-badge{ width:110px; height:110px; font-size:.72rem; }
  .booking-card{ position:static; }
  .detail-gallery .main-img img{ height:300px; }
}

@media (max-width: 575px){
  .section-pad{ padding:48px 0; }
  .hero{ padding:50px 0 90px; }
  .hero h1{ font-size:2rem; }
  .cta-banner, .quote-banner{ padding:26px; text-align:center; }
  .cta-banner .text-lg-end{ text-align:center !important; margin-top:14px; }
  .pkg-filter-bar{ padding:1.1rem; }
  .detail-gallery .main-img img{ height:230px; }
  .detail-gallery .thumbs{ gap:8px; }
  .detail-gallery .thumbs img{ height:64px; }
}

@media (max-width: 575px){
  .section-pad{ padding:48px 0; }
  .hero{ padding:50px 0 90px; }
  .hero h1{ font-size:2rem; }
  .cta-banner, .quote-banner{ padding:26px; text-align:center; }
  .cta-banner .text-lg-end{ text-align:center !important; margin-top:14px; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
  .hero-curtain{ display:none; }
  .hero .container{ opacity:1; transform:none; }
}

.footer-rows {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 10px 0 20px;
}

.footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 8px;
    font-size: .9rem;
}

.footer-row-label {
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}

.footer-row-links {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 8px;
}

.footer-row-links a {
    color: #fff;
    font-weight:400;
    text-decoration: none;
    transition: color .2s ease;
}

.footer-row-links a:hover {
    color: #fff;
    font-weight:400;
    text-decoration: underline;
}

.footer-row-links .sep {
    color: rgba(255, 255, 255, .35);
    user-select: none;
}

.footer-bottom {
    padding-top: 18px;
    margin-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    font-size: .85rem;
    color: rgba(255, 255, 255, .6);
    gap: 10px;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    margin-left: 6px;
    text-decoration: none;
    transition: background .2s ease;
}

.footer-social a:hover {
    background: var(--blue, #0b6fda);
}

@media (max-width: 575px) {
    .footer-row {
        font-size: .82rem;
    }
}

