1import{B as de,r,j as e}from"./vendor-react-B2RT89U9.js";import{a as me,Z as xe,u as he,S as K,B as g,A as y,P as T,e as P,h as pe,d as ge,t as ue,i as fe,j as be,I as je}from"./index-gDpiPSoZ.js";import{C as ye}from"./card-CV4rleUf.js";import{I as v}from"./input-Ds8nB8-7.js";import{u as Ne}from"./vendor-tanstack-MRWYOJqo.js";import{C as z}from"./calendar-Dim9-jMT.js";import{A as we}from"./award-DjUBUWtY.js";import{M as D}from"./map-pin-DEjH_fkr.js";import{H as Q}from"./hammer-BOE8KNIl.js";import{P as V}from"./percent-CDtAwd3x.js";import{C as ve}from"./circle-check-BXJqMDzq.js";import{U as ke}from"./user-Hn5t8BTM.js";import{C as Ce}from"./chef-hat-D9NAdyMM.js";import{B as Se}from"./bath-BgxKR4I4.js";import{H as Te}from"./house-_7-4E52f.js";import{D as Pe}from"./door-open-CHIcx2xw.js";import{V as G}from"./video-vunq3qMj.js";import{L as B}from"./loader-circle-CCVKtMXL.js";import{C as De}from"./clock-CL0zg-Qj.js";import{C as Be}from"./check-DyEIay8l.js";const H={kitchen_remodel:"https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=1200&h=600&fit=crop",bathroom_remodel:"https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?w=1200&h=600&fit=crop",room_addition:"https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1200&h=600&fit=crop",adu:"https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?w=1200&h=600&fit=crop",new_construction:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=1200&h=600&fit=crop"},Ee={kitchen_remodel:"Kitchen Remodel",bathroom_remodel:"Bathroom Remodel",room_addition:"Room Addition",adu:"ADU Construction",new_construction:"New Construction"},W={kitchen_remodel:["Custom cabinetry with soft-close hardware","Quartz or granite countertop installation","Modern lighting & electrical upgrades","Energy-efficient appliance integration","Professional project management","We handle all the paperwork"],bathroom_remodel:["Walk-in shower with frameless glass","Custom vanity & storage solutions","Heated flooring & towel warmers","Low-flow fixtures for water savings","Professional project management","We handle all the paperwork"],room_addition:["Seamless integration with existing layout","Foundation & structural engineering","Matching exterior finishes & roofline","Full electrical, plumbing, & HVAC","Professional project management","We handle all the paperwork"],adu:["Full architectural plans & design","Complete kitchen & bathroom build-out","Separate utility connections","Rental-ready with private entrance","Professional project management","We handle all the paperwork"],new_construction:["Custom floor plan design","Premium materials & finishes","Smart home technology integration","Energy-efficient building systems","Professional project management","We handle all the paperwork"]},J=[{id:"kitchen",label:"Kitchen",icon:Ce},{id:"bathroom",label:"Bathroom",icon:Se},{id:"adu",label:"ADU",icon:Te},{id:"room-addition",label:"Room Addition",icon:Pe},{id:"full-home",label:"Full Home",icon:Q},{id:"other",label:"Other",icon:K}];function Ae(N,u){const i=r.useRef(null),p=r.useRef(u);p.current=u,r.useEffect(()=>{let c=!0;const d=()=>{if(!window.google?.maps?.places||i.current)return;const l=document.getElementById(N);l&&(i.current=new window.google.maps.places.Autocomplete(l,{types:["address"],componentRestrictions:{country:"us"},fields:["formatted_address"]}),i.current.addListener("place_changed",()=>{const m=i.current.getPlace();m?.formatted_address&&p.current(m.formatted_address)}))};return(async()=>{if(window.google?.maps?.places){d();return}if(document.getElementById("google-maps-script")){window.initGooglePlaces=d;return}try{const l=await fetch("/api/maps-key");if(!l.ok)return;const{key:m}=await l.json();if(!m||!c)return;window.initGooglePlaces=d;const x=document.createElement("script");x.id="google-maps-script",x.src=`https://maps.googleapis.com/maps/api/js?key=${m}&libraries=places&callback=initGooglePlaces`,x.async=!0,x.defer=!0,document.head.appendChild(x)}catch{}})(),()=>{c=!1}},[N])}function Xe(){me("Special Offer | Exclusive Remodeling Deal | Oria Builders","Claim your exclusive remodeling offer from Oria Builders. Limited-time savings on kitchen, bathroom, and ADU projects in Los Angeles.",{canonicalPath:"/special-offer",noIndex:!0});
1const N=de(),u=new URLSearchParams(N),i=u.get("code")||"",p=u.get("incentive")||"",{data:c}=Ne({queryKey:["/api/special-offer/track",i,p],queryFn:async()=>{if(!i)return null;let t=`/api/special-offer/track?code=${encodeURIComponent(i)}`;p&&(t+=`&incentive=${encodeURIComponent(p)}`);const a=await fetch(t);return a.ok?a.json():null},enabled:!!i});r.useEffect(()=>{xe()},[]);const d=c?.projectCategory||"kitchen_remodel",k=Ee[d]||"Home Improvement",l=c?.ownerName,m=H[d]||H.kitchen_remodel,x=W[d]||W.kitchen_remodel,f=c?.incentive||"15% Off Your Project",E=c?.incentiveDescription||"",A=c?.incentiveValue||"",[w,b]=r.useState("form"),[s,o]=r.useState({name:l||"",email:"",phone:"",projectType:"",address:"",meetingType:"",smsConsent:!1}),[h,q]=r.useState(null),[n,L]=r.useState(null),[_,Z]=r.useState([]),[R,X]=r.useState([]),[ee,O]=r.useState(!1),[te,F]=r.useState(!1),[I,$]=r.useState(!1),[U,se]=r.useState(null),{toast:j}=he();Ae("offer-address-input",t=>{o(a=>({...a,address:t}))}),r.useEffect(()=>{l&&!s.name&&o(t=>({...t,name:l}))},[l]);const M=r.useRef(null),ae=()=>{M.current?.scrollIntoView({behavior:"smooth",block:"start"})},re=async()=>{O(!0);try{const t=await fetch("/api/booking/dates"),a=await t.json();if(!t.ok)throw new Error(a.error);Z(a.dates||[])}catch(t){j({title:"Error",description:t.message||"Could not load dates.",variant:"destructive"})}O(!1)},le=async t=>{F(!0),L(null);try{const a=await fetch(`/api/booking/slots?date=${t}`),Y=await a.json();if(!a.ok)throw new Error(Y.error);X(Y.slots||[])}catch{j({title:"Error",description:"Could not load time slots.",variant:"destructive"})}F(!1)},ie=t=>{q(t),le(t)},oe=()=>{if(!s.name||!s.email||!s.phone||!s.projectType||!s.meetingType){j({title:"Missing info",description:"Please fill in all fields.",variant:"destructive"});return}ue("special_offer_booking"),b("calendar"),_.length===0&&re()},ne=()=>{if(!n){j({title:"Select a time",description:"Please pick a time slot.",variant:"destructive"});return}b("confirm")},ce=async()=>{$(!0);try{const t=await fetch("/api/booking/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:s.name,email:s.email,phone:s.phone,smsConsent:s.smsConsent,projectType:s.projectType,projectAddress:s.address,meetingType:s.meetingType,message:`Special offer landing page (code: ${i||"direct"})`,startTime:n.start,endTime:n.end,...fe()})}),a=await t.json();if(!t.ok)throw new Error(a.error);se({meetLink:a.meetLink}),b("done"),be("special_offer_booking"),je()}catch(t){j({title:"Booking failed",description:t.message||"Something went wrong.",variant:"destructive"})}$(!1)},C=t=>new Date(t+"T12:00:00").toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"}),S=t=>new Date(t).toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0,timeZone:"America/Los_Angeles"});return e.jsxs("div",{className:"min-h-screen bg-white","data-testid":"page-special-offer",children:[e.jsxs("div",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0",children:[e.jsx("img",{src:m,alt:"",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-gray-900/90 via-gray-900/80 to-gray-900/95"})]}),e.jsxs("div",{className:"relative max-w-6xl mx-auto px-4 pt-8 pb-16 sm:pt-12 sm:pb-24",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[e.jsx("img",{src:"/logo-white.png",alt:"Oria Builders",className:"h-8 sm:h-10",onError:t=>{t.target.style.display="none"}}),e.jsx("span",{className:"text-white font-bold text-lg sm:text-xl",children:"Oria Builders"})]}),e.jsxs("div",{className:"max-w-3xl",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-amber-500/20 border border-amber-500/30 text-amber-300 text-xs font-bold tracking-widest uppercase px-4 py-2 rounded-full mb-5","data-testid":"badge-exclusive",children:[e.jsx(K,{className:"w-3.5 h-3.5"}),"Exclusive Neighborhood Offer"]}),l&&e.jsxs("p",{className:"text-white/80 text-lg mb-1","data-testid":"text-greeting",children:["Hi ",l,","]}),e.jsxs("h1",{className:"text-3xl sm:text-5xl lg:text-6xl font-extrabold text-white leading-[1.1] mb-5","data-testid":"heading-main",children:[e.jsx("span",{className:"text-amber-400",children:f})," for Your",e.jsx("br",{className:"hidden sm:block"})," ",k," Project"]}),e.jsx("p",{className:"text-white/70 text-lg sm:text-xl mb-8 max-w-2xl leading-relaxed","data-testid":"text-subtitle",children:"Upgrade your home with Oria Builders. Claim your exclusive discount and get started with a free, no-obligation consultation."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 mb-8",children:[e.jsxs(g,{size:"lg",onClick:ae,className:"bg-amber-500 hover:bg-amber-600 text-white font-bold text-base px-8 py-6 rounded-xl shadow-lg shadow-amber-500/25","data-testid":"button-book-hero",children:[e.jsx(z,{className:"w-5 h-5 mr-2"}),"Book Free Consultation",e.jsx(y,{className:"w-5 h-5 ml-2"})]}),e.jsx("a",{href:"tel:+18777786742",children:e.jsxs(g,{size:"lg",variant:"outline",className:"border-white/30 text-white hover:bg-white/10 font-semibold text-base px-6 py-6 rounded-xl w-full sm:w-auto","data-testid":"button-call-hero",children:[e.jsx(T,{className:"w-5 h-5 mr-2"}),"(877) 778-6742"]})})]}),e.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-white/60 text-sm",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(we,{className:"w-4 h-4 text-amber-400"})," ",P.license.display]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(D,{className:"w-4 h-4 text-amber-400"})," Offices in ",P.locations.map(t=>t.city).join(" & ")]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(Q,{className:"w-4 h-4 text-amber-400"})," Completing projects since ",P.servingSince]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(pe,{className:"w-4 h-4 text-amber-400"})," Licensed & Insured"]})]})]})]})]}),e.jsx("section",{className:"py-12 sm:py-16 px-4 bg-white","data-testid":"section-offer-details",children:e.jsx("div",{className:"max-w-5xl mx-auto",children:e.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-start",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx("div",{className:"w-10 h-10 bg-amber-100 rounded-lg flex items-center justify-center",children:e.jsx(V,{className:"w-5 h-5 text-amber-600"})}),e.jsxs("div",{children:[e.jsxs("p",{className:"font-bold text-gray-900",children:[f,A?` â ${A}`:""]}),e.jsx("p",{className:"text-sm text-gray-500",children:"No minimum. Present during consultation."})]})]}),e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold text-gray-900 mb-3","data-testid":"heading-included",children:["What's Included in Your ",k]}),e.jsx("p",{className:"text-gray-600 mb-6",children:"Every project comes with expert craftsmanship, premium materials, and a dedicated project manager from start to finish."}),e.jsx("div",{className:"space-y-3",children:x.map((t,a)=>e.jsxs("div",{className:"flex items-start gap-3","data-testid":`feature-${a}`,children:[e.jsx(ve,{className:"w-5 h-5 text-teal-600 flex-shrink-0 mt-0.5"}),e.jsx("span",{className:"text-gray-700",children:t})]},a))})]}),e.jsxs("div",{className:"bg-gray-50 rounded-2xl p-6 sm:p-8 border",children:[e.jsx("h3",{className:"text-xl font-bold text-gray-900 mb-6 text-center",children:"How It Works"}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsx("div",{className:"w-10 h-10 bg-teal-100 rounded-full flex items-center justify-center flex-shrink-0",children:e.jsx("span",{className:"text-teal-700 font-bold",children:"1"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-gray-900",children:"Book a Free Consultation"}),e.jsx("p",{className:"text-sm text-gray-600",children:"Choose a video call or in-person walkthrough at your convenience."})]})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx("div",{className:"w-10 h-10 bg-teal-100 rounded-full flex items-center justify-center flex-shrink-0",children:e.jsx("span",{className:"text-teal-700 font-bold",children:"2"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-gray-900",children:"Get Your Custom Plan & Quote"}),e.jsx("p",{className:"text-sm text-gray-600",children:"Our design team creates a plan tailored to your space, style, and budget."})]})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx("div",{className:"w-10 h-10 bg-teal-100 rounded-full flex items-center justify-center flex-shrink-0",children:e.jsx("span",{className:"text-teal-700 font-bold",children:"3"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-gray-900",children:"We Build Your Dream Space"}),e.jsxs("p",{className:"text-sm text-gray-600",children:["Our licensed team handles everything â on time, on budget.",E?` ${E}`:""]})]})]})]})]})]})})}),e.jsx("section",{ref:M,id:"book",className:"py-12 sm:py-16 px-4 bg-white","data-testid":"section-booking",children:e.jsxs("div",{className:"max-w-3xl mx-auto",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-teal-50 text-teal-700 text-sm font-bold px-4 py-2 rounded-full mb-4",children:[e.jsx(z,{className:"w-4 h-4"}),"Free 30-Minute Consultation"]}),e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold text-gray-900 mb-2","data-testid":"heading-booking",children:["Book Your Consultation â ",f]}),e.jsx("p",{className:"text-gray-600",children:"Pick a time that works for you. No obligation, no pressure â just expert advice."})]}),e.jsxs(ye,{className:"border-2 border-teal-100 rounded-2xl overflow-hidden",children:[w==="form"&&e.jsxs("div",{className:"p-6 sm:p-8 space-y-5","data-testid":"booking-step-form",children:[e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-700 mb-1 block",children:"Full Name *"}),e.jsxs("div",{className:"relative",children:[e.jsx(ke,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(v,{value:s.name,onChange:t=>o({...s,name:t.target.value}),placeholder:"Your full name",className:"pl-10","data-testid":"input-name"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-700 mb-1 block",children:"Email *"}),e.jsxs("div",{className:"relative",children:[e.jsx(ge,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(v,{type:"email",value:s.email,onChange:t=>o({...s,email:t.target.value}),placeholder:"[email protected]",className:"pl-10","data-testid":"input-email"})]})]})]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-700 mb-1 block",children:"Phone *"}),e.jsxs("div",{className:"relative",children:[e.jsx(T,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(v,{type:"tel",value:s.phone,onChange:t=>o({...s,phone:t.target.value}),placeholder:"(555) 555-5555",className:"pl-10","data-testid":"input-phone"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-700 mb-1 block",children:"Project Address"}),e.jsxs("div",{className:"relative",children:[e.jsx(D,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(v,{id:"offer-address-input",value:s.address,onChange:t=>o({...s,address:t.target.value}),placeholder:"Project address",className:"pl-10","data-testid":"input-address"})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Project Type *"}),e.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2",children:J.map(t=>e.jsxs("button",{onClick:()=>o({...s,projectType:t.id}),className:`flex flex-col items-center gap-1 p-3 rounded-xl border-2 transition-all text-center ${s.projectType===t.id?"border-teal-500 bg-teal-50 text-teal-700":"border-gray-200 hover:border-gray-300 text-gray-500"}`,"data-testid":`button-project-${t.id}`,children:[e.jsx(t.icon,{className:"w-5 h-5"}),e.jsx("span",{className:"text-xs font-medium",children:t.label})]},t.id))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-700 mb-2 block",children:"Meeting Type *"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>o({...s,meetingType:"zoom"}),className:`flex items-center gap-3 p-4 rounded-xl border-2 transition-all ${s.meetingType==="zoom"?"border-teal-500 bg-teal-50":"border-gray-200 hover:border-gray-300"}`,"data-testid":"button-meeting-zoom",children:[e.jsx(G,{className:`w-5 h-5 ${s.meetingType==="zoom"?"text-teal-600":"text-gray-400"}`}),e.jsxs("div",{className:"text-left",children:[e.jsx("p",{className:"font-medium text-sm text-gray-900",children:"Video Call"}),e.jsx("p",{className:"text-xs text-gray-500",children:"Google Meet consultation"})]})]}),e.jsxs("button",{onClick:()=>o({...s,meetingType:"onsite"}),className:`flex items-center gap-3 p-4 rounded-xl border-2 transition-all ${s.meetingType==="onsite"?"border-teal-500 bg-teal-50":"border-gray-200 hover:border-gray-300"}`,"data-testid":"button-meeting-onsite",children:[e.jsx(D,{className:`w-5 h-5 ${s.meetingType==="onsite"?"text-teal-600":"text-gray-400"}`}),e.jsxs("div",{className:"text-left",children:[e.jsx("p",{className:"font-medium text-sm text-gray-900",children:"On-Site Visit"}),e.jsx("p",{className:"text-xs text-gray-500",children:"We come to your property"})]})]})]})]}),e.jsxs("div",{className:"flex items-start gap-2 mt-2",children:[e.jsx("input",{type:"checkbox",id:"sms-consent-special-offer",checked:s.smsConsent,onChange:t=>o({...s,smsConsent:t.target.checked}
1),className:"mt-1 h-4 w-4 rounded border-gray-300 text-primary focus:ring-primary","data-testid":"checkbox-sms-consent"}),e.jsxs("label",{htmlFor:"sms-consent-special-offer",className:"text-xs text-muted-foreground leading-tight",children:["I agree to receive text messages from Oria Builders, including appointment confirmations, project status updates, and follow-up messages. Up to 5 msgs/month. Msg & data rates may apply. Reply STOP to opt out. View our"," ",e.jsx("a",{href:"/terms-of-service",className:"underline text-primary",children:"Terms of Service"})," ","&"," ",e.jsx("a",{href:"/privacy-policy",className:"underline text-primary",children:"Privacy Policy"}),"."]})]}),e.jsxs("p",{className:"text-xs text-gray-400 text-center mt-2","data-testid":"text-sms-consent",children:["See our"," ",e.jsx("a",{href:"/terms-of-service",className:"underline",children:"Terms of Service"})," ","&"," ",e.jsx("a",{href:"/privacy-policy",className:"underline",children:"Privacy Policy"}),"."]}),e.jsxs(g,{onClick:oe,size:"lg",className:"w-full bg-teal-600 hover:bg-teal-700 text-white font-bold py-6 rounded-xl","data-testid":"button-next-calendar",children:["Pick a Date & Time",e.jsx(y,{className:"w-5 h-5 ml-2"})]})]}),w==="calendar"&&e.jsxs("div",{className:"p-6 sm:p-8","data-testid":"booking-step-calendar",children:[e.jsxs("button",{onClick:()=>b("form"),className:"text-sm text-teal-600 hover:text-teal-700 mb-4 flex items-center gap-1","data-testid":"button-back-form",children:[e.jsx(y,{className:"w-4 h-4 rotate-180"})," Back to details"]}),e.jsx("h3",{className:"font-bold text-gray-900 text-lg mb-4",children:"Select a Date"}),ee?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(B,{className:"w-6 h-6 animate-spin text-teal-600"}),e.jsx("span",{className:"ml-2 text-gray-500",children:"Loading available dates..."})]}):e.jsx("div",{className:"grid grid-cols-4 sm:grid-cols-5 gap-2 mb-6",children:_.slice(0,15).map(t=>e.jsxs("button",{onClick:()=>ie(t),className:`p-3 rounded-xl border-2 text-center transition-all ${h===t?"border-teal-500 bg-teal-50 text-teal-700":"border-gray-200 hover:border-gray-300"}`,"data-testid":`date-${t}`,children:[e.jsx("p",{className:"text-xs text-gray-500",children:new Date(t+"T12:00:00").toLocaleDateString("en-US",{weekday:"short"})}),e.jsx("p",{className:"font-bold",children:new Date(t+"T12:00:00").getDate()}),e.jsx("p",{className:"text-xs text-gray-500",children:new Date(t+"T12:00:00").toLocaleDateString("en-US",{month:"short"})})]},t))}),h&&e.jsxs(e.Fragment,{children:[e.jsxs("h3",{className:"font-bold text-gray-900 text-lg mb-3",children:["Available Times for ",C(h)]}),te?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(B,{className:"w-6 h-6 animate-spin text-teal-600"})}):R.length===0?e.jsx("p",{className:"text-gray-500 text-center py-6",children:"No slots available for this date. Try another date."}):e.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-4 gap-2 mb-6",children:R.map((t,a)=>e.jsxs("button",{onClick:()=>L(t),className:`p-3 rounded-xl border-2 text-center text-sm font-medium transition-all ${n?.start===t.start?"border-teal-500 bg-teal-50 text-teal-700":"border-gray-200 hover:border-gray-300"}`,"data-testid":`slot-${a}`,children:[e.jsx(De,{className:"w-4 h-4 mx-auto mb-1 opacity-50"}),S(t.start)]},a))})]}),e.jsxs(g,{onClick:ne,size:"lg",disabled:!n,className:"w-full bg-teal-600 hover:bg-teal-700 text-white font-bold py-6 rounded-xl disabled:opacity-50","data-testid":"button-next-confirm",children:["Continue",e.jsx(y,{className:"w-5 h-5 ml-2"})]})]}),w==="confirm"&&e.jsxs("div",{className:"p-6 sm:p-8","data-testid":"booking-step-confirm",children:[e.jsxs("button",{onClick:()=>b("calendar"),className:"text-sm text-teal-600 hover:text-teal-700 mb-4 flex items-center gap-1","data-testid":"button-back-calendar",children:[e.jsx(y,{className:"w-4 h-4 rotate-180"})," Change time"]}),e.jsx("h3",{className:"font-bold text-gray-900 text-lg mb-4",children:"Confirm Your Booking"}),e.jsxs("div",{className:"bg-gray-50 rounded-xl p-5 space-y-3 mb-6",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-gray-500",children:"Name"}),e.jsx("span",{className:"font-medium text-gray-900",children:s.name})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-gray-500",children:"Email"}),e.jsx("span",{className:"font-medium text-gray-900",children:s.email})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-gray-500",children:"Phone"}),e.jsx("span",{className:"font-medium text-gray-900",children:s.phone})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-gray-500",children:"Project"}),e.jsx("span",{className:"font-medium text-gray-900",children:J.find(t=>
1t.id===s.projectType)?.label||s.projectType})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-gray-500",children:"Meeting"}),e.jsx("span",{className:"font-medium text-gray-900",children:s.meetingType==="zoom"?"Video Call":"On-Site Visit"})]}),e.jsxs("div",{className:"border-t pt-3 flex justify-between text-sm",children:[e.jsx("span",{className:"text-gray-500",children:"Date & Time"}),e.jsxs("span",{className:"font-bold text-teal-700",children:[h&&C(h)," at ",n&&S(n.start)," PT"]})]})]}),e.jsxs("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 mb-6 flex items-center gap-3",children:[e.jsx(V,{className:"w-5 h-5 text-amber-600 flex-shrink-0"}),e.jsxs("p",{className:"text-sm text-amber-800",children:["Your ",e.jsx("strong",{children:f})," will be applied during your consultation. No code needed â it's already attached to your booking."]})]}),e.jsx(g,{onClick:ce,disabled:I,size:"lg",className:"w-full bg-amber-500 hover:bg-amber-600 text-white font-bold py-6 rounded-xl","data-testid":"button-confirm-booking",children:I?e.jsxs(e.Fragment,{children:[e.jsx(B,{className:"w-5 h-5 mr-2 animate-spin"})," Booking..."]}):e.jsx(e.Fragment,{children:"Confirm Booking"})})]}),w==="done"&&e.jsxs("div",{className:"p-6 sm:p-8 text-center","data-testid":"booking-step-done",children:[e.jsx("div",{className:"w-16 h-16 bg-teal-100 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(Be,{className:"w-8 h-8 text-teal-600"})}),e.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-2",children:"You're All Set!"}),e.jsxs("p",{className:"text-gray-600 mb-4",children:["Your consultation is booked for ",h&&C(h)," at ",n&&S(n.start)," PT. Check your email for a confirmation with all the details."]}),U?.meetLink&&e.jsxs("a",{href:U.meetLink,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-teal-600 hover:text-teal-700 font-medium",children:[e.jsx(G,{className:"w-4 h-4"})," Join Google Meet"]}),e.jsx("div",{className:"mt-6 bg-amber-50 border border-amber-200 rounded-xl p-4",children:e.jsxs("p",{className:"text-sm text-amber-800",children:["Remember, your ",e.jsx("strong",{children:f})," is automatically applied. We look forward to meeting you!"]})})]})]}),e.jsx("p",{className:"text-center text-gray-400 text-xs mt-4",children:"Free consultation. No obligation. Cancel or reschedule anytime."})]})}),e.jsx("section",{className:"py-10 px-4 bg-gradient-to-br from-gray-900 to-gray-800","data-testid":"section-bottom-cta",children:e.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[e.jsx("h2",{className:"text-xl sm:text-2xl font-bold text-white mb-3",children:"Prefer to Talk to Someone?"}),e.jsx("p",{className:"text-gray-400 mb-5",children:"Call us directly â we're available Monday through Saturday."}),e.jsx("a",{href:"tel:+18777786742",children:e.jsxs(g,{size:"lg",className:"bg-amber-500 hover:bg-amber-600 text-white font-bold text-lg px-8 py-6 rounded-xl","data-testid":"button-call-bottom",children:[e.jsx(T,{className:"w-5 h-5 mr-2"}),"(877) 778-6742"]})})]})}),e.jsxs("footer",{className:"py-6 px-4 bg-gray-900 text-center border-t border-gray-800",children:[e.jsxs("p",{className:"text-gray-500 text-sm",children:["© ",new Date().getFullYear()," Oria Builders. Licensed & Insured. CSLB Licensed."]}),e.jsx("p",{className:"text-gray-600 text-xs mt-1",children:"Serving Los Angeles, San Francisco, San Jose, and surrounding areas."})]})]})}export{Xe 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.