/* ============================================================
   BANJARI HIMACHAL TOURS — Design System
   Ek hi CSS file, saare pages ise use karenge (browser cache = fast)
   ============================================================ */

/* ---------- Font fallback (layout shift rokta hai) ---------- */
@font-face{font-family:PoppinsFB;src:local("Arial");size-adjust:113.72%;ascent-override:92.34%;descent-override:30.78%;line-gap-override:8.79%}

/* ---------- Tokens ---------- */
:root{
  --pine:#0E5C4A;      /* primary — deodar green */
  --pine-d:#08402F;
  --pine-l:#E8F4F0;
  --ink:#0B1F2A;
  --ink2:#12303F;
  --slate:#5C6B77;
  --amber:#F5A524;     /* accent — CTA */
  --amber-d:#D98A0B;
  --sky:#1E6F9F;       /* secondary — himalayan sky */
  --snow:#F6F9FA;
  --card:#FFFFFF;
  --line:#E4E9EC;
  --ok:#0E7C66;
  --r:14px;
  --r-lg:20px;
  --sh:0 4px 18px rgba(11,31,42,.09);
  --sh-lg:0 14px 40px rgba(11,31,42,.16);
  --max:1200px;
}

/* ---------- Reset ---------- */
*{box-sizing:border-box}
/* overflow-x:clip (not hidden) — hidden on both html+body creates a scroll container
   on each that breaks position:sticky for descendants (e.g. the sidebar price card);
   clip prevents the same horizontal bleed without establishing a scrollport */
html{overflow-x:clip}
body{margin:0;background:var(--snow);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:0 0}
h1,h2,h3,h4{font-family:Poppins,PoppinsFB,Arial,sans-serif;margin:0;font-weight:800;letter-spacing:-.015em;line-height:1.2}
p{margin:0 0 14px}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.skip-link{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--pine);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700}
.skip-link:focus{left:8px}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.sec{padding:54px 0}
.sec-alt{background:#fff}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);font-weight:800;margin-bottom:10px}
.h2{font-size:clamp(26px,3.4vw,40px)}
.lead{color:var(--slate);font-size:16px;max-width:62ch}
.sec-head{margin-bottom:28px}
.sec-head .lead{margin-top:12px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:999px;font-family:'Manrope',system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:800;font-size:15px;transition:transform .18s,box-shadow .18s,background .18s;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-amber{background:var(--amber);color:#22160A;box-shadow:0 6px 18px rgba(245,165,36,.34)}
.btn-amber:hover{background:var(--amber-d)}
.btn-pine{background:var(--pine);color:#fff;box-shadow:0 6px 18px rgba(14,92,74,.3)}
.btn-pine:hover{background:var(--pine-d)}
.btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff;background:rgba(6,38,30,.3);text-shadow:0 1px 3px rgba(0,0,0,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.14);text-shadow:none}
.btn-out{border:2px solid var(--pine);color:var(--pine)}
.btn-out:hover{background:var(--pine-l)}
.btn-lg{padding:17px 34px;font-size:16.5px}

/* ============================================================
   HEADER
   ============================================================ */
.hdr{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line)}
.hdr::before{content:"";position:absolute;inset:0;z-index:-2;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;z-index:-1;background:linear-gradient(90deg,var(--pine),var(--amber),var(--sky))}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:clamp(14px,4.2vw,17px);color:var(--pine);letter-spacing:-.02em;white-space:nowrap;min-width:0}
.logo img{height:40px;width:auto;flex-shrink:0}
.logo span{overflow:hidden;text-overflow:ellipsis}
.nav{display:flex;align-items:center;gap:4px}
.nav a{position:relative;display:inline-flex;align-items:center;font-size:14.5px;font-weight:600;color:var(--ink2);padding:8px 14px;border-radius:999px;transition:color .16s,background .16s}
.nav a:hover{color:var(--pine);background:var(--pine-l)}
.nav a[aria-current="page"]{color:var(--pine);background:var(--pine-l)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:1px;height:2px;border-radius:2px;background:var(--amber)}

/* ---- Destinations dropdown ---- */
.has-sub{position:relative}
.nav-trigger{cursor:pointer;user-select:none}
.has-sub>a .caret{font-size:9px;opacity:.65;margin-left:2px}
.has-sub::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:16px}
.sub{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-lg);
  padding:8px;min-width:260px;display:grid;gap:2px;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s,visibility .16s;z-index:80}
.sub::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.sub li a{display:block;padding:11px 14px;border-radius:9px;font-size:14.5px;font-weight:700;color:var(--ink2)}
.sub li a small{display:block;font-weight:500;font-size:12px;color:var(--slate);margin-top:3px}
.sub li a:hover{background:var(--pine-l);color:var(--pine)}
.sub li a:hover small{color:var(--pine-d)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.hdr-cta{display:flex;align-items:center;gap:12px}
.hdr-tel{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;color:var(--pine);white-space:nowrap;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--pine-l);transition:background .16s,border-color .16s}
.hdr-tel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(245,165,36,.22);flex-shrink:0}
.hdr-tel:hover{background:#fff;border-color:var(--pine)}
.burger{display:none;flex-direction:column;gap:5px;padding:10px}
.burger span{width:22px;height:2.5px;background:var(--ink);border-radius:2px}
@media(max-width:980px){
  .nav{position:fixed;inset:70px 0 auto;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 18px 20px;box-shadow:var(--sh);transform:translateY(-140%);transition:transform .28s;max-height:calc(100vh - 70px);overflow:auto}
  .nav.open{transform:translateY(0)}
  .nav a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:16px;border-radius:0;background:none;color:var(--ink2)}
  .nav a:hover{background:var(--pine-l);color:var(--pine)}
  .nav a[aria-current="page"]{background:none;color:var(--pine)}
  .nav a[aria-current="page"]::after{display:none}
  .burger{display:flex}
  .hdr-tel{display:none}
  /* dropdown ko inline list bana do */
  .has-sub{display:block}
  .has-sub::after{display:none}
  .has-sub>a .caret{display:none}
  .sub{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;border-radius:0;padding:0;min-width:0;background:transparent;display:block}
  .sub::before{display:none}
  .sub li a{padding:12px 4px 12px 22px;border-bottom:1px solid var(--line);border-radius:0;font-size:15px;color:var(--slate)}
  .sub li a::before{content:"— ";color:var(--line)}
}

