
:root {
  --brand-purple: #6C39F1;   /* primary purple */
  --brand-violet: #A64AF5;   /* mid violet */
  --brand-orange: #FF7A1A;   /* primary orange */
  --brand-deep: #1A1333;     /* deep header/footer bg */
  --ink: #0f172a;
  --muted: #64748b;
  --bg: #ffffff;
  --grad: linear-gradient(135deg, var(--brand-purple) 0%, var(--brand-violet) 45%, var(--brand-orange) 100%);
}

html, body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}

a { text-decoration: none; }

/* --- Enhanced Topbar --- */
.topbar {
  background: linear-gradient(90deg, var(--brand-purple) 0%, var(--brand-violet) 50%, var(--brand-orange) 100%);
  color: #fff;
  font-size: 0.9rem;
  letter-spacing: 0.3px;
}
.topbar a {
  color: #fff;
  transition: color 0.3s ease;
}
.topbar a:hover {
  color: #ffda9e; /* warm highlight */
  text-decoration: underline;
}
.text-gradient {
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.social-links .social-link {
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.4);
  transition: all 0.3s ease;
}
.social-links .social-link:hover {
  background: rgba(255,255,255,0.2);
  transform: translateY(-2px);
}

/*Footer */
.bg-brand-deep { background: var(--brand-deep); }
.footer { background: var(--brand-deep); color: #cbd5e1; }
.footer a { color: #e2e8f0; }

/* --- NAVBAR: Glass, Elevation, Underline, Active --- */

/* Glass/blur bar with slight translucency and brand tint */
.navbar-glass {
  background: rgba(26, 19, 51, 0.88); /* based on --brand-deep */
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: box-shadow .25s ease, background .25s ease;
}

/* Elevate on scroll */
.navbar-glass.scrolled {
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  background: rgba(26, 19, 51, 0.95);
}

/* Spacing and weight */
.navbar .nav-link {
  font-weight: 500;
  letter-spacing: 0.2px;
  padding: .75rem 1rem;
  color: #e7e9ee;
}
.navbar .nav-link:hover { color: #ffffff; }

/* Fancy underline (desktop) */
.nav-underline .nav-link {
  position: relative;
}
.nav-underline .nav-link::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: .35rem;
  height: 2px;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-orange));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
  border-radius: 2px;
}
.nav-underline .nav-link:hover::after,
.nav-underline .nav-link.active::after {
  transform: scaleX(1);
}

/* Active link color nod */
.navbar .nav-link.active {
  color: #ffffff;
}

/* Mobile: larger targets & divider lines */
.nav-underline-mobile .nav-link {
  padding: .9rem .25rem;
  font-size: 1.05rem;
  border-bottom: 1px dashed rgba(255,255,255,0.12);
}
.nav-underline-mobile .nav-item:last-child .nav-link {
  border-bottom: none;
}

/* Optional: brighten brand logo area slightly on hover (subtle) */
.navbar-brand img {
  transition: transform .2s ease, filter .2s ease;
}
.navbar-brand:hover img {
  transform: translateY(-1px);
  filter: drop-shadow(0 3px 10px rgba(166,74,245,0.25));
}

/* Buttons */
.btn-brand { background: var(--grad); color: #fff; border: none; box-shadow: 0 8px 20px rgba(108,57,241,.18); }
.btn-brand:hover { filter: brightness(0.97); transform: translateY(-1px); }

/* =========================
   HERO — premium variant
   ========================= */
.hero-pro {
  position: relative;
  background:
    radial-gradient(1000px 600px at 10% -10%, rgba(108,57,241,.18) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(255,122,26,.18) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
  min-height: 72vh;
  display: block;
}

.grad-text { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Pill */
.hero-pill {
  font-size: .9rem;
  color: #334155;
  background: #ffffffd6;
  border: 1px solid #e2e8f0;
  padding: .4rem .75rem;
  border-radius: 999px;
  box-shadow: 0 2px 10px rgba(17, 24, 39, 0.05);
}
.hero-pill .dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--grad); margin: 0 .25rem;
}

/* Decorative blobs */
.hero-blob { position: absolute; z-index: 0; filter: blur(40px); opacity: .35; pointer-events: none; transform: translateZ(0); }
.blob-1 { width: 380px; height: 380px; top: -120px; left: -80px; background: radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.blob-2 { width: 460px; height: 460px; right: -120px; top: 20px; background: radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

/* Wave */
.hero-wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 90px; z-index: 0; }

/* Card + Ribbon */
.hero-card { position: relative; z-index: 2; border-radius: 18px; }
.glass {
  background: rgba(255,255,255,0.86);
  backdrop-filter: saturate(160%) blur(8px);
  -webkit-backdrop-filter: saturate(160%) blur(8px);
  border: 1px solid rgba(148,163,184,0.25);
}
.corner-ribbon {
  position: absolute; top: 20px; right: -40px; z-index: 3; color: #fff;
  background: var(--grad); padding: 6px 40px; transform: rotate(45deg);
  font-size: .8rem; box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

/* Input icons */
.input-icon { position: relative; }
.input-icon > i {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #64748b;
}
.input-icon > .form-control, .input-icon > .form-select { padding-left: 2.1rem; }

/* BG Slider */
.hero-pro .hero-bg-slider {
  position:absolute; inset:-20px -12px -20px -24px;
  border-radius:20px; overflow:hidden; z-index:1;
}
.hero-pro .hero-bg-slider .slide {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; animation: heroFade var(--hero-slide-duration, 24s) linear infinite;
  transform: scale(1.06);
}
.hero-pro .hero-bg-slider .s1{ background-image:url("/assets/img/hero/kashmir-1.png"); animation-delay: 0s; }
.hero-pro .hero-bg-slider .s2{ background-image:url("/assets/img/hero/ladakh-1.png");  animation-delay: 6s; }
.hero-pro .hero-bg-slider .s3{ background-image:url("/assets/img/hero/kashmir-2.png"); animation-delay: 12s; }
.hero-pro .hero-bg-slider .s4{ background-image:url("/assets/img/hero/ladakh-2.png");  animation-delay: 18s; }

/* Scrim (dark overlay) */
.hero-pro .hero-bg-slider .hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,
      rgba(6,12,20,.78) 0%,
      rgba(6,12,20,.70) 28%,
      rgba(6,12,20,.48) 52%,
      rgba(6,12,20,.22) 68%,
      rgba(6,12,20,0) 80%
    ),
    radial-gradient(120% 100% at 0% 50%, rgba(0,0,0,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 40%);
  pointer-events:none;
}

/* Foreground */
.hero-pro .hero-copy { position:relative; z-index:2; }

/* On-photo readable text */
.hero-pro .hero-copy.on-photo{ color:#fff; }
.hero-pro .hero-copy.on-photo h1,
.hero-pro .hero-copy.on-photo .display-5{
  color:#fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.hero-pro .hero-copy.on-photo .text-secondary{
  color:rgba(255,255,255,.88)!important;
}
.hero-pro .hero-copy.on-photo .btn.btn-outline-secondary{
  border-color: rgba(255,255,255,.75);
  color:#fff;
  background: rgba(255,255,255,.06);
}
.hero-pro .hero-copy.on-photo .btn.btn-outline-secondary:hover{
  background: rgba(255,255,255,.14);
  border-color:#fff;
}
.hero-pro .hero-copy.on-photo .btn.btn-brand{
  box-shadow: 0 12px 26px rgba(108,57,241,.25);
}
.hero-pro .hero-copy.on-photo img{
  filter: drop-shadow(0 1px 8px rgba(0,0,0,.25));
}

/* Crossfade Animation */
@keyframes heroFade{
  0%{opacity:0;transform:scale(1.06);}
  4%{opacity:1;transform:scale(1.04);}
  21%{opacity:1;transform:scale(1.02);}
  25%{opacity:0;transform:scale(1.00);}
  100%{opacity:0;transform:scale(1.06);}
}

/* Mobile tweaks */
@media (max-width:991.98px){
  .corner-ribbon{display:none;}
  .hero-pro .hero-bg-slider{inset:-12px -8px -12px -8px;border-radius:16px;}
  .hero-pro .hero-bg-slider .hero-scrim{
    background:
      linear-gradient(90deg, rgba(6,12,20,.86) 0%, rgba(6,12,20,.74) 34%, rgba(6,12,20,.42) 60%, rgba(6,12,20,0) 78%),
      radial-gradient(140% 100% at 0% 50%, rgba(0,0,0,.22), transparent 60%);
  }
}
@media (max-width:575.98px){
  .hero-pill{font-size:.85rem;}
  .hero-blob{opacity:.28;filter:blur(50px);}
}



/* --- Popular Destinations (modern, offer-ready) --- */

.link-grad { 
  font-weight: 600; 
  background: var(--grad); 
  -webkit-background-clip: text; 
  background-clip: text; 
  color: transparent; 
}
.link-grad:hover { opacity:.9; }

.dest-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(2,6,23,0.06);
  border: 1px solid rgba(148,163,184,0.25);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.dest-card::before{
  /* subtle top gradient edge for depth */
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background: linear-gradient(90deg, rgba(108,57,241,.25), rgba(255,122,26,.25));
  opacity:.0; transition:opacity .25s ease;
}
.dest-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(2,6,23,0.12);
  border-color: rgba(108,57,241,0.35);
}
.dest-card:hover::before{ opacity:1; }

.dest-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  isolation:isolate;
}
.dest-media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transform: scale(1.02);
  transition: transform .6s ease;
}
.dest-card:hover .dest-media img { transform: scale(1.06); }

/* soft overlay on hover for contrast */
.dest-media::after {
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.22) 100%);
  opacity:0; transition: opacity .25s ease;
}
.dest-card:hover .dest-media::after { opacity: 1; }

/* Offer ribbon (auto text from data-off, fallback “Offer”) */
.dest-off{
  position:absolute; right:-46px; top:14px; z-index:2;
  padding:7px 60px; font-size:.72rem; font-weight:800; letter-spacing:.4px;
  color:#fff; text-transform:uppercase;
  background: var(--grad);
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  transform: rotate(30deg);
  white-space: nowrap;
}

/* Show "NN% OFF" when data-off exists */
.dest-off[data-off]::before {
  content: attr(data-off) "% OFF";
}

/* Show "Offer" when no data-off attribute */
.dest-off:not([data-off])::before {
  content: "Offer";
}

/* animated diagonal shine element (purely decorative) */
.shine{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  transform: translateX(-120%) skewX(-12deg);
  transition: transform .8s ease;
}
.dest-card:hover .shine{ transform: translateX(120%) skewX(-12deg); }

