1import{j as e}from"./vendor-three-DEXIDrGZ.js";import{f as z,u as I,b as i,L as j}from"./vendor-react-DugVcDEQ.js";import{s as d}from"./suites-NqVKzbRC.js";import{H as C,S as L}from"./index-3t39mgzu.js";import{S as E}from"./SuiteCard-Dl2ejFVY.js";import{c as R,s as T,l as A,A as _,m,X as D,o as F,p as H}from"./vendor-ui-DWOrrKcl.js";const O=({suite:r})=>{const n="https://siolimhouse.com",t=parseInt(r.specs.occupancy.replace(/\D/g,""))||2,h=parseInt(r.specs.area.replace(/\D/g,""))||50,u={"@context":"https://schema.org","@type":["HotelRoom","Product"],name:r.name,description:r.longDescription,image:[`${n}${r.heroImage}`,...r.gallery.slice(0,3).map(x=>`${n}${x.src}`)],url:`${n}/rooms/${r.slug}`,numberOfRooms:1,occupancy:{"@type":"QuantitativeValue",value:t,unitText:"Person"},floorSize:{"@type":"QuantitativeValue",value:h,unitCode:"MTK"},amenityFeature:r.amenities.map(x=>({"@type":"LocationFeatureSpecification",name:x.label,value:!0,img:"https://siolimhouse.com/assets/icons/check.png"})),offers:{"@type":"Offer",priceCurrency:"INR",price:r.price.replace(/[^\d]/g,""),availability:"https://schema.org/InStock",url:"https://hotels.cloudbeds.com/reservation/D7Hv4F"},containedInPlace:{"@type":"Hotel",name:"Siolim House",address:{"@type":"PostalAddress",streetAddress:"Wadi",addressLocality:"Siolim",addressRegion:"Goa",postalCode:"403517",addressCountry:"IN"}}};return e.jsx(C,{children:e.jsx("script",{type:"application/ld+json",children:JSON.stringify(u)})})},B=()=>{const{slug:r}=z(),n=I(),[t,h]=i.useState(null),[u,x]=i.useState(!0),[f,v]=i.useState(!1),[l,y]=i.useState(0),N=i.useRef(null);i.useEffect(()=>{const s=d.find(a=>a.slug===r);s?h(s):n("/suites"),x(!1),window.scrollTo(0,0)},[r,n]),i.useEffect(()=>{const s=()=>{const a=N.current,c=document.getElementById("booking-bar");if(!a||!c)return;const p=a.getBoundingClientRect(),S=window.innerHeight;p.bottom-S<=0?(c.style.position="absolute",c.style.bottom="0px"):(c.style.position="fixed",c.style.bottom="0px")};return window.addEventListener("scroll",s,{passive:!0}),s(),()=>window.removeEventListener("scroll",s)},[t]),i.useEffect(()=>{const s=a=>{f&&(a.key==="Escape"&&g(),a.key==="ArrowLeft"&&o(-1),a.key==="ArrowRight"&&o(1))};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[f,l]);const w=s=>{y(s),v(!0),document.body.style.overflow="hidden"},g=()=>{v(!1),document.body.style.overflow="auto"},o=s=>{if(!t)return;let a=l+s;a<0&&(a=t.gallery.length),a>=t.gallery.length&&(a=0),y(a)},b=d.findIndex(s=>s.slug===r),k=b!==-1?[d[(b+1)%d.length],d[(b+2)%d.length]]:[];return u||!t?e.jsx("div",{className:"min-h-screen bg-paper"}):e.jsxs("div",{ref:N,className:"bg-paper relative overflow-x-hidden selection:bg-rust selection:text-paper pb-32",children:[e.jsx(L,{title:t.seo.title,description:t.seo.description,image:t.heroImage}),e.jsx(O,{suite:t}),e.jsxs("header",{className:"relative w-full h-[90vh] flex items-center justify-center overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:t.heroImage,alt:t.name,className:"w-full h-full object-cover animate-in fade-in duration-[2s] scale-105"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-full h-32 bg-gradient-to-t from-paper to-transparent z-10 pointer-events-none"})]}),e.jsxs("div",{className:"relative z-10 text-center text-ink mix-blend-normal pointer-events-none",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[60vw] h-[60vh] bg-[radial-gradient(ellipse_at_center,_rgba(239,235,227,0.95)_0%,_rgba(239,235,227,0.9)_30%,_rgba(239,235,227,0)_70%)] -z-10 blur-3xl opacity-100"}),e.jsx("span",{className:"block font-sans text-xs tracking-[0.5em] uppercase mb-6 border-b border-rust pb-2 inline-block text-rust font-bold",children:t.subtitle}),e.jsxs("h1",{className:"font-serif text-7xl md:text-9xl leading-[0.8] tracking-tight drop-shadow-sm text-ink",children:[t.titleLine1," ",e.jsx("br",{})," ",e.jsx("span",{className:"italic font-light",children:t.titleLine2})]})]}),e.jsxs("div",{className:"absolute bottom-12 left-0 w-full flex justify-between px-6 md:px-12 text-ink/60 font-sans text-[10px] uppercase tracking-widest z-10 mix-blend-multiply",children:[e.jsx("span",{children:t.estAndType}),e.jsx("span",{children:t.locationLabel})]})]}),e.jsx("section",{className:"relative max-w-7xl mx-auto py-8 md:py-32 px-6 md:px-12",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-12 md:gap-32",children:[e.jsx("div",{className:"relative h-screen hidden md:block",children:e.jsxs("div",{className:"sticky top-24 h-[80vh] w-full overflow-hidden border border-ink/10 shadow-2xl rotate-1",children:[e.jsx("img",{src:t.verticalImage.src,alt:t.verticalImage.alt,className:"w-full h-full object-cover transition-all duration-[1.5s] ease-in-out"}),e.jsx("div",{className:"absolute bottom-4 right-4 bg-paper/90 px-3 py-1 text-[9px] font-sans tracking-widest uppercase text-ink",children:t.verticalImage.caption})]})}),e.jsxs("div",{className:"flex flex-col justify-center space-y-24 py-12",children:[e.jsxs("div",{children:[e.jsx("div",{className:"mb-4",children:e.jsx("img",{src:"/assets/branding/suite-crest.png",alt:"Heraldic Crest",className:"w-12 h-12 opacity-80"})}),e.jsx("h2",{className:"font-serif text-5xl text-ink leading-none mb-8",children:e.jsx("span",{className:"block",children:t.shortDe
1scription})}),e.jsx("p",{className:"font-serif text-xl leading-loose text-ink/80 text-justify first-letter:text-6xl first-letter:font-bold first-letter:mr-3 first-letter:float-left first-letter:mt-[-6px]",children:t.longDescription})]}),e.jsx("div",{className:"border-l-2 border-rust pl-8 py-2",children:e.jsxs("p",{className:"font-serif text-2xl italic text-ink/70 leading-relaxed",children:['"',t.quote,'"']})}),e.jsxs("div",{className:"space-y-8",children:[e.jsx("h3",{className:"font-sans text-xs uppercase tracking-[0.3em] text-ink/40",children:"The Composition"}),e.jsxs("div",{className:"grid grid-cols-2 gap-y-12 gap-x-8",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"block font-serif text-4xl text-ink",children:[t.specs.area.replace(/\D/g,""),e.jsx("span",{className:"text-sm align-top opacity-50",children:t.specs.area.replace(/\d/g,"")})]}),e.jsx("span",{className:"text-xs font-sans uppercase tracking-widest text-ink/50 mt-1 block",children:"Total Area"})]}),e.jsxs("div",{children:[e.jsxs("span",{className:"block font-serif text-4xl text-ink",children:[t.specs.occupancy.replace(/\D/g,"").replace(/-/g,""),e.jsx("span",{className:"text-sm align-top opacity-50",children:t.specs.occupancy.replace(/\d/g,"").replace(/-/g,"")})]}),e.jsx("span",{className:"text-xs font-sans uppercase tracking-widest text-ink/50 mt-1 block",children:"Occupancy"})]}),e.jsx("div",{className:"col-span-2 border-t border-ink/10 pt-6",children:e.jsx("ul",{className:"grid grid-cols-2 gap-4 font-serif text-lg text-ink/70",children:t.specs.details.map((s,a)=>e.jsxs("li",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-rust"})," ",s]},a))})})]})]})]})]})}),e.jsxs("section",{className:"border-t border-ink/10 relative",children:[e.jsx("div",{className:"absolute top-0 left-0 w-8 h-full bg-gradient-to-r from-paper to-transparent z-10 pointer-events-none md:hidden"}),e.jsx("div",{className:"absolute top-0 right-0 w-8 h-full bg-gradient-to-l from-paper to-transparent z-10 pointer-events-none md:hidden"}),e.jsxs("div",{className:"flex overflow-x-auto space-x-12 p-12 md:p-24 pb-32 no-scrollbar items-center",children:[e.jsxs("div",{className:"flex-shrink-0 w-64 md:w-80 pr-12 flex flex-col justify-center h-full",children:[e.jsx("span",{className:"font-sans text-xs uppercase tracking-[0.3em] text-rust mb-4 block",children:"Visual Index"}),e.jsxs("h3",{className:"font-serif text-4xl text-ink leading-tight",children:["The ",e.jsx("br",{})," ",e.jsx("span",{className:"italic opacity-60",children:"Archive"})]}),e.jsxs("p",{className:"font-sans text-[10px] uppercase tracking-widest text-ink/40 mt-8 leading-relaxed mb-4 md:mb-0",children:["A collection of details, light, and textures from the ",t.name,"."]}),e.jsxs("div",{className:"flex items-center gap-2 text-rust/60 md:hidden animate-pulse",children:[e.jsx("span",{className:"font-sans text-[9px] uppercase tracking-widest",children:"Scroll"}),e.jsx(R,{size:14})]})]}),t.gallery.map((s,a)=>e.jsxs("div",{className:`flex-shrink-0 flex flex-col space-y-4 cursor-pointer group ${a%2===0?"translate-y-8":"-translate-y-4"}`,style:{width:a===2?"32rem":"20rem"},onClick:()=>w(a),children:[e.jsxs("div",{className:`relative overflow-hidden shadow-lg border border-ink/5 ${a===2?"aspect-[16/9]":"aspect-[3/4]"}`,children:[e.jsx("div",{className:"absolute inset-0 bg-rust/0 group-hover:bg-rust/10 transition-colors z-10 duration-500"}),e.jsx(T,{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-paper opacity-0 group-hover:opacity-100 transition-opacity z-20 drop-shadow-md",size:32,strokeWidth:1}),e.jsx("img",{src:s.src,alt:s.alt,className:"w-full h-full object-cover transition-transform duration-[1.5s] ease-out group-hover:scale-105 filter sepia-[0.1]"})]}),e.jsx("span",{className:"font-sans text-[9px] uppercase tracking-widest text-ink/60 block text-right border-t border-ink/10 pt-2 group-hover:text-rust transition-colors",children:s.caption})]},a)),e.jsxs(j,{to:"/gallery",className:"flex-shrink-0 flex flex-col space-y-4 cursor-pointer group -translate-y-4",style:{width:"20rem"},children:[e.jsx("div",{className:"relative overflow-hidden shadow-sm border border-ink/5 aspect-[3/4] bg-rust/5 flex items-center justify-center group-hover:bg-rust/10 transition-colors duration-500",children:e.jsxs("div",{className:"text-center group-hover:scale-105 transition-transform duration-500",children:[e.jsx("span",{className:"font-serif italic text-3xl text-rust block mb-2",children:"View All"}),e.jsx("span",{className:"font-sans text-[10px] uppercase tracking-widest text-ink/60",children:"The Gallery"})]})}),e.jsx("span",{className:"font-sans text-[9px] uppercase tracking-widest text-ink/60 block text-right border-t border-ink/10 pt-2 group-hover:text-rust transition-colors",children:"Explore Full Collection"})]})]})]}),e.jsxs("section",{className:"relative w-full h-[60vh] bg-ink overflow-hidden flex items-center justify-center",children:[e.jsx("div",{className:"absolute inset-0 opacity-40",children:e.jsx("img",{src:t.gallery[t.gallery.length-1].src,className:"w-full h-full object-cover grayscale blur-sm",alt:"Texture Overlay"})}),e.jsxs("div",{className:"relative z-10 text-center px-6",children:[e.jsx(A,{className:"text-paper mx-auto mb-6 opacity-80",size:32}),e.jsx("p",{className:"font-serif text-3xl md:text-5xl text-paper italic max-w-2xl leading-tight",children:'"Silence is the most luxuri
1ous amenity we offer."'})]})]}),e.jsxs("section",{className:"max-w-5xl mx-auto py-24 px-6 md:px-12",children:[e.jsxs("div",{className:"flex flex-col md:flex-row items-baseline justify-between mb-16 border-b border-ink/20 pb-6",children:[e.jsx("h3",{className:"font-serif text-4xl text-ink",children:"Modern Comforts"}),e.jsx("span",{className:"font-sans text-xs uppercase tracking-widest text-ink/40 mt-4 md:mt-0",children:"Seamlessly Integrated"})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-y-12 gap-x-6",children:t.amenities.map((s,a)=>e.jsxs("div",{className:"group flex flex-col items-center text-center",children:[e.jsx(s.icon,{className:"w-6 h-6 text-rust mb-3 group-hover:scale-110 transition-transform",strokeWidth:1.5}),e.jsx("h4",{className:"font-serif text-lg text-ink/80",children:s.label})]},a))})]}),e.jsx("section",{className:"bg-paper py-32 px-6 border-t border-ink/10",children:e.jsxs("div",{className:"max-w-7xl mx-auto",children:[e.jsxs("div",{className:"text-center mb-24",children:[e.jsx("span",{className:"font-sans text-xs tracking-[0.4em] uppercase text-rust block mb-6",children:"Explore Further"}),e.jsx("h3",{className:"font-serif text-5xl text-ink",children:"More Sanctuaries"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-12",children:k.map(s=>e.jsx(E,{suite:s},s.id))})]})}),e.jsxs("div",{id:"booking-bar",className:"fixed bottom-0 left-0 w-full bg-paper/95 backdrop-blur-md border-t border-ink/10 py-4 md:py-6 px-4 md:px-12 flex flex-row justify-between items-center z-50 shadow-[0_-5px_20px_rgba(0,0,0,0.05)] transition-all duration-300",children:[e.jsxs("div",{className:"text-left",children:[e.jsx("p",{className:"font-sans text-[9px] md:text-[10px] uppercase tracking-widest text-rust mb-0.5 md:mb-1",children:"Starting from"}),e.jsxs("p",{className:"font-serif text-xl md:text-3xl text-ink",children:[t.price," ",e.jsx("span",{className:"text-sm md:text-base italic opacity-50",children:"/ night"})]})]}),e.jsxs("div",{className:"flex gap-2 md:gap-4",children:[e.jsx(j,{to:"/suites",className:"hidden md:inline-flex border border-ink text-ink px-6 py-3 font-serif italic hover:bg-ink hover:text-paper transition-colors",children:"View All Rooms"}),e.jsx("a",{href:t.bookingLink||"https://hotels.cloudbeds.com/reservation/D7Hv4F",target:"_blank",rel:"noopener noreferrer",className:"bg-rust text-paper px-4 md:px-8 py-2.5 md:py-3 font-sans text-[10px] md:text-xs uppercase tracking-widest hover:bg-ink transition-colors shadow-lg inline-flex items-center justify-center",children:"Reserve Suite"})]})]}),e.jsx(_,{children:f&&e.jsxs(m.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[100] bg-black flex flex-col",children:[e.jsx("div",{className:"absolute top-0 left-0 w-full p-6 md:p-8 flex justify-end items-start z-[120]",children:e.jsx("button",{className:"p-2 rounded-full bg-black/20 backdrop-blur-md border border-white/10 text-white/80 hover:bg-white hover:text-black transition-all duration-300",onClick:g,children:e.jsx(D,{size:24})})}),e.jsx(m.div,{className:"relative flex-1 w-full h-full overflow-hidden flex items-center justify-center",initial:{opacity:0,scale:1.05},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.6,ease:"easeOut"},onTouchStart:s=>{const a=s.touches[0];s.currentTarget.dataset.touchStartX=a.clientX.toString()},onTouchEnd:s=>{const a=s.changedTouches[0],p=parseFloat(s.currentTarget.dataset.touchStartX||"0")-a.clientX;Math.abs(p)>50&&(p>0?o(1):o(-1))},children:l<t.gallery.length?e.jsxs(e.Fragment,{children:[e.jsx("img",{src:t.gallery[l].src,alt:t.gallery[l].alt,className:"max-w-full max-h-full object-contain shadow-2xl pointer-events-none select-none"}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 h-32 bg-gradient-to-t from-black/80 to-transparent pointer-events-none"})]}):e.jsxs(j,{to:"/gallery",onClick:g,className:"relative w-full h-full flex flex-col items-center justify-center group",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:t.gallery[0].src,alt:"Gallery Background",className:"w-full h-full object-cover blur-xl opacity-40 group-hover:scale-105 transition-transform duration-[2s]"}),e.jsx("div",{className:"absolute inset-0 bg-black/60"})]}),e.jsxs("div",{className:"relative z-10 text-center space-y-8 p-12 border border-white/10 bg-black/20 backdrop-blur-sm max-w-lg mx-auto",children:[e.jsx("span",{className:"font-sans text-xs uppercase tracking-[0.4em] text-white/60 block",children:"Archive"}),e.jsxs("h2",{className:"font-serif text-5xl md:text-7xl text-[gold] italic leading-tight",children:["The ",e.jsx("br",{})," Collection"]}),e.jsx("div",{className:"w-12 h-[1px] bg-white/30 mx-auto"}),e.jsx("p",{className:"font-sans text-[10px] uppercase tracking-widest text-white/80 group-hover:text-[gold] transition-colors pt-4",children:"Enter Full Gallery"})]})]})},l),e.jsxs("div",{className:"absolute bottom-0 left-0 w-full p-8 md:p-12 z-[120] flex flex-col md:flex-row items-start md:items-end justify-between gap-8 pointer-events-none",children:[e.jsx("div",{className:"max-w-xl text-white pointer-events-auto",children:l<t.gallery.length&&e.jsxs(e.Fragment,{children:[e.jsx(m.h3,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.2},className:"font-serif text-3xl md:text-4xl leading-tight mb-4",children:t.gallery[l].caption},`${l}-caption`),e.jsxs(m.div,{initial:{opacity:0}
1,animate:{opacity:1},transition:{duration:.5,delay:.4},className:"flex items-center gap-4 text-white/50 font-sans text-xs tracking-widest uppercase",children:[e.jsxs("span",{children:["0",l+1]}),e.jsx("span",{className:"w-8 h-[1px] bg-white/30"}),e.jsxs("span",{children:["0",t.gallery.length]})]})]})}),e.jsxs("div",{className:"flex items-center gap-4 pointer-events-auto",children:[e.jsx("button",{onClick:s=>{s.stopPropagation(),o(-1)},className:"w-14 h-14 rounded-full border border-white/20 flex items-center justify-center text-white hover:bg-white hover:text-black hover:border-transparent transition-all duration-300 backdrop-blur-sm",children:e.jsx(F,{size:24})}),e.jsx("button",{onClick:s=>{s.stopPropagation(),o(1)},className:"w-14 h-14 rounded-full border border-white/20 flex items-center justify-center text-white hover:bg-white hover:text-black hover:border-transparent transition-all duration-300 backdrop-blur-sm",children:e.jsx(H,{size:24})})]})]})]})})]})};export{B 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.