/* ---- Small phones: tighter spacing, bigger tap targets ---- */
@media(max-width:600px){
  .sec{padding:46px 0}
  .cta{padding:52px 0}
  .hero-in{padding:40px 0}
  .sec-head{margin-bottom:16px;text-align:center}
  .sec-head .eyebrow{margin-bottom:4px}
  .sec-head .h2{margin-bottom:0}
  .sec-head .lead{margin-top:6px;margin-left:auto;margin-right:auto}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn{width:100%}
  /* Single-column package-page hero (not the home hero, which has its own two-column layout) */
  .hero:not(.hero-home) .hero-in{text-align:center}
  .hero:not(.hero-home) .hero-badge{margin-left:auto;margin-right:auto}
  .hero:not(.hero-home) .hero-sub{margin-left:auto;margin-right:auto}
  .hero:not(.hero-home) .hero-pts{justify-content:center}
  .cta-btns{flex-direction:column;align-items:stretch}
  .cta-btns .btn{width:100%}
  .phead{padding:40px 0}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;background:linear-gradient(150deg,var(--pine-d),var(--pine) 45%,var(--sky));color:#fff;overflow:hidden}
.hero::before{display:none}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding:66px 0 74px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);padding:7px 15px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:20px;text-shadow:0 1px 2px rgba(0,0,0,.3);text-transform:uppercase;letter-spacing:.04em}
.hero h1{font-size:clamp(30px,4.6vw,52px);margin-bottom:10px;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero-tag{font-size:16px;font-style:italic;color:var(--amber);margin-bottom:16px;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.hero-tag em{font-style:normal}
.hero-sub{font-size:17px;color:#DCEBE6;max-width:52ch;margin-bottom:26px;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.btn-ic{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);flex-shrink:0}
.btn-ic svg{width:12px;height:12px;fill:currentColor}
.btn-amber .btn-ic{background:rgba(34,22,10,.16)}
.hero-pts{display:flex;gap:22px;flex-wrap:wrap;font-size:13.5px;font-weight:600;color:#CFE5DE}
.hero-pts li{display:flex;align-items:center;gap:7px;position:relative;padding-right:22px}
.hero-pts li:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background:rgba(255,255,255,.3)}
.tick{color:var(--amber);font-weight:900}
.hero-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-lg)}
.hero-card h2,.hero-card h3{font-size:17px;margin-bottom:3px;text-align:center}
.hero-card p{font-size:12px;color:var(--slate);margin-bottom:14px;text-align:center}
.hero-card .fld{margin-bottom:9px}
.hero-card .fld label{font-size:11px;margin-bottom:3px}
.hero-card .fld input,.hero-card .fld select{padding:9px 12px;font-size:13px}
.hero-card .fic-wrap .fic{left:11px;font-size:12.5px}
.hero-card .fic-wrap input,.hero-card .fic-wrap select{padding-left:32px}
.hero-card .btn-block{padding:11px 20px;font-size:14px}
.hero-card .form-note{font-size:10.5px;margin-top:8px}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;gap:34px;padding:44px 0 54px}}

/* ---------- Form ---------- */
.fld{margin-bottom:13px}
.fld label{display:block;font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:5px}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14.5px;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .16s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--pine);outline:none}
.fld textarea{resize:vertical;min-height:76px}
.form-note{font-size:11.5px;color:var(--slate);text-align:center;margin:12px 0 0}
.btn-block{width:100%}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust-in{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:26px 0}
.trust-i{text-align:center}
.trust-i b{display:block;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:26px;color:var(--pine);line-height:1.1}
.trust-i span{font-size:12.5px;color:var(--slate);font-weight:600}
@media(max-width:640px){.trust-in{grid-template-columns:repeat(2,1fr);gap:22px}}

/* ---------- Trust strip: floating card over hero photo ---------- */
.trust-float{background:transparent;border-bottom:none;position:relative;z-index:5;margin-top:-42px}
.trust-float .trust-in{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:8px 6px;display:flex;flex-wrap:wrap}
.trust-float .trust-i{flex:1 1 0;min-width:150px;display:flex;align-items:center;gap:14px;text-align:left;padding:16px 20px;position:relative}
.trust-float .trust-i:not(:last-child)::after{content:"";position:absolute;right:0;top:18%;bottom:18%;width:1px;background:var(--line)}
.trust-ic{width:34px;height:34px;color:var(--pine);flex-shrink:0}
.trust-ic svg{width:100%;height:100%}
@media(max-width:760px){
  .trust-float{margin-top:0}
  .trust-float .trust-in{display:grid;grid-template-columns:1fr 1fr;padding:4px}
  .trust-float .trust-i{padding:16px 14px;min-width:0}
  .trust-float .trust-i:not(:last-child)::after{display:none}
  .trust-float .trust-i:nth-child(odd){border-right:1px solid var(--line)}
  .trust-float .trust-i:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .trust-ic{width:28px;height:28px}
}

