PageSourceSearch

https://thewandernova.com/assets/WebsitePackageDetailPage-B5CG1pYu.js

js thewandernova.com collected 2026-10-04 11:19:51 UTC 65,670 bytes, 238 lines download raw bytes

1import{_ as $i}from"./vendor-pdf-_DvWF4Hx.js";import{j as e}from"./vendor-mui-qQixB_MT.js";import{f as Ai,c as Fi,u as Bi,r as l}from"./vendor-react-BDr7qW8Z.js";import{p as Ri,d as Di,f as Ii,e as Li,g as ct,k as De,A as he,O as dt,r as de,G as Ft,B as pe,a_ as Mi,F as pt,a$ as Hi,N as Oi,w as Bt,C as Z,b0 as Wi,ak as Ui,D as Ie,X as je,J as Yi,M as Rt,i as Vi,_ as Gi,V as Qi,Y as Ji,j as Ki}from"./index-BhLdtL_O.js";import{U as Mt}from"./utensils-DbFrTkEI.js";import{C as Xi}from"./camera-yfA4Z-w6.js";import{F as Zi}from"./file-down-BJ18kPbt.js";const es=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],ts=Ri("circle-question-mark",es),ee=s=>{if(s==null||s==="")return null;const k=typeof s=="number"?s:parseFloat(String(s).replace(/[^0-9.]/g,""));return Number.isFinite(k)?k:null},ve=(s,k=/[\n,]/)=>Array.isArray(s)?s.map(b=>String(b).trim()).filter(Boolean):s?String(s).split(k).map(b=>b.trim()).filter(Boolean):[],ft=s=>s?/^https?:|^blob:|^data:/i.test(s)||s.startsWith("/")?s:`${he}/media/${s}`:"",Dt=s=>{if(!s)return null;const k=ee(s.package_price)??ee(s.price)??null,b=ee(s.original_price)??null;return{id:s.slug||s.id,slug:s.slug||null,numericId:Number.isFinite(Number(s.pk_id??s.id))?Number(s.pk_id??s.id):null,hasHotelSegments:Array.isArray(s.hotel_segments)&&s.hotel_segments.length>0,title:s.title||s.package_name||"Holiday Package",overview:s.overview||s.itinerary_text||"",itineraryText:s.itinerary_text||"",image:ft(s.image_url||s.img||s.image||""),price:k,originalPrice:b&&b>(k||0)?b:null,gstPercent:ee(s.gst_percent)??0,nights:ee(s.nights)??null,days:ee(s.days)??null,cities:ee(s.cities)??null,country:s.country||"",state:s.state||"",city:s.city||s.location||"",itinerarySummary:s.itinerary||"",tags:ve(s.tags,/,/),themes:ve(s.holiday_themes,/,/),highlights:ve(s.highlights,/,/),inclusions:ve(s.inclusions_detail||s.inclusions),exclusions:ve(s.exclusions),offerText:s.offer_text||"",whatsapp:s.whatsapp_number||"",accommodation:Array.isArray(s.accommodation_tiers)?s.accommodation_tiers.map(d=>({...d,image:ft(d.image_url||d.image||"")})):[],categoryPricing:Array.isArray(s.category_pricing)?s.category_pricing.filter(d=>d&&d.category&&d.rates&&Object.values(d.rates).some(H=>Number(H)>0)).map(d=>({category:String(d.category).trim(),rates:d.rates||{},extra_bed:Number(d.extra_bed)||0,cnb:Number(d.cnb)||0,child_u5:Number(d.child_u5)||0,order:d.order??0})).sort((d,H)=>d.order-H.order):[],days_plan:Array.isArray(s.itinerary_days)?[...s.itinerary_days].sort((d,H)=>(d.day_number??d.order??0)-(H.day_number??H.order??0)):[],faqs:Array.isArray(s.faqs)?s.faqs.filter(d=>d&&String(d.question||"").trim()&&String(d.answer||"").trim()).map(d=>({question:String(d.question).trim(),answer:String(d.answer).trim()})):[],termsConditions:s.terms_conditions||"",priceValidFrom:s.price_valid_from||null,validityDate:s.validity_date||null,ctaMode:s.cta_mode||"both",raw:s}},Y=s=>new Promise(k=>{fetch(s).then(b=>b.blob()).then(b=>{const d=new FileReader;d.onloadend=()=>k(d.result),d.onerror=()=>k(null),d.readAsDataURL(b)}).catch(()=>k(null))}),It={indigo:{bg:"#eef2ff",fg:"#4f46e5"},rose:{bg:"#fff1f2",fg:"#e11d48"},sky:{bg:"#eff6ff",fg:"#2563eb"},amber:{bg:"#fffbeb",fg:"#d97706"},emerald:{bg:"#ecfdf5",fg:"#059669"},violet:{bg:"#f5f3ff",fg:"#7c3aed"},teal:{bg:"#f0fdfa",fg:"#0d9488"}},is={Duration:"indigo",Destinations:"rose",Country:"sky",Countries:"sky",Accommodation:"amber",Meals:"emerald",Transfers:"violet",Sightseeing:"teal"},ss=s=>{switch(String(s||"").toLowerCase()){case"moon":return Ji;case"meals":return Mt;case"sun":return Qi;default:return Gi}},as=({day:s,index:k,defaultOpen:b})=>{const[d,H]=l.useState(b),[G,Le]=l.useState(!1),fe=(s.activities||[]).filter(_=>_&&(_.text||"").trim()),xe=(s.image_urls&&s.image_urls.length?s.image_urls:s.image_url?[s.image_url]:[]).map(ft).filter(
1Boolean),O=(s.details||"").trim(),ke=O.length>240;return e.jsxs("div",{className:`wp-day ${d?"is-open":""}`,children:[e.jsxs("button",{type:"button",className:"wp-day-head",onClick:()=>H(_=>!_),children:[e.jsxs("span",{className:"wp-day-badge",children:["Day",e.jsx("br",{}),s.day_number??k+1]}),e.jsx("span",{className:"wp-day-title",children:s.title||`Day ${s.day_number??k+1}`}),e.jsx(Ie,{size:20,className:"wp-day-chev"})]}),d&&e.jsxs("div",{className:"wp-day-body",children:[fe.length>0&&e.jsx("ul",{className:"wp-acts",children:fe.map((_,te)=>{const ue=ss(_.icon);return e.jsxs("li",{className:"wp-act",children:[e.jsx("span",{className:"wp-act-ico",children:e.jsx(ue,{size:15})}),e.jsxs("div",{children:[_.time&&e.jsx("span",{className:"wp-act-time",children:_.time}),e.jsx("span",{className:"wp-act-text",children:_.text})]})]},te)})}),O&&e.jsxs("p",{className:"wp-day-details",children:[ke&&!G?`${O.slice(0,240)}… `:O,ke&&e.jsx("button",{type:"button",className:"wp-link-btn",onClick:()=>Le(_=>!_),children:G?"Show less":"Read more"})]}),xe.length>0&&e.jsx("div",{className:"wp-day-gallery",children:xe.slice(0,4).map((_,te)=>e.jsx("img",{src:_,alt:`Day ${s.day_number} view ${te+1}`,loading:"lazy",onError:ue=>{ue.currentTarget.style.display="none"}},te))})]})]})},Lt=[{id:"overview",label:"Overview"},{id:"hotels",label:"Hotels"},{id:"itinerary",label:"Itinerary"},{id:"inclusions",label:"Inclusions"},{id:"faqs",label:"FAQs",optional:!0}],fs=({onNavigate:s})=>{const{id:k}=Ai(),b=Fi(),d=Bi(),H=Ki(),{setShowLoginModal:G}=Di()??{},{user:Le}=Ii()??{},{formatPrice:fe,convertPrice:xe,selectedCurrency:O,setSelectedCurrency:ke}=Li()??{},_=ct.find(t=>t.label===O)??ct[0],te=t=>ke?.(t?.label??O),[ue,Ht]=l.useState(!1),[xt,Ot]=l.useState(!1),[Me,Wt]=l.useState(!1),[He,Ut]=l.useState(!1),T=t=>t==null?"—":!fe||!xe?`₹${Number(t).toLocaleString("en-IN")}`:fe(xe(t,"INR",O),O),ge=b.state?.package||null,[i,Yt]=l.useState(()=>Dt(ge)),[Vt,ut]=l.useState(!ge),[gt,Oe]=l.useState("");l.useEffect(()=>{window.scrollTo(0,0)},[k]),l.useEffect(()=>{let t=!1;return(async()=>{ge||ut(!0),Oe("");try{const a=typeof window<"u"?window.location.hostname:"",o=a?`?domain=${encodeURIComponent(a)}`:"",c=N=>(N.data?.destinations||[]).flatMap(q=>Array.isArray(q.packages)?q.packages:[]).find(q=>String(q.slug)===String(k)||String(q.id)===String(k)),[f,g]=await Promise.all([De.get(`${he}/api/holidays-popular-destinations/${o}`).catch(()=>null),De.get(`${he}/api/flights-popular-destinations/${o}`).catch(()=>null)]),y=f&&c(f)||g&&c(g);if(t)return;y?Yt(Dt(y)):Oe("This package could not be found. It may no longer be available.")}catch{t||Oe("Something went wrong while loading this package. Please try again.")}finally{t||ut(!1)}})(),()=>{t=!0}},[k,ge]);const We=b.state?.adults||2,S=Array.isArray(i?.categoryPricing)&&i.categoryPricing.length>0,[$,Gt]=l.useState(Math.max(1,Number(b.state?.adults)||2)),[A,Qt]=l.useState(Math.max(0,Number(b.state?.cwb)||0)),[F,Jt]=l.useState(Math.max(0,Number(b.state?.cnb)||0)),[B,Kt]=l.useState(Math.max(0,Number(b.state?.childU5)||0)),[v,Ue]=l.useState(""),[Xt,Ne]=l.useState(!1);l.useEffect(()=>{S&&!v&&Ue(i.categoryPricing[0].category)},[S,i,v]);const mt=(t,a,o,c,f=0)=>{const g=i?.categoryPricing||[],y=g.find(m=>m.category===t)||g[0];if(!y)return null;const N=y.rates||{},P=Object.entries(N).map(([m,C])=>[parseInt(m,10),Number(C)]).filter(([m,C])=>!Number.isNaN(m)&&C>0).sort((m,C)=>m[0]-C[0]);if(!P.length)return null;const W=P[P.length-1][0];if(a>W)return{category:y.category,enquireRequired:!0,maxBracket:W};let q=P.find(([m])=>m===a);q||(q=[...P].reverse().find(([m])=>m<a)),q||(q=P.find(([m])=>m>a));const[be,R]=q,U=R*a,Ee=o*(y.extra_bed||0),n=c*(y.cnb||0),Te=f*(y.child_u5||0),st=o>0&&!y.extra_bed||c>0&&!y.cnb||f>0&&!y.child_u5;return{category:y.category,enquireRequired:st,total:U+Ee+n+Te,perPerson:R,paxBracket:be,maxBracket:W,adultCost:U,cwbCost:Ee,cnbCost:n,childU5Cost:Te,extraBed:y.extra_bed||0,cnbRate:y.cnb||0,childU5Rate:y.child_u5||0}},x=S?mt(v,$,A,F,B):null,Ye=l.useMemo(()=>{const t={};return(i?.accommodation||[]).forEach(a=>{const o=(a.tier||"").trim()||"Other";(t[o]=t[o]||[]).push(a)}),t},[i]),[Ve,Zt]=l.useState({}),[ie,Ce]=l.useState(null),Ge=l.useMemo(()=>S?Ye[v]||[]:i?.accommodation||[],[S,Ye,v,i]),Qe=t=>Ge.filter(a=>((a.location||"").trim()||a.name)===t),se=l.useMemo(()=>{const t=new Set,a=[];return Ge.forEach(o=>{const c=(o.location||"").trim()||o.name;t.has(c)||(t.add(c),a.push(Ve[`${v}||${c}`]||o))}),a},[Ge,Ve,v]),ae=l.useMemo(()=>
1{const t=b.state?.travel_date;return t?String(t).slice(0,10):new Date(Date.now()+45*864e5).toISOString().slice(0,10)},[b.state]),ei=l.useMemo(()=>{const t=Array.isArray(i?.raw?.holiday_months)?i.raw.holiday_months.map(c=>String(c||"").trim().toUpperCase()).filter(Boolean):[];if(t.length===0)return!0;const o=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"][new Date(`${ae}T00:00:00`).getMonth()];return t.includes(o)},[i,ae]),Se=S&&x?.enquireRequired===!0,ti=x&&!Se&&x.total>0||!S&&i?.price!=null&&Number(i.price)>0,wt=l.useMemo(()=>{const t=new Date(`${ae}T00:00:00`);return!!(i?.priceValidFrom&&t<new Date(`${i.priceValidFrom}T00:00:00`)||i?.validityDate&&new Date(`${i.validityDate}T00:00:00`)<t)},[i?.priceValidFrom,i?.validityDate,ae]),ii=!wt&&ei&&ti,[ne,Je]=l.useState(null),[si,bt]=l.useState(!1),[yt,ai]=l.useState({}),[me,ze]=l.useState(null),[jt,vt]=l.useState("");l.useEffect(()=>{if(!i?.hasHotelSegments||!i?.numericId){Je(null);return}let t=!1;return(async()=>{bt(!0);try{const a=await De.post(`${he}/api/package-hotel-search/`,{package_id:i.numericId,package_type:"holidays",travel_date:ae,adults:We,children:0});if(t)return;const o=Array.isArray(a.data?.segments)?a.data.segments:[];Je(o.length?o:null)}catch{t||Je(null)}finally{t||bt(!1)}})(),()=>{t=!0}},[i?.numericId,i?.hasHotelSegments,ae,We]);const ni=(t,a)=>yt[a]||t?.hotel_info||{},kt=t=>t?.image||Array.isArray(t?.images)&&t.images[0]||"",oi=()=>{if(!Le){G?G(!0):s?.("login")??d("/login");return}d(`${H}/holidays-checkout`,{state:{package:i?.raw||ge,guests:S?$+A+F+B:We,adults:S?$:void 0,cwb:S?A:void 0,cnb:S?F:void 0,childU5:S?B:void 0,rooms:1,travel_date:b.state?.travel_date||null,categoryPricing:x&&!Se?{category:v,perPerson:x.perPerson,total:x.total,adults:$,cwb:A,cnb:F,childU5:B}:void 0}})},[ri,we]=l.useState(!1),[qe,li]=l.useState(""),[_e,ci]=l.useState(""),[Nt,di]=l.useState(""),[Ke,pi]=l.useState(2),[Xe,hi]=l.useState(0),[Ze,fi]=l.useState(0),[Ct,St]=l.useState(!1),[xi,et]=l.useState(!1),[zt,oe]=l.useState("");l.useEffect(()=>{const t=setTimeout(()=>{we(a=>a||(et(!1),oe(""),!0))},8e3);return()=>clearTimeout(t)},[]);const ui=()=>{et(!1),oe(""),we(!0)},gi=async()=>{if(!qe.trim()){oe("Please enter your name.");return}if(!_e.trim()||_e.replace(/\D/g,"").length<10){oe("Please enter a valid mobile number.");return}St(!0),oe("");try{const t=typeof window<"u"?window.location.hostname:"";await De.post(`${he}/api/holiday-enquiry/`,{domain:t,package_type:"holidays",package_id:i?.numericId,package_slug:i?.slug||"",package_name:i?.title||"",name:qe.trim(),email:Nt.trim(),phone:`+91 ${_e.trim()}`,message:`${Ke} Adult${Ke!==1?"s":""}, ${Xe} Child${Xe!==1?"ren":""}, ${Ze} Infant${Ze!==1?"s":""}`}),et(!0)}catch{oe("Something went wrong. Please try again.")}finally{St(!1)}},[tt,qt]=l.useState(!1),mi=async()=>{if(!(!i||tt)){qt(!0);try{const{jsPDF:t}=await $i(async()=>{const{jsPDF:r}=await import("./vendor-pdf-_DvWF4Hx.js").then(h=>h.j);return{jsPDF:r}},[]);let a="kashmir";try{const r=await fetch("/pdf-assets/template/manifest.json").then(p=>p.json());a=r.default||a;const h=[i.title,i.city,i.state,i.country,i.itinerarySummary,...Array.isArray(i.raw?.locations)?i.raw.locations:[],i.raw?.destination_country,i.raw?.location].filter(Boolean).join(" ").toLowerCase();for(const[p,u]of Object.entries(r.destinations||{}))if((u||[]).some(z=>h.includes(String(z).toLowerCase()))){a=p;break}}catch{}const o=`/pdf-assets/template/${a}`,[c,f,g,y,N,P,W,q]=await Promise.all([Y(`${o}/page-cover.jpg`),Y(`${o}/page-brief.jpg`),Y(`${o}/page-detail.jpg`),Y(`${o}/page-incl-excl.jpg`),Y(`${o}/page-howtobook.jpg`),Y(`${o}/page-payment.jpg`),Y(`${o}/page-terms.jpg`),Y(`${o}/page-terms2.jpg`)]);let R={...{facebook_url:"https://www.facebook.com/thewandernova/?ref=1",instagram_url:"https://www.instagram.com/wandernova_uae/",tiktok_url:"https://www.tiktok.com/@wandernovatourism?is_from_webapp=1&sender_device=pc",linkedin_url:"https://www.linkedin.com/company/wander-nova/",youtube_url:"https://www.youtube.com/@WanderNovaTourism"}};try{const r=typeof window<"u"?window.location.hostname:"",p=(await fetch(`${he}/api/settings/footer/${r?`?domain=${encodeURIComponent(r)}`:""}`).then(u=>u.json()))?.settings||{};["facebook_url","instagram_url","twitter_url","tiktok_url","linkedin_url","youtube_url"].forEach(u=>{p[u]&&(R[u]=p[u])})}catch{}const U=[["facebook",R.facebook_url],["instagram",R.instagram_url],["twitter",R.twitter_url],["tiktok",R.tiktok_url],["linkedin",R.linkedin_url],["youtube",R.youtube_url]].filter(([,r])=>r),Ee=await Promise.all(U.map(([r])=>Y(`/pdf-assets/social/${r}.png`))),n=new t({unit:"mm",format:"a4"}),Te=210,st=297,m=[3,59,134],C=[55,65,81],at=[246,199,68];let Pt=!0,nt="helvetica";try{const r=await fetch("/pdf-assets/fonts/arima-bold.ttf").then(u=>u.arrayBuffer());let h="";const p=new Uint8Array(r);for(let u=0;u<p.length;u+=32768)h+=String.fromCharCode.apply(null,p.subarray(u,u+32768));n.addFileToVFS("arima-bold.ttf",btoa(h)),n.addFont("arima-bold.ttf","Arima","bold"),nt="Arima"}catch{}const J=r=>{if(Pt||n.addPage(),Pt=!1,r)try{n.addImage(r,0,0,Te,st,void 0,"FAST")}catch{}},j=(r,h,p,{size:u=10,style:z="normal",color:E=C,maxW:M=0,lineH:I=0,maxLines:K=0,align:L="left",font:V="helvetica"}={})=>
1{if(n.setFont(V==="display"?nt:V,V==="display"?"bold":z),n.setFontSize(u),n.setTextColor(...E),!M)return n.text(String(r),h,p,{align:L}),p;let w=n.splitTextToSize(String(r),M);K&&w.length>K&&(w=w.slice(0,K));const X=I||u*.46;return w.forEach((le,ce)=>n.text(le,h,p+ce*X,{align:L})),p+w.length*(I||u*.46)},ki=i.inclusions.some(r=>/breakfast|meal|dinner|lunch/i.test(r))?i.inclusions.filter(r=>/breakfast|dinner|lunch|meal/i.test(r)).join(", ").slice(0,40)||"As per inclusions":"On Request";J(c),n.setFont(nt,"bold"),n.setFontSize(17);const $e=n.splitTextToSize(i.title,118).slice(0,3);$e.forEach((r,h)=>{const p=27+h*8;n.setTextColor(255,255,255),n.text(r,17.5,p+.5),n.setTextColor(...m),n.text(r,17,p)});const Ni=$e[$e.length-1]||"",Ci=Math.min(n.getTextWidth(Ni),60);if(n.setFillColor(...at),n.roundedRect(17,27+($e.length-1)*8+3,Ci,1.8,.9,.9,"F"),[["Flexible / On Request",37.7,207],[re||"On Request",35.8,245],["2 Adults (Customizable)",36.9,280],[i.accommodation[0]?.name||"As per itinerary",127.1,203],[ki,127.7,244],["Wander Nova Travel Expert",127.2,279.5]].forEach(([r,h,p])=>j(r,h,p,{size:9.5,style:"bold",color:m,maxW:62,maxLines:2,lineH:4.4})),i.days_plan.length>0){const u=26.428571428571434;for(let z=0;z<i.days_plan.length;z+=7)J(f),i.days_plan.slice(z,z+7).forEach((E,M)=>{const I=z+M,K=(E.activities||[]).filter(X=>(X.time||"").toLowerCase()==="meals").map(X=>X.text).filter(Boolean).join(", ")||"—",L=i.accommodation[Math.min(I,i.accommodation.length-1)]?.name||"—",w=92.1+M*u+u/2;j(String(E.day_number??I+1).padStart(2,"0"),32.6,w+1.5,{size:12,style:"bold",color:m,align:"center"}),j(E.title||`Day ${E.day_number??I+1}`,51,w-4,{size:9,maxW:64,maxLines:4,lineH:4.2}),j(K,121,w-4,{size:8.5,maxW:36,maxLines:4,lineH:4}),j(L,162.5,w-4,{size:8.5,maxW:28,maxLines:4,lineH:4})})}if(i.days_plan.length>0){const r=[{label:82,body:90,bodyEnd:118},{label:133.5,body:141.5,bodyEnd:172},{label:187.5,body:195.5,bodyEnd:224}];for(let h=0;h<i.days_plan.length;h+=3)J(g),i.days_plan.slice(h,h+3).forEach((p,u)=>{const z=r[u],E=String(p.day_number??h+u+1).padStart(2,"0");j(`Day ${E} :`,24,z.label,{size:16,color:[25,25,25],font:"display"}),j(p.title||"",58,z.label,{size:12.5,color:m,maxW:132,maxLines:1,font:"display"});const M=(p.activities||[]).filter(w=>w&&String(w.text||"").trim()).map(w=>({time:String(w.time||"").trim(),body:String(w.text).trim()}));!M.length&&p.details&&String(p.details).split(new RegExp("(?<=[.!?])\\s+")).map(w=>w.trim()).filter(Boolean).forEach(w=>M.push({time:"",body:w})),M.length||M.push({time:"",body:"Details for this day will be shared closer to travel."});const I=4.7,K=Math.floor((z.bodyEnd-z.body)/I);let L=z.body,V=0;for(const w of M){const X=w.time?`${w.time}:  ${w.body}`:w.body;n.setFont("helvetica","normal"),n.setFontSize(9.5);const le=n.splitTextToSize(X,158);if(V+le.length>K)break;if(n.setFillColor(...m),n.circle(25.5,L-1.2,.85,"F"),w.time){n.setFont("helvetica","bold"),n.setTextColor(...m);const ce=`${w.time}:`;n.text(ce,29,L);const Be=n.getTextWidth(ce);n.setFont("helvetica","normal"),n.setTextColor(...C);const Re=n.splitTextToSize(w.body,158-Be-2);n.text(Re[0]||"",29+Be+2,L),Re.slice(1).forEach((Ei,Ti)=>n.text(Ei,29,L+(Ti+1)*I)),L+=Re.length*I+1,V+=Re.length}else n.setTextColor(...C),le.forEach((ce,Be)=>n.text(ce,29,L+Be*I)),L+=le.length*I+1,V+=le.length}})}if(i.inclusions.length||i.exclusions.length){J(y);let r=79;i.inclusions.forEach(p=>{r>137||(n.setDrawColor(16,130,80),n.setLineWidth(.6),n.lines([[1.2,1.4],[2.4,-3.2]],16.9,r-.7,[1,1],"S"),r=j(p,23,r,{size:10,maxW:168,lineH:4.8})+1.6)});let h=191;i.exclusions.forEach(p=>{h>282||(n.setDrawColor(190,60,50),n.setLineWidth(.6),n.line(16.9,h-3.1,20.1,h+.1),n.line(16.9,h+.1,20.1,h-3.1),h=j(p,23,h,{size:10,maxW:168,lineH:4.8})+1.6)})}const Ae=x?.perPerson??(i.price!=null?Number(i.price):null),Et=x?.total??(Ae!=null?Ae*$:null);J(N);const Si=["1.  Choose your package and preferred travel date on our website.",'2.  Click "Proceed to Payment" on the package page, or "Enquire Now" to talk to us first.',"3.  Fill in traveller details and complete the secure online payment.","4.  Receive instant booking confirmation on your email and ph
1one."];let Tt=82;Si.forEach(r=>{Tt=j(r,17,Tt,{size:10.5,color:C,maxW:176,lineH:5})+3});const zi=i.termsConditions||"Rates are subject to change based on availability. Bookings are confirmed only after full/advance payment as applicable. Itinerary sequence may change due to weather, local conditions, or operational reasons while keeping all inclusions intact. Cancellation and refund policy as communicated at the time of booking will apply.",qi=String(zi).split(`
2`).map(r=>r.trim()).filter(Boolean);let $t=0,D=0;const Fe=()=>{J($t===0?W:q),$t+=1,D=95};Fe(),n.setFont("helvetica","normal"),n.setFontSize(9),n.setTextColor(...C),qi.forEach(r=>{n.splitTextToSize(r,172).forEach(p=>{D>284&&Fe(),n.setFont("helvetica","normal"),n.setFontSize(9),n.setTextColor(...C),n.text(p,17,D),D+=4.6}),D+=1.8});const _i=["Advance / full payment as applicable confirms your booking.","Balance amount (if any) must be cleared before the trip start date.","All payments are processed through secure, PCI-compliant payment gateways.","Cancellation and refund policy as communicated at the time of booking will apply."];D>255&&Fe(),D+=6,j("Payment Terms & Policy",17,D,{size:15,color:m,font:"display"}),D+=8,_i.forEach(r=>{D>284&&Fe(),D=j(r,17,D,{size:9.5,color:C,maxW:172,lineH:4.6})+1.8}),J(P),j("Secure your spot today — book & pay online.",17,54,{size:11.5,color:C}),j("We accept payment",193,56,{size:13,style:"bold",color:m,align:"right"}),j("via following methods:",193,62,{size:13,style:"bold",color:m,align:"right"}),["UPI","Net Banking","Debit Card","Credit Card"].forEach((r,h)=>{j(r,193,72+h*6.6,{size:11.5,color:C,align:"right"})}),j("Pay Online",17,78,{size:16,color:m,font:"display"}),j("All payments are processed securely through our CCAvenue payment gateway — Credit Card, Debit Card, Net Banking & UPI accepted.",17,86,{size:10.5,color:C,maxW:118,lineH:5});const ot=A+F+B,Pi=`${$} Adult${$!==1?"s":""}${ot>0?` + ${ot} Child${ot!==1?"ren":""}`:""}`,rt=[{label:"Price / Adult",value:Ae!=null?`INR ${Number(Ae).toLocaleString("en-IN")}`:"On Request"},...x&&v?[{label:"Hotel Category",value:v}]:[],{label:`Total for ${Pi}`,value:Et!=null?`INR ${Number(Et).toLocaleString("en-IN")}`:"On Request",highlight:!0}],At=6,ye=(176-At*(rt.length-1))/rt.length;rt.forEach((r,h)=>{const p=17+h*(ye+At);r.highlight?n.setFillColor(...at):n.setFillColor(...m),n.roundedRect(p,104,ye,30,6,6,"F");const u=r.highlight?[110,82,12]:[190,210,245],z=r.highlight?m:[255,255,255];j(r.label,p+ye/2,114.5,{size:9,color:u,align:"center"}),n.setFont("helvetica","bold");let E=14;for(n.setFontSize(E);E>8&&n.getTextWidth(String(r.value))>ye-10;)E-=1,n.setFontSize(E);j(String(r.value),p+ye/2,125.5,{size:E,style:"bold",color:z,align:"center"})});const lt=typeof window<"u"?`${window.location.origin}/package/${i.slug||i.id}`:`https://thewandernova.com/package/${i.slug||i.id}`;n.setFillColor(...at),n.roundedRect(65,152,80,15,7.5,7.5,"F"),j("PAY NOW",105,161.5,{size:15,style:"bold",color:m,align:"center"}),n.link(65,152,80,15,{url:lt}),j("Click the button (or visit the link below) to complete your booking payment:",105,175,{size:9.5,color:C,align:"center"}),j(lt,105,181,{size:9.5,style:"bold",color:m,align:"center"}),n.link(40,176.5,130,6,{url:lt}),j("Find us on :-",17,252,{size:11.5,style:"bold",color:C}),U.forEach(([,r],h)=>{const p=Ee[h],u=17+h*13.5;if(p)try{n.addImage(p,u,257,8.5,8.5,void 0,"FAST")}catch{}n.link(u,257,8.5,8.5,{url:r})}),n.save(`${i.slug||"wander-nova-package"}.pdf`)}catch{window.print()}finally{qt(!1)}}},[wi,bi]=l.useState("overview"),Q={overview:l.useRef(null),itinerary:l.useRef(null),hotels:l.useRef(null),inclusions:l.useRef(null),faqs:l.useRef(null)},[yi,ji]=l.useState(null),vi=t=>{const a=Q[t]?.current;a&&window.scrollTo({top:a.getBoundingClientRect().top+window.scrollY-90,behavior:"smooth"})};l.useEffect(()=>{const t=()=>{const a=window.scrollY+140;let o="overview";Lt.forEach(c=>{const f=Q[c.id]?.current;f&&f.offsetTop<=a&&(o=c.id)}),bi(o)};return window.addEventListener("scroll",t,{passive:!0}),()=>window.removeEventListener("scroll",t)},[i]);const re=l.useMemo(()=>{if(!i)return"";const t=i.nights,a=i.days;return t!=null&&a!=null?`${t}N / ${a}D`:a!=null?`${a} Days`:""}
2,[i]),Pe=i?[i.city,i.state,i.country].filter(Boolean).filter((t,a,o)=>o.indexOf(t)===a).join(", "):"",_t=l.useMemo(()=>{if(!i)return[];const t=[i.raw?.inclusions,i.raw?.inclusions_detail,...i.inclusions].filter(Boolean).join(", ").toLowerCase(),a=[];re&&a.push({icon:dt,label:"Duration",value:re});const o=i.itinerarySummary||Pe||(i.cities!=null?`${i.cities} ${i.cities===1?"City":"Cities"}`:"");o&&a.push({icon:de,label:"Destinations",value:o}),i.countries!=null&&i.countries>0&&a.push({icon:Ft,label:i.countries===1?"Country":"Countries",value:i.country||`${i.countries} ${i.countries===1?"Country":"Countries"}`});let c="";if(se.length===1){const g=se[0];c=g.name||(g.stars?`${g.stars}★ Stay`:"Hotel Stay")}else se.length>1?c=`${se.length} Hotels`:(t.includes("accommodation")||t.includes("hotel")||t.includes("homestay"))&&(c=t.includes("homestay")?"Homestays / Hotels":"Hotel Stay");c&&a.push({icon:pe,label:"Accommodation",value:c});const f=[];return t.includes("breakfast")&&f.push("Breakfast"),t.includes("lunch")&&f.push("Lunch"),t.includes("dinner")&&f.push("Dinner"),f.length&&a.push({icon:Mt,label:"Meals",value:f.join(" & ")}),t.includes("transfer")&&a.push({icon:Mi,label:"Transfers",value:t.includes("private")?"Private Transfers":"Transfers Included"}),(t.includes("sightseeing")||t.includes("tour"))&&a.push({icon:Xi,label:"Sightseeing",value:"Guided Sightseeing"}),a},[i,re,Pe,se]),it=e.jsx(Vi,{activeMainTab:"holidays",setActiveMainTab:()=>{},currencyDropdown:ue,setCurrencyDropdown:Ht,selectedCurrency:_,setSelectedCurrency:te,currencyOptions:ct,onLoginClick:()=>G?G(!0):s?.("login")??d("/login")});return Vt?e.jsxs("div",{className:"wp-root",children:[e.jsx("style",{children:ht}),it,e.jsxs("div",{className:"wp-state",children:[e.jsx("div",{className:"wp-spinner"}),e.jsx("p",{children:"Loading your holiday…"})]}),e.jsx(pt,{})]}):gt||!i?e.jsxs("div",{className:"wp-root",children:[e.jsx("style",{children:ht}),it,e.jsxs("div",{className:"wp-state",children:[e.jsx("div",{className:"wp-state-emoji",children:"🧳"}),e.jsx("p",{children:gt||"Package not found."}),e.jsx("button",{type:"button",className:"wp-btn-primary",onClick:()=>d(-1),children:"Go Back"})]}),e.jsx(pt,{})]}):e.jsxs("div",{className:"wp-root",children:[e.jsx("style",{children:ht}),it,e.jsxs("section",{className:"wp-hero",children:[i.image?e.jsx("img",{className:"wp-hero-img",src:i.image,alt:i.title,onError:t=>{t.currentTarget.style.display="none"}}):e.jsx("div",{className:"wp-hero-img wp-hero-fallback"}),e.jsx("div",{className:"wp-hero-overlay"}),e.jsxs("div",{className:"wp-hero-inner",children:[e.jsxs("button",{type:"button",className:"wp-back",onClick:()=>b.state?.from?d(b.state.from):d(-1),children:[e.jsx(Hi,{size:16})," Back"]}),e.jsxs("div",{className:"wp-hero-bottom",children:[i.themes.length>0&&e.jsx("div",{className:"wp-hero-chips",children:i.themes.slice(0,3).map(t=>e.jsx("span",{className:"wp-hero-chip",children:t},t))}),e.jsx("h1",{className:"wp-hero-title",children:i.title}),e.jsxs("div",{className:"wp-hero-meta",children:[Pe&&e.jsxs("span",{children:[e.jsx(de,{size:15})," ",Pe]}),re&&e.jsxs("span",{children:[e.jsx(dt,{size:15})," ",re]}),i.cities!=null&&e.jsxs("span",{children:[e.jsx(pe,{size:15})," ",i.cities," ",i.cities===1?"City":"Cities"]}),i.countries!=null&&e.jsxs("span",{children:[e.jsx(Ft,{size:15})," ",i.countries," ",i.countries===1?"Country":"Countries"]})]})]})]})]}),e.jsx("nav",{className:"wp-subnav",children:e.jsx("div",{className:"wp-subnav-inner",children:Lt.filter(t=>!t.optional||t.id==="faqs"&&i.faqs.length>0).map(t=>e.jsx("button",{type:"button",className:`wp-subnav-item ${wi===t.id?"is-active":""}`,onClick:()=>vi(t.id),children:t.label},t.id))})}),e.jsxs("div",{className:"wp-body",children:[e.jsxs("div",{className:"wp-main",children:[e.jsxs("section",{ref:Q.overview,className:"wp-card",id:"overview",children:[e.jsxs("h2",{className:"wp-h2",children:[e.jsx(Oi,{size:18})," Overview"]}),i.overview&&e.jsx("p",{className:"wp-para",children:i.overview}),i.itineraryText&&i.itineraryText!==i.overview&&e.jsx("p",{className:"wp-para",children:i.itineraryText}),_t.length>0&&e.jsx("div",{className:"wp-facts-grid",children:_t.map((t,a)=>{const o=t.icon,c=It[is[t.label]]||It.teal;return e.jsxs("div",{className:"wp-fact-tile",children:[e.jsx("span",{className:"wp-fact-tile-ico",style:{background:c.bg,color:c.fg},children:e.jsx(o,{size:20,strokeWidth:2})}),e.jsxs("div",{className:"wp-fact-tile-text",children:[e.jsx("span",{className:"wp-fact-tile-label",children:t.label}),e.jsx("span",{className:"wp-fact-tile-value",children:t.value})]})]},a)})})]}),(ne?.length>0||i.accommodation.length>0)&&e.jsxs("section",{ref:Q.hotels,className:"wp-card",id:"hotels",children:[e.jsxs("h2",{className:"wp-h2",children:[e.jsx(pe,{size:18})," Where You'll Stay"]}),S&&e.jsxs("div",{className:"wp-cat-bar",children:[e.jsx("span",{className:"wp-cat-badge",children:v}),i.categoryPricing.length>1&&e.jsx("button",{type:"button",className:"wp-hotel-change",onClick:()=>Ne(!0),children:"Change Hotel / Category"})]}),e.jsx("div",{className:"wp-hotels",children:ne?.length>0?ne.map((t,a)=>{const o=ni(t,a),c=kt(o),f=Number(o.star_rating)||Number(t.hotel_info?.star_rating)||0,g=o.city_name||t.city||"",y=Array.isArray(t.alternatives)&&t.alternatives.length>0;return e.jsxs("div",{className:`wp-hotel${c?" has-img":""}`,children:[c?e.jsx("img",{className:"wp-hotel-img",src:c,alt:o.hotel_name||"Hotel",loading:"lazy",onError:N=>{N.currentTarget.style.display="none"}}):e.jsx("div",{className:"wp-hotel-ico",children:e.jsx(pe,{size:20})}),e.jsxs("div",{className:"wp-hotel-info",children:[e.jsx("div",{className:"wp-hotel-name",children:o.hotel_name||"Hotel"}),e.jsxs("div",{className:"wp-hotel-sub",children:[g&&e.jsxs("span",{children:[e.jsx(de,{size:12})," ",g]}),t.nights!=null&&e.jsxs("span",{children:[t.nights," ",t.nights===1?"Night":"Nights"]})]})]}),e.jsxs("div",{className:"wp-hotel-right",children:[f>0&&e.jsx("div",{className:"wp-hotel-stars",children:Array.from({length:Math.min(5,f)}).map((N,P)=>e.jsx(Bt,{size:13,fill:"#f59e0b",color:"#f59e0b"},P))}),y&&e.jsx("button",{type:"button",className:"wp-hotel-change",onClick:()=>{ze(a),vt("")},children:"Change"})]})]},a)}):se.map((t,a)=>{const o=(t.location||"").trim()||t.name,c=Qe(o);return e.jsxs("div",{className:`wp-hotel${t.image?" has-img":""}`,children:[t.image?e.jsx("img",{className:"wp-hotel-img",src:t.image,alt:t.name||"Hotel",loading:"lazy",onError:f=>{f.currentTarget.style.display="none"}}):e.jsx("div",{className:"wp-hotel-ico",children:e.jsx(pe,{size:20})}),e.jsxs("div",{className:"wp-hotel-info",children:[e.jsxs("div",{className:"wp-hotel-name",children:[t.name||"Hotel",t.tier?` · ${t.tier}`:""]}),e.jsxs("div",{className:"wp-hotel-sub",children:[t.location&&e.jsxs("span",{children:[e.jsx(de,{size:12})," ",t.location]}),t.nights!=null&&e.jsxs("span",{children:[t.nights," ",t.nights===1?"Night":"Nights"]})]})]}),e.jsxs("div",{className:"wp-hotel-right",children:[t.stars>0&&e.jsx("div",{className:"wp-hotel-stars",children:Array.from({length:Math.min(5,t.stars)}).map((f,g)=>e.jsx(Bt,{size:13,fill:"#f59e0b",color:"#f59e0b"},g))}),c.length>1&&e.jsx("button",{type:"button",className:"wp-hotel-change",onClick:()=>Ce(o),children:"Change"})]})]},a)})}),si&&ne?.length>0&&e.jsx("div",{className:"wp-hotel-loading",children:"Refreshing live availability…"})]}),i.days_plan.length>0&&e.jsxs("section",{ref:Q.itinerary,className:"wp-card",id:"itinerary",children:[e.jsxs("h2",{className:"wp-h2",children:[e.jsx(dt,{size:18})," Day-by-Day Itinerary"]}),i.itinerarySummary&&e.jsx("p",{className:"wp-para wp-muted",children:i.itinerarySummary}),e.jsx("div",{className:"wp-days",children:i.days_plan.map((t,a)=>e.jsx(as,{day:t,index:a,defaultOpen:a===0},t.id||a))})]}),e.jsx("section",{className:"wp-card wp-trust-card",children:e.jsxs("div",{className:"wp-trust-strip",children:[e.jsxs("div",{className:"wp-trust-item",children:[e.jsx("span",{className:"wp-trust-ico wp-trust-ok",children:e.jsx(Z,{size:16})}),"Safe and Verified Travel Partners"]}),e.jsxs("div",{className:"wp-trust-item",children:[e.jsx("span",{className:"wp-trust-ico wp-trust-info",children:e.jsx(Wi,{size:16})}),"Flexible Cancellation Policy"]})]})}),(i.inclusions.length>0||i.exclusions.length>0)&&e.jsxs("section",{ref:Q.inclusions,className:"wp-card",id:"inclusions",children:[e.jsxs("h2",{className:"wp-h2",children:[e.jsx(Ui,{size:18})," What's Included"]}),e.jsxs("div",{className:"wp-incl-grid",children:[i.inclusions.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"wp-h3 wp-incl-head",children:"Inclusions"}),e.jsx("ul",{className:"wp-incl-list",children:(Me?i.inclusions:i.inclusions.slice(0,5)).map((t,a)=>e.jsxs("li",{children:[e.jsx("span",{className:"wp-tick wp-tick-in",children:e.jsx(Z,{size:13})}),t]},a))}),i.inclusions.length>5&&e.jsxs("button",{type:"button",className:"wp-incl-more",onClick:()=>Wt(t=>!t),children:[Me?"Show less":`Read more (${i.inclusions.length-5} more)`,e.jsx(Ie,{size:15,style:{transform:Me?"rotate(180deg)":"none",transition:"transform .2s"}})]})]}),i.exclusions.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"wp-h3 wp-incl-head",children:"Exclusions"}),e.jsx("ul",{className:"wp-incl-list",children:(He?i.exclusions:i.exclusions.slice(0,5)).map((t,a)=>e.jsxs("li",{children:[e.jsx("span",{className:"wp-tick wp-tick-out",children:e.jsx(je,{size:13})}),t]},a))}),i.exclusions.length>5&&e.jsxs("button",{type:"button",className:"wp-incl-more",onClick:()=>Ut(t=>!t),children:[He?"Show less":`Read more (${i.exclusions.length-5} more)`,e.jsx(Ie,{size:15,style:{transform:He?"rotate(180deg)":"none",transition:"transform .2s"}})]})]})]})]}),i.faqs.length>0&&e.jsxs("section",{ref:Q.faqs,className:"wp-card",id:"faqs",children:[e.jsxs("h2",{className:"wp-h2",children:[e.jsx(ts,{size:18})," Frequently Asked Questions"]}),e.jsx("div",{className:"wp-faq-list",children:i.faqs.map((t,a)=>{const o=yi===a;return e.jsxs("div",{className:`wp-faq-item${o?" wp-faq-item-open":""}`,children:[e.jsxs("button",{type:"button",className:"wp-faq-q","aria-expanded":o,onClick:()=>ji(o?null:a),children:[e.jsx("span",{children:t.question}),e.jsx(Ie,{size:17,className:"wp-faq-chev",style:{transform:o?"rotate(180deg)":"none"}})]}),o&&e.jsx("div",{className:"wp-faq-a",children:t.answer})]},a)})})]})]}),e.jsxs("aside",{className:"wp-side",children:[e.jsxs("div",{className:"wp-price-card",children:[i.offerText&&e.jsx("div",{className:"wp-offer",children:i.offerText}),S&&i.categoryPricing.length>1&&e.jsxs("div",{style:{marginBottom:12},children:[e.jsx("div",{style:{fontSize:11.5,fontWeight:600,color:"#6b7280",marginBottom:6,textTransform:"uppercase",letterSpacing:.6},children:"Hotel Category"}),e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:i.categoryPricing.map(t=>e.jsx("button",{type:"button",onClick:()=>Ue(t.category),style:{padding:"5px 11px",borderRadius:20,border:v===t.category?"1.5px solid #3b82f6":"1.5px solid #e5e7eb",background:v===t.category?"#eff6ff":"#fff",color:v===t.category?"#1d4ed8":"#374151",fontSize:12.5,fontWeight:v===t.category?700:500,cursor:"pointer",transition:"all 0.15s"},children:t.category},t.category))})]}),S&&e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:12,padding:"10px",background:"#f9fafb",borderRadius:8,border:"1px solid #e5e7eb"},children:[{label:"Adults",val:$,min:1,set:Gt},{label:"Child With Bed",val:A,min:0,set:Qt},{label:"Child No Bed",val:F,min:0,set:Jt},{label:"Child Under 5",val:B,min:0,set:Kt}].map(({label:t,val:a,min:o,set:c})=>e.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[e.jsx("span",{style:{fontSize:12,color:"#6b7280",flex:1},children:t}),e.jsx("button",{type:"button",onClick:()=>c(f=>Math.max(o,f-1)),disabled:a<=o,style:{width:26,height:26,borderRadius:6,border:"1px solid #d1d5db",background:"#fff",fontSize:16,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"#374151"},children:"−"}),e.jsx("span",{style:{fontSize:14,fontWeight:700,minWidth:22,textAlign:"center"},children:a}),e.jsx("button",{type:"button",onClick:()=>c(f=>f+1),style:{width:26,height:26,borderRadius:6,border:"1px solid #d1d5db",background:"#fff",fontSize:16,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"#374151"},children:"+"})]},t))}),wt?e.jsxs("div",{style:{padding:"10px 14px",background:"#fef2f2",borderRadius:8,border:"1px solid #fecaca",marginBottom:12},children:[e.jsx("div",{style:{fontSize:13,fontWeight:600,color:"#991b1b"},children:"Prices no longer available"}),e.jsx("div",{style:{fontSize:12,color:"#b91c1c",marginTop:3},children:"The price validity for this package has expired. Please enquire for current pricing."})]}):S?Se?e.jsxs("div",{style:{padding:"10px 14px",background:"#fef9c3",borderRadius:8,border:"1px solid #fde047",marginBottom:12},children:[e.jsx("div",{style:{fontSize:13,fontWeight:600,color:"#854d0e"},children:A>0&&!x?.extraBed||F>0&&!x?.cnbRate||B>0&&!x?.childU5Rate?"Child pricing not available for this category":`Pricing available for up to ${x?.maxBracket} adults`}),e.jsx("div",{style:{fontSize:12,color:"#92400e",marginTop:3},children:A>0&&!x?.extraBed||F>0&&!x?.cnbRate||B>0&&!x?.childU5Rate?"This category does not have child rates configured. Please enquire for a custom quote.":`For groups of ${$}+, please enquire for custom pricing.`})]}):x?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"wp-price-row",children:[e.jsx("span",{className:"wp-price",children:T(x.perPerson)}),e.jsx("span",{className:"wp-price-unit",children:"/ Adult"})]}),e.jsxs("div",{style:{fontSize:12,color:"#6b7280",marginBottom:2},children:[$," adult",$!==1?"s":""," × ",T(x.perPerson)," = ",e.jsx("strong",{children:T(x.adultCost)})]}),A>0&&e.jsxs("div",{style:{fontSize:12,color:"#6b7280",marginBottom:2},children:[A," Child With Bed × ",T(x.extraBed)," = ",e.jsx("strong",{children:T(x.cwbCost)})]}),F>0&&e.jsxs("div",{style:{fontSize:12,color:"#6b7280",marginBottom:2},children:[F," Child No Bed × ",T(x.cnbRate)," = ",e.jsx("strong",{children:T(x.cnbCost)})]}),B>0&&e.jsxs("div",{style:{fontSize:12,color:"#6b7280",marginBottom:2},children:[B," Child Under 5 × ",T(x.childU5Rate)," = ",e.jsx("strong",{children:T(x.childU5Cost)})]}),e.jsxs("div",{style:{fontSize:13,color:"#374151",fontWeight:600,marginBottom:4},children:["Total: ",e.jsx("strong",{children:T(x.total)})]}),e.jsx("div",{className:"wp-price-note",children:"Excluding applicable taxes"})]}):null:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"wp-price-row",children:[i.originalPrice&&e.jsx("span",{className:"wp-price-orig",children:T(i.originalPrice)}),e.jsx("span",{className:"wp-price",children:T(i.price)}),e.jsx("span",{className:"wp-price-unit",children:"/ Adult"})]}),e.jsx("div",{className:"wp-price-note",children:"Excluding applicable taxes"})]}),ii&&i.ctaMode!=="enquire_only"&&e.jsxs("button",{type:"button",className:"wp-btn-pay",onClick:oi,children:["Proceed to Payment ",e.jsx(Yi,{size:18})]}),i.ctaMode!=="pay_only"&&e.jsxs("button",{type:"button",className:"wp-btn-enquire",onClick:ui,children:[e.jsx(Rt,{size:16})," ",Se?A>0&&!x?.extraBed||F>0&&!x?.cnbRate||B>0&&!x?.childU5Rate?"Enquire for Child Pricing":"Enquire for Group Pricing":"Enquire Now"]})]}),i.highlights.length>0&&e.jsxs("div",{className:"wp-ph-card",children:[e.jsx("div",{className:"wp-ph-head",children:"Package Highlights"}),e.jsxs("div",{className:"wp-ph-body",children:[e.jsx("ul",{className:"wp-ph-list",children:(xt?i.highlights:i.highlights.slice(0,3)).map(t=>e.jsxs("li",{children:[e.jsx(Z,{size:17}),e.jsx("span",{children:t})]},t))}),e.jsxs("div",{className:"wp-ph-actions",children:[i.highlights.length>3&&e.jsx("button",{type:"button",className:"wp-ph-btn",onClick:()=>Ot(t=>!t),children:xt?"Show Less":`View All (${i.highlights.length})`}),e.jsxs("button",{type:"button",className:"wp-ph-btn wp-ph-btn-wide",onClick:mi,disabled:tt,children:[e.jsx(Zi,{size:16})," ",tt?"Preparing…":"Download package as PDF"]})]})]})]})]})]}),me!=null&&ne?.[me]&&(()=>{const t=ne[me],a=jt.trim().toLowerCase(),o=(t.alternatives||[]).filter(g=>
2{if(!a)return!0;const y=g.hotel_info||{};return(y.hotel_name||"").toLowerCase().includes(a)||(y.city_name||"").toLowerCase().includes(a)}),c=o.slice(0,60),f=(yt[me]||t.hotel_info||{}).hotel_code;return e.jsx("div",{className:"wp-modal-overlay",onClick:()=>ze(null),children:e.jsxs("div",{className:"wp-modal",onClick:g=>g.stopPropagation(),children:[e.jsxs("div",{className:"wp-modal-head",children:[e.jsxs("div",{children:[e.jsx("div",{className:"wp-modal-title",children:"Change Hotel"}),e.jsx("div",{className:"wp-modal-sub",children:[t.city,t.nights!=null?`${t.nights} night(s)`:""].filter(Boolean).join(" · ")})]}),e.jsx("button",{type:"button",className:"wp-modal-x",onClick:()=>ze(null),children:e.jsx(je,{size:20})})]}),e.jsx("div",{className:"wp-modal-search",children:e.jsx("input",{value:jt,onChange:g=>vt(g.target.value),placeholder:"Search hotel name or city…",autoFocus:!0})}),e.jsxs("div",{className:"wp-modal-list",children:[c.map((g,y)=>{const N=g.hotel_info||{},P=kt(N),W=Math.min(5,Number(N.star_rating)||0),q=N.hotel_code&&N.hotel_code===f,be=g.cheapest?.total_fare,R=g.cheapest?.currency||t.currency;return e.jsxs("button",{type:"button",className:`wp-opt${q?" is-selected":""}`,onClick:()=>{ai(U=>({...U,[me]:N})),ze(null)},children:[P?e.jsx("img",{className:"wp-opt-img",src:P,alt:N.hotel_name||"Hotel",loading:"lazy",onError:U=>{U.currentTarget.style.visibility="hidden"}}):e.jsx("div",{className:"wp-opt-img wp-opt-noimg",children:e.jsx(pe,{size:18})}),e.jsxs("div",{className:"wp-opt-info",children:[e.jsx("div",{className:"wp-opt-name",children:N.hotel_name||"Hotel"}),e.jsxs("div",{className:"wp-opt-sub",children:[N.city_name&&e.jsxs("span",{children:[e.jsx(de,{size:11})," ",N.city_name]}),W>0&&e.jsx("span",{className:"wp-opt-stars",children:"★".repeat(W)})]})]}),be!=null&&e.jsxs("div",{className:"wp-opt-price",children:[R==="USD"?"$":"",Math.round(be),e.jsx("span",{children:"/night"})]}),q&&e.jsx(Z,{size:17,className:"wp-opt-check"})]},N.hotel_code||y)}),o.length>c.length&&e.jsxs("div",{className:"wp-opt-note",children:["Showing ",c.length," of ",o.length,". Refine your search to narrow down."]}),o.length===0&&e.jsx("div",{className:"wp-opt-note",children:"No hotels match your search."})]})]})})})(),Xt&&S&&e.jsx("div",{className:"wp-modal-overlay",onClick:()=>Ne(!1),children:e.jsxs("div",{className:"wp-modal",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"wp-modal-head",children:[e.jsxs("div",{children:[e.jsx("div",{className:"wp-modal-title",children:"Choose Your Hotel Category"}),e.jsx("div",{className:"wp-modal-sub",children:"Price updates based on the category you pick"})]}),e.jsx("button",{type:"button",className:"wp-modal-x",onClick:()=>Ne(!1),children:e.jsx(je,{size:20})})]}),e.jsx("div",{className:"wp-modal-list",children:i.categoryPricing.map(t=>{const a=mt(t.category,$,A,F,B),o=t.category===v,c=Ye[t.category]||[];return e.jsxs("button",{type:"button",className:`wp-cat-opt${o?" is-selected":""}`,onClick:()=>{Ue(t.category),Ne(!1)},children:[e.jsxs("div",{className:"wp-cat-opt-top",children:[e.jsx("span",{className:"wp-cat-opt-name",children:t.category}),e.jsxs("span",{className:"wp-cat-opt-price",children:[T(a?.perPerson||0),e.jsx("span",{children:"/adult"})]})]}),c.length>0&&e.jsx("div",{className:"wp-cat-opt-hotels",children:c.slice(0,6).map((f,g)=>e.jsxs("span",{className:"wp-cat-opt-hotel",children:[f.name,f.location?` · ${f.location}`:""]},g))}),o&&e.jsx(Z,{size:17,className:"wp-cat-opt-check"})]},t.category)})})]})}),ie&&e.jsx("div",{className:"wp-modal-overlay",onClick:()=>Ce(null),children:e.jsxs("div",{className:"wp-modal",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"wp-modal-head",children:[e.jsxs("div",{children:[e.jsx("div",{className:"wp-modal-title",children:"Choose Your Hotel"}),e.jsxs("div",{className:"wp-modal-sub",children:[ie,v?` · ${v}`:""]})]}),e.jsx("button",{type:"button",className:"wp-modal-x",onClick:()=>Ce(null),children:e.jsx(je,{size:20})})]}),e.jsx("div",{className:"wp-modal-list",children:Qe(ie).map((t,a)=>{const c=(Ve[`${v}||${ie}`]||Qe(ie)[0])===t;return e.jsxs("button",{type:"button",className:`wp-cat-opt${c?" is-selected":""}`,onClick:()=>{Zt(f=>({...f,[`${v}||${ie}`]:t})),Ce(null)},children:[e.jsxs("div",{className:"wp-cat-opt-top",children:[e.jsx("span",{className:"wp-cat-opt-name",children:t.name}),t.stars>0&&e.jsx("span",{className:"wp-cat-opt-price",children:"★".repeat(Math.min(5,t.stars))})]}),c&&e.jsx(Z,{size:17,className:"wp-cat-opt-check"})]},a)})})]})}),ri&&e.jsx("div",{className:"wp-modal-overlay",onClick:()=>we(!1),children:e.jsxs("div",{className:"wp-modal wp-enq-modal",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"wp-modal-head",children:[e.jsx("div",{className:"wp-modal-title",children:"Want to Go For A Memorable Holiday?"}),e.jsx("button",{type:"button",className:"wp-modal-x",onClick:()=>we(!1),children:e.jsx(je,{size:20})})]}),xi?e.jsxs("div",{className:"wp-enq-done",children:[e.jsx("span",{className:"wp-enq-done-ico",children:e.jsx(Z,{size:26})}),e.jsx("h3",{children:"Enquiry Submitted!"}),e.jsxs("p",{children:["Thank you, ",qe||"traveller",'. Our travel expert will c
2ontact you shortly about "',i.title,'".']}),e.jsx("button",{type:"button",className:"wp-enq-submit",onClick:()=>we(!1),children:"Done"})]}):e.jsxs("div",{className:"wp-enq-body",children:[e.jsx("label",{className:"wp-enq-label",children:"Package Name"}),e.jsxs("div",{className:"wp-enq-field wp-enq-readonly",children:[e.jsx(de,{size:15}),e.jsx("span",{children:i.title})]}),e.jsx("div",{className:"wp-enq-divider",children:"Personal Details"}),e.jsxs("div",{className:"wp-enq-row",children:[e.jsxs("div",{className:"wp-enq-col",children:[e.jsx("label",{className:"wp-enq-label",children:"Name"}),e.jsx("div",{className:"wp-enq-field",children:e.jsx("input",{value:qe,onChange:t=>li(t.target.value),placeholder:"Your Name"})})]}),e.jsxs("div",{className:"wp-enq-col",children:[e.jsx("label",{className:"wp-enq-label",children:"Mobile No."}),e.jsxs("div",{className:"wp-enq-field",children:[e.jsx("span",{className:"wp-enq-prefix",children:"+91"}),e.jsx("input",{value:_e,onChange:t=>ci(t.target.value.replace(/[^\d\s]/g,"")),placeholder:"Mobile No.",inputMode:"tel",maxLength:12})]})]})]}),e.jsx("label",{className:"wp-enq-label",children:"Email ID"}),e.jsxs("div",{className:"wp-enq-field",children:[e.jsx("input",{value:Nt,onChange:t=>di(t.target.value),placeholder:"Your E-Mail Address",type:"email"}),e.jsx(Rt,{size:15})]}),e.jsx("div",{className:"wp-enq-row wp-enq-counters",children:[{label:"Adult",value:Ke,set:pi,min:1},{label:"Child",value:Xe,set:hi,min:0},{label:"Infant",value:Ze,set:fi,min:0}].map(t=>e.jsxs("div",{className:"wp-enq-col",children:[e.jsx("label",{className:"wp-enq-label",children:t.label}),e.jsxs("div",{className:"wp-enq-stepper",children:[e.jsx("button",{type:"button",onClick:()=>t.set(Math.max(t.min,t.value-1)),children:"−"}),e.jsx("span",{children:t.value}),e.jsx("button",{type:"button",onClick:()=>t.set(Math.min(20,t.value+1)),children:"+"})]})]},t.label))}),zt&&e.jsx("div",{className:"wp-enq-error",children:zt}),e.jsx("button",{type:"button",className:"wp-enq-submit",onClick:gi,disabled:Ct,children:Ct?"Submitting…":"Enquire Now"})]})]})}),e.jsx(pt,{})]})},ht=`
3.wp-root { background:#f6f8fb; min-height:100vh; color:#0f172a; padding-top:var(--main-header-height,72px); }
4/* Solid white bar sitting behind the (transparent-at-top) fixed header so it reads as a white header on this page. */
5.wp-header-fill { position:fixed; top:0; left:0; right:0; height:var(--main-header-height,72px); background:#fff; z-index:99; border-bottom:1px solid #eef0f3; }
6.wp-state { max-width:520px; margin:80px auto; text-align:center; padding:0 20px; color:#475569; }
7.wp-state-emoji { font-size:56px; margin-bottom:12px; }
8.wp-spinner { width:40px; height:40px; margin:0 auto 18px; border:3px solid #e2e8f0; border-top-color:#1d4ed8; border-radius:50%; animation:wp-spin .8s linear infinite; }
9@keyframes wp-spin { to { transform:rotate(360deg); } }
10
11/* hero */
12.wp-hero { position:relative; height:380px; overflow:hidden; }
13.wp-hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
14.wp-hero-fallback { background:linear-gradient(135deg,#1e3a8a,#0e7490); }
15.wp-hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.05) 40%,rgba(0,0,0,.72) 100%); }
16.wp-hero-inner { position:relative; max-width:1160px; margin:0 auto; height:100%; padding:22px 24px; display:flex; flex-direction:column; justify-content:space-between; }
17.wp-back { align-self:flex-start; display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.92); color:#0f172a; border:none; padding:8px 14px; border-radius:999px; font-size:13px; font-weight:600; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.15); }
18.wp-back:hover { background:#fff; }
19.wp-hero-bottom { color:#fff; }
20.wp-hero-chips { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
21.wp-hero-chip { background:rgba(255,255,255,.18); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.35); padding:5px 12px; border-radius:999px; font-size:12px; font-weight:600; }
22.wp-hero-title { font-size:34px; line-height:1.15; font-weight:800; margin:0 0 12px; max-width:760px; text-shadow:0 2px 16px rgba(0,0,0,.4); }
23.wp-hero-meta { display:flex; gap:20px; flex-wrap:wrap; font-size:14px; font-weight:500; }
24.wp-hero-meta span { display:inline-flex; align-items:center; gap:6px; opacity:.95; }
25
26/* sub nav */
27.wp-subnav { position:sticky; top:var(--main-header-height,72px); z-index:30; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid #e6ebf3; }
28.wp-subnav-inner { max-width:1160px; margin:0 auto; padding:0 24px; display:flex; gap:6px; overflow-x:auto; }
29.wp-subnav-item { background:none; border:none; padding:16px 14px; font-size:14px; font-weight:600; color:#64748b; cursor:pointer; border-bottom:2.5px solid transparent; white-space:nowrap; }
30.wp-subnav-item:hover { color:#1d4ed8; }
31.wp-subnav-item.is-active { color:#1d4ed8; border-bottom-color:#1d4ed8; }
32
33/* body layout */
34.wp-body { max-width:1160px; margin:0 auto; padding:26px 24px 60px; display:grid; grid-template-columns:1fr 340px; gap:26px; align-items:start; }
35.wp-main { display:flex; flex-direction:column; gap:20px; min-width:0; }
36.wp-card { background:#fff; border:1px solid #eef2f7; border-radius:16px; padding:24px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
37.wp-h2 { display:flex; align-items:center; gap:9px; font-size:19px; font-weight:800; margin:0 0 14px; color:#0f172a; }
38.wp-h2 svg { color:#0d9488; }
39.wp-h3 { font-size:15px; font-weight:700; margin:18px 0 10px; color:#0f172a; }
40.wp-para { font-size:14.5px; line-height:1.7; color:#475569; margin:0 0 12px; }
41.wp-muted { color:#64748b; font-size:13.5px; }
42.wp-link-btn { background:none; border:none;
42 color:#1d4ed8; font-weight:600; font-size:13.5px; cursor:pointer; padding:0; }
43
44/* overview quick-facts grid — individual cards, color-coded icons */
45.wp-facts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0 4px; }
46.wp-fact-tile { display:flex; align-items:center; gap:13px; padding:14px 16px; background:#fff; border:1px solid #edf1f6; border-radius:13px; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
47.wp-fact-tile:hover { border-color:#dbe3ee; box-shadow:0 8px 20px rgba(15,23,42,.07); transform:translateY(-2px); }
48.wp-fact-tile-ico { flex-shrink:0; width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; }
49.wp-fact-tile-text { display:flex; flex-direction:column; min-width:0; }
50.wp-fact-tile-label { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#94a3b8; line-height:1.2; }
51.wp-fact-tile-value { font-size:14.5px; font-weight:700; color:#0f172a; line-height:1.35; margin-top:3px; }
52
53/* itinerary days */
54.wp-days { display:flex; flex-direction:column; gap:12px; }
55.wp-day { border:1px solid #e8edf5; border-radius:12px; overflow:hidden; transition:border-color .15s; }
56.wp-day.is-open { border-color:#c7d7f5; box-shadow:0 2px 10px rgba(29,78,216,.06); }
57.wp-day-head { width:100%; display:flex; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:none; cursor:pointer; text-align:left; }
58.wp-day-badge { flex-shrink:0; width:46px; text-align:center; font-size:11px; font-weight:700; line-height:1.2; color:#1d4ed8; background:#eef4ff; border-radius:9px; padding:6px 0; }
59.wp-day-title { flex:1; font-size:15px; font-weight:700; color:#0f172a; }
60.wp-day-chev { color:#94a3b8; transition:transform .2s; flex-shrink:0; }
61.wp-day.is-open .wp-day-chev { transform:rotate(180deg); }
62.wp-day-body { padding:4px 16px 18px 16px; border-top:1px solid #f1f5f9; }
63.wp-acts { list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:11px; }
64.wp-act { display:flex; gap:11px; align-items:flex-start; }
65.wp-act-ico { flex-shrink:0; width:28px; height:28px; border-radius:8px; background:#f0fdfa; color:#0d9488; display:flex; align-items:center; justify-content:center; }
66.wp-act-time { display:block; font-size:11.5px; font-weight:700; color:#0d9488; text-transform:uppercase; letter-spacing:.02em; margin-bottom:2px; }
67.wp-act-text { font-size:14px; color:#334155; line-height:1.5; }
68.wp-day-details { font-size:13.5px; line-height:1.65; color:#64748b; margin:14px 0 0; background:#f8fafc; padding:12px 14px; border-radius:9px; }
69.wp-day-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; margin-top:12px; }
70.wp-day-gallery img { width:100%; height:96px; object-fit:cover; border-radius:9px; }
71
72/* hotels */
73.wp-hotels { display:flex; flex-direction:column; gap:10px; }
74.wp-hotel { display:flex; align-items:center; gap:14px; padding:13px 15px; border:1px solid #eef2f7; border-radius:12px; background:#fbfdff; }
75.wp-hotel.has-img { padding:12px; }
76.wp-hotel-ico { width:42px; height:42px; border-radius:10px; background:#eff6ff; color:#2563eb; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
77.wp-hotel-img { width:104px; height:78px; border-radius:11px; object-fit:cover; flex-shrink:0; background:#eef2f7; }
78.wp-hotel-info { flex:1; min-width:0; }
79.wp-hotel-name { font-size:14.5px; font-weight:700; color:#0f172a; }
80.wp-hotel-sub { display:flex; gap:14px; flex-wrap:wrap; margin-top:3px; font-size:12.5px; color:#64748b; }
81.wp-hotel-sub span { display:inline-flex; align-items:center; gap:4px; }
82.wp-hotel-stars { display:flex; gap:2px; flex-shrink:0; }
83.wp-hotel-right { display:flex; flex-direction:column; align-items:flex-end; gap:9px; flex-shrink:0; }
84.wp-hotel-change { background:#eff4ff; color:#1d4ed8; border:1px solid #dbe4fb; padding:7px 16px; border-radius:9px; font-size:13px; font-weight:700; cursor:pointer; transition:background .15s; }
85.wp-hotel-change:hover { background:#e0e9fd; }
86.wp-hotel-loading { margin-top:12px; font-size:12.5px; color:#94a3b8; font-weight:600; }
87
88/* change-hotel modal */
89.wp-modal-overlay { position:fixed; inset:0; z-index:9000; background:rgba(15,23,42,.5); display:flex; align-items:center; justify-content:center; padding:20px; }
90.wp-modal { background:#fff; width:100%; max-width:560px; max-height:82vh; border-radius:16px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.3); }
91.wp-modal-head { display:flex; align-items:flex-start; justify-content:space-between; padding:18px 20px; border-bottom:1px solid #eef2f7; }
92.wp-modal-title { font-size:17px; font-weight:800; color:#0f172a; }
93.wp-modal-sub { font-size:13px; color:#64748b; margin-top:2px; }
94.wp-modal-x { background:none; border:none;
94 color:#64748b; cursor:pointer; padding:4px; border-radius:8px; display:flex; }
95.wp-modal-x:hover { background:#f1f5f9; }
96.wp-modal-search { padding:14px 20px; border-bottom:1px solid #eef2f7; }
97.wp-modal-search input { width:100%; box-sizing:border-box; height:42px; padding:0 14px; border:1px solid #e2e8f0; border-radius:10px; font-size:14px; outline:none; }
98.wp-modal-search input:focus { border-color:#93b4f5; }
99.wp-modal-list { overflow-y:auto; padding:12px; display:flex; flex-direction:column; gap:8px; }
100.wp-opt { display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:#fff; border:1px solid #eef2f7; border-radius:12px; padding:10px; cursor:pointer; transition:border-color .15s, background .15s; }
101.wp-opt:hover { border-color:#c7d7f5; background:#fafcff; }
102.wp-opt.is-selected { border-color:#1d4ed8; background:#eff4ff; }
103.wp-opt-img { width:74px; height:60px; border-radius:9px; object-fit:cover; flex-shrink:0; background:#eef2f7; }
104.wp-opt-noimg { display:flex; align-items:center; justify-content:center; color:#94a3b8; }
105.wp-opt-info { flex:1; min-width:0; }
106.wp-opt-name { font-size:14px; font-weight:700; color:#0f172a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
107.wp-opt-sub { display:flex; align-items:center; gap:12px; margin-top:3px; font-size:12.5px; color:#64748b; }
108.wp-opt-sub span { display:inline-flex; align-items:center; gap:3px; }
109.wp-opt-stars { color:#f59e0b; letter-spacing:1px; }
110.wp-opt-price { flex-shrink:0; font-size:15px; font-weight:800; color:#0f172a; text-align:right; }
111.wp-opt-price span { display:block; font-size:10.5px; font-weight:600; color:#94a3b8; }
112.wp-opt-check { color:#1d4ed8; flex-shrink:0; }
113.wp-opt-note { text-align:center; font-size:12.5px; color:#94a3b8; padding:14px; }
114
115/* inclusions */
116.wp-incl-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
117.wp-incl-head { margin-top:0; }
118.wp-incl-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
119.wp-incl-list li { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#334155; line-height:1.5; }
120.wp-tick { flex-shrink:0; width:20px; height:20px; border-radius:6px; display:flex; align-items:center; justify-content:center; margin-top:1px; }
121.wp-tick-in { background:#dcfce7; color:#16a34a; }
122.wp-tick-out { background:#fee2e2; color:#dc2626; }
123.wp-incl-more { margin-top:12px; display:inline-flex; align-items:center; gap:5px; background:none; border:none; color:#1d4ed8; font-size:13.5px; font-weight:700; cursor:pointer; padding:2px 0; }
124.wp-incl-more:hover { color:#1e40af; }
125
126/* FAQs */
127.wp-faq-list { display:flex; flex-direction:column; gap:10px; }
128.wp-faq-item { border:1px solid #e2e8f0; border-radius:10px; background:#fff; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
129.wp-faq-item:hover { border-color:#cbd5e1; }
130.wp-faq-item-open { border-color:#bfdbfe; box-shadow:0 1px 3px rgba(15,23,42,.06); }
131.wp-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px; text-align:left; background:none; border:none; cursor:pointer; padding:14px 16px; font-size:14.5px; font-weight:600; color:#0f172a; line-height:1.45; font-family:inherit; }
132.wp-faq-q:hover { color:#1d4ed8; }
133.wp-faq-chev { flex-shrink:0; color:#64748b; transition:transform .2s; }
134.wp-faq-a { padding:0 16px 15px; font-size:14px; color:#475569; line-height:1.65; white-space:pre-wrap; }
135@media (max-width:640px) {
136  .wp-faq-q { padding:12px 13px; font-size:14px; }
137  .wp-faq-a { padding:0 13px 13px; font-size:13.5px; }
138}
139
140/* sidebar */
141/* Stop the sidebar below the fixed header; use a small offset so it sits near the top of the viewport. */
142.wp-side { position:sticky; top:calc(var(--main-header-height,72px) + 16px); display:flex; flex-direction:column; gap:18px; align-self:start; }
143
144/* price card */
145.wp-price-card { background:#fff; border:1px solid #eef2f7; border-radius:16px; padding:22px; box-shadow:0 4px 20px rgba(15,23,42,.06); }
146.wp-offer { display:inline-block; background:#fef3c7; color:#92400e; font-size:12px; font-weight:700; padding:5px 11px; border-radius:7px; margin-bottom:14px; }
147.wp-price-row { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
148.wp-price-orig { font-size:15px;
148 color:#94a3b8; text-decoration:line-through; }
149.wp-price { font-size:32px; font-weight:800; color:#0f172a; letter-spacing:-0.5px; }
150.wp-price-unit { font-size:15px; color:#334155; font-weight:600; }
151.wp-price-note { font-size:13px; color:#94a3b8; margin-top:4px; }
152
153/* category bar in Where You'll Stay */
154.wp-cat-bar { display:flex; align-items:center; gap:12px; margin:-4px 0 12px; }
155.wp-cat-badge { display:inline-block; background:#f0fdfa; color:#0d9488; border:1px solid #99f6e4; font-size:12.5px; font-weight:700; padding:4px 12px; border-radius:999px; }
156
157/* category picker modal */
158.wp-cat-opt { display:block; width:100%; text-align:left; background:#fff; border:1px solid #eef2f7; border-radius:12px; padding:14px; cursor:pointer; position:relative; transition:border-color .15s, background .15s; }
159.wp-cat-opt:hover { border-color:#c7d7f5; background:#fafcff; }
160.wp-cat-opt.is-selected { border-color:#0d9488; background:#f0fdfa; }
161.wp-cat-opt-top { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
162.wp-cat-opt-name { font-size:15px; font-weight:800; color:#0f172a; }
163.wp-cat-opt-price { font-size:16px; font-weight:800; color:#0d9488; }
164.wp-cat-opt-price span { font-size:11px; font-weight:600; color:#94a3b8; margin-left:2px; }
165.wp-cat-opt-hotels { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
166.wp-cat-opt-hotel { font-size:11.5px; color:#475569; background:#f1f5f9; border-radius:6px; padding:2px 8px; }
167.wp-cat-opt-check { position:absolute; top:14px; right:52px; color:#0d9488; }
168.wp-btn-pay { width:100%; margin-top:18px; display:inline-flex; align-items:center; justify-content:center; gap:8px; background:linear-gradient(180deg,#dc2626,#b91c1c); color:#fff; border:none; padding:15px 20px; border-radius:12px; font-size:14.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; cursor:pointer; box-shadow:0 8px 20px -6px rgba(220,38,38,.5); transition:filter .15s; }
169.wp-btn-pay:hover { filter:brightness(1.07); }
170.wp-btn-enquire { width:100%; margin-top:12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#eff4ff; color:#1d4ed8; border:1px solid #dbe4fb; padding:13px 20px; border-radius:12px; font-size:14.5px; font-weight:700; cursor:pointer; transition:background .15s; }
171.wp-btn-enquire:hover { background:#e3ecfe; }
172/* trust badges card (below hotels) */
173.wp-trust-strip { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
174.wp-trust-item { display:flex; align-items:center; gap:12px; background:#f8fafc; border:1px solid #eef2f7; padding:14px 16px; border-radius:12px; font-size:15px; font-weight:700; color:#334155; }
175.wp-trust-ico { flex-shrink:0; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
176.wp-trust-ok { background:#dcfce7; color:#16a34a; }
177.wp-trust-info { background:#dbeafe; color:#2563eb; }
178
179/* generic primary btn (error/back state) */
180.wp-btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:6px; background:#1d4ed8; color:#fff; border:none; padding:13px 20px; border-radius:11px; font-size:15px; font-weight:700; cursor:pointer; transition:background .15s; }
181.wp-btn-primary:hover { background:#1e40af; }
182
183/* package highlights card */
184.wp-ph-card { border-radius:16px; overflow:hidden; border:1px solid #f3e8d6; box-shadow:0 4px 20px rgba(15,23,42,.05); }
185.wp-ph-head { background:linear-gradient(90deg,#e69324,#dc4b3e); color:#fff; text-align:center; font-size:16px; font-weight:800; padding:15px; }
186.wp-ph-body { background:#fffdf5; padding:20px; }
187.wp-ph-list { list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:12px; }
188.wp-ph-list li { display:flex; align-items:flex-start; gap:10px; font-size:15px; font-weight:600; color:#1e293b; line-height:1.4; }
189.wp-ph-list li svg { flex-shrink:0; color:#d97706; margin-top:1px; }
190.wp-ph-actions { display:flex; flex-direction:column; align-items:center; gap:12px; }
191.wp-ph-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#fff; color:#0f172a; border:1px solid #e7ddc7; padding:11px 22px; border-radius:11px; font-size:14.5px; font-weight:700; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
192.wp-ph-btn:hover { border-color:#d6c8a8; box-shadow:0 4px 12px rgba(15,23,42,.06); }
193.wp-ph-btn:disabled { opacity:.6; cursor:default; }
194.wp-ph-btn-wide { width:100%; }
195
196/* enquire-now form modal */
197.wp-enq-modal { max-width:520px; }
198.wp-enq-body { padding:18px 22px 22px; overflow-y:auto; }
199.wp-enq-label { display:block; font-size:13px; font-weight:700; color:#0f172a; margin:12px 0 6px; }
200.wp-enq-field { display:flex; align-items:center; gap:8px; border:1px solid #e2e8f0; border-radius:11px; padding:0 14px; height:46px; background:#fff; color:#64748b; }
201.wp-enq-field:focus-within { border-color:#93b4f5; }
202.wp-enq-field input { flex:1; min-width:0; border:none; outline:none; font-size:14.5px; color:#0f172a; background:transparent; height:100%; }
203.wp-enq-readonly { background:#f8fafc; font-size:14.5px; font-weight:600; color:#0f172a; }
204.wp-enq-readonly span { flex:1; }
205.wp-enq-prefix { font-size:14px; font-weight:600; color:#334155; flex-shrink:0; }
206.wp-enq-divider { display:flex; align-items:center; gap:12px; font-size:16px; font-weight:800; color:#0f172a; margin:18px 0 2px; }
207.wp-enq-divider::after { content:''; flex:1; height:1px; background:#dbeafe; }
208.wp-enq-row { display:flex; gap:14px; }
209.wp-enq-col { flex:1; min-width:0; }
210.wp-enq-counters { justify-content:flex-start; }
211.wp-enq-counters .wp-enq-col { flex:0 0 auto; }
212.wp-enq-stepper { display:inline-flex; align-items:center; border:1px solid #e2e8f0; border-radius:11px; overflow:hidden; }
213.wp-enq-stepper button { width:38px; height:44px; background:#fff; border:none; font-size:19px; font-weight:700; color:#0f172a; cursor:pointer; }
214.wp-enq-stepper button:hover { background:#f1f5f9; }
215.wp-enq-stepper span { min-width:34px; text-align:center; font-size:16px; font-weight:800; color:#0f172a; }
216.wp-enq-error { margin-top:12px; background:#fef2f2; border:1px solid #fecaca; color:#dc2626; font-size:13px; font-weight:600; border-radius:9px; padding:9px 12px; }
217.wp-enq-submit { width:100%; margin-top:16px; background:linear-gradient(180deg,#dc2626,#b91c1c); color:#fff; border:none; padding:14px; border-radius:999px; font-size:16px; font-weight:700; cursor:pointer; box-shadow:0 8px 20px -6px rgba(220,38,38,.5); transition:filter .15s; }
218.wp-enq-submit:hover { filter:brightness(1.06); }
219.wp-enq-submit:disabled { opacity:.6; cursor:default; }
220.wp-enq-done { padding:34px 26px; text-align:center; }
221.wp-enq-done-ico { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:#dcfce7; color:#16a34a; margin-bottom:14px; }
222.wp-enq-done h3 { margin:0 0 8px; font-size:19px; font-weight:800; color:#0f172a; }
223.wp-enq-done p { margin:0 0 18px; font-size:14px; color:#475569; line-height:1.6; }
224
225/* responsive */
226@media (max-width:900px) {
227  .wp-body { grid-template-columns:1fr; }
228  .wp-side { position:static; }
229  .wp-hero { height:300px; }
230  .wp-hero-title { font-size:26px; }
231  .wp-incl-grid { grid-template-columns:1fr; gap:18px; }
232  .wp-trust-strip { grid-template-columns:1fr; }
233  .wp-facts-grid { grid-template-columns:repeat(2,1fr); }
234}
235@media (max-width:520px) {
236  .wp-facts-grid { grid-template-columns:1fr; }
237}
238`;export{fs as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.