.dest-body { padding: 14px; }
.dest-title { font-size: 1.05rem; margin: 0; font-weight: 800; color:#0f172a; }

.ph-4x3{
  aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#3b2b7d; background:rgba(108,57,241,.08);
  border-radius:14px;
}

/* Compact on very small screens */
@media (max-width: 575.98px) {
  .dest-title { font-size: 1rem; }
  .dest-off{ right:-50px; transform: rotate(32deg); }
}

/* Reduce chance of layout shift with tall images */
#popular-destinations img { max-width: 100%; height: auto; }



/* --- Featured Packages (premium cards) --- */
.fp-cats{
  font-weight:800; letter-spacing:.4px; color:#334155;
}
.fp-cats span{ color:#cbd5e1; margin:0 .35rem; }

/* Card shell */
.package-card{
  position:relative; overflow:hidden; border-radius:18px; background:#fff;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 10px 28px rgba(2,6,23,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.package-card:hover{
  transform: translateY(-6px);
  box-shadow:0 22px 44px rgba(2,6,23,.14);
  border-color: rgba(108,57,241,.35);
}

/* Media */
.package-media{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.package-media img{
  width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition:transform .6s ease;
}
.package-card:hover .package-media img{ transform:scale(1.07); }

/* Overlay for depth on hover */
.package-media::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.25) 100%);
  opacity:0; transition:opacity .25s ease;
}
.package-card:hover .package-media::after{ opacity:1; }

/* Trip length chip */
.pkg-length{
  position:absolute; left:12px; top:12px; z-index:2; font-weight:700;
  padding:6px 10px; font-size:.75rem; color:#0b1220;
  background:#ffffffd9; border:1px solid rgba(148,163,184,.35);
  border-radius:999px; backdrop-filter:saturate(140%) blur(6px);
}