/* ============================================================
   PACKAGE CARDS  (Itinerary pages ke links — SEO silo)
   ============================================================ */
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pk{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.pk:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.pk-img{position:relative;aspect-ratio:16/10;background:linear-gradient(140deg,var(--pine),var(--sky));overflow:hidden}
.pk-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pk:hover .pk-img img{transform:scale(1.07)}
.pk-tag{position:absolute;top:12px;left:12px;background:var(--amber);color:#22160A;font-family:'Manrope',system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:11px;font-weight:800;padding:5px 11px;border-radius:999px;letter-spacing:.03em;text-transform:uppercase}
.pk-days{position:absolute;bottom:12px;left:12px;background:rgba(11,31,42,.82);color:#fff;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px}
.pk-body{padding:20px;display:flex;flex-direction:column;flex:1}
.pk-body h3{font-size:18.5px;margin-bottom:8px}
.pk-route{font-size:12.5px;color:var(--slate);font-weight:600;margin-bottom:12px}
.pk-hl{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.pk-hl li{background:var(--pine-l);color:var(--pine-d);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px}
.pk-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.pk-price small{display:block;font-size:11px;color:var(--slate);font-weight:600}
.pk-price b{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:22px;color:var(--pine)}
.pk-price b span{font-size:12px;font-weight:600;color:var(--slate)}
.pk-link{font-size:13.5px;font-weight:800;color:var(--pine);display:inline-flex;align-items:center;gap:5px;min-height:24px}
.pk:hover .pk-link{gap:9px}
@media(max-width:960px){.pk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pk-grid{grid-template-columns:1fr}}

/* ---------- Card extras: rating + amenities + dual CTA ---------- */
.pk-rate{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:10px}
.pk-rate b{color:var(--amber-d)}
.pk-rate span{color:var(--slate);font-weight:600}
.pk-amn{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;font-size:11.5px;font-weight:700;color:var(--slate)}
.pk-amn li{display:flex;align-items:center;gap:5px}
.pk-cta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.pk-cta .btn{padding:11px 8px;font-size:13px}
.pk-strike{text-decoration:line-through;color:var(--slate);font-size:13px;font-weight:600;margin-right:6px}
.pk-off{display:inline-block;background:#E3F5EE;color:#0A5C4C;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;margin-left:6px}

/* ---------- Price chart table ---------- */
.tbl .price-old{text-decoration:line-through;color:var(--slate);font-size:13.5px}
.tbl .price-new{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;color:var(--pine);font-size:16.5px}
.tbl-note{font-size:12.5px;color:var(--slate);margin:12px 0 0}
.tbl td a{font-weight:700;color:var(--pine)}
.tbl td a:hover{text-decoration:underline}

/* ============================================================
   DESTINATIONS PAGE — feature banner + boxes
   ============================================================ */
.dfeat{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);min-height:240px;margin-bottom:26px;background:linear-gradient(150deg,var(--pine),var(--sky))}
.dfeat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.dfeat:hover img{transform:scale(1.05)}
.dfeat::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,64,47,.92),rgba(8,64,47,.4) 70%,rgba(8,64,47,.2));z-index:1}
.dfeat-in{position:relative;z-index:2;padding:38px}
.dfeat-in .eyebrow{color:#BEDCD3}
.dfeat-in h2{font-size:clamp(24px,3vw,34px);color:#fff;margin:6px 0 10px}
.dfeat-in p{color:#DCEBE6;max-width:48ch;margin:0 0 18px;font-size:15px}
@media(max-width:600px){.dfeat-in{padding:26px}.dfeat::after{background:linear-gradient(rgba(8,64,47,.7),rgba(8,64,47,.85))}}

/* ============================================================
   DESTINATION TILES
   ============================================================ */
.dst-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dst{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:linear-gradient(150deg,var(--pine),var(--sky));display:block;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}
.dst:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.dst img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dst:hover img{transform:scale(1.06)}
.dst::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(8,64,47,.9));z-index:1}
.dst-t{position:absolute;left:15px;right:15px;bottom:14px;z-index:2;color:#fff}
.dst-t b{display:block;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:17px;font-weight:800}
.dst-t span{font-size:11.5px;color:#CFE5DE;font-weight:600}
@media(max-width:900px){.dst-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.dst-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

/* ============================================================
   FEATURE / WHY-US GRID
   ============================================================ */
.ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ft{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}
.ft::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pine),var(--amber));transform:scaleX(0);transform-origin:left;transition:transform .28s}
.ft:hover{transform:translateY(-4px);border-color:var(--pine);box-shadow:var(--sh-lg)}
.ft:hover::before{transform:scaleX(1)}
.ft-ic{width:48px;height:48px;border-radius:14px;background:var(--pine-l);color:var(--pine);display:grid;place-items:center;margin-bottom:16px;transition:background .22s,color .22s}
.ft-ic svg{width:24px;height:24px}
.ft:hover .ft-ic{background:var(--pine);color:#fff}
.ft h3{font-size:16.5px;margin-bottom:7px}
.ft p{font-size:14px;color:var(--slate);margin:0}
@media(max-width:900px){.ft-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ft-grid{grid-template-columns:1fr}}

/* ============================================================
   INCLUDE / EXCLUDE
   ============================================================ */
.ie-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ie{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.ie h3{font-size:19px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ie li{display:flex;gap:11px;padding:9px 0;font-size:14.5px;border-bottom:1px dashed var(--line)}
.ie li:last-child{border-bottom:none}
.ie-yes h3{color:var(--ok)}
.ie-yes li::before{content:"✓";color:var(--ok);font-weight:900;flex-shrink:0}
.ie-no h3{color:#B4552B}
.ie-no li::before{content:"—";color:#B4552B;font-weight:900;flex-shrink:0}
@media(max-width:780px){.ie-grid{grid-template-columns:1fr}}

/* ============================================================
   SEASON TABLE
   ============================================================ */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
table.tbl{width:100%;border-collapse:collapse;min-width:620px}
.tbl th{background:var(--pine);color:#fff;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:13.5px;font-weight:800;text-align:left;padding:14px 18px}
.tbl td{padding:14px 18px;font-size:14.5px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl tbody tr:nth-child(even){background:#FAFCFC}
.tbl td b{color:var(--pine)}
.pill{display:inline-block;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px}
.pill-best{background:#E3F5EE;color:#0A5C4C}
.pill-good{background:#FFF3DC;color:#8A5A05}
.pill-ok{background:#EAF2F8;color:#1B5677}

/* ============================================================
   STEPS
   ============================================================ */
.stp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s;position:relative}
/* Steps ko ek process flow jaisa jodne wali dashed line — cards ke peeche hai,
   isliye sirf gaps me dikhti hai aur number circles ko connect karti hai */
.stp-grid::before{content:"";position:absolute;top:2px;left:43px;right:43px;border-top:2px dashed var(--line);z-index:0}
.stp{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;position:relative;z-index:1;counter-increment:s;transition:transform .22s,border-color .22s,box-shadow .22s}
.stp:hover{transform:translateY(-4px);border-color:var(--pine);box-shadow:var(--sh-lg)}
.stp::before{content:counter(s);position:absolute;top:-16px;left:24px;width:38px;height:38px;border-radius:50%;background:var(--amber);color:#22160A;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:17px;display:grid;place-items:center;box-shadow:0 4px 12px rgba(245,165,36,.4);transition:transform .22s,box-shadow .22s}
.stp:hover::before{transform:scale(1.1);box-shadow:0 6px 18px rgba(245,165,36,.55)}
.stp h3{font-size:17px;margin:12px 0 8px}
.stp p{font-size:14px;color:var(--slate);margin:0}
@media(max-width:820px){.stp-grid{grid-template-columns:1fr}.stp-grid::before{display:none}}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tst{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;position:relative}
.tst::after{content:"";position:absolute;top:20px;right:20px;width:18px;height:18px;opacity:.92;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E")}
.tst p{padding-right:22px}
.tst-ph{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.tst-ph img{width:74px;height:74px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.stars{color:var(--amber);font-size:15px;letter-spacing:2px;margin-bottom:12px}
.stars .star-dim{opacity:.28}
.tst p{font-size:14.5px;color:var(--ink2);flex:1}
.tst-who{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.av{width:40px;height:40px;border-radius:50%;background:var(--pine);color:#fff;display:grid;place-items:center;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:15px;flex-shrink:0}
.tst-who b{display:block;font-size:14px}
/* :not(.av) zaroori hai — warna yeh rule avatar ke initials ko bhi slate kar deta tha
   (specificity 0,0,1,1 vs .av ki 0,0,1,0), jisse green circle par contrast 1.4:1 reh jaata tha */
.tst-who span:not(.av){font-size:12px;color:var(--slate)}
.tst-pics{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:14px}
.tst-pics img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}
@media(max-width:900px){.tst-grid{grid-template-columns:1fr}}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:840px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;overflow:hidden}
.faq details[open]{border-color:var(--pine)}
.faq summary{padding:18px 22px;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:700;font-size:15.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--pine);font-size:22px;font-weight:800;line-height:1;flex-shrink:0}
.faq details[open] summary::after{content:"−"}
.faq .ans{padding:0 22px 20px;font-size:14.5px;color:var(--slate)}
.faq .ans p:last-child{margin:0}

/* ============================================================
   FINAL CTA
   ============================================================ */
.cta{background:linear-gradient(140deg,var(--pine-d),var(--pine) 55%,var(--sky));color:#fff;text-align:center;padding:70px 0}
.cta h2{font-size:clamp(25px,3.4vw,38px);margin-bottom:14px}
.cta p{color:#D6E9E3;max-width:56ch;margin:0 auto 28px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   FOOTER
   ============================================================ */
.ftr{background:var(--ink);color:#B9C7D0;padding:56px 0 0;font-size:14px}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:38px}
.ftr h3{color:#fff;font-size:15px;margin-bottom:16px}
.ftr a:hover{color:var(--amber)}
.ftr a[href="/sitemap/"]{color:var(--amber);font-weight:700}
.ftr li{margin-bottom:3px}
.ftr li a{display:inline-block;padding:3px 0}  /* 28px-tall tap target (was 19px); row spacing unchanged */
.ftr-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ftr-logo img{height:42px;width:auto}
.ftr-logo b{color:#fff;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:16px}
.ftr-bot{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px}
@media(max-width:900px){.ftr-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:560px){.ftr-grid{grid-template-columns:auto auto;justify-content:space-between;gap:20px}.ftr-grid>div:first-child{grid-column:1/-1}}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.bc{background:#fff;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--slate)}
.bc ol{display:flex;flex-wrap:wrap;gap:8px;padding:11px 0;margin:0;list-style:none}
.bc li+li::before{content:"›";margin-right:8px;color:var(--line)}
.bc a{font-weight:600}
.bc a:hover{color:var(--pine)}
.bc [aria-current]{color:var(--ink2);font-weight:700}

/* ============================================================
   PROSE (About destination — SEO content)
   ============================================================ */
/* links typed into content (Overview, Day description, FAQ answer, blog body) need to actually
   look clickable — the sitewide a{color:inherit} would otherwise make them invisible as links */
.prose a,.day-b a,.ans a,.post-body a{color:#1e40af;text-decoration:underline}
.prose a:hover,.day-b a:hover,.ans a:hover,.post-body a:hover{color:#1e3a8a}
.prose{max-width:78ch}
.prose h3{font-size:20px;margin:30px 0 10px}
.prose p{font-size:15.5px;color:var(--ink2)}
.prose ul{margin:0 0 16px}
.prose ul li{position:relative;padding-left:22px;margin-bottom:8px;font-size:15px;color:var(--ink2)}
.prose ul li::before{content:"▪";position:absolute;left:4px;color:var(--pine);font-weight:900}

.readmore{position:relative;max-height:135px;overflow:hidden;transition:max-height .4s ease}
.readmore::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(rgba(246,249,250,0),var(--snow));pointer-events:none;transition:opacity .25s}
.readmore.open{max-height:2600px}
.readmore.open::after{opacity:0}
.readmore-lg{max-height:230px}
.readmore-lg.open{max-height:4000px}
.readmore-sm{max-height:168px}
.readmore-sm::after{background:linear-gradient(rgba(255,255,255,0),#fff)}
.readmore-sm.open{max-height:1400px}
.btn-readmore{margin-top:10px;background:none;border:none;color:var(--pine);font-weight:700;font-size:14.5px;cursor:pointer;padding:6px 0;display:inline-flex;align-items:center;gap:6px}
.btn-readmore:hover{text-decoration:underline}

/* ---------- Place cards (Places to Visit grid) ---------- */
.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.place-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}
.place-img{aspect-ratio:4/3;overflow:hidden}
.place-img img{width:100%;height:100%;object-fit:cover;display:block}
.place-body{padding:18px 20px 20px}
.place-body h3{font-size:18px;margin-bottom:8px;font-family:Poppins,PoppinsFB,Arial,sans-serif}
.place-body .prose{max-width:none}
.place-body .prose p{font-size:14px;margin:0 0 10px}
.place-body .prose p:last-child{margin-bottom:0}
.place-link{display:inline-flex;align-items:center;min-height:24px;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--pine)}
.place-link:hover{text-decoration:underline}
@media(max-width:900px){.place-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.place-grid{grid-template-columns:1fr}}

/* ============================================================
   ITINERARY PAGE COMPONENTS
   ============================================================ */

/* ---------- Quick facts bar ---------- */
.qf{background:#fff;border-bottom:1px solid var(--line)}
.qf-in{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:22px 0}
.qf-i{display:flex;align-items:center;gap:11px}
.qf-ic{width:38px;height:38px;border-radius:10px;background:var(--pine-l);display:grid;place-items:center;font-size:17px;flex-shrink:0}
.qf-i small{display:block;font-size:11px;color:var(--slate);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.qf-i b{font-size:14.5px;color:var(--ink)}
@media(max-width:1000px){.qf-in{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(max-width:640px){.qf-in{grid-template-columns:repeat(2,1fr)}}

/* ---------- Two-column layout with sticky sidebar ---------- */
.split{display:grid;grid-template-columns:1fr 370px;gap:44px;align-items:start}
.side{position:sticky;top:120px}
@media(max-width:1000px){.split{grid-template-columns:1fr;gap:34px}.side{position:static}}

/* ---------- Booking card ---------- */
.bk{background:#fff;border:1.5px solid #D3DBDF;border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden}
.bk-top{background:linear-gradient(140deg,var(--pine-d),var(--pine));color:#fff;padding:22px}
.bk-top small{font-size:12px;color:#BEDCD3;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.bk-top .amt{display:flex;align-items:baseline;gap:9px;margin-top:6px}
.bk-top .amt b{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:32px;line-height:1}
.bk-top .amt s{color:#9FC5B9;font-size:16px}
.bk-top .amt span{font-size:12.5px;color:#BEDCD3}
.bk-save{display:inline-block;margin-top:10px;background:var(--amber);color:#22160A;font-size:11.5px;font-weight:800;padding:4px 11px;border-radius:999px}
.bk-body{padding:20px}
.bk-body .btn{margin-bottom:9px}
.bk-perks{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.bk-perks li{display:flex;gap:9px;font-size:12.5px;color:var(--slate);font-weight:600;padding:5px 0}
.bk-perks li::before{content:"✓";color:var(--ok);font-weight:900}

/* ---------- Day-wise timeline ---------- */
.days{position:relative;padding-left:34px}
.days::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:var(--line)}
.day{position:relative;margin-bottom:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.day::before{content:"";position:absolute;left:-27px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--pine);border:3px solid #fff;box-shadow:0 0 0 2px var(--pine-l)}
.day-h{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;background:var(--pine-l);border-bottom:1px solid var(--line)}
.day-n{background:var(--pine);color:#fff;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:12px;padding:6px 12px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.day-h h3{font-size:17.5px;margin-bottom:4px}
.day-h p{font-size:12.5px;color:var(--slate);font-weight:600;margin:0}
.day-b{padding:20px 22px}
.day-b p{font-size:14.5px;color:var(--ink2)}
.day-b p:last-child{margin-bottom:0}
.day-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.day-meta li{background:var(--snow);border:1px solid var(--line);font-size:11.5px;font-weight:700;color:var(--slate);padding:5px 11px;border-radius:999px}
@media(max-width:560px){.days{padding-left:0}.days::before{display:none}.day::before{display:none}.day-h{flex-direction:column;gap:9px}}

/* ---------- Gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px}
.gal a{border-radius:var(--r);overflow:hidden;display:block;background:var(--pine-l);cursor:zoom-in}
.gal a:first-child{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}

/* ---------- Gallery lightbox (gallery-lightbox.js builds this markup at runtime) ---------- */
.lb-overlay{position:fixed;inset:0;background:rgba(6,20,15,.94);z-index:9999;display:none;align-items:stretch}
.lb-overlay.is-open{display:flex}
.lb-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:18px;border:none;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}
.lb-close:hover{background:rgba(255,255,255,.24)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;border:none;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}
.lb-nav:hover{background:rgba(255,255,255,.24)}
.lb-prev{left:16px}
.lb-next{right:16px}
.lb-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;min-width:0}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-thumbs{width:110px;flex-shrink:0;overflow-y:auto;padding:16px 10px;display:flex;flex-direction:column;gap:8px}
.lb-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;cursor:pointer;opacity:.5;transition:opacity .15s;border:2px solid transparent}
.lb-thumbs img:hover{opacity:.85}
.lb-thumbs img.is-active{opacity:1;border-color:var(--amber)}
@media(max-width:768px){
  .lb-overlay{flex-direction:column}
  .lb-thumbs{width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:10px 12px}
  .lb-thumbs img{width:56px;flex-shrink:0}
  .lb-stage{padding:16px}
  .lb-nav{width:38px;height:38px;font-size:20px}
}
.gal a:hover img{transform:scale(1.06)}
@media(max-width:760px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}}

/* ---------- Free-itinerary quick enquiry modal (inquiry-modal.js builds this at runtime) ---------- */
.iq-overlay{position:fixed;inset:0;background:rgba(6,20,15,.6);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.iq-overlay.is-open{display:flex}
.iq-box{background:#fff;border-radius:var(--r-lg);padding:28px;width:100%;max-width:380px;position:relative;box-shadow:var(--sh-lg)}
.iq-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:var(--snow);border:none;font-size:14px;cursor:pointer;color:var(--slate)}
.iq-close:hover{background:var(--line)}
.iq-title{font-size:20px;margin:0 0 6px;padding-right:34px}
.iq-sub{font-size:13.5px;color:var(--slate);margin:0 0 18px}
.iq-fld{display:block;font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:13px}
.iq-fld input{width:100%;margin-top:5px;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14.5px;font-family:inherit;box-sizing:border-box}
.iq-fld input:focus{outline:none;border-color:var(--pine)}
.iq-err{color:#B4231A;font-size:12.5px;margin:0 0 12px}

/* ---------- Related packages (compact) ---------- */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;transition:border-color .2s,box-shadow .2s}
.rel:hover{border-color:var(--pine);box-shadow:var(--sh)}
.rel img{width:86px;height:86px;border-radius:10px;object-fit:cover;flex-shrink:0}
.rel b{display:block;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:14.5px;margin-bottom:4px}
.rel small{display:block;font-size:12px;color:var(--slate);margin-bottom:6px}
.rel .p{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;color:var(--pine);font-size:15px}
@media(max-width:900px){.rel-grid{grid-template-columns:1fr}}

/* ---------- Anchor nav (jump links) ---------- */
.jump{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:70px;z-index:50}
.jump ul{display:flex;gap:6px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.jump ul::-webkit-scrollbar{display:none}
.jump a{white-space:nowrap;font-size:13px;font-weight:700;color:var(--slate);padding:7px 14px;border-radius:999px;transition:background .16s,color .16s}
.jump a:hover{background:var(--pine-l);color:var(--pine)}
:target{scroll-margin-top:130px}

/* ============================================================
   HOME — blog teaser cards
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.bcard:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.bcard-img{aspect-ratio:16/10;overflow:hidden;background:var(--pine-l)}
.bcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bcard:hover .bcard-img img{transform:scale(1.06)}
.bcard-body{padding:20px;display:flex;flex-direction:column;flex:1}
.bcard-cat{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);margin-bottom:9px}
.bcard-body h3{font-size:17px;margin-bottom:8px;line-height:1.3}
.bcard-body p{font-size:13.5px;color:var(--slate);flex:1}
.bcard-meta{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--slate);font-weight:600}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}

/* ---------- Home hero over photo ---------- */
/* Ken Burns zoom hata diya — background-size animate karne par browser low-quality
   scaling filter use karta hai, jisse image permanently soft dikhti thi. */
.hero-home{background-image:linear-gradient(100deg,rgba(6,38,30,.46),rgba(6,38,30,.2) 42%,rgba(6,38,30,.05) 68%,rgba(6,38,30,.02)),url('/images/hero-valley-sunrise-v2.jpg');background-size:cover;background-position:center 40%}

/* ---------- Snowfall ---------- */
.snowfall{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.snowfall span{position:absolute;top:-10px;background:#fff;border-radius:50%;box-shadow:0 0 4px rgba(255,255,255,.6);animation-name:snowFall;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes snowFall{to{transform:translateY(115vh) translateX(var(--drift,0px))}}
.hero-home .hero-in{padding:70px 0}
.hero-home .hero-badge{background:none;border:none;padding:0}
@media(min-width:901px){
  .hero-home .hero-in{grid-template-columns:1fr 300px;align-items:stretch}
  .hero-home .hero-copy{display:flex;flex-direction:column;justify-content:center}
}
.hero-home h1 em{font-family:'Caveat',cursive;font-weight:700;font-size:1.42em;line-height:1;display:inline-block;position:relative;transform:rotate(-3deg);color:var(--amber);text-shadow:0 2px 3px rgba(0,0,0,.35),0 0 22px rgba(245,165,36,.55),0 0 40px rgba(245,165,36,.25)}
/* Nike-swoosh style underline: thin tail left, dips down, sweeps up to a sharp tip right */
.hero-home h1 em::after{content:"";position:absolute;left:-4%;right:-10%;bottom:-18px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 56' preserveAspectRatio='none'%3E%3Cpath d='M197 3 C152 36 78 52 10 33 C70 47 148 28 197 3 Z' fill='%23F5A524'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}
@media(min-width:901px){.hero-home .hero-btns{justify-content:flex-start;margin-left:155px}}
/* Browse Tour Packages — solid white, black text */
.hero-home .hero-btns .btn-amber{background:#fff;color:#111;border:none;box-shadow:0 6px 18px rgba(0,0,0,.25);text-shadow:none}
.hero-home .hero-btns .btn-amber:hover{background:#EDEDED}
.hero-home .hero-btns .btn-amber .btn-ic{background:rgba(0,0,0,.1)}
.hero-home .hero-pts{gap:14px 24px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5),0 0 10px rgba(0,0,0,.3)}
.hero-home .hero-pts li{gap:9px;padding-right:24px}
.hero-home .hero-pts .ic{font-size:16px;flex-shrink:0}
@media(max-width:900px){
  .hero-home .hero-in{padding:44px 0 54px}
  .hero-home .hero-in > div:first-child{text-align:center}
  .hero-home .hero-badge{margin-left:auto;margin-right:auto}
  .hero-home .hero-sub{margin-left:auto;margin-right:auto}
  .hero-home .hero-btns{justify-content:center;margin-left:0}
  .hero-home .hero-pts{justify-content:center}
}
@media(max-width:600px){
  .hero-home{background-position:68% 30%}
  .hero-home .hero-btns{flex-direction:row;flex-wrap:wrap;gap:10px;margin-bottom:16px;align-items:center;justify-content:center}
  .hero-home .hero-btns .btn{width:auto;padding:11px 18px;font-size:14px;gap:8px}
  .hero-home .hero-btns .btn .btn-ic{width:19px;height:19px}
  .hero-home .hero-btns .btn-ic svg{width:11px;height:11px}
  .hero-home .hero-pts{display:grid;grid-template-columns:1fr 1fr;gap:8px 6px;font-size:11px;max-width:100%;margin-bottom:4px}
  .hero-home .hero-pts li{display:block;padding-right:0;text-align:center;max-width:100%}
  .hero-home .hero-pts .ic{display:inline-block;margin-right:3px;vertical-align:-1px;font-size:13px}
  .hero-home .hero-pts .pt-label{display:inline}
  .hero-home .hero-pts li::after{display:none}
  .hero-home .hero-pts li:last-child{grid-column:1/-1}
}

/* ---------- Destination hero: card photo as background ---------- */
.hero-dst{background-color:var(--pine-d);background-size:cover;background-position:center 30%;background-repeat:no-repeat}
.hero-dst::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(6,38,30,.72) 0%,rgba(6,38,30,.45) 38%,rgba(6,38,30,.18) 68%,rgba(6,38,30,.06) 100%)}
@media(max-width:900px){.hero-dst::after{background:linear-gradient(180deg,rgba(6,38,30,.55) 0%,rgba(6,38,30,.4) 45%,rgba(6,38,30,.62) 100%)}}

/* ---------- Home hero: form field icons ---------- */
.fic-wrap{position:relative}
.fic-wrap .fic{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6;pointer-events:none}
.fic-wrap input,.fic-wrap select{padding-left:36px}

/* ---------- Home hero: fixed-background parallax (desktop only — iOS ignores it, and it hurts mobile scroll perf) ---------- */
@media(min-width:901px){.hero-home{background-attachment:fixed}}

/* ---------- Home hero: entrance motion ---------- */
@keyframes heroFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-home .hero-badge{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) both}
.hero-home h1{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) .12s both}
.hero-home .hero-sub{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) 1.2s both}
.hero-home .hero-btns{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) 1.35s both}
.hero-home .hero-pts{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) 1.5s both}
.hero-home .hero-card{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) .3s both}

/* ---------- Typewriter title ---------- */
.tw-cursor{display:inline-block;margin-left:3px;color:var(--amber);font-weight:400;animation:twBlink 1s steps(1) infinite}
@keyframes twBlink{50%{opacity:0}}

/* ---------- Section CTA (centered link row) ---------- */
.sec-cta{text-align:center;margin-top:26px}

/* ============================================================
   PAGE HEADER (inner pages)
   ============================================================ */
.phead{background:linear-gradient(150deg,var(--pine-d),var(--pine) 55%,var(--sky));color:#fff;padding:56px 0}
.phead .eyebrow{color:#BEDCD3}
.phead h1{font-size:clamp(28px,4vw,44px);margin-bottom:12px}
.phead p{color:#D6E9E3;max-width:60ch;margin:0;font-size:16px}

/* ============================================================
   ABOUT — story + stats
   ============================================================ */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.about-grid img{border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:28px}}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;text-align:center}
.stat b{display:block;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-size:30px;color:var(--pine);line-height:1}
.stat span{font-size:12.5px;color:var(--slate);font-weight:600}
@media(max-width:640px){.stat-row{grid-template-columns:repeat(2,1fr)}}
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.val-grid.val-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.val-grid,.val-grid.val-2{grid-template-columns:1fr}}
.ft p a,.lead a{color:#1e40af;text-decoration:underline}
.ft p a:hover,.lead a:hover{color:#1e3a8a}

/* ============================================================
   CONTACT
   ============================================================ */
.ct-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:start}
@media(max-width:900px){.ct-grid{grid-template-columns:1fr;gap:30px}}
.ct-cards{display:flex;flex-direction:column;gap:16px}
.ct-card{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.ct-ic{width:46px;height:46px;border-radius:12px;background:var(--pine-l);color:var(--pine);display:grid;place-items:center;font-size:21px;flex-shrink:0}
.ct-card h2,.ct-card h3{font-size:15.5px;margin-bottom:4px}
.ct-card p,.ct-card a{font-size:14px;color:var(--slate);margin:0}
.ct-card a{font-weight:700;color:var(--pine);display:inline-flex;align-items:center;min-height:24px;overflow-wrap:anywhere}
.ct-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh)}
.ct-form h2{font-size:22px;margin-bottom:6px}
.ct-form>p{font-size:14px;color:var(--slate);margin-bottom:20px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:520px){.f2{grid-template-columns:1fr}}
.map-wrap{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);margin-top:34px;line-height:0}
.map-wrap iframe{width:100%;height:340px;border:0}

/* ============================================================
   BLOG LISTING — featured + filters
   ============================================================ */
.blog-feat{display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:34px;box-shadow:var(--sh)}
.blog-feat-img{aspect-ratio:16/11;overflow:hidden;background:var(--pine-l)}
.blog-feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-feat:hover .blog-feat-img img{transform:scale(1.04)}
.blog-feat-body{padding:34px;display:flex;flex-direction:column;justify-content:center}
.blog-feat-body h2{font-size:clamp(21px,2.6vw,30px);margin:10px 0 12px;line-height:1.2}
.blog-feat-body p{color:var(--slate);font-size:15px;margin-bottom:18px}
@media(max-width:820px){.blog-feat{grid-template-columns:1fr}.blog-feat-body{padding:24px}}

/* ============================================================
   BLOG LISTING v2 — featured hero + tabs + rich cards
   ============================================================ */
.bhero{position:relative;border-radius:20px;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;box-shadow:var(--sh-lg);margin-bottom:36px}
.bhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bhero:hover>img{transform:scale(1.04)}
.bhero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(8,64,47,.4),rgba(8,64,47,.94));z-index:1}
.bhero-in{position:relative;z-index:2;padding:42px;color:#fff;max-width:660px}
.bchip{display:inline-block;background:var(--amber);color:#22160A;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 13px;border-radius:999px}
.bhero-in h2{font-size:clamp(26px,3.6vw,42px);color:#fff;margin:16px 0 12px;line-height:1.14}
.bhero-in p{color:#DCEBE6;font-size:16px;margin:0 0 20px;max-width:52ch}
.bby{display:flex;align-items:center;gap:11px}
.bby img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.5)}
.bby b{display:block;font-size:14px}
.bby span{font-size:12.5px;color:#CFE5DE}
.btabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.btabs a,.btabs button{padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:700;border:1.5px solid var(--line);color:var(--slate);background:#fff;transition:.16s;cursor:pointer;font-family:inherit}
.btabs a:hover,.btabs button:hover{border-color:var(--pine);color:var(--pine)}
.btabs a.active,.btabs button.active{background:var(--pine);color:#fff;border-color:var(--pine)}
.bc2.is-hidden{display:none}
.bg2{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bc2{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.bc2:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.bc2-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--pine-l)}
.bc2-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bc2:hover .bc2-img img{transform:scale(1.06)}
.bc2-chip{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);color:var(--pine-d);font-size:10.5px;font-weight:800;padding:5px 11px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.bc2-read{position:absolute;bottom:12px;right:12px;background:rgba(11,31,42,.82);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}
.bc2-body{padding:20px;display:flex;flex-direction:column;flex:1}
.bc2-body h2,.bc2-body h3{font-size:18px;line-height:1.3;margin-bottom:8px;transition:color .16s}
.bc2:hover .bc2-body h2,.bc2:hover .bc2-body h3{color:var(--pine)}
.bc2-body p{font-size:14px;color:var(--slate);flex:1;margin:0 0 16px}
.bc2-foot{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.bc2-foot img{width:32px;height:32px;border-radius:50%}
.bc2-foot b{font-size:12.5px;display:block;line-height:1.2}
.bc2-foot span{font-size:11.5px;color:var(--slate)}
@media(max-width:900px){.bg2{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bg2{grid-template-columns:1fr}.bhero-in{padding:26px}}

/* ============================================================
   BLOG POST (single)
   ============================================================ */
.post-head{background:linear-gradient(150deg,var(--pine-d),var(--pine) 55%,var(--sky));color:#fff;padding:52px 0 40px}
.post-head .wrap{max-width:820px}
.post-cat{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:999px;margin-bottom:16px}
.post-head h1{font-size:clamp(27px,4vw,42px);line-height:1.18;margin-bottom:20px}
.post-byline{display:flex;align-items:center;gap:12px}
.post-byline img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4)}
.post-byline b{display:block;font-size:14.5px}
.post-byline span{font-size:12.5px;color:#CFE5DE}
.post-figure{max-width:960px;margin:-28px auto 0;padding:0 18px;position:relative;z-index:2}
.post-figure img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-lg);aspect-ratio:16/8;object-fit:cover}
.post-wrap{max-width:760px;margin:0 auto;padding:0 18px}
.post-body{margin-top:38px}
.post-body h2{font-size:clamp(22px,2.6vw,28px);margin:34px 0 12px}
.post-body h3{font-size:19px;margin:26px 0 10px}
.post-body p{font-size:16.5px;color:var(--ink2);line-height:1.75;margin-bottom:18px}
.post-body ul{margin:0 0 20px}
.post-body ul li{position:relative;padding-left:24px;margin-bottom:10px;font-size:16px;color:var(--ink2)}
.post-body ul li::before{content:"▪";position:absolute;left:5px;color:var(--pine);font-weight:900}
.post-body blockquote{margin:24px 0;padding:16px 22px;border-left:4px solid var(--pine);background:var(--pine-l);border-radius:0 10px 10px 0;font-size:16.5px;color:var(--ink2);font-style:italic}
.post-body img{border-radius:var(--r);margin:22px 0}

/* Post hero — magazine style (image bg + overlay) */
.post-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}
.post-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 18%,rgba(8,64,47,.5),rgba(8,64,47,.95));z-index:1}
.post-hero-in{position:relative;z-index:2;color:#fff;width:100%;max-width:820px;margin:0 auto;padding:44px 18px}
.post-hero .post-cat{background:var(--amber);color:#22160A;border:none}
.post-hero h1{font-size:clamp(27px,4vw,44px);color:#fff;line-height:1.16;margin:16px 0 20px}
.post-hero .post-byline b{color:#fff}
.post-hero .post-byline span{color:#CFE5DE}
@media(max-width:600px){.post-hero{min-height:340px}.post-hero-in{padding:28px 18px}}

/* Blog post 70/30 layout + sidebar */
.post-split{display:grid;grid-template-columns:70fr 30fr;gap:40px;align-items:start;margin-top:40px}
.post-split .main{min-width:0}
.post-split .post-body{margin-top:0}
.post-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:20px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh)}
.side-card h3{font-size:18px;margin-bottom:4px}
.side-card>p{font-size:13px;color:var(--slate);margin:0 0 16px}
.side-card .form-note{margin-top:12px}
.side-gallery h3{font-size:16px;margin-bottom:14px}
.sg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sg-grid a{border-radius:9px;overflow:hidden;aspect-ratio:1;display:block;background:var(--pine-l)}
.sg-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sg-grid a:hover img{transform:scale(1.1)}
@media(max-width:900px){.post-split{grid-template-columns:1fr;gap:30px}.post-side{position:static}}
/* the article's own .post-wrap is a 760px reading column — with a sidebar next to it the
   wrapper has to be wide enough to hold both, so the reading column keeps its measure */
.post-wrap-split{max-width:1140px}
/* sidebar enquiry card on a blog post: same .bk card as the itinerary booking widget, with
   a marketing line where a package would show its price */
.bk-pitch{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:19px;line-height:1.28;margin:8px 0 0}
.bk-sub{font-size:13px;color:var(--slate);line-height:1.6;margin:0 0 14px}

/* Auto Table of Contents (built from the article's ## headings) */
.post-toc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 24px;margin:0 0 30px;box-shadow:var(--sh)}
.post-toc-h{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);margin:0 0 12px}
.post-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.post-toc li{counter-increment:toc;position:relative;padding:7px 0 7px 30px;border-bottom:1px dashed var(--line);font-size:15px}
.post-toc li:last-child{border-bottom:none;padding-bottom:0}
.post-toc li::before{content:counter(toc);position:absolute;left:0;top:7px;width:21px;height:21px;border-radius:50%;background:var(--pine-l);color:var(--pine);font-size:11.5px;font-weight:800;display:grid;place-items:center}
.post-toc a{color:var(--ink2);font-weight:600}
.post-toc a:hover{color:var(--pine);text-decoration:underline}

/* Inline in-article image — ![alt](url) on a line of its own */
.post-fig{margin:26px 0}
.post-fig img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--sh);margin:0}
.post-fig figcaption{font-size:12.5px;color:var(--slate);text-align:center;margin-top:9px}

/* Bar chart — [chart: Title] block. Plain CSS bars, no charting library anywhere on the site */
.bchart{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;margin:26px 0}
.bchart-title{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:16px;color:var(--ink);margin:0 0 16px;line-height:1.3}
.bchart-rows{display:grid;gap:11px}
.bchart-row{display:grid;grid-template-columns:minmax(72px,26%) 1fr auto;align-items:center;gap:12px}
.bchart-label{font-size:13.5px;font-weight:700;color:var(--ink2);overflow-wrap:anywhere}
.bchart-track{background:var(--pine-l);border-radius:999px;height:20px;overflow:hidden}
.bchart-bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pine),var(--sky));min-width:3px}
.bchart-row:nth-child(2n) .bchart-bar{background:linear-gradient(90deg,var(--pine-d),var(--pine))}
.bchart-val{font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:13.5px;color:var(--pine);min-width:34px;text-align:right}
@media(max-width:520px){.bchart{padding:18px 16px}.bchart-row{grid-template-columns:minmax(58px,32%) 1fr auto;gap:9px}.bchart-label{font-size:12.5px}}

/* Author box */
.author-box{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin:44px 0;box-shadow:var(--sh)}
.author-box img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-box .ab-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pine);margin-bottom:4px}
.author-box h4{font-size:18px;margin-bottom:6px}
.author-box p{font-size:14px;color:var(--slate);margin:0 0 10px}
.author-box .ab-links{display:flex;gap:14px;font-size:13px;font-weight:700}
.author-box .ab-links a{display:inline-flex;align-items:center;min-height:24px}
@media(max-width:520px){.author-box{flex-direction:column;text-align:center;align-items:center}}

/* Share + tags */
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.post-tags a{background:var(--snow);border:1px solid var(--line);color:var(--slate);font-size:12.5px;font-weight:700;padding:6px 13px;border-radius:999px}
.post-tags a:hover{border-color:var(--pine);color:var(--pine)}

/* ============================================================
   DESTINATIONS PAGE — jump nav + detailed rows
   ============================================================ */
.dst-jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.dst-jump a{background:#fff;border:1px solid var(--line);color:var(--ink2);font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;transition:.16s}
.dst-jump a:hover{border-color:var(--pine);color:var(--pine);background:var(--pine-l)}

.dest-detail{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;margin-bottom:60px}
.dest-detail:last-child{margin-bottom:0}
.dest-detail-img{position:relative}
.dest-detail-img img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-lg);aspect-ratio:4/3;object-fit:cover}
.dest-detail-img .num{position:absolute;top:-14px;left:-14px;width:52px;height:52px;border-radius:50%;background:var(--amber);color:#22160A;font-family:Poppins,PoppinsFB,Arial,sans-serif;font-weight:800;font-size:20px;display:grid;place-items:center;box-shadow:0 6px 16px rgba(245,165,36,.4)}
.dest-detail:nth-child(even) .dest-detail-img{order:2}
.dest-detail-body h3{font-size:clamp(21px,2.6vw,28px);margin:8px 0 12px}
.dest-detail-body p{font-size:15.5px;color:var(--ink2);line-height:1.72;margin-bottom:14px}
.dest-highlights{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}
.dest-highlights li{background:var(--pine-l);color:var(--pine-d);font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px}
.dest-meta{display:flex;flex-wrap:wrap;gap:20px;margin:14px 0 18px;font-size:13.5px}
.dest-meta b{color:var(--pine)}
.dest-meta span{color:var(--slate)}
@media(max-width:820px){.dest-detail{grid-template-columns:1fr;gap:22px}.dest-detail:nth-child(even) .dest-detail-img{order:0}.dest-detail-img .num{left:12px;top:12px}}

/* ============================================================
   STICKY MOBILE CTA
   ============================================================ */
.mcta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;background:#fff;border-top:1px solid var(--line);padding:10px 12px;gap:10px;box-shadow:0 -4px 18px rgba(11,31,42,.12)}
.mcta .btn{flex:1;padding:13px 10px;font-size:14.5px}
@media(max-width:768px){.mcta{display:flex}body{padding-bottom:72px}}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:65;width:54px;height:54px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(37,211,102,.45);transition:transform .2s,opacity .25s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:29px;height:29px;fill:#fff}
@media(max-width:768px){
  .wa-float{bottom:80px;width:48px;height:48px}
  .wa-float svg{width:25px;height:25px}
  .wa-float.wa-hidden{opacity:0;pointer-events:none;transform:scale(.7)}
}
