/* ==========================================================================
   Best Holidays Thailand (BHT) — Common Stylesheet
   Theme: Deep Navy + Gold | Fonts: Playfair Display, Poppins, Great Vibes
   ========================================================================== */

:root{
  --navy:        #0A1F44;
  --navy-2:      #0E2A5C;
  --navy-dark:   #061229;
  --gold:        #F0A62B;
  --gold-2:      #FFC94D;
  --gold-dark:   #D98E12;
  --cream:       #F4F7FB;
  --white:       #ffffff;
  --text:        #24344D;
  --muted:       #64748B;
  --border:      #E5EAF2;
  --green:       #25D366;
  --radius:      14px;
  --shadow:      0 10px 30px rgba(10,31,68,.10);
  --shadow-lg:   0 18px 50px rgba(10,31,68,.18);
  --grad-gold:   linear-gradient(135deg,#FFC94D 0%,#F0A62B 55%,#E09313 100%);
  --grad-navy:   linear-gradient(135deg,#0E2A5C 0%,#0A1F44 60%,#061229 100%);
}

/* ---------- Base ---------- */
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Poppins',sans-serif;
  font-size:15px; line-height:1.7;
  color:var(--text); background:var(--white);
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{ font-family:'Playfair Display',serif; color:var(--navy); font-weight:700; }
a{ text-decoration:none; transition:.3s; }
img{ max-width:100%; }
.script-text{
  font-family:'Great Vibes',cursive;
  color:var(--gold-2); font-weight:400;
  font-size:clamp(26px,3vw,40px); line-height:1.1; display:block;
}
.bg-cream{ background:var(--cream); }
.bg-navy{ background:var(--grad-navy); }

/* ---------- Buttons ---------- */
.btn-gold{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--grad-gold); color:var(--navy);
  font-weight:600; font-size:14px; font-family:'Poppins',sans-serif;
  padding:12px 26px; border:none; border-radius:8px;
  box-shadow:0 8px 20px rgba(240,166,43,.35); transition:.3s;
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(240,166,43,.5); color:var(--navy-dark); }
.btn-outline-light2{
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:#fff; font-weight:500; font-size:14px;
  padding:11px 24px; border:1.5px solid rgba(255,255,255,.55); border-radius:8px; transition:.3s;
}
.btn-outline-light2:hover{ background:#fff; color:var(--navy); }
.btn-outline-navy{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--navy); font-weight:600; font-size:13px;
  padding:9px 20px; border:1.5px solid var(--navy); border-radius:30px; transition:.3s;
}
.btn-outline-navy:hover{ background:var(--navy); color:#fff; }
.btn-sm-gold{
  display:inline-block; background:var(--grad-gold); color:var(--navy);
  font-weight:600; font-size:13px; padding:8px 20px; border-radius:7px; border:none; transition:.3s;
}
.btn-sm-gold:hover{ transform:translateY(-2px); color:var(--navy-dark); }

/* ---------- Section headings ---------- */
.section{ padding:80px 0; }
.section-head{ text-align:center; margin-bottom:48px; }
.section-head h2{ font-size:clamp(26px,3.2vw,38px); margin-bottom:14px; }
.section-head .ornament{
  display:inline-flex; align-items:center; gap:8px; color:var(--gold);
}
.section-head .ornament::before,
.section-head .ornament::after{
  content:""; width:46px; height:2px; background:var(--gold); display:inline-block;
}
.section-head p{ color:var(--muted); max-width:640px; margin:12px auto 0; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position:sticky; top:0; z-index:1050;
  background:var(--navy); box-shadow:0 4px 18px rgba(0,0,0,.25);
  transition:.3s;
}
.site-header .navbar{ padding:10px 0; }
.logo-bht{ display:flex; align-items:center; gap:10px; }
.logo-badge{
  width:56px; height:56px; border-radius:50%;
  background:radial-gradient(circle at 30% 25%,#2E5DAB,#0A1F44 70%);
  border:2px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Playfair Display',serif; font-weight:800; font-style:italic;
  font-size:22px; color:var(--gold-2);
  box-shadow:0 0 0 3px rgba(240,166,43,.25);
}
.logo-txt{ line-height:1.1; }
.logo-txt strong{ color:#fff; font-size:15px; display:block; letter-spacing:.4px; }
.logo-txt span{ color:var(--gold-2); font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; }
.site-header .nav-link{
  color:#E8EDF6 !important; font-size:14.5px; font-weight:500;
  margin:0 14px; padding:8px 0 !important; position:relative;
}
.site-header .nav-link::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--gold); transition:.3s;
}
.site-header .nav-link:hover::after,
.site-header .nav-link.active::after{ width:100%; }
.site-header .nav-link.active{ color:var(--gold-2) !important; }
.navbar-toggler{ border-color:rgba(255,255,255,.4); }
.navbar-toggler:focus{ box-shadow:none; }
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ==========================================================================
   HOME HERO
   ========================================================================== */
.hero-home{
  position:relative; color:#fff;
  background:linear-gradient(100deg,rgba(6,18,41,.92) 18%,rgba(10,31,68,.55) 55%,rgba(6,18,41,.35)),
             url('https://picsum.photos/seed/bht-hero/1920/900') center/cover no-repeat;
  padding:110px 0 70px;
}
.hero-home .script-text{ margin-bottom:2px; }
.hero-title{
  font-size:clamp(44px,6.5vw,84px); color:#fff; letter-spacing:4px;
  line-height:1.02; margin-bottom:10px; text-transform:uppercase;
}
.hero-sub{ font-size:clamp(18px,2vw,26px); color:#fff; font-family:'Poppins',sans-serif; font-weight:600; line-height:1.4; }
.hero-desc{ color:#C9D5E8; max-width:430px; margin:16px 0 26px; }
.hero-stats{ display:flex; gap:34px; flex-wrap:wrap; margin-top:44px; }
.hero-stat{ display:flex; align-items:center; gap:12px; }
.hero-stat i{
  width:44px; height:44px; border-radius:50%; flex:0 0 44px;
  border:1.5px solid rgba(255,255,255,.4); color:var(--gold-2);
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.hero-stat b{ display:block; font-size:17px; line-height:1.2; }
.hero-stat small{ color:#B9C6DC; font-size:12.5px; }

/* Deal card (hero right) */
.deal-card{
  position:relative; overflow:hidden;
  background:rgba(8,22,48,.82); backdrop-filter:blur(6px);
  border:1px solid rgba(240,166,43,.45); border-radius:16px;
  padding:26px 26px 24px; max-width:340px; margin-left:auto;
  box-shadow:var(--shadow-lg);
}
.deal-card .ribbon{
  position:absolute; top:16px; right:-38px; transform:rotate(45deg);
  background:var(--grad-gold); color:var(--navy); font-size:10.5px; font-weight:700;
  letter-spacing:1px; padding:5px 42px; text-transform:uppercase;
}
.deal-card .script-text{ font-size:24px; }
.deal-save{ display:flex; align-items:baseline; gap:12px; color:#fff; font-weight:600; margin:4px 0 14px; }
.deal-save .pct{ font-family:'Playfair Display',serif; font-size:52px; color:var(--gold-2); font-weight:800; line-height:1; }
.deal-list{ list-style:none; margin-bottom:18px; }
.deal-list li{ color:#DDE6F3; font-size:13.5px; padding:5px 0; }
.deal-list i{ color:var(--gold-2); margin-right:9px; }

/* ---------- Features strip ---------- */
.features-strip{ background:#fff; padding:34px 0; box-shadow:0 12px 30px rgba(10,31,68,.06); position:relative; z-index:5; }
.feature-item{ display:flex; gap:14px; align-items:flex-start; }
.feature-item i{
  width:52px; height:52px; flex:0 0 52px; border-radius:50%;
  border:1.6px solid var(--navy); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:20px; transition:.3s;
}
.feature-item:hover i{ background:var(--navy); color:var(--gold-2); }
.feature-item b{ display:block; color:var(--navy); font-size:14.5px; }
.feature-item small{ color:var(--muted); font-size:12.5px; line-height:1.5; display:block; }

/* ---------- Travel updates ticker ---------- */
.ticker-bar{ background:var(--navy-dark); color:#fff; overflow:hidden; }
.ticker-label{
  background:var(--grad-gold); color:var(--navy); font-weight:700; font-size:13px;
  text-transform:uppercase; letter-spacing:1px; padding:12px 20px; white-space:nowrap;
  display:flex; align-items:center; gap:8px;
}
.ticker-track{ overflow:hidden; flex:1; }
.ticker-move{ display:inline-block; white-space:nowrap; animation:ticker 30s linear infinite; padding:12px 0; }
.ticker-move span{ color:#D6E0F0; font-size:13.5px; margin:0 26px; }
.ticker-move span::after{ content:"•"; color:var(--gold); margin-left:26px; }
@keyframes ticker{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ==========================================================================
   PACKAGE CARDS + OWL
   ========================================================================== */
.pkg-card{
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); transition:.35s; margin:8px 4px 20px;
}
.pkg-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.pkg-img{ position:relative; height:190px; overflow:hidden; }
.pkg-img img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.pkg-card:hover .pkg-img img{ transform:scale(1.08); }
.pkg-badge{
  position:absolute; top:12px; left:12px; background:var(--grad-gold);
  color:var(--navy); font-size:11.5px; font-weight:700; padding:4px 12px; border-radius:6px;
}
.pkg-body{ padding:18px 18px 20px; }
.pkg-body h5{ font-size:17px; margin-bottom:6px; }
.pkg-loc{ color:var(--muted); font-size:12.5px; }
.pkg-loc i{ color:var(--gold); margin-right:5px; }
.pkg-price{ margin:10px 0 14px; font-size:13px; color:var(--muted); }
.pkg-price b{ color:#E1483B; font-size:20px; font-family:'Playfair Display',serif; }
.pkg-price small{ color:var(--muted); }
.owl-theme .owl-nav{ margin-top:6px; }
.owl-theme .owl-nav [class*='owl-']{
  width:42px; height:42px; border-radius:50%; background:#fff; color:var(--navy);
  border:1.5px solid var(--border); box-shadow:var(--shadow);
  display:inline-flex; align-items:center; justify-content:center; font-size:18px; margin:0 6px;
}
.owl-theme .owl-nav [class*='owl-']:hover{ background:var(--navy); color:var(--gold-2); }
.owl-theme .owl-dots .owl-dot span{ background:#C9D3E4; }
.owl-theme .owl-dots .owl-dot.active span{ background:var(--gold); width:22px; border-radius:6px; }

/* ---------- Countdown offer banner ---------- */
.offer-banner{
  border-radius:18px; overflow:hidden; color:#fff; padding:38px 40px;
  background:linear-gradient(95deg,rgba(10,31,68,.94) 30%,rgba(14,42,92,.82)),
             url('https://picsum.photos/seed/bht-lantern/1400/380') center/cover;
  border:1px solid rgba(240,166,43,.35);
}
.offer-banner .tag{ color:var(--gold-2); font-size:12px; letter-spacing:2.5px; font-weight:600; text-transform:uppercase; }
.offer-banner h3{ color:var(--gold-2); font-size:clamp(22px,2.6vw,32px); margin:6px 0 4px; }
.offer-banner p{ color:#CBD7EA; margin:0; font-size:14px; }
.count-box{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
  border-radius:12px; min-width:86px; padding:12px 8px; text-align:center;
}
.count-box b{ font-family:'Playfair Display',serif; font-size:32px; color:#fff; display:block; line-height:1; }
.count-box small{ color:var(--gold-2); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; }

/* ---------- Why choose ---------- */
.why-item{ text-align:center; padding:10px 14px; }
.why-item i{
  width:64px; height:64px; margin:0 auto 14px; border-radius:50%;
  border:1.6px dashed var(--gold); color:var(--navy); font-size:24px;
  display:flex; align-items:center; justify-content:center; transition:.3s;
}
.why-item:hover i{ background:var(--navy); color:var(--gold-2); border-style:solid; }
.why-item b{ color:var(--navy); font-size:14.5px; display:block; }
.why-item small{ color:var(--muted); font-size:12.5px; line-height:1.55; display:block; }
.why-row > div:not(:last-child) .why-item{ border-right:1px solid var(--border); }

/* ---------- Testimonials ---------- */
.testi-card{
  background:#fff; border-radius:var(--radius); padding:28px 26px;
  box-shadow:var(--shadow); height:100%; position:relative; transition:.3s;
}
.testi-card:hover{ transform:translateY(-6px); }
.testi-card .quote{ color:var(--gold); font-size:30px; margin-bottom:12px; }
.testi-card p{ color:var(--muted); font-size:14px; font-style:italic; }
.testi-foot{ display:flex; justify-content:space-between; align-items:flex-end; margin-top:16px; }
.testi-foot b{ color:var(--navy); font-size:14px; display:block; }
.testi-foot small{ color:var(--muted); font-size:12px; }
.stars{ color:var(--gold); font-size:13px; letter-spacing:2px; }

/* ---------- Moments slider ---------- */
.moment-card{ border-radius:12px; overflow:hidden; box-shadow:var(--shadow); background:#fff; margin:6px 2px 16px; }
.moment-card img{ height:170px; width:100%; object-fit:cover; }
.moment-foot{ display:flex; align-items:center; gap:10px; padding:10px 12px; }
.moment-foot .av{
  width:30px; height:30px; border-radius:50%; background:var(--navy); color:var(--gold-2);
  font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:0 0 30px;
}
.moment-foot b{ font-size:12.5px; color:var(--navy); display:block; line-height:1.2; }
.moment-foot small{ color:var(--muted); font-size:11px; }
.moment-foot .stars{ font-size:10px; letter-spacing:1px; }

/* ---------- Video testimonials ---------- */
.video-card{ position:relative; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.video-card img{ width:100%; height:250px; object-fit:cover; }
.video-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(6,18,41,.85));
}
.video-card .play-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2;
  width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.92);
  color:var(--navy); font-size:20px; display:flex; align-items:center; justify-content:center;
  transition:.3s; box-shadow:0 0 0 10px rgba(255,255,255,.25);
}
.video-card:hover .play-btn{ background:var(--gold); color:#fff; }
.video-card .v-cap{ position:absolute; left:18px; right:18px; bottom:14px; z-index:2; color:#fff; }
.video-card .v-cap b{ display:block; font-size:15px; }
.video-card .v-cap small{ color:#C9D5E8; font-size:12.5px; }
.video-card .v-dur{
  position:absolute; top:14px; left:14px; z-index:2; background:rgba(6,18,41,.75);
  color:#fff; font-size:11.5px; padding:3px 10px; border-radius:5px;
}

/* ==========================================================================
   BLOG CARDS
   ========================================================================== */
.blog-card{
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); height:100%; transition:.35s; display:flex; flex-direction:column;
}
.blog-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.blog-img{ position:relative; height:180px; overflow:hidden; }
.blog-img img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.blog-card:hover .blog-img img{ transform:scale(1.07); }
.cat-badge{
  position:absolute; bottom:12px; left:12px; background:var(--grad-gold); color:var(--navy);
  font-size:10.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  padding:4px 12px; border-radius:5px;
}
.pinned-badge{
  position:absolute; top:12px; left:12px; background:var(--grad-gold); color:var(--navy);
  font-size:11px; font-weight:700; letter-spacing:.8px; padding:5px 14px; border-radius:20px;
}
.pinned-badge i{ margin-right:5px; }
.blog-body{ padding:18px 20px 16px; flex:1; display:flex; flex-direction:column; }
.blog-body h5{ font-size:16.5px; line-height:1.45; margin-bottom:8px; }
.blog-body h5 a{ color:var(--navy); }
.blog-body h5 a:hover{ color:var(--gold-dark); }
.blog-body p{ color:var(--muted); font-size:13px; flex:1; }
.blog-foot{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--border); padding-top:12px; margin-top:12px;
}
.blog-foot small{ color:var(--muted); font-size:12.5px; }
.blog-foot small i{ color:var(--gold); margin-right:6px; }
.read-more{ color:var(--navy); font-weight:600; font-size:13px; }
.read-more:hover{ color:var(--gold-dark); }
.read-more i{ margin-left:5px; transition:.3s; }
.read-more:hover i{ transform:translateX(4px); }

/* ---------- Newsletter ---------- */
.newsletter-box{
  background:var(--grad-navy); border-radius:18px; padding:34px 40px; color:#fff;
  border:1px solid rgba(240,166,43,.3);
}
.newsletter-box h4{ color:#fff; font-size:24px; }
.newsletter-box p{ color:#C9D5E8; font-size:13.5px; margin-bottom:0; }
.newsletter-form{ display:flex; background:#fff; border-radius:10px; overflow:hidden; padding:5px; }
.newsletter-form input{ flex:1; border:none; outline:none; padding:10px 16px; font-size:14px; }
.newsletter-perks{ display:flex; flex-wrap:wrap; gap:20px; margin-top:16px; }
.newsletter-perks span{ color:#DDE6F3; font-size:12.5px; }
.newsletter-perks i{ color:var(--gold-2); margin-right:7px; }

/* ---------- CTA strip ---------- */
.cta-strip{
  background:linear-gradient(95deg,rgba(10,31,68,.93) 35%,rgba(10,31,68,.72)),
             url('https://picsum.photos/seed/bht-cta/1600/380') center/cover;
  color:#fff; padding:52px 0;
}
.cta-strip h3{ color:#fff; font-size:clamp(24px,3vw,34px); }
.cta-strip p{ color:#C9D5E8; margin:6px 0 0; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{ background:var(--navy-dark); color:#B9C6DC; padding-top:64px; font-size:13.5px; }
.site-footer h6{
  color:#fff; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;
  margin-bottom:20px; position:relative; padding-bottom:10px;
}
.site-footer h6::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--gold); }
.footer-about p{ margin:16px 0 18px; line-height:1.8; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08); color:#fff; font-size:14px; margin-right:8px;
}
.footer-social a:hover{ background:var(--grad-gold); color:var(--navy); transform:translateY(-3px); }
.footer-links{ list-style:none; }
.footer-links li{ margin-bottom:10px; }
.footer-links a{ color:#B9C6DC; }
.footer-links a:hover{ color:var(--gold-2); padding-left:6px; }
.footer-links a i{ font-size:10px; color:var(--gold); margin-right:8px; }
.footer-contact li{ display:flex; gap:12px; margin-bottom:14px; list-style:none; }
.footer-contact i{ color:var(--gold-2); margin-top:4px; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); margin-top:44px; padding:18px 0;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:12.5px;
}
.footer-bottom a{ color:#B9C6DC; margin-left:18px; }
.footer-bottom a:hover{ color:var(--gold-2); }

/* Back to top */
#backTop{
  position:fixed; right:24px; bottom:24px; z-index:1100; width:44px; height:44px;
  border-radius:50%; background:var(--grad-gold); color:var(--navy); border:none;
  font-size:16px; box-shadow:var(--shadow-lg); display:none;
}

/* ==========================================================================
   INNER PAGE HERO
   ========================================================================== */
.page-hero{
  position:relative; color:#fff; padding:88px 0 64px;
  background:linear-gradient(100deg,rgba(6,18,41,.92) 25%,rgba(10,31,68,.5) 60%,rgba(6,18,41,.25)),
             url('../images/page_background.png') center/cover;
}
.page-hero h1{ color:#fff; font-size:clamp(38px,5.5vw,64px); margin:2px 0 12px; }
.page-hero .lead-txt{ color:#D6E0F0; max-width:520px; font-size:15.5px; }
.breadcrumb-bht{ display:flex; align-items:center; gap:10px; font-size:13.5px; margin-top:18px; }
.breadcrumb-bht a{ color:#D6E0F0; }
.breadcrumb-bht a:hover{ color:var(--gold-2); }
.breadcrumb-bht i{ font-size:10px; color:var(--gold); }
.breadcrumb-bht .active{ color:var(--gold-2); font-weight:500; }

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
.about-checks{ list-style:none; margin:18px 0 24px; }
.about-checks li{ padding:6px 0; font-size:14.5px; color:var(--text); }
.about-checks i{
  width:22px; height:22px; border-radius:50%; background:var(--grad-gold); color:var(--navy);
  font-size:10px; display:inline-flex; align-items:center; justify-content:center; margin-right:12px;
}
.about-video{ position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg); }
.about-video img{ width:100%; height:360px; object-fit:cover; }
.about-video .play-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:70px; height:70px; border-radius:50%; background:rgba(255,255,255,.95); color:var(--navy);
  font-size:22px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 12px rgba(255,255,255,.25);
}
.about-video .caption{
  position:absolute; left:50%; bottom:-1px; transform:translateX(-50%);
  background:var(--navy); color:#fff; font-size:13px; padding:10px 22px;
  border-radius:12px 12px 0 0; white-space:nowrap;
}
.about-video .caption i{ color:var(--gold-2); margin-right:8px; }
.craft-item{ display:flex; gap:16px; }
.craft-item i{ font-size:34px; color:var(--navy); }
.craft-item b{ color:var(--navy); font-size:15px; display:block; margin-bottom:4px; }
.craft-item small{ color:var(--muted); font-size:12.5px; line-height:1.6; display:block; }
.col-craft:not(:last-child) .craft-item{ border-right:1px solid var(--border); padding-right:18px; }

.journey-sec{ color:#fff; }
.journey-sec h2{ color:var(--gold-2); font-size:clamp(24px,3vw,32px); }
.journey-point{ display:flex; gap:14px; margin-top:24px; }
.journey-point i{
  width:46px; height:46px; flex:0 0 46px; border-radius:50%; border:1.5px solid var(--gold);
  color:var(--gold-2); display:flex; align-items:center; justify-content:center; font-size:17px;
}
.journey-point b{ color:#fff; display:block; font-size:14.5px; }
.journey-point small{ color:#B9C6DC; font-size:12.5px; line-height:1.55; display:block; }
.vm-card{ background:#fff; border-radius:14px; overflow:hidden; box-shadow:var(--shadow-lg); height:100%; }
.vm-card img{ height:150px; width:100%; object-fit:cover; }
.vm-card .vm-body{ padding:18px 20px; }
.vm-card .vm-body b{ color:var(--navy); font-size:15px; display:flex; align-items:center; gap:8px; }
.vm-card .vm-body b i{ color:var(--gold); }
.vm-card .vm-body p{ color:var(--muted); font-size:12.5px; margin:6px 0 0; line-height:1.6; }

.value-card{
  background:#fff; border:1px solid var(--border); border-radius:14px; text-align:center;
  padding:26px 16px; height:100%; transition:.3s;
}
.value-card:hover{ box-shadow:var(--shadow-lg); transform:translateY(-6px); border-color:var(--gold); }
.value-card i{ font-size:28px; color:var(--navy); margin-bottom:12px; display:block; }
.value-card b{ color:var(--navy); font-size:15px; display:block; }
.value-card small{ color:var(--muted); font-size:12px; line-height:1.55; display:block; margin-top:5px; }

.stats-dark{ color:#fff; padding:44px 0; }
.stat-item{ display:flex; align-items:center; gap:16px; }
.stat-item i{ font-size:34px; color:var(--gold-2); }
.stat-item b{ font-family:'Playfair Display',serif; font-size:34px; line-height:1.1; display:block; }
.stat-item span{ color:var(--gold-2); font-size:13.5px; font-weight:600; display:block; }
.stat-item small{ color:#B9C6DC; font-size:12px; }
.stats-row > div:not(:last-child) .stat-item{ border-right:1px solid rgba(255,255,255,.15); }

.approach-step{ display:flex; gap:16px; margin-bottom:22px; position:relative; }
.approach-step .num{
  width:44px; height:44px; flex:0 0 44px; border-radius:50%; background:var(--navy);
  color:var(--gold-2); font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; z-index:1;
}
.approach-step:not(:last-child)::before{
  content:""; position:absolute; left:21px; top:44px; bottom:-22px; width:2px;
  background:repeating-linear-gradient(var(--gold) 0 5px,transparent 5px 10px);
}
.approach-step b{ color:var(--navy); font-size:15px; display:block; }
.approach-step small{ color:var(--muted); font-size:13px; display:block; }
.trust-list{ list-style:none; }
.trust-list li{ padding:7px 0; font-size:14px; }
.trust-list i{ color:var(--gold); margin-right:11px; }
.rating-card{
  background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow);
  padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px;
}
.rating-card b{ font-family:'Playfair Display',serif; font-size:22px; color:var(--navy); }
.avatars{ display:flex; }
.avatars span{
  width:36px; height:36px; border-radius:50%; border:2px solid #fff; margin-left:-10px;
  background:var(--navy); color:var(--gold-2); font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

.team-card{ background:#fff; border-radius:14px; overflow:hidden; box-shadow:var(--shadow); text-align:center; transition:.3s; height:100%; }
.team-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.team-card img{ width:100%; height:210px; object-fit:cover; }
.team-card .t-body{ padding:14px 12px 18px; }
.team-card b{ color:var(--navy); font-size:14.5px; display:block; }
.team-card small{ color:var(--muted); font-size:12px; display:block; margin-bottom:10px; }
.team-card .t-in{
  width:30px; height:30px; border-radius:7px; background:var(--grad-gold); color:var(--navy);
  display:inline-flex; align-items:center; justify-content:center; font-size:13px;
}

.timeline{ display:flex; gap:0; overflow-x:auto; padding:26px 0 10px; position:relative; }
.timeline::before{ content:""; position:absolute; top:56px; left:0; right:0; height:2px; background:var(--gold); }
.tl-item{ min-width:200px; text-align:center; padding:0 14px; position:relative; }
.tl-item .tl-img{
  width:62px; height:62px; border-radius:50%; border:3px solid var(--gold); overflow:hidden;
  margin:0 auto 22px; background:#fff; position:relative; z-index:1;
}
.tl-item .tl-img img{ width:100%; height:100%; object-fit:cover; }
.tl-item b{ color:var(--navy); font-size:16px; font-family:'Playfair Display',serif; display:block; }
.tl-item small{ color:var(--muted); font-size:12px; line-height:1.55; display:block; }

/* ==========================================================================
   SERVICES PAGE
   ========================================================================== */
.mini-feature{ text-align:center; padding:0 10px; }
.mini-feature i{ font-size:30px; color:var(--gold); display:block; margin-bottom:10px; }
.mini-feature b{ color:var(--navy); font-size:14px; display:block; }
.mini-feature small{ color:var(--muted); font-size:12px; display:block; }
.service-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  transition:.35s; height:100%; position:relative;
}
.service-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.service-card .s-img{ height:150px; overflow:hidden; }
.service-card .s-img img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.service-card:hover .s-img img{ transform:scale(1.08); }
.service-card .s-icon{
  width:52px; height:52px; border-radius:12px; background:var(--navy); color:var(--gold-2);
  display:flex; align-items:center; justify-content:center; font-size:20px;
  margin:-26px 0 0 18px; position:relative; z-index:2; box-shadow:var(--shadow);
}
.service-card .s-body{ padding:14px 18px 20px; }
.service-card h5{ font-size:16px; margin-bottom:6px; }
.service-card p{ color:var(--muted); font-size:12.5px; line-height:1.6; margin-bottom:12px; }
.s-link{ color:var(--navy); font-weight:600; font-size:13px; }
.s-link:hover{ color:var(--gold-dark); }
.s-link i{ margin-left:6px; transition:.3s; }
.s-link:hover i{ transform:translateX(4px); }

.featured-wrap{ border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg); }
.featured-left{
  background:linear-gradient(180deg,rgba(10,31,68,.9),rgba(6,18,41,.94)),
             url('https://picsum.photos/seed/bht-temple/900/900') center/cover;
  color:#fff; padding:44px 40px; height:100%;
}
.featured-tag{
  display:inline-block; background:var(--grad-gold); color:var(--navy); font-size:11px;
  font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:6px 16px; border-radius:6px; margin-bottom:16px;
}
.featured-left h3{ color:#fff; font-size:clamp(24px,2.6vw,32px); margin-bottom:14px; }
.featured-left p{ color:#C9D5E8; font-size:14px; }
.featured-mini{ display:flex; gap:26px; flex-wrap:wrap; margin:22px 0 26px; }
.featured-mini span{ color:#DDE6F3; font-size:12.5px; text-align:center; }
.featured-mini i{ display:block; color:var(--gold-2); font-size:22px; margin-bottom:8px; }
.featured-right{ background:var(--navy-dark); height:100%; }
.f-service{
  display:flex; align-items:center; gap:16px; padding:20px 26px;
  border-bottom:1px solid rgba(255,255,255,.08); transition:.3s;
}
.f-service:hover{ background:rgba(255,255,255,.04); }
.f-service:last-child{ border-bottom:none; }
.f-service .f-icon{
  width:48px; height:48px; flex:0 0 48px; border-radius:10px; background:rgba(240,166,43,.14);
  border:1px solid rgba(240,166,43,.4); color:var(--gold-2);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.f-service b{ color:#fff; font-size:14.5px; display:block; }
.f-service small{ color:#9FB0CB; font-size:12px; display:block; line-height:1.5; }
.f-service .lm{ margin-left:auto; color:var(--gold-2); font-size:12.5px; font-weight:600; white-space:nowrap; }
.f-service .lm:hover{ color:#fff; }

.trust-band{ background:#FBF6EA; border:1px solid #F0E3C4; border-radius:16px; padding:34px 26px; }
.trust-band h4{ text-align:center; font-size:clamp(20px,2.4vw,26px); margin-bottom:28px; }
.trust-stat{ text-align:center; padding:0 8px; }
.trust-stat i{ font-size:26px; color:var(--gold); display:block; margin-bottom:10px; }
.trust-stat b{ font-family:'Playfair Display',serif; font-size:24px; color:var(--navy); display:block; line-height:1.2; }
.trust-stat small{ color:var(--muted); font-size:12px; }
.trust-cols > div:not(:last-child) .trust-stat{ border-right:1px solid #EADFC2; }

.cta-contact{ display:flex; gap:14px; align-items:center; color:#fff; }
.cta-contact i{
  width:44px; height:44px; flex:0 0 44px; border-radius:50%; background:var(--grad-gold);
  color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:16px;
}
.cta-contact b{ display:block; font-size:15px; }
.cta-contact small{ color:#C9D5E8; font-size:12px; }

/* ==========================================================================
   BLOG DETAILS
   ========================================================================== */
.hero-meta{ display:flex; gap:26px; color:#D6E0F0; font-size:13.5px; margin-top:18px; }
.hero-meta i{ color:var(--gold-2); margin-right:8px; }
.dest-badge{
  display:inline-block; background:var(--grad-gold); color:var(--navy); font-size:11px;
  font-weight:700; letter-spacing:1.2px; text-transform:uppercase; padding:6px 16px; border-radius:6px; margin-bottom:14px;
}
.article-body h3{
  font-size:22px; margin:34px 0 6px; padding-bottom:10px; position:relative;
}
.article-body h3::after{ content:""; position:absolute; left:0; bottom:0; width:52px; height:2.5px; background:var(--gold); }
.article-body p{ color:var(--muted); font-size:14.5px; }
.article-img{ border-radius:14px; overflow:hidden; box-shadow:var(--shadow); margin:16px 0 8px; }
.article-img img{ width:100%; height:260px; object-fit:cover; }
.must-do{
  display:flex; align-items:flex-start; gap:12px; background:#FBF6EA;
  border:1px solid #F0E3C4; border-left:4px solid var(--gold);
  border-radius:10px; padding:13px 18px; margin-top:14px; font-size:13.5px;
}
.must-do i{ color:var(--gold-dark); margin-top:3px; }
.must-do b{ color:var(--navy); }
.share-row{
  display:flex; align-items:center; gap:16px; border:1px solid var(--border);
  border-radius:12px; padding:16px 22px; margin-top:36px; flex-wrap:wrap;
}
.share-row b{ color:var(--navy); font-size:14px; }
.share-row a{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--border);
  color:var(--navy); display:inline-flex; align-items:center; justify-content:center; font-size:14px;
}
.share-row a:hover{ background:var(--navy); color:var(--gold-2); border-color:var(--navy); }

.sidebar-card{ background:#fff; border:1px solid var(--border); border-radius:14px; padding:24px 22px; box-shadow:var(--shadow); margin-bottom:26px; }
.sidebar-cta{ background:var(--grad-navy); color:#fff; border:1px solid rgba(240,166,43,.4); }
.sidebar-cta h5{ color:var(--gold-2); font-size:20px; line-height:1.35; }
.sidebar-cta p{ color:#C9D5E8; font-size:12.5px; }
.sidebar-cta ul{ list-style:none; margin:14px 0 18px; }
.sidebar-cta li{ color:#DDE6F3; font-size:13px; padding:4px 0; }
.sidebar-cta li i{ color:var(--gold-2); margin-right:9px; }
.sidebar-phone{ display:flex; gap:12px; align-items:center; margin-top:16px; }
.sidebar-phone i{
  width:38px; height:38px; flex:0 0 38px; border-radius:50%; border:1.5px solid var(--gold);
  color:var(--gold-2); display:flex; align-items:center; justify-content:center;
}
.sidebar-phone b{ color:#fff; font-size:15px; display:block; }
.sidebar-phone small{ color:#9FB0CB; font-size:11.5px; }
.sidebar-card h6{ font-family:'Playfair Display',serif; font-size:17px; margin-bottom:16px; color:var(--navy); }
.qh-item{ display:flex; gap:13px; margin-bottom:15px; }
.qh-item i{
  width:40px; height:40px; flex:0 0 40px; border-radius:10px; background:#F1F5FB;
  color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:15px;
}
.qh-item b{ color:var(--navy); font-size:13.5px; display:block; }
.qh-item small{ color:var(--muted); font-size:11.5px; }
.mini-dest{ display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.mini-dest img{ width:56px; height:44px; border-radius:8px; object-fit:cover; }
.mini-dest b{ color:var(--navy); font-size:13.5px; display:block; }
.mini-dest small{ color:var(--muted); font-size:11.5px; }

/* ==========================================================================
   BLOG LISTING
   ========================================================================== */
.list-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:30px; }
.list-head h2{ font-size:clamp(22px,2.6vw,30px); display:flex; align-items:center; gap:10px; }
.list-head h2 i{ color:var(--gold); font-size:22px; }
.list-head p{ color:var(--muted); margin:4px 0 0; font-size:13.5px; }
.sort-select{
  border:1px solid var(--border); border-radius:9px; padding:9px 16px; font-size:13.5px;
  color:var(--navy); background:#fff; font-weight:500;
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.contact-info-card{
  background:var(--grad-navy); color:#fff; border-radius:16px; padding:30px 28px;
  border:1px solid rgba(240,166,43,.35); box-shadow:var(--shadow-lg); height:100%;
}
.contact-info-card h4{ color:#fff; font-size:22px; margin-bottom:4px; }
.contact-info-card .company{ color:var(--gold-2); font-weight:600; font-size:15px; border-bottom:2px solid var(--gold); display:inline-block; padding-bottom:8px; margin-bottom:22px; }
.ci-item{ display:flex; gap:15px; margin-bottom:20px; }
.ci-item i{
  width:44px; height:44px; flex:0 0 44px; border-radius:50%; border:1.5px solid var(--gold);
  color:var(--gold-2); display:flex; align-items:center; justify-content:center; font-size:16px;
}
.ci-item i.wa{ background:var(--green); border-color:var(--green); color:#fff; }
.ci-item b{ color:#fff; font-size:13.5px; display:block; }
.ci-item small, .ci-item a{ color:#C9D5E8; font-size:13px; display:block; line-height:1.55; }
.ci-item a:hover{ color:var(--gold-2); }
.contact-info-card hr{ border-color:rgba(255,255,255,.18); opacity:1; margin:22px 0 18px; }
.contact-info-card .fs-label{ color:#fff; font-weight:600; font-size:14px; margin-bottom:12px; display:block; }
.contact-social a{
  width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-size:15px; margin-right:9px;
}
.contact-social .fb{ background:#1877F2; } .contact-social .ig{ background:radial-gradient(circle at 30% 110%,#FDCB52,#FD1D1D 60%,#833AB4); }
.contact-social .yt{ background:#FF0000; } .contact-social .tk{ background:#010101; } .contact-social .ln{ background:#06C755; }
.contact-social a:hover{ transform:translateY(-3px); }

.enquiry-card{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:32px 30px; box-shadow:var(--shadow); }
.enquiry-card h4{ font-size:24px; position:relative; padding-bottom:12px; margin-bottom:26px; }
.enquiry-card h4::after{ content:""; position:absolute; left:0; bottom:0; width:52px; height:2.5px; background:var(--gold); }
.form-label{ font-size:13px; font-weight:600; color:var(--navy); }
.form-label .req{ color:#E1483B; }
.form-control, .form-select{
  border:1px solid var(--border); border-radius:9px; padding:11px 15px; font-size:13.5px; color:var(--text);
}
.form-control:focus, .form-select:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(240,166,43,.15); }
.secure-note{ color:var(--muted); font-size:12.5px; }
.secure-note i{ color:var(--gold); margin-right:7px; }

.map-box{ border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); position:relative; }
.map-box iframe{ width:100%; height:340px; border:0; display:block; }
.map-pin-card{
  position:absolute; top:22px; left:22px; background:#fff; border-radius:12px;
  padding:16px 20px; box-shadow:var(--shadow-lg); max-width:300px; z-index:2;
}
.map-pin-card b{ color:var(--navy); font-size:13.5px; display:flex; gap:8px; }
.map-pin-card b i{ color:var(--gold-dark); margin-top:3px; }
.map-pin-card small{ color:var(--muted); font-size:12px; display:block; margin:6px 0 8px; }
.map-pin-card a{ color:var(--navy); font-size:12px; font-weight:600; text-decoration:underline; }

.assure-banner{ background:var(--grad-navy); border-radius:16px; color:#fff; padding:30px 34px; border:1px solid rgba(240,166,43,.3); }
.assure-head{ display:flex; gap:18px; align-items:center; }
.assure-head > i{
  width:62px; height:62px; flex:0 0 62px; border-radius:50%; border:1.6px solid var(--gold);
  color:var(--gold-2); display:flex; align-items:center; justify-content:center; font-size:24px;
}
.assure-head h5{ color:#fff; font-size:19px; margin:0; }
.assure-head p{ color:#C9D5E8; font-size:12.5px; margin:5px 0 0; }
.assure-item{ text-align:center; padding:0 6px; }
.assure-item i{ color:var(--gold-2); font-size:22px; display:block; margin-bottom:8px; }
.assure-item b{ color:#fff; font-size:13.5px; display:block; }
.assure-item small{ color:#B9C6DC; font-size:11.5px; }
.assure-cols > div:not(:last-child) .assure-item{ border-right:1px solid rgba(255,255,255,.15); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991.98px){
  .section{ padding:60px 0; }
  .site-header .navbar-collapse{ background:var(--navy-2); border-radius:12px; padding:14px 18px; margin-top:12px; }
  .site-header .nav-link{ margin:4px 0; }
  .deal-card{ margin:36px auto 0; }
  .why-row > div .why-item, .stats-row > div .stat-item,
  .trust-cols > div .trust-stat, .assure-cols > div .assure-item,
  .col-craft .craft-item{ border-right:none !important; }
  .featured-left, .featured-right{ height:auto; }
  .footer-bottom{ justify-content:center; text-align:center; }
}
@media (max-width: 575.98px){
  .hero-home{ padding:70px 0 50px; }
  .hero-stats{ gap:20px; }
  .offer-banner{ padding:28px 22px; }
  .count-box{ min-width:68px; }
  .count-box b{ font-size:24px; }
  .newsletter-box, .assure-banner{ padding:26px 20px; }
  .enquiry-card{ padding:24px 18px; }
  .share-row a{ width:34px; height:34px; }
}