/* % OFF ribbon (corner) */
.pkg-off{
  position:absolute; right:-38px; top:14px; z-index:2; color:#fff; font-weight:900;
  padding:6px 46px; font-size:.72rem; transform:rotate(30deg);
  background: linear-gradient(90deg,#ef4444,#f97316); /* red -> orange */
  box-shadow:0 6px 16px rgba(0,0,0,.18); letter-spacing:.5px;
}

/* Body */
.package-body{ padding:14px 14px 70px; } /* space for price bar */
.pkg-title{ margin:0 0 8px; font-size:1.12rem; font-weight:800; }

/* Feature pills */
.pkg-features{
  display:flex; flex-wrap:wrap; gap:6px 8px; padding:0; margin:0 0 12px; list-style:none;
}
.pkg-features li{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.82rem; color:#475569; background:#f8fafc; border:1px solid #e5e7eb;
  padding:6px 10px; border-radius:999px;
}
.pkg-features i{ opacity:.85; }

/* Rating + CTA */
.pkg-meta{ display:flex; align-items:center; justify-content:space-between; }
.rating{ display:flex; align-items:center; gap:4px; color:#f59e0b; font-size:.9rem; }
.rating span{ color:#334155; font-weight:600; margin-left:2px; }

/* Price bar (pinned) */
.pkg-price{
  position:absolute; left:0; right:0; bottom:0;
  padding:10px 14px; font-weight:700; color:#fff;
  background: var(--grad);
  display:flex; justify-content:space-between; align-items:center;
}
.pkg-price .per{ font-weight:600; opacity:.95; }


/* Compact tweaks */
@media (max-width:575.98px){
  .pkg-features li{ font-size:.78rem; padding:5px 9px; }
  .pkg-title{ font-size:1.04rem; }
  .pkg-off{ right:-44px; }
}

/* === Fix Enquiry Button Click === */
.package-card { position: relative; }
.package-card .stretched-link { z-index: 1; }
.package-card .pkg-meta .btn { position: relative; z-index: 2; }


/* ===== Why Choose Us (premium) ===== */
.why { 
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(108,57,241,.12) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 420px at 95% 0%, rgba(255,122,26,.12) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

/* decorative soft blobs */
.why-blob { position:absolute; filter: blur(36px); opacity:.28; pointer-events:none; }
.wb-1 { width:320px; height:320px; top:-80px; left:-60px; background: radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.wb-2 { width:360px; height:360px; bottom:-120px; right:-80px; background: radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

/* left list with brand ticks */
.why-list li{
  display:flex; align-items:center; gap:.6rem; 
  margin: .4rem 0; color:#334155; font-weight:500;
}
.why-list i{
  font-size:1.1rem;
  background: var(--grad);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}

/* feature cards */
.why-card{
  position:relative; border-radius:16px; background:#fff;
  border:1px solid rgba(148,163,184,.28);
  box-shadow: 0 10px 26px rgba(2,6,23,.06);
  padding: 18px 16px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.why-card:hover{
  transform: translateY(-4px);
  border-color: rgba(108,57,241,.35);
  box-shadow: 0 18px 44px rgba(2,6,23,.12);
}
.why-title{ font-size:1.05rem; font-weight:800; margin: 10px 0 6px; }
.why-text{ margin:0; color:#64748b; }

/* gradient icon coin with halo ring */
.why-icon{
  width:44px; height:44px; display:grid; place-items:center; position:relative;
  border-radius:50%;
  background: var(--grad); color:#fff; font-size:1.15rem;
  box-shadow: 0 8px 18px rgba(108,57,241,.22);
}
.why-icon .why-icon-ring{
  content:""; position:absolute; inset:-6px; border-radius:inherit;
  background: linear-gradient(135deg, rgba(108,57,241,.35), rgba(255,122,26,.35));
  z-index:-1; filter: blur(6px); opacity:.6;
}

/* stats strip */
.why-stats{
  display:grid; grid-template-columns: repeat(3,1fr); gap:10px;
  background:#fff; border:1px solid rgba(148,163,184,.25); border-radius:14px;
  padding:10px 12px; margin-top: 18px;
  box-shadow: 0 8px 20px rgba(2,6,23,.06);
}
.stat{ text-align:center; padding:6px 4px; }
.stat-num{
  font-weight:900; letter-spacing:.3px;
  background: var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  font-size:1.15rem; line-height:1.1;
}
.stat-label{ font-size:.8rem; color:#64748b; }

/* responsiveness */
@media (max-width: 991.98px){
  .why-stats{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px){
  .why-stats{ grid-template-columns: 1fr 1fr 1fr; }
  .why-title{ font-size:1rem; }
}

/* --- Testimonials (colorful, fully responsive, 6-up grid) --- */

.testi-card{
  --t1:#6C39F1;         /* default gradient start */
  --t2:#FF7A1A;         /* default gradient end   */
  --tbg:linear-gradient(180deg, rgba(108,57,241,.10), rgba(255,122,26,.10));

  position:relative;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  padding:16px;
  border:1px solid transparent;
  background-image:
    linear-gradient(#fff,#fff),
    linear-gradient(120deg,var(--t1),var(--t2)); /* gradient frame */
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 12px 30px rgba(2,6,23,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.testi-card::after{
  /* soft tinted backdrop for color vibe */
  content:"";
  position:absolute; inset:0;
  background: var(--tbg);
  opacity:.18; pointer-events:none;
}
.testi-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 44px rgba(2,6,23,.16);
}

/* Per-card palette rotation (gives rainbow variety) */
#testimonials .col:nth-child(6n+1) .testi-card{ --t1:#6C39F1; --t2:#FF7A1A; --tbg:linear-gradient(180deg,#6C39F11a,#FF7A1A1a); }
#testimonials .col:nth-child(6n+2) .testi-card{ --t1:#06b6d4; --t2:#22c55e; --tbg:linear-gradient(180deg,#06b6d41a,#22c55e1a); }
#testimonials .col:nth-child(6n+3) .testi-card{ --t1:#f43f5e; --t2:#f59e0b; --tbg:linear-gradient(180deg,#f43f5e1a,#f59e0b1a); }
#testimonials .col:nth-child(6n+4) .testi-card{ --t1:#3b82f6; --t2:#8b5cf6; --tbg:linear-gradient(180deg,#3b82f61a,#8b5cf61a); }
#testimonials .col:nth-child(6n+5) .testi-card{ --t1:#14b8a6; --t2:#84cc16; --tbg:linear-gradient(180deg,#14b8a61a,#84cc161a); }
#testimonials .col:nth-child(6n+6) .testi-card{ --t1:#ef4444; --t2:#f97316; --tbg:linear-gradient(180deg,#ef44441a,#f973161a); }

/* Confetti dots for subtle festivity */
.testi-confetti{
  position:absolute; inset:-20% -10% auto auto; height:120px; width:240px; pointer-events:none;
  background:
    radial-gradient(6px 6px at 20% 30%, var(--t1), transparent 60%),
    radial-gradient(5px 5px at 40% 60%, var(--t2), transparent 60%),
    radial-gradient(4px 4px at 75% 40%, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(5px 5px at 60% 20%, rgba(0,0,0,.06), transparent 60%);
  opacity:.35; filter:saturate(120%) blur(.2px);
}

/* header */
.testi-head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; position:relative; z-index:1; }
.testi-avatar{
  width:44px; height:44px; border-radius:50%; flex:0 0 auto; overflow:hidden; position:relative;
  background: radial-gradient(closest-side,#ffffff,#f8fafc);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
.testi-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.ring{
  outline: 2px solid transparent;
  background-image:
    linear-gradient(#fff,#fff),
    linear-gradient(120deg,var(--t1),var(--t2));
  background-origin: border-box;
  background-clip: content-box, border-box;
  padding:2px;
  border-radius:50%;
}
.testi-name{ font-weight:800; line-height:1.1; }
.testi-meta{ font-size:.82rem; color:#64748b; display:flex; align-items:center; gap:4px; }
.testi-stars{ color:#f59e0b; font-size:.95rem; display:flex; gap:2px; }

/* quote */
.testi-quote{ position:relative; margin:8px 0 12px; color:#334155; z-index:1; }
.testi-quote::before{
  content:"\f6b0"; /* decorative quote from Bootstrap Icons */
  font-family:"bootstrap-icons";
  position:absolute; left:-8px; top:-6px; font-size:1.6rem; opacity:.18;
  background: linear-gradient(120deg,var(--t1),var(--t2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}

/* chips */
.testi-chips{ display:flex; flex-wrap:wrap; gap:6px; z-index:1; position:relative; }
.chip{
  background:#ffffffcc;
  border:1px solid rgba(148,163,184,.35);
  color:#0f172a;
  padding:6px 10px; border-radius:999px; font-size:.78rem; font-weight:700;
  box-shadow: 0 6px 12px rgba(0,0,0,.04);
}

/* helpers */
#testimonials img{ max-width:100%; height:auto; }
#testimonials{ overflow-x:hidden; }

/* tiny screens */
@media (max-width: 375px){
  .testi-card{ padding:14px; }
  .testi-quote::before{ left:-6px; font-size:1.4rem; }
}


/* --- Blog (premium, fully responsive grid) --- */

/* Base grid: 1 col on mobile, 2 cols on small tablets, 3 cols on md+ */
.blog-scroller{
  display: grid;
  grid-template-columns: 1fr;          /* phones */
  gap: 16px;
  overflow: visible;                   /* kill horizontal scroll */
  padding: 0;
}

/* 2 columns from ≥576px */
@media (min-width: 576px){
  .blog-scroller{
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

/* 3 columns from ≥768px (featured gets a nicer proportion via template) */
@media (min-width: 768px){
  .blog-scroller{
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 24px;
  }
}

/* Optional: widen spacing a touch on large screens */
@media (min-width: 1200px){
  .blog-scroller{ gap: 28px; }
}

/* Cards */
.blog-card{
  position:relative; overflow:hidden; border-radius:18px; background:#fff;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 30px rgba(2,6,23,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  /* REMOVE fixed widths that caused overflow */
  min-width: 0; 
}
.blog-card:hover{
  transform: translateY(-4px);
  box-shadow:0 22px 44px rgba(2,6,23,.16);
  border-color: rgba(108,57,241,.35);
}

/* Featured keeps the gradient frame; no special width constraints */
.blog-featured{
  background-image:
    linear-gradient(#fff,#fff),
    var(--grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

/* Media */
.blog-media{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.blog-media img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition: transform .6s ease; }
.blog-card:hover .blog-media img{ transform:scale(1.06); }

/* Hover overlay */
.blog-media::after{
  content:""; position:absolute; inset:0; opacity:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.28) 100%);
  transition: opacity .25s ease;
}
.blog-card:hover .blog-media::after{ opacity:1; }

/* Tag chip */
.blog-tag{
  position:absolute; left:12px; top:12px; z-index:2;
  padding:6px 10px; font-size:.75rem; font-weight:700;
  color:#0b1220; background:#ffffffd9; border:1px solid rgba(148,163,184,.35);
  border-radius:999px; backdrop-filter:saturate(140%) blur(6px);
}

/* Body */
.blog-body{ padding:14px 14px 16px; }
.blog-title{ font-weight:800; font-size:1.08rem; margin:0 0 6px; }
.blog-excerpt{ color:#64748b; margin:0 0 10px; }
.blog-meta{ display:flex; gap:12px; font-size:.85rem; color:#475569; }
.blog-meta i{ opacity:.8; }

/* Placeholder if image missing */
.ph-16x9{
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#3b2b7d; background:rgba(108,57,241,.08);
}

/* Safety: ensure no media overflows */
#blog img, #blog video, #blog svg{ max-width: 100%; height: auto; }

/* ===== Newsletter (premium) ===== */
.newsletter{
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(108,57,241,.10) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 420px at 92% 10%, rgba(255,122,26,.08) 0%, rgba(255,122,26,0) 60%),
    #f8fafc;
}
.newsletter .glass{
  background: rgba(255,255,255,0.86);
  backdrop-filter: saturate(160%) blur(8px);
  -webkit-backdrop-filter: saturate(160%) blur(8px);
  border: 1px solid rgba(148,163,184,0.25);
  border-radius: 18px;
}

.nl-wave-1, .nl-wave-2{
  position:absolute; left:0; right:0; width:100%; pointer-events:none;
}
.nl-wave-1{ top:-30px; height:90px; opacity:.25; }
.nl-wave-2{ bottom:-1px; height:70px; opacity:.6; }

/* Icon coin */
.nl-icon{
  width: 56px; height: 56px; display:grid; place-items:center;
  border-radius: 50%;
  background: var(--grad); color:#fff; font-size:1.4rem;
  box-shadow: 0 10px 24px rgba(108,57,241,.25);
  flex: 0 0 auto;
}

/* Form layout */
.nl-form{
  align-items: stretch;
}
.nl-input{
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding-left: 14px; padding-right: 14px;
  height: calc(2.875rem + 2px); /* match .btn-lg height visually */
}
.nl-input:focus{
  border-color: rgba(108,57,241,.5);
  box-shadow: 0 0 0 .2rem rgba(108,57,241,.15);
}
.nl-btn{
  border-radius: 12px;
  min-width: 160px;
}

/* Responsiveness */
@media (max-width: 991.98px){
  .nl-icon{ width:52px; height:52px; font-size:1.25rem; }
}
@media (max-width: 575.98px){
  .nl-form{ display: grid; grid-template-columns: 1fr; }
  .nl-btn{ width: 100%; }
  .nl-wave-1{ height:70px; top:-20px; }
}

/* Safety: ensure no overflow */
#newsletter img, #newsletter svg { max-width:100%; height:auto; }

/* ===== CTA (premium) ===== */
.cta-wrap{
  background:
    radial-gradient(900px 420px at 15% -10%, rgba(108,57,241,.10) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 420px at 90% 10%, rgba(255,122,26,.08) 0%, rgba(255,122,26,0) 60%),
    #fbfcff;
  position: relative;
}
.cta-wave{
  position:absolute; top:-22px; left:0; width:100%; height:90px; opacity:.25; pointer-events:none;
}
.cta-glow{
  position:absolute; filter: blur(42px); opacity:.28; pointer-events:none;
}
.cta-glow-1{ width:360px; height:360px; top:-120px; left:-80px; background: radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.cta-glow-2{ width:420px; height:420px; bottom:-140px; right:-100px; background: radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

/* glassy card */
.cta-card{
  max-width: 920px;
  border-radius: 20px;
  background: rgba(255,255,255,0.86);
  backdrop-filter: saturate(160%) blur(8px);
  -webkit-backdrop-filter: saturate(160%) blur(8px);
  border: 1px solid rgba(148,163,184,0.25);
  box-shadow: 0 18px 44px rgba(2,6,23,.10);
}

/* title/subtitle */
.cta-title{
  font-weight: 800;
  font-size: clamp(1.4rem, 2.4vw + 1rem, 2rem);
  background: var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cta-sub{ font-size: 1rem; }

/* trust row */
.cta-trust{
  display:flex; flex-wrap:wrap; gap:10px 16px; 
  justify-content:center; font-size:.9rem; color:#475569;
}
.cta-trust i{ margin-right:6px; background: var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* safety */
#cta img, #cta svg{ max-width:100%; height:auto; }

/* responsiveness */
@media (max-width: 575.98px){
  .cta-wave{ height:70px; top:-14px; }
  .cta-trust{ font-size:.86rem; }
}

/* ===== Footer (premium) ===== */
.footer-premium{
  background:
    radial-gradient(1000px 520px at 10% -10%, rgba(108,57,241,.16) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(1000px 520px at 95% 0%, rgba(255,122,26,.12) 0%, rgba(255,122,26,0) 60%),
    var(--brand-deep);
  color:#cbd5e1;
}
.footer-wave{
  position:absolute; top:-1px; left:0; width:100%; height:80px; opacity:.15; pointer-events:none;
}

/* brand lockup */
.footer-brand{
  color:#fff; font-weight:800; letter-spacing:.4px;
  text-transform: uppercase;
}
.footer-brand:hover{ color:#fff; }
.brand-wordmark{ font-weight:900; }
.brand-sub{ opacity:.9; }

/* text & links */
.text-slate{ color:#aeb7c6; }
.f-title{
  color:#fff; font-weight:800; margin-bottom:.75rem;
  position:relative; display:inline-block;
}
.f-title::after{
  content:""; display:block; height:2px; width:28px; margin-top:6px;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-orange));
  border-radius:2px;
}
.f-links li{ margin:.4rem 0; }
.f-links a{
  color:#dbe2ef; text-decoration:none; position:relative;
}
.f-links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0%;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-orange));
  transition: width .25s ease; border-radius:2px;
}
.f-links a:hover{ color:#fff; }
.f-links a:hover::after{ width:100%; }

/* contact list */
.f-contact li{
  display:flex; align-items:center; gap:.5rem; margin:.35rem 0;
}
.f-contact i{
  background: var(--grad);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}

/* social buttons */
.f-social{
  display:inline-grid; place-items:center; width:38px; height:38px; border-radius:999px;
  color:#fff; border:1px solid rgba(255,255,255,.22);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
  background: rgba(255,255,255,.04);
}
.f-social:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.4);
}

/* badges */
.f-badge{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:#e5e7eb; font-weight:600; border-radius:999px; padding:.4rem .6rem;
}
.f-badge i{ opacity:.9; }

.badge-soft {
  background: rgba(108,57,241,.12);
  color: #3b2b7d;
}

/* divider */
.f-divider{
  border-top: 1px solid rgba(255,255,255,.12);
}

/* heart color */
.heart{
  color:#ff6b6b;
}

/* responsiveness */
@media (max-width: 575.98px){
  .footer-brand img{ width:36px; height:36px; }
  .f-title{ margin-top:.5rem; }
}

/* ===== About page helpers ===== */

/* About hero (subtle variation of hero-pro) */
.about-hero{
  background:
    radial-gradient(1000px 600px at 10% -10%, rgba(108,57,241,.12) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(255,122,26,.12) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}

/* Compact stat tiles beside story */
.about-stats.grid-2{
  display:grid; grid-template-columns: 1fr 1fr; gap:12px;
}
.a-stat{
  display:flex; align-items:center; gap:12px; padding:14px; border-radius:14px;
  border:1px solid rgba(148,163,184,.25);
}
.a-stat i{
  font-size:1.25rem; background: var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.a-stat .num{ font-weight:800; line-height:1; }

/* Team messages */
.msg-card{
  background:#fff; border-radius:18px; border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 30px rgba(2,6,23,.08);
  background-image: linear-gradient(#fff,#fff), var(--grad);
  background-origin: border-box; background-clip: padding-box, border-box;
}
.msg-avatar{
  width:52px; height:52px; border-radius:50%; display:grid; place-items:center;
  background: rgba(108,57,241,.08);
  color:#3b2b7d; font-size:1.25rem; flex:0 0 auto;
  border:1px solid rgba(108,57,241,.25);
}

/* Small tweaks */
.breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:#94a3b8; }
.text-slate{ color:#94a3b8; }

/* Responsive fixes */
@media (max-width: 575.98px){
  .about-stats.grid-2{ grid-template-columns: 1fr; }
}

/* ========== Company Story — Refined Premium ========== */
.about-pro{
  background:
    radial-gradient(900px 420px at 8% -6%, rgba(108,57,241,.10) 0%, rgba(108,57,241,0) 65%),
    radial-gradient(900px 420px at 95% 0%, rgba(255,122,26,.10) 0%, rgba(255,122,26,0) 65%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.abt-glow{ position:absolute; filter:blur(70px); opacity:.22; pointer-events:none; transform:translateZ(0); }
.abt-glow.g1{ width:340px; height:340px; left:-120px; top:-80px; background:radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.abt-glow.g2{ width:380px; height:380px; right:-120px; top:20px; background:radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

.abt-pane{
  border-radius:18px; padding:24px; border:1px solid rgba(148,163,184,.25);
}
.abt-title{ position:relative; display:inline-block; padding-bottom:6px; }
.abt-title i{ position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:999px; background:var(--grad); }

.text-slate-700{ color:#334155; }

/* inline KPI (header right) */
.abt-kpis{ display:flex; gap:10px; }
.abt-kpis .kpi{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:84px; padding:6px 10px; border-radius:12px;
  background:#f8fafc; border:1px solid #e2e8f0;
}
.abt-kpis .kpi span{ font-weight:800; line-height:1; }
.abt-kpis .kpi small{ color:#64748b; }

/* ticks */
.abt-list .tick{
  display:flex; gap:8px; align-items:flex-start; padding:10px 12px; border-radius:12px;
  background:#ffffff; border:1px solid #e2e8f0;
}
.abt-list .tick i{
  background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  font-size:1.1rem; line-height:1.2;
}

/* bottom strip chips */
.abt-strip{ display:flex; flex-wrap:wrap; gap:8px; }
.abt-strip .tag{
  display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:999px;
  background:rgba(108,57,241,.06); border:1px solid rgba(148,163,184,.25); color:#0b1220;
}

/* right stat grid */
.abt-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.abt-card{
  display:flex; align-items:center; gap:12px; padding:14px; border-radius:16px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 10px 28px rgba(2,6,23,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.abt-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(2,6,23,.14); border-color:rgba(108,57,241,.35); }
.abt-card .ic{ position:relative; width:46px; height:46px; display:grid; place-items:center; border-radius:12px;
  background:rgba(255,255,255,.9); border:1px solid rgba(148,163,184,.25);
}
.abt-card .ic span{ position:absolute; inset:-2px; border-radius:14px; background:var(--grad); opacity:.18; filter:blur(14px); }
.abt-card .ic i{ color:#334155; font-size:1.2rem; }
.abt-card .txt .big{ font-weight:900; font-size:1.08rem; line-height:1.1; }
.abt-card .txt small{ color:#64748b; }

/* responsive */
@media (max-width: 991.98px){
  .abt-pane{ padding:20px; }
}
@media (max-width: 575.98px){
  .abt-grid{ grid-template-columns:1fr; }
  .abt-kpis{ display:none; } /* condense header on phones */
}

/* ===== Hotel Grid (premium) ===== */
.hotel-grid .h-card{
  position:relative; border:0; border-radius:20px; overflow:hidden;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg, #6C39F1, #FF7A1A) border-box;
  border:1px solid transparent;
  box-shadow:0 14px 38px rgba(2,6,23,.10);
  transition: transform .25s ease, box-shadow .25s ease;
}
.hotel-grid .h-card:hover{
  transform: translateY(-6px);
  box-shadow:0 24px 58px rgba(2,6,23,.18);
}

.h-media{
  position:relative; overflow:hidden;
  /* NEW: give the media area height even without placeholder */
  aspect-ratio: 4 / 3;
}


.h-media .img-zoom{
  /* keep the nice cover + zoom */
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.02);
  transition: transform .6s ease;
  /* FIX: show the image */
  display:block !important;
  opacity:1; visibility:visible;
  z-index:1; /* badges/ribbons sit above (they use z-index:2) */
}
.h-card:hover .img-zoom{ transform:scale(1.07); }

.h-badge, .h-rating, .h-ribbon{
  position:absolute; z-index:2; padding:6px 10px; font-size:.78rem; font-weight:700;
  background:#ffffffd9; border:1px solid rgba(148,163,184,.35); border-radius:999px;
  backdrop-filter:saturate(140%) blur(6px); color:#0b1220;
}
.h-badge{ left:12px; top:12px; }
.h-rating{ right:12px; top:12px; }
.h-ribbon{
  right:-44px; bottom:16px; transform:rotate(-12deg);
  border-radius:12px; padding:6px 16px; background:linear-gradient(135deg,#6C39F1,#FF7A1A); color:#fff; border:0;
  box-shadow:0 8px 22px rgba(108,57,241,.25);
}

/* wishlist button */
.h-like{
  position:absolute; right:12px; bottom:12px; z-index:2;
  width:38px; height:38px; border-radius:999px; display:grid; place-items:center;
  background:#ffffffd9; border:1px solid rgba(148,163,184,.35); backdrop-filter:saturate(140%) blur(6px);
}
.h-like i{ font-size:1rem; color:#6C39F1; opacity:.9; }

/* body */
.h-body{ padding:16px 16px 14px; }
.h-title{ margin:0 0 4px; font-size:1.1rem; font-weight:800; }
.h-loc{ color:#64748b; }

.h-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 14px; }
.h-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; font-size:.8rem; font-weight:600;
  background:#f8fafc; border:1px solid #e5e7eb; color:#475569;
}

.h-meta{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px; border-top:1px dashed rgba(2,6,23,.08);
  background: linear-gradient(180deg, rgba(108,57,241,.06), rgba(255,122,26,.06));
  border-bottom-left-radius:20px; border-bottom-right-radius:20px;
}
.h-price{ font-weight:700; }
.h-price small{ font-weight:500; color:#475569; }
.h-cta.btn{ padding:.5rem .85rem; font-weight:700; }

/* small helpers */
.top-2{ top:12px; } .start-2{ left:12px; } .end-2{ right:12px; }

/* responsive tweaks */
@media (max-width: 575.98px){
  .h-meta{ padding:10px; }
  .h-title{ font-size:1.02rem; }
}

/* ===== Modern Pagination (Premium) ===== */
.pagination-wrap { position: relative; }
.pagination-wrap .pagination { gap: 0.5rem; }

.pagination-wrap .page-link{
  position: relative;
  border: none;
  min-width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 600; color: #0b1220;
  border-radius: 999px; background: #ffffff; border: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(2,6,23,0.05);
  transition: all 0.25s ease;
}
.pagination-wrap .page-item.active .page-link{
  background: linear-gradient(135deg, #6C39F1, #FF7A1A);
  color: #fff !important; border-color: transparent;
  box-shadow: 0 6px 18px rgba(108,57,241,0.25);
}
.pagination-wrap .page-link:hover{
  background: linear-gradient(135deg, #fafaff, #fff);
  border-color: rgba(108,57,241,0.2);
  box-shadow: 0 6px 14px rgba(108,57,241,0.1);
  transform: translateY(-2px);
}
.pagination-wrap .page-item.disabled .page-link{
  background: #f8fafc; color: #94a3b8; border-color: #e2e8f0; cursor: not-allowed; box-shadow: none;
}
.pagination-wrap .page-link i{ font-size: 0.9rem; }
.pagination-wrap .page-item.active .page-link i{ color: #fff !important; }

@media (max-width: 575.98px){
  .pagination-wrap .page-link{ min-width: 38px; height: 38px; font-size: 0.9rem; }
}


/* ===== Contact Premium (Refined) ===== */
.contact-wrap { 
  background: linear-gradient(180deg,#fbfcff 0%,#ffffff 100%);
  overflow: hidden;
  position: relative;
}
.contact-glow{ position:absolute; inset:auto; filter:blur(60px); opacity:.25; pointer-events:none; }
.cg-1{ width:380px; height:380px; top:-80px; left:-100px; background: radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.cg-2{ width:420px; height:420px; bottom:-120px; right:-120px; background: radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

.contact-card{
  border-radius:20px;
  background: rgba(255,255,255,0.95);
  border:1px solid rgba(148,163,184,.25);
  box-shadow: 0 10px 30px rgba(2,6,23,0.06);
}

/* contact info tiles */
.c-info{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.25);
  border-radius:14px;
  background:#fff;
  word-break: break-word; /* fixes email overflow */
}
.c-icon{
  width:40px; height:40px; flex-shrink:0;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: rgba(108,57,241,.08);
}
.c-icon i{ font-size:1.1rem; color:#6C39F1; }
.c-label{ font-weight:700; line-height:1.1; margin-bottom:2px; }
.c-link, .c-text{ color:#0b1220; font-weight:500; word-break:break-all; }

.input-icon{ position:relative; }
.input-icon > i{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#64748b; }
.input-icon > .form-control{ padding-left:2.1rem; }

/* Map card smaller + refined */
.map-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 10px 30px rgba(2,6,23,0.06);
  max-height: 460px; /* limits map box size */
}
.map-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-bottom:1px solid rgba(148,163,184,.2);
}
.map-title{ font-weight:800; display:flex; align-items:center; gap:8px; }
.map-body{ padding:0; }
.ph-map{
  position:relative;
  width:100%;
  aspect-ratio: 4 / 3; /* smaller ratio than before */
  background: #eef2ff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ph-map-inner{ font-weight:700; color:#3b2b7d; }
.ph-map iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0;
  border-radius:0 0 20px 20px;
}

/* Buttons */
.btn-submit{ position:relative; overflow:hidden; }
.btn-submit:disabled{ opacity:.8; cursor:not-allowed; }

/* Responsive tweaks */
@media (max-width: 991.98px){
  .map-card{ max-height:420px; }
}
@media (max-width: 575.98px){
  .map-card{ max-height:380px; }
  .map-header{ flex-direction:column; align-items:flex-start; gap:6px; }
}

/* ===== Premium FAQ ===== */
.faq-wrap{
  background: linear-gradient(180deg,#fbfcff 0%, #ffffff 100%);
}
.faq-glow{ position:absolute; filter:blur(70px); opacity:.25; pointer-events:none; }
.fg-1{ width:420px; height:420px; top:-120px; left:-100px;
  background: radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.fg-2{ width:460px; height:460px; bottom:-140px; right:-140px;
  background: radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

.faq-tip{
  display:flex; gap:12px; align-items:flex-start;
  padding:12px 14px; border-radius:14px; background:#fff;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 8px 20px rgba(2,6,23,.05);
}
.faq-tip i{ font-size:1.2rem; color:#6C39F1; }
.faq-tip span{ color:#64748b; }

/* accordion shell with gradient border frame (subtle) */
.faq-accordion .faq-item{
  border:0; border-radius:16px; overflow:hidden; margin-bottom:14px;
  background-image: linear-gradient(#fff,#fff), var(--grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border:1px solid transparent;
  box-shadow:0 12px 28px rgba(2,6,23,.06);
}

/* header button */
.faq-button{
  background:#fff; color:var(--ink);
  padding:16px 52px 16px 54px; /* space for icon + chevron */
  font-weight:700; letter-spacing:.2px;
  box-shadow:none; outline:none;
}
.faq-button:focus{ box-shadow:none; }
.faq-button:not(.collapsed){ background:#ffffff; }

/* leading icon */
.faq-icon{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: rgba(108,57,241,.08);
  color:#6C39F1;
}
.faq-button .faq-icon i{ font-size:1rem; }

/* chevron to the right */
.faq-chevron{
  margin-left:auto; margin-right:-6px; display:inline-flex; align-items:center;
  transition: transform .25s ease;
}
.accordion-button:not(.collapsed) .faq-chevron{ transform: rotate(180deg); }

/* remove default caret */
.accordion-button::after{ display:none; }

/* body */
.faq-answer{
  background: #fff;
  color:#334155;
  border-top:1px solid rgba(148,163,184,.2);
  padding: 14px 18px 18px;
}

/* spacing on small screens */
@media (max-width: 575.98px){
  .faq-button{ padding: 14px 44px 14px 50px; }
  .faq-icon{ left:12px; }
}

/* ===== Destinations (premium) ===== */
    .dest-hero{
      position:relative; overflow:hidden; padding:72px 0; background:
        radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.18) 0%, rgba(108,57,241,0) 60%),
        radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.18) 0%, rgba(255,122,26,0) 60%),
        linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
    }
    .dest-hero .wave{
      position:absolute;
      bottom:-1px;
      left:50%;
      width:100vw;        /* force full viewport width */
      height:90px;        /* a touch taller looks nicer */
      transform:translateX(-50%); /* center the 100vw element */
      display:block;
      pointer-events:none;
    }
    @media (max-width: 575.98px){
      .dest-hero .wave{ height:60px; }
    }
    .crumbs{ color:#64748b; }
    .crumbs a{ color:inherit; text-decoration:none; }
    .crumbs a:hover{ text-decoration:underline; }

    /* filter chips */
    .filter-bar{
      background:#fff; border:1px solid rgba(148,163,184,.25);
      border-radius:16px; padding:10px; box-shadow:0 10px 24px rgba(2,6,23,.06);
    }
    .chip2{
      border:1px solid rgba(148,163,184,.35); background:#fff; color:#0b1220;
      padding:8px 12px; border-radius:999px; font-weight:700; font-size:.9rem;
      display:inline-flex; gap:8px; align-items:center; cursor:pointer;
      transition: all .2s ease;
    }
    .chip2 i{ opacity:.8; }
    .chip2.active, .chip2:hover{ border-color: transparent; background-image:var(--grad); color:#fff; }
    .chip2.active i, .chip2:hover i{ opacity:1; }

    /* destination cards */
    .d-card{
      position:relative; border-radius:18px; overflow:hidden; background:#fff;
      border:1px solid rgba(148,163,184,.25);
      box-shadow:0 14px 30px rgba(2,6,23,.08);
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      height:100%;
    }
    .d-card:hover{ transform: translateY(-4px); box-shadow:0 24px 54px rgba(2,6,23,.16); border-color:rgba(108,57,241,.35); }
    .d-media{ position:relative; aspect-ratio: 4/3; overflow:hidden; }
    .d-media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.02); transition: transform .6s ease; display:block; }
    .d-card:hover .d-media img{ transform:scale(1.06); }
    .d-media::after{
      content:""; position:absolute; inset:0; pointer-events:none; opacity:.0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.28) 100%);
      transition: opacity .25s ease;
    }
    .d-card:hover .d-media::after{ opacity:1; }

    /* badges */
    .d-badge{
      position:absolute; left:12px; top:12px; z-index:2;
      padding:6px 10px; font-size:.75rem; font-weight:800;
      color:#0b1220; background:#ffffffd9; border:1px solid rgba(148,163,184,.35);
      border-radius:999px; backdrop-filter:saturate(140%) blur(6px);
    }
    .d-flag{
      position:absolute; right:-36px; top:16px; transform:rotate(45deg); z-index:2;
      background:var(--grad); color:#fff; padding:6px 48px; font-size:.74rem;
      box-shadow:0 8px 18px rgba(0,0,0,.18);
    }

    .d-body{ padding:14px 14px 16px; }
    .d-title{ font-weight:800; font-size:1.08rem; margin:0 0 4px; }
    .d-meta{ color:#64748b; margin-bottom:8px; }
    .d-feats{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
    .d-feats .chip{ background:#f8fafc; border:1px solid #e5e7eb; color:#475569;
      padding:6px 10px; border-radius:999px; font-size:.78rem; font-weight:600; }
    .d-bottom{ display:flex; justify-content:space-between; align-items:center; }


    /* section divider */
    .soft-divider{ height:1px; background:linear-gradient(90deg, rgba(148,163,184,.0), rgba(148,163,184,.35), rgba(148,163,184,.0)); margin: 24px 0; }

    /* small helper to hide if no results */
    .is-hidden{ display:none !important; }

/* ===== Destination Inner (premium) — all classes start with din- ===== */
.din-grad{ background: var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

.din-hero{
  position:relative; overflow:hidden; padding:66px 0 36px;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.din-wave{ position:absolute; left:0; right:0; bottom:-1px; height:80px; opacity:.25; }
.din-pill{
  display:inline-flex; align-items:center; gap:6px; padding:.35rem .7rem; border-radius:999px;
  background:#ffffffd6; border:1px solid #e2e8f0; font-weight:700; color:#334155; margin-bottom:.4rem;
}
.din-title{ font-weight:900; letter-spacing:.2px; margin:0 0 .25rem; }
.din-hero-media{
  position:relative; border-radius:18px; overflow:hidden; border:1px solid rgba(148,163,184,.25);
  background:#fff; box-shadow:0 10px 28px rgba(2,6,23,.06);
}
.din-ph-16x9{
  aspect-ratio:16/9; display:grid; place-items:center; background:linear-gradient(180deg,#eef2ff,#fff);
  color:#3b2b7d; font-weight:800;
}
.din-ph-text{ opacity:.8; }
.din-ribbon{
  position:absolute; right:-46px; top:14px; transform:rotate(30deg);
  background:var(--grad); color:#fff; padding:6px 56px; font-size:.72rem; font-weight:800; box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.din-rating{
  position:absolute; left:12px; top:12px; display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; font-size:.78rem; font-weight:800; background:#ffffffd9; border:1px solid rgba(148,163,184,.35);
  border-radius:999px; backdrop-filter:saturate(140%) blur(6px); color:#0b1220;
}
.din-rating i{ color:#f59e0b; }

/* Cards */
.din-card{
  background:#fff; border-radius:18px; border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 30px rgba(2,6,23,.08);
}

/* Ticks list */
.din-ticks{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.din-ticks li{ display:flex; gap:10px; align-items:flex-start; color:#334155; }
.din-ticks i{ background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; font-size:1.05rem; line-height:1.2; }

/* Accordion refinement */
.din-acc .accordion-item{ border:none; border-radius:14px; overflow:hidden; box-shadow:0 8px 20px rgba(2,6,23,.06); margin-bottom:10px; }
.din-acc .accordion-button{ padding:14px 16px; font-weight:700; }
.din-acc .accordion-button:focus{ box-shadow:none; }

/* Gallery placeholders */
.din-ph-4x3{ aspect-ratio:4/3; display:grid; place-items:center; border-radius:12px; background:linear-gradient(180deg,#f8fafc,#eef2ff); color:#3b2b7d; font-weight:800; }
.din-ph-1x1{ aspect-ratio:1/1; display:grid; place-items:center; border-radius:12px; background:linear-gradient(180deg,#f8fafc,#eef2ff); color:#3b2b7d; font-weight:800; }

/* Mini hotel teaser */
.din-mini{ display:flex; gap:12px; border:1px solid rgba(148,163,184,.25); border-radius:14px; padding:10px; background:#fff; }
.din-mini-media{ width:92px; flex:0 0 92px; border-radius:10px; overflow:hidden; }
.din-mini-body{ flex:1; }
.din-mini-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:6px; }

/* Sidebar facts */
.din-facts{ display:grid; grid-template-columns:1fr; gap:10px; }
.din-fact{ display:flex; gap:10px; align-items:center; background:#f8fafc; border:1px solid #e5e7eb; border-radius:12px; padding:10px; }
.din-fact i{ color:#6C39F1; }
.din-fact strong{ display:block; line-height:1.1; }
.din-fact small{ color:#64748b; }

/* Map (compact & centered) */
.din-map-head{ padding:10px 14px; border-bottom:1px solid rgba(148,163,184,.2); }
.din-map-body{ padding:10px; }
.din-ph-map{
  width:100%; aspect-ratio:4/3; display:grid; place-items:center; background:#eef2ff; border-radius:0 0 18px 18px;
}
.din-ph-map iframe{ width:100%; height:100%; border:0; border-radius:0 0 18px 18px; }

/* Responsive tweaks */
@media (max-width: 575.98px){
  .din-title{ font-size:1.6rem; }
  .din-mini-media{ width:82px; flex-basis:82px; }
}

/* ===== Packages (premium) — pk- names only ===== */
.pk-hero{
  position:relative; overflow:hidden; padding:72px 0; background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.16) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.pk-wave{ position:absolute; left:0; right:0; bottom:-1px; height:80px; opacity:.25; }
.pk-pill{
  display:inline-flex; align-items:center; gap:6px; padding:.4rem .75rem; border-radius:999px;
  background:#ffffffd6; border:1px solid #e2e8f0; font-weight:700; color:#334155;
}

/* toolbar */
.pk-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px; border:1px solid rgba(148,163,184,.25); border-radius:16px; background:#fff;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.pk-filters{ display:flex; flex-wrap:wrap; gap:8px; }
.pk-chip{
  border:1px solid rgba(148,163,184,.35); background:#fff; color:#0b1220;
  padding:8px 12px; border-radius:999px; font-weight:700; font-size:.9rem;
  display:inline-flex; gap:8px; align-items:center; cursor:pointer; transition: all .2s ease;
}
.pk-chip:hover, .pk-chip.active{ background-image:var(--grad); color:#fff; border-color:transparent; }
.pk-sort select{ min-width: 180px; }

/* card */
.pk-card{
  position:relative; border-radius:18px; overflow:hidden; background:#fff;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 14px 30px rgba(2,6,23,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; height:100%;
}
.pk-card:hover{ transform: translateY(-4px); box-shadow:0 24px 54px rgba(2,6,23,.16); border-color:rgba(108,57,241,.35); }
.pk-card:hover .pk-media img.pk-img{ transform: scale(1.06); }
.pk-media{
  position: relative;
  aspect-ratio: 4 / 3;            /* keeps a consistent box */
  border-radius: 16px 16px 0 0;   /* match card radius on top */
  overflow: hidden;
  background: #eef2f7;            /* subtle bg while image loads */
  isolation: isolate;
}

/* Actual image */
.pk-media img.pk-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;              /* fill without distortion */
  display: block;
  transform: scale(1.02);
  transition: transform .6s ease;
}

.pk-ph-4x3{
  aspect-ratio: 4 / 3;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; letter-spacing: .3px;
  color: #3b2b7d;
  background: linear-gradient(135deg, rgba(108,57,241,.08), rgba(255,122,26,.08));
}
.pk-ph-text{ opacity:.8; }

/* chips on media */
.pk-len{
  top: 10px; left: 10px;
  padding: 6px 10px;
  font-weight: 700; color: #0b1220;
  background: #ffffffd9;
  border: 1px solid rgba(148,163,184,.35);
  border-radius: 999px;
  backdrop-filter: saturate(140%) blur(6px);
}


/* diagonal ribbon (top-right) */
.pk-flag{
  right: -46px; top: 12px;
  padding: 7px 56px;
  color: #fff; font-weight: 800; letter-spacing: .4px;
  background: linear-gradient(90deg, #6C39F1, #FF7A1A);
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
  transform: rotate(30deg);
}

/* Overlays */
.pk-len, .pk-flag{
  position: absolute;
  z-index: 2;
  font-size: .82rem;
}

/* body */
.pk-body{ padding:14px 14px 58px; }
.pk-title{ font-weight:800; font-size:1.08rem; margin:0 0 8px; }
.pk-feats{ display:flex; flex-wrap:wrap; gap:6px 8px; padding:0; margin:0 0 12px; list-style:none; }
.pk-feats li{
  display:inline-flex; align-items:center; gap:6px; font-size:.82rem; color:#475569;
  background:#f8fafc; border:1px solid #e5e7eb; padding:6px 10px; border-radius:999px;
}
.pk-meta{ display:flex; align-items:center; justify-content:space-between; }
.pk-rating{ display:flex; align-items:center; gap:6px; color:#f59e0b; font-weight:700; }
.pk-price{
  position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; justify-content:space-between;
  background:linear-gradient(90deg, rgba(108,57,241,.06), rgba(255,122,26,.06)); padding:10px 14px; border-top:1px dashed rgba(2,6,23,.08);
}

/* CTA */
#pk-cta{ background: linear-gradient(180deg,#fbfcff 0%,#ffffff 100%); }
.pk-cta-title{ font-weight:800; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* responsive */
@media (max-width: 575.98px){
  .pk-toolbar{ flex-direction:column; align-items:flex-start; }
  .pk-sort{ width:100%; }
  .pk-sort select{ width:100%; }
  .pk-flag{ right: -52px; }
}

/* ===== Package Detail (premium) — pd- names only ===== */
.pd-hero{
  position:relative; overflow:hidden; padding:72px 0; background:
    radial-gradient(900px 480px at 12% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.12) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.pd-wave{ position:absolute; left:0; right:0; bottom:-1px; height:80px; opacity:.25; }
.pd-pill{
  display:inline-flex; align-items:center; gap:6px; padding:.45rem .8rem; border-radius:999px;
  background:#ffffffd6; border:1px solid #e2e8f0; font-weight:800; color:#334155; font-size:.92rem;
}
.pd-hero-kpis{ display:flex; gap:10px; justify-content:flex-end; }
.pd-kpi{
  min-width:90px; text-align:center; padding:8px 10px; border-radius:12px;
  background:#fff; border:1px solid #e2e8f0;
}
.pd-kpi span{ font-weight:900; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* panels & chips */
.pd-pane{
  background:#fff; border:1px solid rgba(148,163,184,.25); border-radius:18px;
  box-shadow:0 10px 26px rgba(2,6,23,.06); padding:16px;
}
.pd-badges{ display:flex; flex-wrap:wrap; gap:8px; }
.pd-badge{
  display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-weight:700; font-size:.82rem;
  background:#f8fafc; border:1px solid #e5e7eb; color:#475569;
}

/* gallery with placeholders */
.pd-gallery.card{ border-radius:18px; overflow:hidden; border:1px solid rgba(148,163,184,.25); box-shadow:0 12px 30px rgba(2,6,23,.08); }
.pd-main{ width:100%; }
.pd-thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:10px; border-top:1px solid #eef2f7; background:#fff; }
.pd-thumb{
  border:1px solid #e5e7eb; border-radius:12px; background:#f8fafc; font-weight:700; color:#3b2b7d;
  cursor:pointer; transition: transform .15s ease, box-shadow .15s ease;
}
.pd-thumb:hover{ transform: translateY(-2px); box-shadow:0 8px 18px rgba(2,6,23,.06); }

/* itinerary accordion */
.pd-acc .pd-acc-item{ border:0; border-radius:14px; overflow:hidden; margin-bottom:10px;
  background-image:linear-gradient(#fff,#fff), var(--grad); background-origin:border-box; background-clip:padding-box, border-box; border:1px solid transparent; }
.pd-acc-btn{
  background:#fff; font-weight:800; padding:14px 16px 14px 66px; position:relative; box-shadow:none; color:#0b1220;
}
.pd-acc-btn:focus{ box-shadow:none; }
.pd-acc-day{
  position:absolute; left:14px; top:50%; transform:translateY(-50%); width:44px; height:28px;
  display:grid; place-items:center; border-radius:999px; font-size:.82rem; font-weight:900; color:#fff; background:var(--grad);
}
.pd-acc .accordion-button::after{ filter:hue-rotate(20deg) saturate(1.2); }

/* lists */
.pd-list{ margin:0; padding-left:1.1rem; color:#334155; }
.pd-list li{ margin:.28rem 0; }

/* sticky sidebar */
.pd-sticky{ position: sticky; top: 88px; }
.pd-quote{
  border-radius:18px; padding:16px; background:#fff; border:1px solid rgba(148,163,184,.25);
  box-shadow:0 10px 26px rgba(2,6,23,.06);
}
.pd-quote-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.pd-stars{ color:#f59e0b; font-weight:800; }
.pd-chip{ padding:6px 10px; border-radius:999px; color:#fff; background:var(--grad); font-size:.75rem; font-weight:800; }
.pd-mini{ list-style:none; padding:0; margin:0 0 12px; }
.pd-mini li{ display:flex; align-items:center; gap:8px; margin:.3rem 0; color:#475569; }

/* help card */
.pd-help{ border-radius:16px; padding:14px; background:#fff; border:1px solid rgba(148,163,184,.25); box-shadow:0 10px 26px rgba(2,6,23,.06); }
.pd-help-ico{
  width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  background:rgba(108,57,241,.08); color:#6C39F1; font-size:1.15rem;
}

/* CTA */
#pd-cta{ background: linear-gradient(180deg,#fbfcff 0%,#ffffff 100%); }
.pd-cta-title{ font-weight:800; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* responsiveness */
@media (max-width: 991.98px){
  .pd-hero-kpis{ display:none; }
  .pd-sticky{ position: static; }
}
@media (max-width: 575.98px){
  .pd-acc-btn{ padding-left:60px; }
  .pd-thumbs{ grid-template-columns:repeat(4,1fr); }
}

/* ===== Transport Page Styles (tp-) ===== */
.tp-hero {
  position: relative;
  padding: 100px 0;
  background: url('/assets/img/transport-bg.jpg') center/cover no-repeat, linear-gradient(180deg,#0c0c0c,#1f1f1f);
  color: #fff;
  overflow: hidden;
}
.tp-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
}
.tp-hero .container {
  position: relative;
  z-index: 2;
}
.tp-card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.25);
  box-shadow: 0 12px 30px rgba(2,6,23,.08);
  padding: 24px 18px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.tp-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 50px rgba(2,6,23,.15);
}
.tp-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 10px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#6C39F1,#FF7A1A);
  color: #fff;
  font-size: 1.8rem;
}

/* Why choose */
.tp-why {
  background: linear-gradient(180deg,#fbfcff 0%,#ffffff 100%);
}
.tp-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tp-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0.5rem 0;
  font-weight: 500;
  color: #334155;
}
.tp-list i {
  color: #6C39F1;
  font-size: 1.2rem;
}

/* CTA */
#tp-cta {
  background: linear-gradient(90deg, rgba(108,57,241,.05), rgba(255,122,26,.05));
}
.tp-cta-title {
  font-weight: 800;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Placeholder image block */
.tp-img {
  aspect-ratio: 4/3;
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.25);
  background: linear-gradient(180deg,#eef2ff,#fff);
  font-weight: 700;
  color: #3b2b7d;
}

/* Responsive */
@media (max-width: 575.98px) {
  .tp-card { padding: 20px 14px; }
  .tp-icon { width: 60px; height: 60px; font-size: 1.5rem; }
}

/* ===== Contact Page (ct-) ===== */
.ct-hero{
  position:relative; overflow:hidden; padding:72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.ct-wave{ position:absolute; left:0; right:0; bottom:-1px; height:80px; }

.ct-wrap{ background: linear-gradient(180deg,#fbfcff 0%,#ffffff 100%); overflow:hidden; }
.ct-glow{ position:absolute; filter:blur(70px); opacity:.22; pointer-events:none; }
.ct-g1{ width:340px; height:340px; left:-120px; top:-80px; background:radial-gradient(circle at 30% 30%, #A64AF5, transparent 60%); }
.ct-g2{ width:420px; height:420px; bottom:-140px; right:-120px; background:radial-gradient(circle at 70% 30%, #FF7A1A, transparent 60%); }

.ct-card{
  border-radius:20px; background:rgba(255,255,255,.96);
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 30px rgba(2,6,23,.08);
}

/* Input with icons (reuse existing .input-icon base) */
.input-icon{ position:relative; }
.input-icon > i{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color:#64748b;
}
.input-icon > .form-control,
.input-icon > .form-select,
.input-icon > textarea{
  padding-left:2.1rem;
}

/* Quick info tiles */
.ct-info{
  display:flex; gap:12px; align-items:flex-start; padding:12px 14px;
  border:1px solid rgba(148,163,184,.25); border-radius:14px; background:#fff;
  box-shadow:0 8px 20px rgba(2,6,23,.05);
}
.ct-icon{
  width:40px; height:40px; flex-shrink:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(108,57,241,.08); color:#6C39F1; font-size:1.1rem;
}
.ct-label{ font-weight:800; line-height:1.1; margin-bottom:2px; }
.ct-link, .ct-text{ color:#0b1220; font-weight:500; }
.ct-break{ word-break: break-word; }

/* Map card — compact & centered */
.ct-mapcard{
  max-width: 520px; /* keeps it elegant on wide screens */
  background:#fff; border-radius:20px; overflow:hidden;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 10px 30px rgba(2,6,23,.06);
  margin-left:auto; margin-right:auto; /* centers in column */
}
.ct-maphead{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 16px; border-bottom:1px solid rgba(148,163,184,.2);
}
.ct-maptitle{ font-weight:800; display:flex; align-items:center; gap:8px; }
.ct-mapbody{ padding:0; }
.ct-map{
  position:relative; width:100%; aspect-ratio: 4/3; background:#eef2ff;
}
.ct-map iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* Submit button */
.ct-btn-submit{ box-shadow: 0 10px 24px rgba(108,57,241,.18); }

/* Responsive tweaks */
@media (max-width: 991.98px){
  .ct-mapcard{ max-width: 100%; }
}
@media (max-width: 575.98px){
  .ct-maphead{ flex-direction:column; align-items:flex-start; gap:6px; }
}

/* ===== Terms & Conditions (tc-) ===== */
.tc-hero{
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.tc-wave{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  width: 100%;
  height: 90px;
}
.tc-content{ background: #fff; }
.tc-card{
  max-width: 900px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.25);
  box-shadow: 0 14px 30px rgba(2,6,23,.08);
}
.tc-card h2{
  color:#0b1220;
  font-size:1.3rem;
}
.tc-card p{
  color:#475569;
  line-height:1.7;
  margin-bottom:1rem;
}

/* ===== Privacy Policy (pp-) ===== */
.pp-hero{
  position: relative; overflow: hidden; padding: 72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.pp-wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:90px; }

.pp-content{ background:#fff; }
.pp-card{
  max-width: 900px; background:#fff; border-radius:18px;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 14px 30px rgba(2,6,23,.08);
}
.pp-h{ font-weight:800; font-size:1.25rem; margin-bottom:.6rem; }
.pp-list{ margin:0 0 1rem 1.25rem; color:#475569; }
.pp-list li{ margin:.35rem 0; }

.pp-callout{
  display:flex; gap:12px; align-items:center;
  padding:14px 16px; border-radius:14px;
  background:#f8fafc; border:1px solid #e2e8f0;
}
.pp-callout-ico{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  background: rgba(108,57,241,.08); color:#6C39F1; font-size:1.1rem;
}

/* small screens */
@media (max-width:575.98px){
  .pp-h{ font-size:1.15rem; }
}

/* ===== Refund Policy (rp-) ===== */
.rp-hero{
  position: relative; overflow: hidden; padding: 72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.rp-wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:90px; }

.rp-wrap{ background:#fff; }
.rp-card{
  max-width: 980px; background:#fff; border-radius:18px;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 14px 30px rgba(2,6,23,.08);
}
.rp-h{ font-weight:800; font-size:1.25rem; margin-bottom:.6rem; }
.rp-list{ margin:0 0 1rem 1.25rem; color:#475569; }
.rp-list li{ margin:.35rem 0; }

.rp-table thead th{
  background: linear-gradient(135deg, rgba(108,57,241,.08), rgba(255,122,26,.08));
  border-bottom: 1px solid #e2e8f0;
}
.rp-table th, .rp-table td{ vertical-align: middle; }

.rp-steps{ margin-left:1.25rem; color:#334155; }
.rp-steps li{ margin:.4rem 0; }

.rp-callout{
  display:flex; gap:12px; align-items:center;
  padding:14px 16px; border-radius:14px;
  background:#f8fafc; border:1px solid #e2e8f0;
}
.rp-call-ico{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  background: rgba(108,57,241,.08); color:#6C39F1; font-size:1.1rem;
}

/* small screens */
@media (max-width:575.98px){
  .rp-h{ font-size:1.15rem; }
  .rp-card{ padding: 0 !important; }
}

/* ===== Cancellation Policy (cp-) ===== */
.cp-hero{
  position: relative; overflow: hidden; padding: 72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.14) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.cp-wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:90px; }

.cp-wrap{ background:#fff; }
.cp-card{
  max-width: 980px; background:#fff; border-radius:18px;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 14px 30px rgba(2,6,23,.08);
}
.cp-h{ font-weight:800; font-size:1.25rem; margin-bottom:.6rem; }
.cp-list{ margin:0 0 1rem 1.25rem; color:#475569; }
.cp-list li{ margin:.35rem 0; }

.cp-table thead th{
  background: linear-gradient(135deg, rgba(108,57,241,.08), rgba(255,122,26,.08));
  border-bottom: 1px solid #e2e8f0;
}
.cp-table th, .cp-table td{ vertical-align: middle; }

.cp-steps{ margin-left:1.25rem; color:#334155; }
.cp-steps li{ margin:.4rem 0; }

.cp-callout{
  display:flex; gap:12px; align-items:center;
  padding:14px 16px; border-radius:14px;
  background:#f8fafc; border:1px solid #e2e8f0;
}
.cp-call-ico{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  background: rgba(108,57,241,.08); color:#6C39F1; font-size:1.1rem;
}

/* small screens */
@media (max-width:575.98px){
  .cp-h{ font-size:1.15rem; }
  .cp-card{ padding: 0 !important; }
}

/* ===== Blog Page (bp-) ===== */
.bp-hero{
  position:relative; overflow:hidden; padding:72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.14) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.12) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.bp-wave{ position:absolute; left:0; right:0; bottom:-1px; height:80px; width:100%; }

.bp-search{
  border-radius:14px; border:1px solid rgba(148,163,184,.25);
  padding:6px; gap:6px;
}
.bp-search i{ color:#64748b; }
.bp-search .form-control{ height:40px; }

.bp-filters{
  background:#fff; border:1px solid rgba(148,163,184,.25);
  border-radius:16px; padding:10px; box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.bp-chip{
  border:1px solid rgba(148,163,184,.35); background:#fff; color:#0b1220;
  padding:8px 12px; border-radius:999px; font-weight:700; font-size:.9rem;
  display:inline-flex; gap:8px; align-items:center; cursor:pointer;
  transition: all .2s ease;
}
.bp-chip:hover, .bp-chip.active{
  border-color:transparent; background-image:var(--grad); color:#fff;
}
.bp-chip i{ opacity:.85; }

/* ===== Careers Page (cp-) ===== */
.cp-hero{
  position:relative; overflow:hidden; padding:72px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.12) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.10) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg,#fbfcff 0%, #ffffff 100%);
}
.cp-wave{ position:absolute; left:0; right:0; bottom:-1px; height:80px; width:100%; }

.cp-hero-card{
  border-radius:18px; padding:16px;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 28px rgba(2,6,23,.08);
}
.cp-coin{
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center; color:#fff; background:var(--grad);
  box-shadow:0 8px 18px rgba(108,57,241,.24);
}
.cp-hero-stats{
  display:grid; grid-template-columns: repeat(3,1fr); gap:10px;
  background:#fff; border:1px solid rgba(148,163,184,.25); border-radius:14px;
  padding:10px 12px; margin-top: 12px;
  box-shadow: 0 8px 20px rgba(2,6,23,.06);
}
.cp-stat{ text-align:center; }
.cp-stat span{
  font-weight:900; background:var(--grad); -webkit-background-clip:text; color:transparent;
}
.cp-stat small{ color:#64748b; display:block; margin-top:2px; }

.cp-perks{ background: linear-gradient(180deg,#ffffff 0%,#fbfcff 100%); }
.cp-tile{
  border-radius:16px; background:#fff; padding:14px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.cp-ico{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center; background:rgba(108,57,241,.10); color:#6C39F1; margin-bottom:8px;
}

/* Filters */
.cp-filter{
  border-radius:16px; padding:8px 10px; box-shadow:0 10px 24px rgba(2,6,23,.06);
  border:1px solid rgba(148,163,184,.25); background:#fff;
}
.cp-chip{
  border:1px solid rgba(148,163,184,.35); background:#fff; color:#0b1220;
  padding:8px 12px; border-radius:999px; font-weight:700; font-size:.9rem;
  display:inline-flex; gap:8px; align-items:center; cursor:pointer; transition: all .2s ease;
}
.cp-chip:hover, .cp-chip.active{ border-color:transparent; background-image:var(--grad); color:#fff; }
.cp-input{ background: transparent; }

/* Role card */
.cp-role{
  border-radius:18px; background:#fff; padding:16px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 12px 30px rgba(2,6,23,.08);
}
.cp-role-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:6px;
}
.cp-role-title{ margin:0; font-weight:800; font-size:1.15rem; }
.cp-role-meta{ color:#64748b; font-size:.92rem; }
.cp-badge{
  background: var(--grad); color:#fff; border-radius:12px; padding:6px 10px; font-size:.75rem; font-weight:800;
  box-shadow:0 6px 16px rgba(108,57,241,.2);
}
.cp-list{ margin:0 0 10px 1rem; }
.cp-list li{ margin:4px 0; color:#334155; }
.cp-role-cta{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding-top:10px; border-top:1px dashed rgba(2,6,23,.08);
}
.cp-salary{ font-weight:600; color:#334155; }

/* Apply CTA */
.cp-apply{
  background:
    radial-gradient(900px 420px at 15% -10%, rgba(108,57,241,.10) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 420px at 90% 10%, rgba(255,122,26,.08) 0%, rgba(255,122,26,0) 60%),
    #fbfcff;
  position:relative;
}
.cp-apply-wave{ position:absolute; top:-18px; left:0; width:100%; height:70px; opacity:.35; pointer-events:none; }
.cp-trust{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; color:#475569; }
.cp-trust i{ margin-right:6px; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* Responsive */
@media (max-width: 575.98px){
  .cp-hero-stats{ grid-template-columns: 1fr 1fr 1fr; }
  .cp-role-title{ font-size:1.06rem; }
}

/* ===== Career Detail Page (cdp-) ===== */
.cdp-hero{
  position:relative; overflow:hidden; padding:64px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.12) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.10) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.cdp-wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:80px; }

.cdp-head{
  border-radius:18px; padding:16px;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 28px rgba(2,6,23,.08);
}
.cdp-coin{
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center; color:#fff; background:var(--grad);
  box-shadow:0 8px 18px rgba(108,57,241,.22);
}
.cdp-meta{ display:flex; flex-wrap:wrap; gap:10px; color:#64748b; }
.cdp-meta i{ margin-right:6px; }
.cdp-badge{
  background: var(--grad); color:#fff; border-radius:12px; padding:6px 10px; font-size:.78rem; font-weight:800;
  box-shadow:0 6px 16px rgba(108,57,241,.2);
}

/* JD card + tabs */
.cdp-card{
  border-radius:18px; background:#fff; padding:16px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 12px 30px rgba(2,6,23,.08);
}
.cdp-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 8px; }
.cdp-tab{
  border:1px solid rgba(148,163,184,.35); background:#fff; color:#0b1220;
  padding:8px 12px; border-radius:999px; font-weight:700; font-size:.9rem; display:inline-flex; gap:8px; align-items:center; cursor:pointer; transition:all .2s ease;
}
.cdp-tab:hover, .cdp-tab.active{ border-color:transparent; background-image:var(--grad); color:#fff; }
.cdp-pane{ display:none; }
.cdp-pane.show{ display:block; }
.cdp-list{ margin:0 0 2px 1rem; }
.cdp-list li{ margin:.35rem 0; color:#334155; }

/* Share row */
.cdp-sharebtn{
  display:inline-grid; place-items:center; width:36px; height:36px; border-radius:999px;
  color:#0b1220; border:1px solid #e2e8f0; background:#fff;
  transition:.2s transform, .2s box-shadow;
}
.cdp-sharebtn:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(2,6,23,.08); }

/* Sticky Apply */
.cdp-apply{
  position: sticky; top: 90px; border-radius:18px; padding:16px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 14px 34px rgba(2,6,23,.10);
}
.cdp-chip{
  background: rgba(108,57,241,.10); color:#3b2b7d; border:1px solid rgba(148,163,184,.28);
  padding:6px 10px; border-radius:999px; font-weight:700; font-size:.78rem;
}
.cdp-label{ font-weight:600; }
.cdp-input{
  border-radius:12px; border:1px solid #e2e8f0;
}
.cdp-input:focus{
  border-color: rgba(108,57,241,.5);
  box-shadow: 0 0 0 .2rem rgba(108,57,241,.12);
}
.cdp-mini{ color:#64748b; font-size:.9rem; display:flex; gap:6px; align-items:center; }

/* Responsive */
@media (max-width: 991.98px){
  .cdp-apply{ position: static; }
}

/* ===== Blog Detail (bdp-) ===== */
.bdp-hero{
  position:relative; overflow:hidden; padding:64px 0;
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(108,57,241,.12) 0%, rgba(108,57,241,0) 60%),
    radial-gradient(900px 480px at 90% 10%, rgba(255,122,26,.10) 0%, rgba(255,122,26,0) 60%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
}
.bdp-wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:80px; }

.bdp-head{
  border-radius:18px; padding:16px;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 12px 28px rgba(2,6,23,.08);
}
.bdp-meta{ display:flex; flex-wrap:wrap; gap:10px; color:#64748b; }
.bdp-meta i{ margin-right:6px; }

.bdp-progress{
  position: sticky; top: 56px; z-index: 1020; height: 4px; background: transparent;
}
.bdp-progress #bdpProgressBar{
  display:block; width:0%; height:100%;
  background: var(--grad);
  box-shadow: 0 2px 8px rgba(108,57,241,.25);
}

/* Article */
.bdp-article{
  border-radius:18px; background:#fff; padding:14px 16px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 12px 30px rgba(2,6,23,.08);
}
.bdp-cover .ph-16x9{
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#3b2b7d; background:rgba(108,57,241,.08);
  border-radius:12px; margin-bottom:12px;
}
.bdp-article h2{ font-size:1.35rem; font-weight:800; margin-top:1rem; }
.bdp-article h3{ font-size:1.12rem; font-weight:800; margin-top:.8rem; }
.bdp-article p, .bdp-article li{ color:#334155; }
.bdp-quote{
  margin:14px 0; padding:12px 14px; border-left:4px solid #6C39F1;
  background:#f8fafc; border-radius:12px;
}

.bdp-facts{
  display:grid; gap:10px; padding:12px; border-radius:14px;
  border:1px solid rgba(148,163,184,.25);
}
.bdp-facts i{ margin-right:6px; color:#6C39F1; }

/* Author */
.bdp-author{
  display:flex; gap:12px; align-items:center; padding:12px; border-radius:14px;
  border:1px solid rgba(148,163,184,.25);
}
.bdp-avatar{
  width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font-weight:800;
  background: rgba(108,57,241,.08); color:#3b2b7d; border:1px solid rgba(108,57,241,.25);
}

/* Prev/Next */
.bdp-navbtn{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px; font-weight:700; color:#0b1220;
  background:#fff; border:1px solid #e2e8f0; box-shadow:0 6px 14px rgba(2,6,23,.06);
}
.bdp-navbtn:hover{ transform: translateY(-2px); filter: brightness(0.98); }

/* Sidebar */
.bdp-side{
  border-radius:16px; padding:14px;
  border:1px solid rgba(148,163,184,.25); box-shadow:0 10px 26px rgba(2,6,23,.06);
}
.bdp-toc{ list-style:none; padding-left:0; margin:0; }
.bdp-toc li{ margin:.25rem 0; }
.bdp-toc a{ color:#334155; font-weight:600; }
.bdp-toc a:hover{ text-decoration:underline; }

.bdp-mini{
  display:flex; align-items:center; gap:10px; padding:8px; border-radius:12px; border:1px solid rgba(148,163,184,.2);
  background:#fff; margin-bottom:8px;
}
.bdp-mini .ph-4x3{
  aspect-ratio:4/3; width:92px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:rgba(108,57,241,.08); color:#3b2b7d; font-weight:700; flex:0 0 auto;
}

/* Share buttons */
.bdp-share{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px; border-radius:999px; font-weight:700;
  color:#0b1220; background:#fff; border:1px solid #e2e8f0;
  transition: .2s transform, .2s box-shadow;
}
.bdp-share:hover{ transform: translateY(-2px); box-shadow:0 8px 18px rgba(2,6,23,.08); }

/* Comments */
.bdp-input{
  border-radius:12px; border:1px solid #e2e8f0;
}
.bdp-input:focus{
  border-color: rgba(108,57,241,.5);
  box-shadow: 0 0 0 .2rem rgba(108,57,241,.12);
}

/* Responsive */
@media (max-width: 575.98px){
  .bdp-meta{ gap:8px; font-size:.95rem; }
  .bdp-article{ padding:12px; }
}

/* UPDATED: Bigger WhatsApp Floating Button */
.floating-whatsapp {
  position: fixed;
  bottom: 90px;
  right: 20px;
  background: #25d366;
  color: white;
  font-size: 2rem;             /* Increased icon size (was 28px) */
  border-radius: 50%;
  width: 70px;                 /* Increased size (was 55px) */
  height: 70px;                /* Increased size (was 55px) */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
  z-index: 9999;
  transition: all 0.3s ease;
}

.floating-whatsapp:hover {
  background: #1ebc5d;
  transform: scale(1.08);
}


/* Keep the bottom mobile bar untouched */
.floating-mobile {
  position: fixed;
  bottom: 15px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-around;
  background: linear-gradient(90deg, #6C39F1, #FF7A1A);
  padding: 10px 0;
  z-index: 9999;
}

.floating-mobile .btn {
  flex: 1;
  margin: 0 5px;
  border-radius: 30px;
  font-size: 15px;
}

 .gal-item{position:relative;overflow:hidden;border-radius:14px;background:#f2f5f9}
    .gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
    .gal-item:hover img{transform:scale(1.05)}
    .gal-cap{
      position:absolute;left:0;right:0;bottom:0;
      background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
      color:#fff;padding:10px 12px;font-size:.9rem
    }
    .gal-zoom{
      position:absolute;top:10px;right:10px;
      background:rgba(0,0,0,.55);backdrop-filter:saturate(1.2) blur(2px);
      border:0;color:#fff;border-radius:10px;padding:6px 9px
    }
    .aspect-4x3{aspect-ratio:4/3}

/* ===== Gallery ===== */
.gal-card { margin: 0; }
.gal-media {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 14px;
  background: #f1f5f9;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}
.gal-media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transform: scale(1.02);
  transition: transform .6s ease, filter .3s ease;
}
.gal-card:hover .gal-media img { transform: scale(1.06); filter: saturate(1.05); }

.gal-zoom {
  position: absolute; right: 10px; bottom: 10px; z-index: 2;
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid rgba(148,163,184,.35);
  background: #ffffffd9; backdrop-filter: saturate(140%) blur(6px);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.gal-zoom i { font-size: 18px; }

.gal-cap {
  font-size: .92rem; color: #334155; font-weight: 600;
  margin-top: 8px; padding-left: 2px;
}

/* Modal UI */
.gal-modal .modal-content { background: #0b1220; }
.gal-modal .modal-body { background: #0b1220; }
.gal-modal img { max-height: 78vh; object-fit: contain; background:#0b1220; }

.gal-meta{
  position: absolute; left: 0; right: 0; bottom: 0;
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 12px; color: #e2e8f0; font-weight: 600;
  background: linear-gradient(180deg, rgba(11,18,32,0) 0%, rgba(11,18,32,.75) 100%);
}
.gal-caption{ font-size: .95rem; }
.gal-count{ font-size: .85rem; opacity: .9; }

.gal-nav{
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  background: #ffffffdd; border: 1px solid rgba(0,0,0,.08);
}
.gal-prev{ left: 10px; }
.gal-next{ right: 10px; }

@media (max-width: 575.98px){
  .gal-meta { padding: 6px 10px; }
  .gal-caption { font-size: .9rem; }
  .gal-count { font-size: .8rem; }
}

/* Kill hairline between hero and content */
.pd-hero .pd-wave {
  display: block;            /* avoid inline gap */
  width: 100%;
  height: auto;
  line-height: 0;
  margin-bottom: -1px;       /* pull up to hide seam */
  transform: translateZ(0);  /* nudge GPU to avoid AA line */
}

/* Same for footer wave (top seam) */
.footer-premium .footer-wave {
  display: block;
  width: 100%;
  height: auto;
  line-height: 0;
  margin-top: -1px;          /* hide seam above footer */
  transform: translateZ(0);
}