/* =====================================================================
   VAANIKA HOLIDAYS — WEBSITE DESIGN  (SYSTEM FILE — DO NOT EDIT)
   Colours come from settings.php (brand colours section).
   ===================================================================== */
:root{
  --primary:#0B5FA5;--primary-2:#0A8BD6;--navy:#06294A;--accent:#FF8A1F;--sky:#E8F4FD;
  --wa:#25D366;--text:#1E2A3A;--muted:#5B6B7F;--line:#E3EAF2;--radius:16px;
  --shadow:0 18px 50px rgba(6,41,74,.12);
}
*,*:before,*:after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.65;font-size:16px;overflow-x:hidden}
h1,h2,h3,h4{font-family:Poppins,sans-serif;line-height:1.22;color:var(--navy);font-weight:700}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}
.i{width:18px;height:18px;flex:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:14px}
.h3{font-size:22px;margin-bottom:4px}
.center{text-align:center;margin-top:40px}
.pt0{padding-top:0!important}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1.2 Poppins,sans-serif;padding:14px 24px;border-radius:50px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s;white-space:nowrap;text-align:center}
.btn:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 10px 22px rgba(6,41,74,.18)}
.btn:active{transform:none}
.btn .i{width:18px;height:18px}
.btn-block{width:100%}
.btn-lg{padding:16px 28px;font-size:16px}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(6px)}
.btn-outline{background:#fff;color:var(--primary);border:1.5px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn[disabled]{opacity:.75;cursor:wait;transform:none}
.bts{display:flex;gap:12px;flex-wrap:wrap}

.tag{display:inline-block;font:600 13px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-2);margin-bottom:10px}
.sec{padding:84px 0}
.sec-head{text-align:center;max-width:700px;margin:0 auto 44px}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:12px}
.sec-head p{color:var(--muted)}

