1import{j as e}from"./ui-vendor-nFJYUoLq.js";import{k as T,bb as F,H as E,t as h,i,A as M,y as I,x as R,ak as z,bM as _,Y as A,Z as B,b3 as O,$ as W,aV as $,ad as u,M as D,a4 as C,aA as H,aI as J,bI as Y,bJ as U,bp as G,bq as Q,br as V,bs as K,aw as Z}from"./index-BWoHERUj.js";import{T as X}from"./TeslaMode-DYlTbicA.js";import{P as ee}from"./PageHero-CP9LHOzd.js";import{r as k,L as S}from"./react-vendor-Db61IHT2.js";import{o as re,s as p,e as se,u as ae}from"./form-vendor-EGNfBdqR.js";import{t as te,F as oe,a as n,b as l,c,d,e as m}from"./form-gOaoPPFM.js";import{F as ie}from"./FormConsentNotice-bKiaV1U5.js";import{T as ne}from"./textarea-DSZAvV6L.js";import{sendInquiry as le}from"./sendInquiry-CBahKI--.js";import{s as ce}from"./secondaryDelivery-CK9KRR9a.js";import{t as de}from"./adsConversion-CX__L8x3.js";import{P as g}from"./package-CtNc8aRc.js";import{S as me}from"./StickyBottomBar-Dk66Vaj7.js";import{m as xe}from"./service-mercury-logo-DNFtDZN5.js";import{T as q}from"./truck-BVLWckYE.js";import{S as pe}from"./shield-check-B0LTasOU.js";import"./supabase-XOXmZWMk.js";import"./label-BNVd2kWQ.js";import"./metaLeadEvents-CRUV_uPu.js";const he=re({firstName:p().trim().min(1,"Required").max(80),lastName:p().trim().min(1,"Required").max(80),email:p().trim().email("Invalid email").max(255),phone:p().trim().min(7,"Required").max(30),pickup:se(["st_pete","sarasota"]),boatInfo:p().trim().max(160).optional(),partNeeded:p().trim().min(1,"Tell us what you need").max(1e3)}),ue=()=>{const[s,b]=k.useState(!1),[j,y]=k.useState(null),N=T(),a=ae({resolver:te(he),defaultValues:{firstName:"",lastName:"",email:"",phone:"",pickup:"st_pete",boatInfo:"",partNeeded:""}}),L=async r=>{if(N.isBot()){y({firstName:r.firstName});return}try{b(!0);const x=["Parts request",r.pickup==="sarasota"?"Pickup / delivery: Sarasota service shop (shuttle from St. Pete)":"Pickup: St. Petersburg parts counter",r.boatInfo?`Boat / engine: ${r.boatInfo}`:null,"",r.partNeeded].filter(Boolean).join(` 2`),f=crypto.randomUUID(),v=I(x,{boatReference:r.boatInfo||void 0}),{error:w}=await R.from("inquiries").insert({id:f,first_name:r.firstName,last_name:r.lastName,email:r.email,phone:r.phone,message:v,inquiry_type:"service",boat_reference:r.boatInfo||null,service_location:r.pickup,source:"parts_page_form"});if(w)throw w;de({formName:"parts_request",dedupeKey:f}),y({firstName:r.firstName}),a.reset(),ce("parts_request",()=>le({type:"service",formName:"parts_request",leadCategory:"parts",firstName:r.firstName,lastName:r.lastName,email:r.email,phone:r.phone,message:v,serviceLocation:r.pickup,inquiryId:f}))}catch(t){const x=t instanceof Error?t.message:"Could not submit your request.";z({title:"Submission failed",description:x,variant:"destructive"})}finally{b(!1)}};return j?e.jsxs("div",{className:"text-center py-10",role:"status","aria-live":"polite",children:[e.jsx("div",{className:"mx-auto w-14 h-14 rounded-full bg-primary/10 flex items-center justify-center mb-5",children:e.jsx(F,{className:"w-8 h-8 text-primary"})}),e.jsxs("h3",{className:"font-heading text-2xl font-bold text-foreground mb-3",children:["Thanks, ",j.firstName,"."]}),e.jsx("p",{className:"text-muted-foreground max-w-md mx-auto leading-relaxed",children:"Our parts team at the St. Petersburg counter received your request and will follow up with availability and pricing."})]}):e.jsx(oe,{...a,children:e.jsxs("form",{onSubmit:a.handleSubmit(L),className:"space-y-5",children:[e.jsx(E,{...N.props}),e.jsxs("div",{className:"rounded-lg border border-primary/20 bg-primary/5 p-4 flex items-start gap-3",children:[e.jsx(g,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{className:"text-sm",children:[e.jsx("p",{className:"font-heading uppercase tracking-wider text-foreground font-bold",children:"Parts counter - St. Petersburg"}),e.jsxs("p",{className:"text-muted-foreground mt-0.5",children:["4701 95th St. Mon-Fri 8am-5pm, Sat 8am-12pm. Call"," ",e.jsx("a",{href:"tel:7273813333",className:"text-primary hover:underline",children:"727.381.3333"})," ","for same-day stock checks."]})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(n,{control:a.control,name:"firstName",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"First name"}),e.jsx(d,{children:e.jsx(h,{autoComplete:"given-name",...r})}),e.jsx(m,{})]})}),e.jsx(n,{control:a.control,name:"lastName",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"Last name"}),e.jsx(d,{children:e.jsx(h,{autoComplete:"family-name",...r})}),e.jsx(m,{})]})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(n,{control:a.control,name:"email",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"Email"}),e.jsx(d,{children:e.jsx(h,{type:"email",autoComplete:"email",...r})}),e.jsx(m,{})]})}),e.jsx(n,{control:a.control,name:"phone",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"Phone"}),e.jsx(d,{children:e.jsx(h,{type:"tel",autoComplete:"tel",...r})}),e.jsx(m,{})]})})]}),e.jsx(n,{control:a.control,name:"pickup",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"Where will you receive this part?"}),e.jsx(d,{children:e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[{value:"st_pete",label:"St. Petersburg counter",sub:"Pick up at 4701 95th St"},{value:"sarasota",label:"Sarasota service shop",sub:"Daily shuttle - same-day if urgent"}].map(t=>{const x=r.value===t.value;
2return e.jsxs("label",{className:`cursor-pointer rounded-lg border p-3 transition-colors ${x?"border-primary bg-primary/5":"border-border hover:border-primary/40"}`,children:[e.jsx("input",{type:"radio",className:"sr-only",name:r.name,value:t.value,checked:x,onChange:()=>r.onChange(t.value)}),e.jsx("p",{className:"font-heading text-sm font-bold uppercase tracking-wider text-foreground",children:t.label}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:t.sub})]},t.value)})})}),e.jsx(m,{})]})}),e.jsx(n,{control:a.control,name:"boatInfo",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"Boat / engine (year, make, model)"}),e.jsx(d,{children:e.jsx(h,{placeholder:"e.g. 2018 Sportsman 232 Open w/ Yamaha F250",...r})}),e.jsx(m,{})]})}),e.jsx(n,{control:a.control,name:"partNeeded",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"What part do you need?"}),e.jsx(d,{children:e.jsx(ne,{rows:5,placeholder:"Part name or number, quantity, and any details (impeller for water pump, spark plug set, prop size, etc.)",...r})}),e.jsx(m,{})]})}),e.jsx(i,{type:"submit",size:"lg",disabled:s,className:"w-full font-heading uppercase tracking-wider",children:s?e.jsxs(e.Fragment,{children:[e.jsx(M,{className:"w-4 h-4 mr-2 animate-spin"})," Sending"]}):"Request This Part"}),e.jsx(ie,{action:"submitting this parts request",className:"text-center"})]})})},ge="/assets/service-parts-CMG8i3lD.jpg",fe="/assets/parts-counter-staff-CoLs0Nk_.webp",o=_.find(s=>s.id==="service-stpete"),be=[{name:"Yamaha",logo:Y},{name:"Mercury",logo:xe},{name:"Suzuki",logo:U}],je=[{name:"Regulator",logo:G},{name:"Jeanneau",logo:Q},{name:"Monterey",logo:V},{name:"Sportsman",logo:K}],ye=["Propellers & Hardware","Engine Filters & Belts","Impellers & Pumps","Marine Electronics","Lighting & Electrical","Trailer Parts","Upholstery & Canvas","Paints & Gelcoat"],Ne=[{icon:C,label:"Quick Turnaround",sub:"Most special orders sourced promptly"},{icon:pe,label:"OEM & Aftermarket",sub:"Factory parts plus trusted aftermarket"},{icon:Z,label:"Installation Available",sub:"Pair parts with our service shop"},{icon:q,label:"Curbside Pickup",sub:"Call ahead and we'll have it ready"}],P=[{q:"Where is the Thunder Marine parts counter?",a:`Our parts counter is at the St. Petersburg location, ${o.street}, ${o.city}, ${o.state} ${o.zip}. Sarasota service customers get full access to the same inventory - our team shuttles parts to the Sarasota shop daily, with same-day runs available for urgent jobs.`},{q:"What hours is the parts counter open?",a:`${o.hours}. Closed Sunday.`},{q:"Do you stock parts for boats you didn't sell?",a:"Yes. We stock OEM and aftermarket parts for the major marine brands we service, and we can special-order parts we don't have on the shelf - call to confirm timing."},{q:"Can I order a part online?",a:"Use the parts request form on this page or call 727-381-3333. Our parts team will confirm the right part number, price, and availability before charging anything."}],$e=()=>e.jsx(A,{children:e.jsxs(X,{children:[e.jsx(B,{title:"Boat Parts St. Petersburg FL | Thunder",description:"OEM & aftermarket boat parts in St. Petersburg, FL. Yamaha, Mercury, Suzuki engine parts plus Regulator, Jeanneau, Monterey, Sportsman. Call 727-381-3333.",canonical:"https://thundermarine.com/parts",jsonLd:[O,W([{name:"Home",url:"https://thundermarine.com/"},{name:"Parts",url:"https://thundermarine.com/parts"}]),$(P.map(s=>({q:s.q,a:s.a})))]}),e.jsx(ee,{title:"Parts Counter",subtitle:"OEM & aftermarket parts at our St. Pete counter, with daily shuttle to Sarasota",image:ge,eyebrow:"Parts & Accessories",eyebrowIcon:g}),e.jsxs(me,{className:"flex md:hidden z-40 bg-card/95 backdrop-blur-sm border-t border-border px-2 pt-2 pb-safe gap-2 print:hidden",children:[e.jsx(i,{asChild:!0,size:"sm",className:"flex-1 font-heading uppercase tracking-wider text-xs h-11",children:e.jsxs("a",{href:"#request-parts",className:"flex items-center justify-center gap-1.5",children:[e.jsx(g,{className:"w-4 h-4"})," Request a Part"]})}),e.jsx(i,{asChild:!0,variant:"outline",size:"sm",className:"flex-1 font-heading uppercase tracking-wider text-xs h-11 border-primary/40 hover:bg-primary/10 hover:text-primary",children:e.jsxs("a",{href:"tel:7273813333",className:"flex items-center justify-center gap-1.5",children:[e.jsx(u,{className:"w-4 h-4"})," Call"]})})]}),e.jsxs("div",{className:"hidden md:flex fixed left-6 bottom-6 z-40 items-center gap-2 rounded-2xl border border-primary/30 bg-card/95 backdrop-blur p-3 pr-4 shadow-2xl",children:[e.jsxs("a",{href:"#request-parts",className:"group flex items-center gap-3",children:[e.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-primary/15",children:e.jsx(g,{className:"h-5 w-5 text-primary"})}),e.jsxs("span",{className:"flex flex-col leading-tight",children:[e.jsx("span",{className:"font-heading text-[10px] uppercase tracking-[0.2em] text-muted-foreground",children:"Need a Part?"}),e.jsx("span",{className:"font-heading text-sm font-bold uppercase tracking-wider text-foreground group-hover:text-primary transition-colors",children:"Request a Part"})]})]}),e.jsx("span",{className:"h-8 w-px bg-border mx-1","aria-hidden":"true"}),e.jsxs("a",{href:"tel:7273813333",className:"flex items-center gap-1.5 text-primary hover:text-primary/80 px-1","aria-label":"Call 727.381.3333",children:[e.jsx(u,{className:"h-4 w-4"}),e.jsx("span",{className:"font-heading text-xs font-bold tracking-wider",children:"727.381.3333"})]})]}),e.jsx("section",{className:"border-b border-border bg-card",children:e.jsx("div",{className:"container mx-auto max-w-6xl px-4 py-5",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(D,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-heading uppercase tracking-wider text-xs text-muted-foreground",children:"Location"}),e.jsxs("p",{className:"text-foreground",children:[o.street,", ",o.city,", ",o.state," ",o.zip]})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(C,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-heading uppercase tracking-wider text-xs text-muted-foreground",children:"Hours"}),e.jsx("p",{className:"text-foreground",children:o.hours})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(u,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-heading uppercase tracking-wider text-xs text-muted-foreground",children:"Parts line"}),e.jsx("a",{href:"tel:7273813333",className:"text-foreground hover:text-primary font-heading tracking-wider",children:"727.381.3333"})]})]})]})})}),e.jsx("section",{className:"py-16 px-4 bg-background",children:e.jsxs("div",{className:"container mx-auto max-w-5xl grid grid-cols-1 lg:grid-cols-2 gap-10 items-center",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-heading text-xs uppercase tracking-[0.25em] text-primary mb-3",children:"What we do"}),e.jsx("h2",{className:"font-heading text-3xl md:text-4xl font-bold uppercase tracking-wider text-foreground",children:"OEM & aftermarket parts counter"}),e.jsx("p",{className:"text-muted-foreground mt-4 leading-relaxed",children:"Thunder Marine's parts counter keeps you on the water. We stock factory parts for the engines and boats we service, and we'll source anything we don't have on the shelf - call to confirm timing."}),e.jsxs("div",{className:"mt-6 flex flex-wrap gap-3",children:[e.jsx(i,{asChild:!0,size:"lg",className:"font-heading uppercase tracking-wider",children:e.jsx("a",{href:"#request-parts",children:"Request a Part"})}),e.jsx(i,{asChild:!0,size:"lg",variant:"outline",className:"font-heading uppercase tracking-wider hover:bg-primary/10 hover:text-primary",children:e.jsxs("a",{href:"tel:7273813333",children:[e.jsx(u,{className:"w-4 h-4 mr-2"})," 727.381.3333"]})})]})]}),e.jsx("div",{className:"rounded-xl overflow-hidden border border-border",children:e.jsx("img",{src:fe,alt:"Thunder Marine parts specialist behind the St. Petersburg parts counter",loading:"lazy",className:"w-full h-full object-cover"})})]})}),e.jsx("section",{className:"bg-primary/5 border-y border-primary/20",children:e.jsx("div",{className:"container mx-auto max-w-6xl px-4 py-5",children:e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center gap-4 md:gap-6",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[e.jsx(q,{className:"w-5 h-5 text-primary mt-0.5 shrink-0"}),e.jsxs("div",{className:"text-sm",children:[e.jsx("p",{className:"font-heading uppercase tracking-wider text-xs text-primary font-bold",children:"Sarasota service customers"}),e.jsx("p",{className:"text-foreground mt-1 leading-relaxed",children:"You get full access to our St. Petersburg parts inventory. Our team shuttles parts to the Sarasota shop daily, with same-day runs available for urgent jobs - just ask your service advisor or call the parts counter."})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 shrink-0",children:[e.jsx(i,{asChild:!0,variant:"outline",className:"font-heading uppercase tracking-wider hover:bg-primary/10 hover:text-primary",children:e.jsxs("a",{href:"tel:9413373344",children:[e.jsx(u,{className:"w-4 h-4 mr-2"})," 941.337.3344"]})}),e.jsx(i,{asChild:!0,className:"font-heading uppercase tracking-wider",children:e.jsxs(S,{to:"/service?location=sarasota#request-service",children:["Request Sarasota Service ",e.jsx(H,{className:"w-4 h-4 ml-2"})]})})]})]})})}),e.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border",children:e.jsxs("div",{className:"container mx-auto max-w-5xl",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("h2",{className:"font-heading text-2xl md:text-3xl font-bold uppercase tracking-wider text-foreground",children:"What we stock"}),e.jsx("p",{className:"text-muted-foreground mt-3 max-w-2xl mx-auto",children:"Common categories on the shelf. Don't see it? Call us - we order parts daily."})]}),e.jsx("ul",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:ye.map(s=>e.jsxs("li",{className:"flex items-center gap-2 rounded-lg border border-border bg-card px-4 py-3 text-sm text-foreground transition-all duration-200 hover:-translate-y-0.5 hover:border-primary/40 hover:shadow-md hover:shadow-
2primary/5",children:[e.jsx(J,{className:"w-4 h-4 text-primary shrink-0"}),s]},s))}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mt-10",children:Ne.map(s=>e.jsxs("div",{className:"group rounded-xl border border-border bg-card p-5 transition-all duration-300 hover:-translate-y-1 hover:border-primary/40 hover:shadow-xl hover:shadow-primary/5",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-3 transition-colors group-hover:bg-primary/15",children:e.jsx(s.icon,{className:"w-5 h-5 text-primary"})}),e.jsx("p",{className:"font-heading text-sm font-bold uppercase tracking-wider text-foreground leading-tight",children:s.label}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1.5 leading-snug",children:s.sub})]},s.label))})]})}),e.jsx("section",{className:"py-16 px-4 bg-background border-t border-border",children:e.jsxs("div",{className:"container mx-auto max-w-5xl",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("h2",{className:"font-heading text-2xl md:text-3xl font-bold uppercase tracking-wider text-foreground",children:"Brands we support"}),e.jsx("p",{className:"text-muted-foreground mt-3 max-w-2xl mx-auto",children:"Factory-authorized for the engines we sell, and stocked for the boat brands on our showroom floor."})]}),e.jsxs("div",{className:"space-y-10",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-heading text-xs uppercase tracking-[0.25em] text-muted-foreground mb-5 text-center",children:e.jsx("span",{className:"inline-flex items-center gap-3 before:content-[''] before:h-px before:w-8 before:bg-primary/40 after:content-[''] after:h-px after:w-8 after:bg-primary/40",children:"Engines"})}),e.jsx("div",{className:"flex flex-wrap justify-center items-center gap-8 md:gap-14",children:be.map(s=>e.jsx("img",{src:s.logo,alt:`${s.name} marine engines`,loading:"lazy",className:"h-10 md:h-12 w-auto object-contain opacity-70 hover:opacity-100 hover:scale-105 transition-all duration-300 grayscale hover:grayscale-0"},s.name))})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-heading text-xs uppercase tracking-[0.25em] text-muted-foreground mb-5 text-center",children:e.jsx("span",{className:"inline-flex items-center gap-3 before:content-[''] before:h-px before:w-8 before:bg-primary/40 after:content-[''] after:h-px after:w-8 after:bg-primary/40",children:"Boats"})}),e.jsx("div",{className:"flex flex-wrap justify-center items-center gap-8 md:gap-14",children:je.map(s=>e.jsx("img",{src:s.logo,alt:`${s.name} boats`,loading:"lazy",className:"h-10 md:h-12 w-auto object-contain opacity-70 hover:opacity-100 hover:scale-105 transition-all duration-300 grayscale hover:grayscale-0"},s.name))})]})]})]})}),e.jsx("section",{id:"request-parts",className:"py-20 px-4 bg-muted/30 border-t border-border scroll-mt-32",children:e.jsxs("div",{className:"container mx-auto max-w-3xl",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"font-heading text-2xl md:text-3xl font-bold uppercase tracking-wider text-foreground",children:"Request a part"}),e.jsx("p",{className:"text-muted-foreground mt-3",children:"Tell us what you need. We'll confirm fitment, price, and availability before anything is charged."})]}),e.jsx("div",{className:"rounded-xl border border-border bg-card p-6 md:p-8",children:e.jsx(ue,{})})]})}),e.jsx("section",{className:"py-16 px-4 bg-background border-t border-border",children:e.jsxs("div",{className:"container mx-auto max-w-3xl",children:[e.jsx("h2",{className:"font-heading text-2xl md:text-3xl font-bold uppercase tracking-wider text-foreground text-center mb-8",children:"Parts FAQ"}),e.jsx("dl",{className:"space-y-4",children:P.map(s=>e.jsxs("div",{className:"rounded-lg border border-border bg-card p-5 transition-all duration-200 hover:border-primary/30 hover:shadow-md hover:shadow-primary/5",children:[e.jsx("dt",{className:"font-heading text-sm uppercase tracking-wider text-foreground font-bold",children:s.q}),e.jsx("dd",{className:"text-muted-foreground text-sm mt-2 leading-relaxed",children:s.a})]},s.q))}),e.jsxs("div",{className:"mt-10 text-center",children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"Need service too?"}),e.jsx(i,{asChild:!0,variant:"outline",className:"hover:bg-primary/10 hover:text-primary",children:e.jsx(S,{to:"/service",children:"Visit Service Center"})})]})]})})]})});export{$e 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.