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.