(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74355,e=>{"use strict";var a=e.i(43476),s=e.i(37902),r=e.i(71645),t=e.i(84515),i=e.i(57951),o=e.i(18566),n=e.i(57688);let c=(0,r.memo)(({room:e,isSelected:s,onSelect:t})=>{let i=(0,r.useCallback)(()=>t(e),[e,t]);return(0,a.jsxs)("div",{onClick:i,className:`room-option reveal ${s?"selected":""}`,children:[e.images&&e.images.length>0&&(0,a.jsxs)("div",{className:"room-thumbnail",children:[(0,a.jsx)(n.default,{src:e.images[0],alt:e.name,width:120,height:80,style:{objectFit:"cover",borderRadius:"8px"}}),e.images.length>1&&(0,a.jsxs)("span",{className:"image-count-badge",children:["+",e.images.length-1]})]}),(0,a.jsxs)("div",{className:"room-info",children:[(0,a.jsx)("h3",{children:e.name}),e.description&&(0,a.jsxs)("p",{className:"room-desc",children:[e.description.slice(0,60),"..."]}),(0,a.jsx)("div",{className:"room-details",children:(0,a.jsxs)("span",{children:[" Max ",e.max_guests," Guests"]})}),e.amenities&&e.amenities.length>0&&(0,a.jsx)("div",{className:"amenities-mini",children:e.amenities.slice(0,3).map((e,s)=>(0,a.jsxs)("span",{className:"amenity-mini",children:["✓ ",e]},s))})]}),(0,a.jsxs)("div",{className:"room-price",children:[(0,a.jsxs)("span",{className:"price",children:["₹",e.base_price]}),(0,a.jsx)("span",{className:"price-label",children:"/ night"})]})]})});function l(){let{user:e}=(0,i.useAuth)(),n=(0,o.useRouter)(),[l,d]=(0,r.useState)([]),[m,u]=(0,r.useState)([]),[b,p]=(0,r.useState)(null),[h,f]=(0,r.useState)([]),[x,g]=(0,r.useState)(!1),[j,k]=(0,r.useState)(""),[y,v]=(0,r.useState)(!1),[N,w]=(0,r.useState)(!1),C=(0,r.useRef)(null),[z,_]=(0,r.useState)({name:"",email:"",phone:"",checkIn:"",checkOut:"",guests:1}),[I,S]=(0,r.useState)({name:"",email:"",phone:"",checkIn:"",checkOut:"",guests:""}),O=(0,r.useMemo)(()=>new Date().toISOString().split("T")[0],[]),P=(0,r.useMemo)(()=>{let e=new Date;return e.setDate(e.getDate()+1),e.toISOString().split("T")[0]},[]),D=(0,r.useCallback)(()=>{C.current&&C.current.disconnect(),C.current=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.style.setProperty("--revealed","1"),e.target.classList.add("in-view"),C.current?.unobserve(e.target))})},{threshold:.08,rootMargin:"0px 0px -40px 0px"}),document.querySelectorAll(".reveal").forEach(e=>C.current?.observe(e))},[]);(0,r.useEffect)(()=>{let e,a;return e=requestAnimationFrame(()=>{a=setTimeout(D,50)}),()=>{cancelAnimationFrame(e),clearTimeout(a)}},[m,D]),(0,r.useEffect)(()=>{if(!window.Razorpay){let e=document.createElement("script");e.src="https://checkout.razorpay.com/v1/checkout.js",e.async=!0,document.body.appendChild(e)}},[]),(0,r.useEffect)(()=>{let e=!0;return t.supabase.from("rooms").select("id, name, base_price, max_guests, description, images, amenities").then(({data:a})=>{a&&e&&d(a)}),()=>{e=!1}},[]),(0,r.useEffect)(()=>{let e=!0;return(async()=>{try{var a;let s,[r,i]=await Promise.all([t.supabase.from("bookings").select("check_in, check_out").eq("status","confirmed"),t.supabase.from("blocked_dates").select("date")]);if(!e)return;let o=new Set;r.data&&(a=r.data,s=[],a.forEach(e=>{let a=new Date(e.check_in),r=new Date(e.check_out);for(;ao.add(e)),i.data&&i.data.forEach(e=>o.add(e.date)),f(Array.from(o))}catch(e){}})(),()=>{e=!1}},[]),(0,r.useEffect)(()=>()=>{C.current&&C.current.disconnect()},[]);let T=(0,r.useMemo)(()=>z.checkIn&&z.checkOut?Math.ceil((new Date(z.checkOut).getTime()-new Date(z.checkIn).getTime())/864e5):0,[z.checkIn,z.checkOut]),E=(0,r.useMemo)(()=>b?T*b.base_price:0,[b,T]),R=e=>e.trim()?e.trim().length<2?"Name must be at least 2 characters":/^[a-zA-Z\s]+$/.test(e)?"":"Name should only contain letters and spaces":"Full name is required",A=e=>e.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)?"":"Please enter a valid email address":"Email is required",Y=e=>{let a=e.replace(/\D/g,"");return e.trim()?10!==a.length?"Phone number must be exactly 10 digits":/^[6-9]/.test(a)?"":"Phone number must start with 6, 7, 8, or 9":"Phone number is required"},q=e=>e?ee?a?e<=a?"Check-out must be after check-in date":"":"Please select check-in date first":"Check-out date is required",B=e=>!e||e<1?"At least 1 guest is required":e>20?"Maximum 20 guests allowed":"",F=()=>{let e={name:R(z.name),email:A(z.email),phone:Y(z.phone),checkIn:q(z.checkIn),checkOut:$(z.checkOut,z.checkIn),guests:B(z.guests)};return S(e),!Object.values(e).some(e=>""!==e)},M=(0,r.useCallback)(async()=>{if(!F())return void k("Please fix the errors before checking availability");k(""),u([]),p(null),g(!0);try{let{data:e}=await t.supabase.from("bookings").select("room_id").eq("status","confirmed").lt("check_in",z.checkOut).gt("check_out",z.checkIn),a=e?.map(e=>e.room_id)||[],s=l.filter(e=>!a.includes(e.id)&&z.guests<=e.max_guests);0===s.length?k("No rooms available for selected dates and guest count."):(u(s),k(`${s.length} room${s.length>1?"s":""} available!`))}catch(e){k("Error checking availability. Please try again.")}finally{g(!1)}},[z,h,l]),H=(0,r.useCallback)(async()=>{if(!b)return void alert("Please select a room first");if(!F())return void alert("Please fix all errors before proceeding with payment");if(!e)return void w(!0);let a=T*b.base_price;try{let{data:s,error:r}=await t.supabase.from("bookings").insert({user_id:e.id,room_id:b.id,customer_name:z.name.trim(),email:z.email.trim(),phone:z.phone.replace(/\D/g,""),check_in:z.checkIn,check_out:z.checkOut,guests:z.guests,total_amount:a,advance_amount:a,status:"pending",payment_status:"pending"}).select().single();if(r)return void alert("Failed to create booking: "+r.message);let i=await fetch("/api/create-order",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({amount:a})}),o=await i.json(),c={key:"rzp_live_SNV637sPC5zmKb",amount:o.amount,currency:"INR",name:"Sukhakarta Holiday Home",description:`Booking for ${b.name}`,order_id:o.id,notes:{booking_id:s.id},handler:async function(e){let{error:r}=await t.supabase.from("bookings").update({status:"confirmed",payment_status:"completed",payment_id:e.razorpay_payment_id}).eq("id",s.id);if(!r){try{await fetch("/api/send-notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({booking_id:s.id,customer_name:z.name.trim(),customer_email:z.email.trim(),customer_phone:z.phone.replace(/\D/g,""),room_name:b.name,check_in:z.checkIn,check_out:z.checkOut,guests:z.guests,total_amount:a})})}catch(e){}v(!0),setTimeout(()=>n.push("/user/dashboard"),3e3)}},prefill:{name:z.name,email:z.email,contact:z.phone.replace(/\D/g,"")},theme:{color:"#f97316"}};new window.Razorpay(c).open()}catch(e){alert("Failed to initiate payment. Please try again.")}},[b,T,z,e,n]),L=(0,r.useCallback)(e=>{let a=e.target.value;_(e=>({...e,name:a})),S(e=>({...e,name:R(a)}))},[]),U=(0,r.useCallback)(e=>{let a=e.target.value;_(e=>({...e,email:a})),S(e=>({...e,email:A(a)}))},[]),G=(0,r.useCallback)(e=>{let a=e.target.value.replace(/\D/g,"").slice(0,10);_(e=>({...e,phone:a})),S(e=>({...e,phone:Y(a)}))},[]),K=(0,r.useCallback)(e=>{let a=e.target.value;_(e=>({...e,checkIn:a})),S(e=>({...e,checkIn:q(a),checkOut:$(e.checkOut,a)})),u([]),p(null)},[z.checkOut,h,O]),J=(0,r.useCallback)(e=>{let a=e.target.value;_(e=>({...e,checkOut:a})),S(e=>({...e,checkOut:$(a,e.checkIn)})),u([]),p(null)},[z.checkIn]),V=(0,r.useCallback)(e=>{let a=Number(e.target.value);_(e=>({...e,guests:a})),S(e=>({...e,guests:B(a)})),u([]),p(null)},[]),Z=(0,r.useCallback)(e=>p(e),[]);return(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 booking-page",children:[(0,a.jsxs)("div",{"aria-hidden":"true",className:"jsx-b92c37d215812e24 bg-mesh",children:[(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 mesh-layer-1"}),(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 mesh-layer-2"}),(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 grid-overlay"})]}),(0,a.jsx)("section",{className:"jsx-b92c37d215812e24 hero",children:(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 hero-content",children:[(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 hero-badge",children:"✦ Reserve Your Stay ✦"}),(0,a.jsx)("h1",{className:"jsx-b92c37d215812e24 hero-title",children:"Book Your Stay"}),(0,a.jsx)("p",{className:"jsx-b92c37d215812e24 hero-subtitle",children:"Create unforgettable memories at Sukhakarta Holiday Home"}),!e&&(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 login-notice reveal",children:(0,a.jsxs)("p",{className:"jsx-b92c37d215812e24",children:["Already have an account?"," ",(0,a.jsx)("a",{href:"/user/login",className:"jsx-b92c37d215812e24",children:"Login"})," or"," ",(0,a.jsx)("a",{href:"/user/register",className:"jsx-b92c37d215812e24",children:"Register"})]})})]})}),(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 container",children:(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 booking-grid",children:[(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-section reveal",children:[(0,a.jsx)("h2",{className:"jsx-b92c37d215812e24",children:"Reservation Details"}),(0,a.jsx)("p",{className:"jsx-b92c37d215812e24 form-subtitle",children:"All fields are mandatory"}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-group",children:[(0,a.jsx)("label",{className:"jsx-b92c37d215812e24",children:"Full Name *"}),(0,a.jsx)("input",{placeholder:"Your full name",value:z.name,onChange:L,onBlur:()=>S(e=>({...e,name:R(z.name)})),className:`jsx-b92c37d215812e24 input ${I.name?"error":""}`}),I.name&&(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 error-text",children:I.name})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-row",children:[(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-group",children:[(0,a.jsx)("label",{className:"jsx-b92c37d215812e24",children:"Email *"}),(0,a.jsx)("input",{type:"email",placeholder:"Enter Your Email",value:z.email,onChange:U,onBlur:()=>S(e=>({...e,email:A(z.email)})),className:`jsx-b92c37d215812e24 input ${I.email?"error":""}`}),I.email&&(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 error-text",children:I.email})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-group",children:[(0,a.jsx)("label",{className:"jsx-b92c37d215812e24",children:"Phone *"}),(0,a.jsx)("input",{type:"tel",placeholder:"Your 10-digit number",value:z.phone,onChange:G,maxLength:10,onBlur:()=>S(e=>({...e,phone:Y(z.phone)})),className:`jsx-b92c37d215812e24 input ${I.phone?"error":""}`}),I.phone&&(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 error-text",children:I.phone})]})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-row",children:[(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-group",children:[(0,a.jsx)("label",{className:"jsx-b92c37d215812e24",children:"Check-in Date *"}),(0,a.jsx)("input",{type:"date",value:z.checkIn,onChange:K,min:O,className:`jsx-b92c37d215812e24 input ${I.checkIn?"error":""}`}),I.checkIn&&(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 error-text",children:I.checkIn})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-group",children:[(0,a.jsx)("label",{className:"jsx-b92c37d215812e24",children:"Check-out Date *"}),(0,a.jsx)("input",{type:"date",value:z.checkOut,onChange:J,min:z.checkIn||P,disabled:!z.checkIn,className:`jsx-b92c37d215812e24 input ${I.checkOut?"error":""}`}),I.checkOut&&(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 error-text",children:I.checkOut})]})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 form-group",children:[(0,a.jsx)("label",{className:"jsx-b92c37d215812e24",children:"Number of Guests *"}),(0,a.jsx)("input",{type:"number",min:1,max:20,value:z.guests,onChange:V,className:`jsx-b92c37d215812e24 input ${I.guests?"error":""}`}),I.guests&&(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 error-text",children:I.guests})]}),(0,a.jsx)("button",{onClick:M,disabled:x,className:"jsx-b92c37d215812e24 check-btn",children:x?(0,a.jsx)("span",{className:"jsx-b92c37d215812e24 loader",children:"Checking Availability..."}):"Check Availability"}),j&&(0,a.jsx)("div",{className:`jsx-b92c37d215812e24 message ${m.length>0?"success":"error-msg"}`,children:j})]}),(0,a.jsxs)("div",{style:{"--delay":"120ms"},className:"jsx-b92c37d215812e24 summary-section reveal",children:[(0,a.jsx)("h2",{className:"jsx-b92c37d215812e24",children:"Available Rooms"}),0===m.length&&!j&&(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 empty-state",children:(0,a.jsx)("p",{className:"jsx-b92c37d215812e24",children:'Fill in the details and click "Check Availability" to see available rooms'})}),m.length>0&&(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 rooms-list",children:m.map((e,s)=>(0,a.jsx)(c,{room:e,isSelected:b?.id===e.id,onSelect:Z},e.id))}),b&&(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 booking-summary",children:[(0,a.jsx)("h3",{className:"jsx-b92c37d215812e24",children:"Booking Summary"}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 summary-item",children:[(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:"Room"}),(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:b.name})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 summary-item",children:[(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:"Nights"}),(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:T})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 summary-item",children:[(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:"Guests"}),(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:z.guests})]}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 summary-item",children:[(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:"Price per night"}),(0,a.jsxs)("span",{className:"jsx-b92c37d215812e24",children:["₹",b.base_price]})]}),(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 summary-divider"}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 summary-item total",children:[(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:"Total Amount"}),(0,a.jsxs)("span",{className:"jsx-b92c37d215812e24",children:["₹",E]})]}),(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 payment-info",children:(0,a.jsx)("span",{className:"jsx-b92c37d215812e24",children:"Payment required to confirm booking"})}),(0,a.jsxs)("button",{onClick:H,className:"jsx-b92c37d215812e24 payment-btn",children:["Pay ₹",E," & Confirm"]})]})]})]})}),N&&(0,a.jsx)("div",{onClick:()=>w(!1),className:"jsx-b92c37d215812e24 modal",children:(0,a.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"jsx-b92c37d215812e24 modal-content",children:[(0,a.jsx)("h3",{className:"jsx-b92c37d215812e24",children:"Login Required"}),(0,a.jsx)("p",{className:"jsx-b92c37d215812e24",children:"Please login or create an account to complete your booking"}),(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 modal-actions",children:[(0,a.jsx)("button",{onClick:()=>n.push("/user/login"),className:"jsx-b92c37d215812e24 action-btn primary",children:"Login"}),(0,a.jsx)("button",{onClick:()=>n.push("/user/register"),className:"jsx-b92c37d215812e24 action-btn secondary",children:"Register"}),(0,a.jsx)("button",{onClick:()=>w(!1),className:"jsx-b92c37d215812e24 action-btn tertiary",children:"Cancel"})]})]})}),y&&(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 modal",children:(0,a.jsxs)("div",{className:"jsx-b92c37d215812e24 modal-content",children:[(0,a.jsx)("div",{className:"jsx-b92c37d215812e24 success-icon",children:"✓"}),(0,a.jsx)("h3",{className:"jsx-b92c37d215812e24",children:"Booking Confirmed!"}),(0,a.jsx)("p",{className:"jsx-b92c37d215812e24",children:"Thank you for choosing Sukhakarta Holiday Home"}),(0,a.jsx)("p",{className:"jsx-b92c37d215812e24 modal-subtext",children:"Redirecting to your dashboard..."})]})}),(0,a.jsx)(s.default,{id:"b92c37d215812e24",children:".booking-page{color:#f8fafc;min-height:100vh;font-family:var(--font-outfit),system-ui,sans-serif;background:#04070f;position:relative;overflow-x:hidden}.bg-mesh{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0}.mesh-layer-1{background:radial-gradient(80% 60% at 100% 0,#f973162e 0%,#0000 60%),radial-gradient(70% 50% at 0 100%,#0ea5e926 0%,#0000 60%),linear-gradient(160deg,#04070f 0%,#0b1220 50%,#04070f 100%);position:absolute;inset:0}.mesh-layer-2{will-change:opacity;background:radial-gradient(40% 40%,#f973160d 0%,#0000 70%);animation:8s ease-in-out infinite alternate mesh-pulse;position:absolute;inset:0}@keyframes mesh-pulse{0%{opacity:.4}to{opacity:1}}.grid-overlay{background-image:linear-gradient(#f973160a 1px,#0000 1px),linear-gradient(90deg,#f973160a 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.reveal{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1)var(--delay,0s),transform .65s cubic-bezier(.22,1,.36,1)var(--delay,0s);will-change:opacity,transform;contain:layout style;transform:translateY(32px)}.reveal.in-view{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;contain:none;transition:none;transform:none}.mesh-layer-2{animation:none}}.hero{z-index:1;text-align:center;padding:9rem 1.5rem 4rem;position:relative}.hero-badge{letter-spacing:.25em;text-transform:uppercase;color:#f97316;background:#f9731614;border:1px solid #f9731666;border-radius:100px;margin-bottom:2rem;padding:.5rem 1.25rem;font-size:.75rem;font-weight:500;animation:.7s ease-out both fadeInDown;display:inline-block}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-family:var(--font-cormorant),Georgia,serif;letter-spacing:-.02em;-webkit-text-fill-color:transparent;background:linear-gradient(140deg,#fff 0%,#f4d5b8 50%,#f97316 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 1.25rem;font-size:max(2.8rem,min(7vw,5rem));font-weight:700;line-height:1.05;animation:.8s ease-out .15s both fadeInUp}.hero-subtitle{color:#f0f4f8cc;margin:0 0 2rem;font-size:max(1rem,min(2.5vw,1.4rem));font-weight:300;animation:.8s ease-out .3s both fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.login-notice{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:12px;margin-top:1.5rem;padding:1rem;display:inline-block}.login-notice p{margin:0;font-size:1rem}.login-notice a{color:#60a5fa;font-weight:600;text-decoration:none}.login-notice a:hover{color:#93c5fd}.container{z-index:1;max-width:1400px;margin:0 auto;padding:0 1.5rem 5rem;position:relative}.booking-grid{grid-template-columns:1.2fr 1fr;gap:3rem;display:grid}.form-section,.summary-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #f9731633;border-radius:24px;padding:2.5rem}h2{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff,#f97316);-webkit-background-clip:text;margin-bottom:.5rem;font-size:2rem}.form-subtitle{color:#94a3b8;margin-bottom:2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}label{color:#cbd5e1;margin-bottom:.5rem;font-weight:500;display:block}.input{color:#f8fafc;width:100%;font-size:1rem;font-family:var(--font-outfit),system-ui,sans-serif;background:#ffffff14;border:1px solid #f973164d;border-radius:12px;padding:1rem;transition:border-color .2s,background .2s,box-shadow .2s}.input:focus{background:#ffffff21;border-color:#f97316;outline:none;box-shadow:0 0 0 3px #f973161a}.input.error{background:#ef444414;border-color:#ef4444}.input.error:focus{box-shadow:0 0 0 3px #ef44441a}.input::placeholder{color:#64748b}.input:disabled{opacity:.5;cursor:not-allowed}input[type=date]::-webkit-calendar-picker-indicator{filter:invert()opacity(.5);cursor:pointer}.error-text{color:#fca5a5;margin-top:.5rem;font-size:.85rem;display:block}.check-btn,.payment-btn{color:#fff;cursor:pointer;will-change:transform;width:100%;font-size:1.1rem;font-weight:600;font-family:var(--font-outfit),system-ui,sans-serif;background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:12px;padding:1.2rem 2rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;box-shadow:0 10px 30px #f9731666}.check-btn:hover:not(:disabled),.payment-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 40px #f9731699}.check-btn:disabled{opacity:.7;cursor:not-allowed}.loader{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.message{text-align:center;border-radius:12px;margin-top:1.5rem;padding:1rem;font-weight:500}.message.error-msg{color:#fca5a5;background:#ef444426;border:1px solid #ef444466}.message.success{color:#86efac;background:#22c55e26;border:1px solid #22c55e66}.empty-state{text-align:center;color:#94a3b8;padding:4rem 2rem}.rooms-list{flex-direction:column;gap:1rem;max-height:600px;margin-bottom:2rem;display:flex;overflow-y:auto}.rooms-list::-webkit-scrollbar{width:6px}.rooms-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.rooms-list::-webkit-scrollbar-thumb{background:#f973164d;border-radius:3px}.rooms-list::-webkit-scrollbar-thumb:hover{background:#f9731680}.room-option{cursor:pointer;will-change:transform;background:#ffffff0d;border:2px solid #f9731633;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding:1rem;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .3s;display:grid}.room-option:hover{border-color:#f97316;transform:translate(5px);box-shadow:0 5px 20px #f9731633}.room-option.selected{background:#f973161a;border-color:#f97316;box-shadow:0 10px 30px #f973164d}.room-thumbnail{border-radius:8px;flex-shrink:0;width:120px;height:80px;position:relative;overflow:hidden}.image-count-badge{color:#fff;background:#0f172ae6;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600;position:absolute;bottom:4px;right:4px}.room-info{flex:1;min-width:0}.room-info h3{color:#f97316;margin-bottom:.5rem;font-size:1.1rem}.room-desc{color:#94a3b8;margin-bottom:.5rem;font-size:.85rem}.room-details{color:#cbd5e1;margin-bottom:.5rem;font-size:.85rem}.amenities-mini{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.amenity-mini{color:#64748b;font-size:.75rem}.room-price{text-align:right;flex-shrink:0}.price{color:#f97316;font-size:1.5rem;font-weight:700;display:block}.price-label{color:#94a3b8;font-size:.75rem}.booking-summary{background:#f9731614;border:1px solid #f973164d;border-radius:16px;margin-top:2rem;padding:1.5rem}.booking-summary h3{color:#f97316;margin-bottom:1.5rem;font-size:1.3rem}.summary-item{color:#cbd5e1;justify-content:space-between;margin-bottom:1rem;display:flex}.summary-divider{background:#f973164d;height:1px;margin:1.5rem 0}.summary-item.total{color:#f97316;font-size:1.5rem;font-weight:700}.payment-info{color:#60a5fa;background:#3b82f614;border:1px solid #3b82f640;border-radius:12px;align-items:center;gap:.75rem;margin:1.5rem 0;padding:1rem;font-size:.9rem;font-weight:500;display:flex}.payment-btn{margin-top:0}.modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#0f172af2;justify-content:center;align-items:center;padding:2rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:linear-gradient(135deg,#1e293bfa,#0f172afa);border:2px solid #f973164d;border-radius:24px;width:100%;max-width:500px;padding:3rem;animation:.4s cubic-bezier(.22,1,.36,1) scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.success-icon{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;font-size:3rem;animation:.6s cubic-bezier(.22,1,.36,1) bounce;display:flex}@keyframes bounce{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.modal-content h3{color:#22c55e;margin-bottom:.5rem;font-size:2rem}.modal-content p{color:#cbd5e1;margin-bottom:.5rem}.modal-subtext{color:#94a3b8;font-size:.9rem}.modal-actions{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.action-btn{cursor:pointer;will-change:transform;font-size:1rem;font-weight:600;font-family:var(--font-outfit),system-ui,sans-serif;border-radius:12px;padding:1rem 2rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s}.action-btn:hover{transform:translateY(-2px)}.action-btn.primary{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);border:none;box-shadow:0 8px 24px #f9731659}.action-btn.primary:hover{box-shadow:0 12px 32px #f9731680}.action-btn.secondary{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.action-btn.tertiary{color:#94a3b8;background:0 0;border:1px solid #94a3b84d}@media (width<=968px){.booking-grid,.form-row,.room-option{grid-template-columns:1fr}.room-price{text-align:left}}@media (width<=768px){.hero{padding:6rem 1rem 3rem}.container{padding:0 1rem 4rem}.form-section,.summary-section{padding:1.5rem}}"})]})}c.displayName="RoomOption",e.s(["default",()=>l])}]);