/* ---------- top bar ---------- */
.topbar{background:var(--navy);color:#cfe3f5;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px}
.topbar .l,.topbar .r{display:flex;gap:22px;align-items:center}
.topbar a,.topbar span{display:flex;align-items:center;gap:7px}
.topbar a:hover{color:#fff}
.topbar .i{width:15px;height:15px;color:#7fd3ff}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:500;background:#fff;box-shadow:0 2px 18px rgba(6,41,74,.07)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:80px;gap:20px}
.logo{display:flex;align-items:center;gap:11px;flex:none}
.logo img{width:56px;height:56px;border-radius:50%}
.logo b{font:700 19px Poppins,sans-serif;color:var(--primary);display:block;line-height:1.15}
.logo small{font-size:11.5px;color:var(--muted);display:block}
.main-nav ul{display:flex;gap:30px;list-style:none}
.main-nav a{font:500 15px Poppins,sans-serif;color:var(--navy);transition:color .2s;position:relative;padding:6px 0}
.main-nav a:hover,.main-nav a.on{color:var(--primary-2)}
.main-nav a.on:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--primary-2)}
.nav-head,.nav-cta{display:none}
.h-cta{display:flex;gap:14px;align-items:center}
.h-call{display:flex;align-items:center;gap:10px;font:600 14px Poppins,sans-serif;color:var(--navy)}
.h-call i{width:42px;height:42px;border-radius:50%;background:var(--sky);display:grid;place-items:center;color:var(--primary)}
.h-call small{display:block;font:400 11px Inter,sans-serif;color:var(--muted)}
.h-book{padding:12px 22px}
.burger{display:none;background:none;border:0;cursor:pointer;color:var(--navy);padding:6px}
.burger .i{width:28px;height:28px}
.nav-overlay{display:none}

/* ---------- home hero ---------- */
.hero{position:relative;color:#fff;background:var(--primary) var(--bg-d) center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,41,74,.93) 0%,rgba(11,95,165,.80) 50%,rgba(10,139,214,.30) 100%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:50px;align-items:center;padding-top:76px;padding-bottom:120px}
.rating{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:7px 15px;border-radius:50px;font-size:13.5px;margin-bottom:22px}
.rating b{color:#FFC94A;letter-spacing:1px}
.hero h1{color:#fff;font-size:clamp(32px,4.5vw,54px);font-weight:800;margin-bottom:18px}
.hero h1 em{font-style:normal;color:#FFB45C}
.hero .lead{font-size:17px;color:#dcecf9;max-width:580px;margin-bottom:24px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;list-style:none}
.chips li{display:flex;align-items:center;gap:7px;font-size:14px;background:rgba(255,255,255,.1);padding:8px 14px;border-radius:10px}
.chips .i{color:#7fd3ff;width:16px;height:16px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- form card & forms ---------- */
.form-card{background:#fff;color:var(--text);border-radius:22px;padding:30px 28px;box-shadow:0 30px 60px rgba(0,0,0,.22)}
.form-card .sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.form-card .off{display:inline-block;background:#FFF1E3;color:#C85E00;font:700 12px Poppins,sans-serif;padding:5px 12px;border-radius:30px;margin-bottom:12px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-auto-flow:row dense}
.fgrid .full{grid-column:1/-1}
.field{width:100%;font:15px Inter,sans-serif;padding:13px 14px;border:1.5px solid var(--line);border-radius:11px;background:#F8FBFE;outline:none;transition:border-color .2s,background .2s;color:var(--text);min-height:48px}
.field::placeholder{color:#7d8b9c}
textarea.field{resize:vertical;min-height:84px}
select.field{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B6B7F' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;text-overflow:ellipsis}
.field:focus{border-color:var(--primary-2);background:#fff;box-shadow:0 0 0 3px rgba(10,139,214,.12)}
.field.bad{border-color:#e53935;background:#fff7f7}
.vh-form .btn-block{margin-top:14px;padding:15px}
.secure{font-size:12.5px;color:var(--muted);text-align:center;margin-top:10px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-msg{display:none;margin-top:12px;padding:11px 14px;border-radius:10px;font-size:14px;background:#fff1f1;color:#b71c1c;border:1px solid #f5c2c2}
.form-msg.show{display:block}

/* ---------- stats ---------- */
.stats{position:relative;z-index:2}
.stats-overlap{margin-top:-58px}
.stats-inline{padding:10px 0 0}
.stats .box{background:#fff;border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:28px 18px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font:800 34px/1.1 Poppins,sans-serif;background:linear-gradient(90deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px}
.stat span{display:block;color:var(--muted);font-size:14px}

/* ---------- packages ---------- */
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.filters button{font:500 14px Poppins,sans-serif;padding:9px 20px;border-radius:40px;border:1.5px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;transition:.2s;white-space:nowrap}
.filters button:hover{border-color:var(--primary-2);color:var(--primary-2)}
.filters button.on{background:var(--primary);border-color:var(--primary);color:#fff}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(6,41,74,.13)}
.card.hide{display:none}
.card .img{position:relative;aspect-ratio:10/7;background:#cfe3f5;overflow:hidden}
.card .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .img img{transform:scale(1.05)}
.badge{position:absolute;top:14px;left:14px;background:rgba(6,41,74,.85);color:#fff;font:600 12.5px Poppins,sans-serif;padding:6px 12px;border-radius:30px;display:flex;gap:6px;align-items:center}
.badge .i{width:14px;height:14px}
.hot{position:absolute;top:14px;right:14px;background:var(--accent);color:#fff;font:700 11.5px Poppins,sans-serif;padding:5px 10px;border-radius:6px}
.card .body{padding:20px 20px 0;flex:1}
.card h3{font-size:17.5px;margin-bottom:14px}
.card ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;font-size:13.5px;color:var(--muted)}
.card li{display:flex;gap:6px;align-items:flex-start;line-height:1.4}
.card li .i{width:16px;height:16px;color:var(--primary-2);margin-top:1px}
.price{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:16px 20px;margin-top:18px;border-top:1px dashed var(--line)}
.price small{display:block;font-size:12px;color:var(--muted)}
.price b{font:800 24px Poppins,sans-serif;color:var(--primary)}
.price b s{font:500 14px Inter,sans-serif;color:#9aa8b8;margin-left:6px}
.card .acts{display:grid;grid-template-columns:1fr 48px 48px;gap:8px;padding:0 20px 20px}
.card .acts.no-call,.card .acts.no-wa{grid-template-columns:1fr 48px}
.card .acts.no-call.no-wa{grid-template-columns:1fr}
.card .acts .btn{padding:13px 10px;font-size:14.5px}
.ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;transition:transform .2s}
.ic:hover{transform:translateY(-2px)}
.ic .i{width:20px;height:20px}
.custom-trip{margin-top:44px;background:var(--sky);border-radius:20px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.custom-trip h3{font-size:22px;margin-bottom:6px}
.custom-trip p{color:var(--muted)}

/* ---------- why ---------- */
.why{background:var(--sky)}
.why .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.why-img{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:10/11;max-height:540px;background:#cfe3f5}
.why-img img{width:100%;height:100%;object-fit:cover}
.why-img .exp{position:absolute;left:22px;bottom:22px;background:#fff;border-radius:16px;padding:14px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 14px 30px rgba(0,0,0,.18);max-width:80%}
.why-img .exp b{font:800 34px Poppins,sans-serif;color:var(--primary)}
.why-img .exp span{font:600 14px/1.35 Poppins,sans-serif;color:var(--navy)}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.feat>div{background:#fff;padding:22px;border-radius:16px}
.feat i,.box-card i{width:50px;height:50px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:grid;place-items:center;margin-bottom:12px}
.feat i .i,.box-card i .i{width:24px;height:24px}
.feat h3{font-size:16.5px;margin-bottom:4px}
.feat p{font-size:14px;color:var(--muted)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.steps:before{content:"";position:absolute;top:38px;left:12%;right:12%;border-top:2px dashed #b9d9f2}
.step{text-align:center;padding:0 10px}
.step .n{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;background:#fff;border:2px dashed var(--primary-2);display:grid;place-items:center;font:800 24px Poppins,sans-serif;color:var(--primary);position:relative;z-index:1}
.step h3{font-size:17px;margin-bottom:6px}
.step p{font-size:14px;color:var(--muted)}

/* ---------- destinations ---------- */
.dest{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:16px}
.dest-item{position:relative;border-radius:18px;overflow:hidden;background:#cfe3f5;display:block;border:0;padding:0;text-align:left;color:#fff;width:100%;height:100%}
.dest-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.dest-item:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 40%,rgba(6,41,74,.88))}
.dest-item:first-child{grid-row:span 2}
.dest-item.is-link{cursor:pointer}
.dest-item.is-link:hover img{transform:scale(1.07)}
.dest-txt{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.dest-txt b{display:block;font:600 20px Poppins,sans-serif}
.dest-txt small{display:block;font-size:13px;opacity:.88}
.dest-item.is-link .dest-txt:after{content:"Enquire →";display:inline-block;margin-top:8px;font:600 12.5px Poppins,sans-serif;background:rgba(255,255,255,.18);padding:5px 12px;border-radius:30px;backdrop-filter:blur(4px);opacity:0;transform:translateY(6px);transition:.3s}
.dest-item.is-link:hover .dest-txt:after{opacity:1;transform:none}

/* ---------- testimonials ---------- */
.testi{background:linear-gradient(135deg,var(--navy),var(--primary));color:#fff}
.testi .tag{color:#7fd3ff}
.testi h2{color:#fff}
.testi .sec-head p{color:#c6def3}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.t{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:26px;display:flex;flex-direction:column}
.t .st{color:#FFC94A;letter-spacing:2px;margin-bottom:10px}
.t blockquote{color:#e3f0fb;font-size:15px;margin-bottom:20px;flex:1}
.t .who{display:flex;gap:12px;align-items:center}
.t .av{width:46px;height:46px;border-radius:50%;background:var(--primary-2);display:grid;place-items:center;font:700 16px Poppins,sans-serif;flex:none}
.t .who b{display:block}
.t small{display:block;color:#a9c9e6;font-size:12.5px}

/* ---------- faq ---------- */
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}
details{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:#fff;transition:box-shadow .2s}
details[open]{box-shadow:0 10px 26px rgba(6,41,74,.07)}
summary{cursor:pointer;list-style:none;padding:18px 22px;font:600 16px Poppins,sans-serif;color:var(--navy);display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-size:24px;color:var(--primary-2);line-height:1;flex:none}
details[open] summary:after{content:"–"}
details p{padding:0 22px 18px;color:var(--muted);font-size:15px}
.faq-help{background:var(--sky);border-radius:20px;padding:30px;margin-top:10px}
.faq-help h3{margin-bottom:8px;font-size:21px}
.faq-help p{color:var(--muted);margin-bottom:20px}

/* ---------- cta ---------- */
.cta{padding:0 0 84px}
.why-band+.cta,.sec+.cta{padding-top:0}
.cta .box{border-radius:26px;padding:50px;display:flex;justify-content:space-between;align-items:center;gap:30px;color:#fff;background:linear-gradient(110deg,rgba(11,95,165,.95),rgba(10,139,214,.82)),var(--cta-bg) center/cover;background-color:var(--primary)}
.cta h2{color:#fff;font-size:clamp(24px,3vw,34px);margin-bottom:8px}
.cta p{color:#dcedfb}

/* ---------- inner page hero ---------- */
.page-hero{position:relative;color:#fff;text-align:center;background:var(--navy) var(--bg-d) center/cover no-repeat;padding:96px 0 84px}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,41,74,.78),rgba(11,95,165,.72))}
.page-hero .wrap{position:relative}
.page-hero h1{color:#fff;font-size:clamp(30px,4.4vw,50px);font-weight:800;margin-bottom:10px}
.page-hero p{color:#dcecf9;font-size:17px;margin-bottom:16px}
.crumb{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 18px;border-radius:40px;font-size:14px;margin-top:6px;backdrop-filter:blur(4px)}
.crumb a{display:flex;align-items:center;gap:6px;color:#fff}
.crumb a:hover{color:#FFB45C}
.crumb .i{width:15px;height:15px}
.crumb span[aria-current]{color:#FFB45C;font-weight:600}

/* ---------- about ---------- */
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.split-img{border-radius:24px;overflow:hidden;aspect-ratio:1/1;background:#cfe3f5;box-shadow:var(--shadow)}
.split-img img{width:100%;height:100%;object-fit:cover}
.prose p{color:var(--muted);margin-bottom:14px}
.ticks{list-style:none;display:grid;gap:10px;margin:8px 0 28px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.ticks .i{color:#fff;background:var(--primary-2);border-radius:50%;padding:3px;width:22px;height:22px;margin-top:1px}
.box-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;transition:transform .3s,box-shadow .3s}
.box-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.box-card h3{font-size:18px;margin-bottom:6px}
.box-card p{color:var(--muted);font-size:14.5px}
.why-band{background:var(--sky)}
.why-band .box-card{border-color:transparent}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.contact-grid .form-card{box-shadow:var(--shadow);border:1px solid var(--line)}
.c-cards{display:grid;gap:14px;margin-top:26px}
.c-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;transition:border-color .2s,box-shadow .2s}
a.c-card:hover{border-color:var(--primary-2);box-shadow:0 10px 24px rgba(6,41,74,.08)}
.c-card i{width:50px;height:50px;border-radius:13px;background:var(--sky);color:var(--primary);display:grid;place-items:center;flex:none}
.c-card i.wa{background:#e6f9ee;color:#1da851}
.c-card i .i{width:22px;height:22px}
.c-card small{display:block;color:var(--muted);font-size:13px}
.c-card b{font:600 16px Poppins,sans-serif;color:var(--navy);word-break:break-word}
.map-wrap{line-height:0}
.map-wrap iframe{width:100%;height:420px;border:0;filter:saturate(1.05)}

/* ---------- text pages ---------- */
.text-page{max-width:860px;margin:0 auto;font-size:16.5px}
.text-page .updated{display:inline-block;background:var(--sky);color:var(--primary);font:600 13px Poppins,sans-serif;padding:6px 14px;border-radius:30px;margin-bottom:22px}
.text-page h2{font-size:22px;margin:34px 0 12px}
.text-page h3{font-size:18px;margin:24px 0 10px}
.text-page p{margin-bottom:14px;color:#3b4a5c}
.text-page ul,.text-page ol{margin:0 0 16px 22px;color:#3b4a5c}
.text-page li{margin-bottom:8px}
.text-page a{color:var(--primary-2)}

/* ---------- thank you ---------- */
.ty-box{max-width:720px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:46px 34px;box-shadow:var(--shadow)}
.ty-icon{width:84px;height:84px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);display:grid;place-items:center;color:#fff;animation:pop .5s ease-out}
.ty-icon .i{width:42px;height:42px}
.ty-box h2{font-size:clamp(26px,3.4vw,34px);margin-bottom:12px}
.ty-msg{font-size:17px;color:#3b4a5c;margin-bottom:10px}
.ty-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
@keyframes pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1)}}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:#b7cde2;font-size:14.5px}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-top:64px;padding-bottom:44px}
.site-footer h4{color:#fff;font-size:17px;margin-bottom:18px}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:11px}
.site-footer li a:hover{color:#fff}
.site-footer .logo b{color:#fff}
.site-footer .logo small{color:#8fb1d0}
.f-about p{margin-top:16px}
.ct li{display:flex;gap:10px;align-items:flex-start}
.ct .i{color:#7fd3ff;margin-top:3px;width:17px;height:17px}
.soc{display:flex;gap:10px;margin-top:18px}
.soc a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:background .2s}
.soc a:hover{background:var(--primary-2)}
.copy{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:18px 20px;font-size:13px}

/* ---------- floating buttons ---------- */
.vh-float{position:fixed;bottom:var(--fb-y);display:flex;gap:var(--fb-gap);z-index:900}
.fb{width:var(--fb-size);height:var(--fb-size);border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.25);position:relative;transition:transform .2s}
.fb:hover{transform:scale(1.08)}
.fb .i{width:var(--fb-icon);height:var(--fb-icon);position:relative;z-index:1}
.fb-tip{position:absolute;top:50%;transform:translateY(-50%);background:var(--navy);color:#fff;font:500 13px Inter,sans-serif;padding:6px 12px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.fb-right .fb-tip{right:calc(100% + 10px)}
.fb-left .fb-tip{left:calc(100% + 10px)}
.fb-h .fb-tip{top:auto;bottom:calc(100% + 10px);left:50%;right:auto;transform:translateX(-50%)}
.fb:hover .fb-tip,.fb:focus-visible .fb-tip{opacity:1}
/* animations */
.fb-pulse .fb:before{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;z-index:0;animation:fbPulse var(--fb-speed) infinite}
@keyframes fbPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.65);opacity:0}}
.fb-blink .fb{animation:fbBlink var(--fb-speed) infinite}
@keyframes fbBlink{0%,100%{opacity:1}50%{opacity:.45}}
.fb-shake .fb{animation:fbShake var(--fb-speed) infinite}
@keyframes fbShake{0%,60%,100%{transform:rotate(0)}65%{transform:rotate(-14deg)}75%{transform:rotate(12deg)}85%{transform:rotate(-8deg)}95%{transform:rotate(5deg)}}
.fb-bounce .fb{animation:fbBounce var(--fb-speed) infinite}
@keyframes fbBounce{0%,55%,100%{transform:translateY(0)}70%{transform:translateY(-12px)}85%{transform:translateY(-4px)}}
.fb-ring .fb .i{animation:fbRing var(--fb-speed) infinite;transform-origin:50% 50%}
@keyframes fbRing{0%,50%,100%{transform:rotate(0)}5%,15%,25%,35%{transform:rotate(-18deg)}10%,20%,30%,40%{transform:rotate(18deg)}}
.fb-ring .fb:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid currentColor;opacity:.0;animation:fbRingWave var(--fb-speed) infinite}
@keyframes fbRingWave{0%{opacity:.6;transform:scale(.9)}60%,100%{opacity:0;transform:scale(1.3)}}
.fb-wa{color:#fff}
body.pop-open .vh-float{opacity:0;pointer-events:none}

/* ---------- popup ---------- */
.pop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(6,41,74,.5);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.pop[hidden]{display:flex}
.pop.show{opacity:1;visibility:visible}
.pop-in{background:#fff;border-radius:22px;max-width:500px;width:100%;max-height:calc(100vh - 32px);overflow:auto;transform:translateY(30px) scale(.97);transition:transform .3s cubic-bezier(.2,.9,.3,1.2);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.pop.show .pop-in{transform:none}
.pop-head{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;padding:22px 60px 22px 26px;position:relative}
.pop-head small{opacity:.85;font-size:13px}
.pop-head h3{color:#fff;font-size:19px;margin:4px 0 2px}
.pop-head b{font:600 14.5px Poppins,sans-serif;color:#FFD08F}
.pop-x{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.2);border:0;color:#fff;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;transition:background .2s}
.pop-x:hover{background:rgba(255,255,255,.35)}
.pop-body{padding:22px 26px 24px}
body.pop-open{overflow:hidden}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1080px){
  .main-nav ul{gap:22px}
  .h-call{display:none}
}
@media (max-width:980px){
  .burger{display:block}
  .main-nav{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:#fff;z-index:1000;padding:20px;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;overflow-y:auto;box-shadow:-10px 0 40px rgba(0,0,0,.15)}
  .main-nav.open{transform:none}
  .nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line);font-family:Poppins,sans-serif;color:var(--primary)}
  .nav-close{background:var(--sky);border:0;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--navy)}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav li a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-size:16px}
  .main-nav a.on:after{display:none}
  .nav-cta{display:grid;gap:10px;margin-top:22px}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(6,41,74,.45);z-index:450;opacity:0;visibility:hidden;transition:.3s}
  body.nav-open .vh-float{opacity:0;pointer-events:none}
  .nav-overlay.show{opacity:1;visibility:visible}
  .hero .wrap{grid-template-columns:1fr;padding-top:50px;padding-bottom:100px;gap:36px}
  .grid3,.tgrid{grid-template-columns:1fr 1fr}
  .grid4{grid-template-columns:1fr 1fr}
  .why .wrap,.faq .wrap,.split,.contact-grid{grid-template-columns:1fr;gap:36px}
  .why-img{aspect-ratio:16/11}
  .split-img{aspect-ratio:16/11}
  .site-footer .wrap{grid-template-columns:1fr 1fr}
  .custom-trip{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .wrap{padding:0 16px}
  .sec{padding:58px 0}
  .sec-head{margin-bottom:32px}
  .topbar .r,.topbar .l a:nth-child(2){display:none}
  .topbar .wrap{justify-content:center}
  .site-header .wrap{height:68px;gap:10px}
  .logo img{width:46px;height:46px}
  .logo b{font-size:16px}
  .logo small{font-size:10.5px}
  .h-cta{gap:6px}
  .h-book{padding:10px 15px;font-size:13.5px}
  .hero{background-image:var(--bg-m,var(--bg-d))}
  .hero:before{background:linear-gradient(180deg,rgba(6,41,74,.88) 0%,rgba(11,95,165,.82) 55%,rgba(6,41,74,.92) 100%)}
  .hero .wrap{padding-top:38px;padding-bottom:90px}
  .hero .lead{font-size:15.5px}
  .hero-btns .btn{flex:1 1 140px;padding:13px 14px}
  .chips li{font-size:13px;padding:7px 11px}
  .form-card{padding:24px 18px;border-radius:18px}
  .fgrid{grid-template-columns:1fr}
  .stats .box{grid-template-columns:1fr 1fr}
  .stat{padding:20px 10px;border-bottom:1px solid var(--line)}
  .stat:nth-child(2n){border-right:0}
  .stat:nth-last-child(-n+2){border-bottom:0}
  .stat b{font-size:27px}
  .filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -16px 24px;padding:0 16px 6px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .grid3,.tgrid,.grid4{grid-template-columns:1fr}
  .feat{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:30px}
  .steps:before{display:none}
  .dest{grid-template-columns:1fr 1fr;grid-template-rows:220px 160px 160px}
  .dest-item:first-child{grid-column:span 2;grid-row:auto}
  .dest-item.is-link .dest-txt:after{opacity:1;transform:none}
  .cta{padding-bottom:58px}
  .cta .box{flex-direction:column;align-items:flex-start;padding:32px 22px}
  .cta .bts,.custom-trip .bts{width:100%}
  .cta .bts .btn,.custom-trip .bts .btn{flex:1 1 100%}
  .page-hero{padding:64px 0 56px;background-image:var(--bg-m,var(--bg-d))}
  .page-hero p{font-size:15.5px}
  .site-footer .wrap{grid-template-columns:1fr;gap:30px;padding-top:48px}
  .copy{padding-bottom:calc(var(--fb-msize) + var(--fb-y) + 14px)}
  .fb{width:var(--fb-msize);height:var(--fb-msize)}
  .fb-tip{display:none}
  .ty-box{padding:36px 20px}
  .ty-btns .btn{flex:1 1 100%}
  .custom-trip{padding:24px 20px}
  .map-wrap iframe{height:320px}
  .pop{align-items:flex-end;padding:0}
  .pop-in{border-radius:22px 22px 0 0;max-height:92vh;transform:translateY(100%)}
  .pop-body{padding:18px 18px 22px}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
