1import{b as qe,j as e,k as br}from"./query-CkjDa6TK.js";import{i as vr,a as i,L as p}from"./react-DkkCGPT4.js";import{c as tr,u as fr,S as gr,g as u,j as yr,k as jr,A as Be,l as Nr,o as Ke,a6 as h,D as wr,x as oe,m as kr,E as We,c9 as ke,Z as Cr,e as me,i as Ye,f as Pr,Y as xe,an as Ze,X as Ce,h as Sr,bc as Lr,br as _e}from"./index-BYV5a2iT.js";import{F as $r,P as Mr}from"./phone-call-BMixQ7Wf.js";import{R as Xe}from"./refresh-cw-Ckh4FA87.js";import{S as Qe}from"./sliders-horizontal-CoHD_5Il.js";import{G as Tr}from"./grid-3x3-ElSg8Sjy.js";import{L as Fr}from"./list-DFhUKxrD.js";import{C as Pe}from"./camera-B7nyzLzV.js";import{S as Je}from"./share-2-DSzcjFQr.js";import{M as Ar}from"./message-circle-Dn6JHkBb.js";import{M as Gr}from"./mail-CYRrH3fP.js";import"./forms-xixe_uvK.js";/** 2 * @license lucide-react v0.446.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Er=tr("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** 7 * @license lucide-react v0.446.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const pe=tr("Navigation",[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]]),Rr=[{id:"type-partner",label:"â¡ Verified Partners",type:"type",value:"partner"},{id:"openNow",label:"ð¥ Open Now",type:"openNow",value:"true"},{id:"rating",label:"â 4.5+ Rated",type:"sort",value:"rating"},{id:"distance",label:"ð Nearest First",type:"sort",value:"distance"},{id:"access-247",label:"ðï¸ 24/7 Access",type:"amenity",value:"24/7 Access"},{id:"prog-yoga",label:"ð§ Yoga & Wellness",type:"program",value:"Yoga"},{id:"prog-boxing",label:"ð¥ Boxing & MMA",type:"program",value:"Boxing"},{id:"amenity-sauna",label:"ð§ Steam & Sauna",type:"amenity",value:"Steam & Sauna"}],er=F=>!F||isNaN(F)?"1,999":(F>1e4?Math.round(F/100):F).toLocaleString("en-IN"),rr=[{to:"/",label:"Explore Gyms",active:!0},{to:"/?type=partner",label:"â¡ Verified Clubs"},{to:"/business",label:"For Gym Owners â",external:!0}];function Qr(){var ze;const{theme:F,toggle:Se}=fr(),[x,Le]=vr(),[sr,ue]=i.useState(!1),b=x.get("q")||"",P=x.get("city")||"all",j=x.get("program")||"all",N=x.get("amenity")||"all",S=x.get("sort")||"relevance",f=x.get("maxPrice")||"",w=x.get("openNow")==="true",L=x.get("type")||"all",A=x.get("lat")||"",G=x.get("lng")||"",he=parseInt(x.get("page")||"1",10),be=isNaN(he)||he<1?1:he,[O,K]=i.useState(b),[c,E]=i.useState(P),[W,Y]=i.useState(j),[Z,_]=i.useState(N),[$e,ae]=i.useState(S),[g,H]=i.useState(f),[ve,le]=i.useState(w),[U,X]=i.useState(L),[Q,Me]=i.useState("grid"),[s,fe]=i.useState(null),[J,R]=i.useState(0),[D,y]=i.useState(null),[ne,ee]=i.useState(!1),[or,z]=i.useState(!1),[Vr,ie]=i.useState(!1),[Te,Fe]=i.useState(!1),ar=r=>{navigator.clipboard&&(navigator.clipboard.writeText(r),Fe(!0),setTimeout(()=>Fe(!1),2500))},[Ae,lr]=i.useState(null),[Ge,Ee]=i.useState(null),$=x.get("gym"),{data:re}=qe({queryKey:["public-gym-details-db",$],queryFn:async()=>_e.get(`/public/gyms/details/${$}`),enabled:!!($&&(!s||s.id!==$))});i.useEffect(()=>{re&&(!s||s.id!==re.id)&&(R(0),fe(re))},[re]);const Re=r=>{R(0),y(null),fe(r),n({gym:r.id})},ge=()=>{fe(null),y(null),n({gym:null})},De=async r=>{const t=`${window.location.origin}/?gym=${r.id}`,o=r.orgName?r.branchName&&r.branchName!==r.orgName?`${r.orgName} · ${r.branchName}`:r.orgName:"GymLoop Partner",l=r.city?` in ${r.city}`:"",d=`${o}${l} on GymLoop`,hr=`Check out ${o}${l} on GymLoop! Rating: ${r.rating||4.9}â 12${t}`;if(navigator.share)try{await navigator.share({title:d,text:hr,url:t})}catch{navigator.clipboard&&(navigator.clipboard.writeText(t),ie(!0),setTimeout(()=>ie(!1),2e3))}else navigator.clipboard&&(navigator.clipboard.writeText(t),ie(!0),setTimeout(()=>ie(!1),2e3))};i.useEffect(()=>{if(s||ne||D!==null){const r=document.body.style.overflow;document.body.style.overflow="hidden";const t=o=>{o.key==="Escape"&&(D!==null?y(null):(ge(),ee(!1)))};return window.addEventListener("keydown",t),()=>{document.body.style.overflow=r,window.removeEventListener("keydown",t)}}},[s,ne,D]);const ye=i.useRef(null),[je,M]=i.useState(!1),[Ne,te]=i.useState(-1),n=r=>{const t=new URLSearchParams(x);"page"in r||t.delete("page"),Object.entries(r).forEach(([o,l])=>{l&&l!=="all"&&l!==""&&l!=="1"?t.set(o,l):t.delete(o)}),Le(t)};i.useEffect(()=>{K(b),E(P),Y(j),_(N),ae(S),H(f),le(w),X(L)},[b,P,j,N,S,f,w,L]);const Ve=()=>{if(!navigator.geolocation){alert("Geolocation is not supported by your browser.");return}z(!0),navigator.geolocation.getCurrentPosition(r=>{z(!1);const{latitude:t,longitude:o}=r.coords;n({lat:t.toFixed(6),lng:o.toFixed(6),sort:"distance",city:"all"}),E("all"),ae("distance")}
12,r=>{z(!1),console.warn("Geolocation failed:",r.message),alert("Could not obtain your location. Please check your browser location permissions.")},{timeout:1e4,enableHighAccuracy:!0})};i.useEffect(()=>{!x.has("city")&&!x.has("lat")&&"geolocation"in navigator&&(z(!0),navigator.geolocation.getCurrentPosition(r=>{z(!1);const t=String(r.coords.latitude),o=String(r.coords.longitude);n({lat:t,lng:o})},()=>{z(!1)},{timeout:6e3}))},[]);const{data:m,isLoading:nr,isFetching:Ie}=qe({queryKey:["public-gym-search",b,P,j,N,S,f,w,L,be,A,G],queryFn:async()=>{const r=new URLSearchParams;return b&&r.set("q",b),P!=="all"&&r.set("city",P),j!=="all"&&r.set("program",j),N!=="all"&&r.set("amenity",N),S!=="relevance"&&r.set("sort",S),f&&r.set("maxPrice",f),w&&r.set("openNow","true"),L!=="all"&&r.set("type",L),A&&r.set("lat",A),G&&r.set("lng",G),r.set("page",String(be)),r.set("limit","24"),_e.get(`/public/gyms/search?${r.toString()}`)},placeholderData:br,refetchOnWindowFocus:!1,staleTime:6e4}),k=(m==null?void 0:m.gyms)||[],se=(m==null?void 0:m.total)||k.length,T=(m==null?void 0:m.totalPages)||Math.ceil(se/24)||1,v=(m==null?void 0:m.page)||be||1,ir=se===0?0:(v-1)*24+1,cr=Math.min(v*24,se),dr=i.useMemo(()=>{const r=[];if(T<=7)for(let t=1;t<=T;t++)r.push(t);else{r.push(1),v>3&&r.push("...");const t=Math.max(2,v-1),o=Math.min(T-1,v+1);for(let l=t;l<=o;l++)r.push(l);v<T-2&&r.push("..."),r.push(T)}return r},[T,v]),C=(m==null?void 0:m.facets)||{cities:["Bengaluru","Bharatpur","Mumbai","Delhi"],programs:["CrossFit","HIIT","Yoga","Strength"],amenities:["24/7 Access","Free Parking","Steam & Sauna"]},mr=r=>{var t,o;r&&r.preventDefault(),M(!1),te(-1),(o=(t=document.activeElement)==null?void 0:t.blur)==null||o.call(t),n({q:O.trim()||null,city:c,program:W,amenity:Z,sort:$e,maxPrice:g,type:U,openNow:ve?"true":null})},V=i.useMemo(()=>{const r=O.trim().toLowerCase();if(!r)return[];const t=[];return k.forEach(o=>{(o.orgName.toLowerCase().includes(r)||o.branchName.toLowerCase().includes(r))&&(t.some(l=>l.title.toLowerCase()===o.orgName.toLowerCase())||t.push({id:`gym-${o.id}`,title:o.orgName,subtitle:`${o.branchName} · ${o.city}`,category:"gym",filterType:"q",filterValue:o.orgName,isPartner:o.isPartner}))}),C.cities.forEach(o=>{o.toLowerCase().includes(r)&&!t.some(l=>l.filterValue.toLowerCase()===o.toLowerCase())&&t.push({id:`city-${o}`,title:o,subtitle:"City / Region",category:"location",filterType:"city",filterValue:o})}),C.programs.forEach(o=>{o.toLowerCase().includes(r)&&!t.some(l=>l.filterValue.toLowerCase()===o.toLowerCase())&&t.push({id:`program-${o}`,title:o,subtitle:"Workout Category",category:"workout",filterType:"program",filterValue:o})}),C.amenities.forEach(o=>{o.toLowerCase().includes(r)&&!t.some(l=>l.filterValue.toLowerCase()===o.toLowerCase())&&t.push({id:`amenity-${o}`,title:o,subtitle:"Facility / Amenity",category:"amenity",filterType:"amenity",filterValue:o})}),t.slice(0,8)},[O,k,C]);i.useEffect(()=>{const r=t=>{ye.current&&!ye.current.contains(t.target)&&M(!1)};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[]);const Oe=r=>{M(!1),te(-1),r.filterType==="q"?(K(r.filterValue),n({q:r.filterValue})):r.filterType==="city"?(E(r.filterValue),n({city:r.filterValue})):r.filterType==="program"?(Y(r.filterValue),n({program:r.filterValue})):r.filterType==="amenity"&&(_(r.filterValue),n({amenity:r.filterValue}))},I=i.useMemo(()=>{let r=0;return b&&r++,P!=="all"&&r++,j!=="all"&&r++,N!=="all"&&r++,f&&r++,w&&r++,L!=="all"&&r++,r},[b,P,j,N,f,w,L]),ce=()=>{K(""),E("all"),Y("all"),_("all"),ae("relevance"),H(""),le(!1),X("all"),Le({})},q=nr&&!m,a=s||re||($?k.find(r=>r.id===$):null),we=(a==null?void 0:a.coverPhoto)||((ze=a==null?void 0:a.photos)==null?void 0:ze[0])||"",de=a!=null&&a.orgName?a.branchName&&a.branchName!==a.orgName?`${a.orgName} · ${a.branchName}`:a.orgName:"",B=(a==null?void 0:a.city)||"",xr=a?`${de} (${B}) â View Photos, Plans & Details`:"",pr=a?`${de} in ${B}. ${a.tagline||a.heroDescription||a.address}. Rating: ${a.rating||4.9}â
. View amenities, class timings, and membership plans.`:"",He=a?`${de} â ${B} | GymLoop`:"",Ue=a?`${a.tagline||a.heroTitle||"Fitness Center"} · ${a.address||B} · Rating: ${a.rating||4.9}â
`:"",ur=typeof window<"u"&&(a!=null&&a.id||$)?`${window.location.origin}/?gym=${(a==null?void 0:a.id)||$}`:void 0;return e.jsxs("div",{className:"da-theme min-h-screen text-[15px] antialiased selection:bg-[#c3d3ce] selection:text-[#0e1113] pb-20 md:pb-8",children:[e.jsx(Dr,{}),e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"0",height:"0","aria-hidden":"true",className:"pointer-events-none absolute",children:e.jsxs("filter",{id:"da-grain",x:"-20%",y:"-20%",width:"140%",height:"140%",children:[e.jsx("feTurbulence",{type:"fractalNoise",baseFrequency:"0.85",numOctaves:"4",stitchTiles:"stitch",result:"noise"}),e.jsx("feColorMatrix",{in:"noise",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0 0 0 -0.05",result:"noiseA"}),e.jsx("feComposite",{in2:"noiseA",operator:"in"})]})}),e.jsx(gr,{title:a?xr:c&&c!=="all"?`Best Gyms in ${c} â Find & Book Gyms`:"Find Top-Rated Gyms & Fitness Centers Near You",description:a?pr:`Explore top-rated gyms${c&&c!=="all"?` in ${c}`:""}, view pricing, class schedules, membership plans, and facilities. Book or join instantly.`,keywords:a?[a.orgName,B,"gym membership","gym photos","gym plans","fitness center"]:["gym search","gyms near me",c&&c!=="all"?`gyms in ${c}`:"fitness centers","gym membership search"],ogTitle:a?He:"Find Top Gyms & Fitness Centers â GymL
12oop Directory",ogDescription:a?Ue:"Compare gym ratings, amenities, plans, and join top fitness clubs near you.",ogImage:we||void 0,twitterImage:we||void 0,twitterTitle:a?He:void 0,twitterDescription:a?Ue:void 0,ogUrl:ur,ogType:a?"business.business":"website",jsonLd:a?{"@context":"https://schema.org","@type":"SportsActivityLocation",name:de,image:we,address:a.address||B,telephone:a.phone,aggregateRating:a.rating?{"@type":"AggregateRating",ratingValue:a.rating,reviewCount:a.reviewCount||95}:void 0}:{"@context":"https://schema.org","@type":"ItemList",name:"GymLoop Gym Search Directory",description:"Find top rated gyms, fitness centers, and personal training studios near you on GymLoop.",itemListElement:(k||[]).slice(0,10).map((r,t)=>({"@type":"ListItem",position:t+1,item:{"@type":"SportsActivityLocation",name:r.branchName?`${r.orgName} - ${r.branchName}`:r.orgName,address:r.address,aggregateRating:r.rating?{"@type":"AggregateRating",ratingValue:r.rating,reviewCount:r.reviewCount||1}:void 0}}))}}),e.jsxs("header",{className:"sticky top-0 z-40 border-b border-[var(--color-border-subtle)] bg-[var(--color-cream)]/90 backdrop-blur-md transition-colors duration-200",children:[e.jsxs("div",{className:"mx-auto flex h-20 max-w-7xl items-center justify-between px-4 sm:px-8",children:[e.jsxs(p,{to:"/",className:"group flex items-center gap-3 no-underline text-[var(--color-ink)]",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-[var(--color-ink)] text-[var(--color-cream)] shadow-sm transition-transform group-hover:scale-105",children:e.jsxs("svg",{viewBox:"0 0 40 38",width:"22",height:"21",fill:"currentColor","aria-hidden":"true",children:[e.jsx("rect",{width:"40",height:"38",rx:"8",fill:"
12currentColor",fillOpacity:"0.12"}),e.jsx("path",{d:"M18 7H22V31H18Z M22 17H26V21H22Z M14 17H18V21H14Z M26 12H30V17H26Z M10 12H14V17H10Z M26 21H30V26H26Z M10 21H14V26H10Z"})]})}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"da-display text-xl font-bold tracking-tight",children:"GymLoop"}),e.jsx("span",{className:"da-mono text-[10px] tracking-wider uppercase text-[var(--color-mist)]",children:"Public Directory"})]})]}),e.jsx("nav",{className:"hidden items-center gap-7 md:flex",children:rr.map(r=>e.jsx(p,{to:r.to,className:u("da-display text-[15px] font-semibold text-[var(--color-ink)] no-underline transition-opacity hover:opacity-60",r.to==="/?type=partner"&&"text-[var(--color-dark-teal)] dark:text-[#8bd3c7]"),children:r.label},r.to))}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{type:"button",onClick:Se,"aria-label":"Toggle theme",className:"flex h-9 w-9 items-center justify-center rounded-full border border-[var(--color-border-subtle)] text-[var(--color-ink)] transition-colors hover:bg-[var(--color-ink-05)] cursor-pointer",children:F==="dark"?e.jsx(yr,{className:"h-4 w-4"}):e.jsx(jr,{className:"h-4 w-4"})}),e.jsx(p,{to:"/business",className:"hidden sm:inline-flex items-center gap-1.5 rounded-full border border-[var(--color-border-strong)] px-4 py-2 da-display text-xs font-semibold text-[var(--color-ink)] no-underline transition-all hover:bg-[var(--color-ink)] hover:text-[var(--color-cream)]",children:"Claim Your Gym"}),e.jsxs(p,{to:"/login",className:"inline-flex items-center gap-1.5 rounded-full bg-[var(--color-ink)] px-5 py-2 da-display text-xs font-semibold text-[var(--color-cream)] no-underline transition-all hover:opacity-90 shadow-sm",children:["Sign In ",e.jsx(Be,{className:"h-3.5 w-3.5"})]}),e.jsx("button",{type:"button",className:"flex h-9 w-9 items-center justify-center rounded-lg border border-[var(--color-border-subtle)] text-[var(--color-ink)] md:hidden cursor-pointer",onClick:()=>ue(r=>!r),"aria-label":"Open menu",children:e.jsx(Nr,{className:"h-5 w-5"})})]})]}),sr&&e.jsx("div",{className:"border-t border-[var(--color-border-subtle)] bg-[var(--color-cream)] px-6 py-4 md:hidden",children:e.jsxs("div",{className:"flex flex-col gap-3",children:[rr.map(r=>e.jsx(p,{to:r.to,onClick:()=>ue(!1),className:"da-display py-1.5 text-base font-semibold text-[var(--color-ink)] no-underline",children:r.label},r.to)),e.jsx(p,{to:"/business",onClick:()=>ue(!1),className:"da-display flex items-center gap-2 py-1.5 text-base font-semibold text-[var(--color-dark-teal)] no-underline",children:"Claim Your Gym Listing â"})]})})]}),e.jsx("section",{className:"relative border-b border-[var(--color-border-subtle)] bg-[var(--color-cream)] px-4 py-12 sm:px-8 sm:py-16",children:e.jsxs("div",{className:"mx-auto max-w-4xl text-center",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream-dark)] px-4 py-1.5 da-mono text-xs font-medium uppercase tracking-wider text-[var(--color-ink)] shadow-xs",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-[#3c8a52]"}),"National Gym & Fitness Registry"]}),e.jsxs("h1",{className:"da-display mt-6 text-4xl font-bold tracking-tight text-[var(--color-ink)] sm:text-6xl lg:text-7xl leading-[0.92] text-balance",children:["Find ",e.jsx("em",{className:"font-serif italic font-normal text-[var(--color-dark-teal)] dark:text-[#a0ded6]",children:"precision training"})," near you."]}),e.jsx("p",{className:"mx-auto mt-4 max-w-2xl da-mono text-xs sm:text-sm leading-relaxed text-[var(--color-mist)]",children:"Compare facilities, check-in turnstile specs, verified coaching rosters, and drop-in pricing across verified fitness clubs."}),e.jsxs("form",{onSubmit:mr,className:"mt-8 mx-auto max-w-2xl rounded-2xl border-2 border-[var(--color-border-strong)] bg-[var(--color-cream)] p-2 shadow-md flex items-center gap-2 relative z-30",children:[e.jsxs("div",{ref:ye,className:"relative flex-1 flex items-center",children:[e.jsx(Ke,{className:"absolute left-3.5 h-4 w-4 text-[var(--color-mist)] shrink-0"}),e.jsx("input",{type:"text",value:O,onChange:r=>{K(r.target.value),M(!0),te(-1)},onFocus:()=>{O.trim().length>=1&&M(!0)},onKeyDown:r=>{r.key==="Enter"?(M(!1),je&&V.length>0&&Ne>=0&&(r.preventDefault(),Oe(V[Ne]))):je&&V.length>0&&(r.key==="ArrowDown"?(r.preventDefault(),te(t=>t<V.length-1?t+1:0)):r.key==="ArrowUp"?(r.preventDefault(),te(t=>t>0?t-1:V.length-1)):r.key==="Escape"&&M(!1))},placeholder:"Search gym name, locality, or program (e.g. Cult, Yoga, HSR)...",className:"w-full rounded-xl bg-transparent py-3 pl-10 pr-9 da-mono text-xs sm:text-sm text-[var(--color-ink)] placeholder:text-[var(--color-mist)] border-0 focus:outline-none min-h-[46px]"}),O&&e.jsx("button",{type:"button",onClick:()=>{K(""),M(!1),n({q:null})},className:"absolute right-3 p-1 text-[var(--color-mist)] hover:text-[var(--color-ink)] curs
12or-pointer",children:e.jsx(h,{className:"h-4 w-4"})}),je&&V.length>0&&e.jsx("div",{className:"absolute left-0 right-0 top-full mt-3 z-50 rounded-2xl border border-[var(--color-border-default)] bg-[var(--color-cream)] shadow-2xl overflow-hidden divide-y divide-[var(--color-border-subtle)] text-left animate-in fade-in duration-150",children:V.map((r,t)=>e.jsxs("div",{onClick:()=>Oe(r),className:u("px-4 py-3 cursor-pointer flex items-center justify-between transition-colors",Ne===t?"bg-[var(--color-ink-05)] font-semibold":"hover:bg-[var(--color-ink-05)]"),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsxs("div",{className:"h-8 w-8 rounded-xl bg-[var(--color-cream-dark)] flex items-center justify-center shrink-0 border border-[var(--color-border-subtle)] text-[var(--color-ink)]",children:[r.category==="gym"&&e.jsx(wr,{className:"h-4 w-4"}),r.category==="location"&&e.jsx(oe,{className:"h-4 w-4 text-[#db704c]"}),r.category==="workout"&&e.jsx(kr,{className:"h-4 w-4 text-[#1c525d]"}),r.category==="amenity"&&e.jsx(We,{className:"h-4 w-4 text-[#3c8a52]"})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"da-display text-sm font-bold text-[var(--color-ink)] truncate",children:r.title}),r.isPartner&&e.jsx("span",{className:"da-mono text-[9px] font-bold bg-[var(--color-ink)] text-[var(--color-cream)] px-1.5 py-0.2 rounded shrink-0",children:"â¡ VERIFIED"})]}),r.subtitle&&e.jsx("span",{className:"da-mono text-[11px] text-[var(--color-mist)] block truncate",children:r.subtitle})]})]}),e.jsx("span",{className:"da-mono text-[10px] uppercase tracking-wider text-[var(--color-mist)] bg-[var(--color-cream-dark)] px-2.5 py-0.5 rounded-full shrink-0 ml-2",children:r.category})]},r.id))})]}),e.jsxs("button",{type:"button",onClick:Ve,title:A&&G?"Location active: Showing gyms near you":"Find gyms near your location",className:u("rounded-xl h-11 px-3 da-mono text-xs font-semibold uppercase tracking-wider gap-1.5 shrink-0 min-h-[44px] inline-flex items-center transition-colors cursor-pointer",A&&G?"bg-[var(--color-ink)] text-[var(--color-cream)] font-bold":"border border-[var(--color-border-default)] text-[var(--color-mist)] hover:text-[var(--color-ink)] hover:bg-[var(--color-ink-05)]"),children:[or?e.jsx(ke,{className:"h-4 w-4 animate-spin text-inherit"}):e.jsx(pe,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Near Me"})]}),e.jsxs("button",{type:"submit",className:"inline-flex items-center gap-2 rounded-xl bg-[var(--color-ink)] px-5 sm:px-6 py-2.5 da-display text-xs sm:text-sm font-semibold text-[var(--color-cream)] hover:opacity-90 shadow-xs shrink-0 min-h-[44px] cursor-pointer",children:[Ie?e.jsx(ke,{className:"h-4 w-4 animate-spin"}):e.jsx(Ke,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Search"})]})]}),e.jsx("div",{className:"mt-6 flex items-center justify-start sm:justify-center gap-2 overflow-x-auto pb-2 px-1 max-w-4xl mx-auto scrollbar-none",children:Rr.map(r=>{const t=r.type==="type"&&U===r.value||r.type==="openNow"&&w||r.type==="sort"&&S===r.value||r.type==="amenity"&&N===r.value||r.type==="program"&&j===r.value;return e.jsx("button",{onClick:()=>{if(r.id==="distance"){if(!A||!G){Ve();return}n({sort:S==="distance"?null:"distance"})}else r.type==="type"?(X(r.value),n({type:r.value==="all"?null:r.value})):n(t?{[r.type]:null}:{[r.type]:r.value})},className:u("rounded-full px-4 py-2 da-mono text-xs font-semibold uppercase tracking-wider transition-all border whitespace-nowrap shrink-0 min-h-[36px] flex items-center justify-center cursor-pointer",t?"bg-[var(--color-ink)] text-[var(--color-cream)] border-[var(--color-ink)] shadow-xs":"border-[var(--color-border-default)] bg-[var(--color-cream)] text-[var(--color-ink)] hover:bg-[var(--color-ink-05)]"),children:r.label},r.id)})})]})}),e.jsx("main",{className:"mx-auto max-w-7xl px-4 sm:px-8 py-10",children:e.jsxs("div",{className:"flex flex-col lg:flex-row gap-8",children:[e.jsx("aside",{className:"hidden lg:block w-72 shrink-0 space-y-6",children:e.jsxs("div",{className:"rounded-3xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] p-6 shadow-xs space-y-6 sticky top-24",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[var(--color-border-subtle)] pb-4",children:[e.jsxs("h3",{className:"da-display font-bold text-[var(--color-ink)] flex items-center gap-2 text-base",children:[e.jsx($r,{className:"h-4 w-4 text-[var(--color-dark-teal)]"}),"Filter Directory"]}),I>0&&e.jsxs("button",{onClick:ce,className:"da-mono text-xs text-[var(--color-mist)] hover:text-[var(--color-ink)] font-semibold flex items-center gap-1 cursor-pointer",children:[e.jsx(Xe,{className:"h-3 w-3"}),"Reset (",I,")"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Directory Source"}),e.jsx("div",{className:"space-y-1.5 da-mono text-xs",children:[{id:"all",label:"All Gyms & Studios"},{id:"partner",label:"â¡ Verified GymLoop Partners"},{id:"external",label:"ð Nearby Local Directory"}].map(r=>e.jsxs("label",{className:"flex items-center gap-2.5 text-[var(--color-ink)] curs
12or-pointer py-1",children:[e.jsx("input",{type:"radio",name:"sidebarListingType",checked:U===r.id,onChange:()=>{X(r.id),n({type:r.id==="all"?null:r.id})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:r.label})]},r.id))})]}),e.jsx("div",{children:e.jsxs("label",{className:"flex items-center justify-between cursor-pointer p-3.5 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream-dark)] transition-colors",children:[e.jsxs("span",{className:"da-mono text-xs font-semibold text-[var(--color-ink)] flex items-center gap-2",children:[e.jsx(Cr,{className:"h-4 w-4 text-[#db704c]"})," Open Now Only"]}),e.jsx("input",{type:"checkbox",checked:ve,onChange:r=>{le(r.target.checked),n({openNow:r.target.checked?"true":null})},className:"accent-[var(--color-ink)]"})]})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Max Monthly Budget (â¹)"}),e.jsxs("form",{onSubmit:r=>{r.preventDefault(),n({maxPrice:g})},className:"flex items-center gap-1.5",children:[e.jsx("input",{type:"number",value:g,onChange:r=>H(r.target.value),onKeyDown:r=>{r.key==="Enter"&&(r.preventDefault(),n({maxPrice:g}))},onBlur:()=>n({maxPrice:g}),placeholder:"e.g. 2500",className:"w-full rounded-xl bg-[var(--color-cream-dark)] px-3 py-2 da-mono text-xs text-[var(--color-ink)] border border-[var(--color-border-default)] focus:outline-none min-h-[38px]"}),e.jsx("button",{type:"submit",className:"rounded-xl px-3 py-2 da-display text-xs font-semibold bg-[var(--color-ink)] text-[var(--color-cream)] shrink-0 min-h-[38px] cursor-pointer",children:"Apply"}),g&&e.jsx("button",{type:"button",onClick:()=>{H(""),n({maxPrice:null})},className:"p-1.5 text-[var(--color-mist)] hover:text-[var(--color-ink)] curs
12or-pointer",children:e.jsx(h,{className:"h-3.5 w-3.5"})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"City / Region"}),e.jsxs("div",{className:"space-y-1 max-h-40 overflow-y-auto pr-1 da-mono text-xs",children:[e.jsxs("label",{className:"flex items-center gap-2 text-[var(--color-ink)] cursor-pointer py-1",children:[e.jsx("input",{type:"radio",name:"city",checked:c==="all",onChange:()=>{E("all"),n({city:"all"})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:"All Locations"})]}),C.cities.map(r=>e.jsxs("label",{className:"flex items-center gap-2 text-[var(--color-ink)] cursor-pointer py-1",children:[e.jsx("input",{type:"radio",name:"city",checked:c===r,onChange:()=>{E(r),n({city:r})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:r})]},r))]})]}),e.jsxs("div",{className:"space-y-2 border-t border-[var(--color-border-subtle)] pt-4",children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Workout Programs"}),e.jsxs("div",{className:"space-y-1 max-h-40 overflow-y-auto pr-1 da-mono text-xs",children:[e.jsxs("label",{className:"flex items-center gap-2 text-[var(--color-ink)] curs
12or-pointer py-1",children:[e.jsx("input",{type:"radio",name:"program",checked:W==="all",onChange:()=>{Y("all"),n({program:"all"})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:"All Programs"})]}),C.programs.map(r=>e.jsxs("label",{className:"flex items-center gap-2 text-[var(--color-ink)] cursor-pointer py-1",children:[e.jsx("input",{type:"radio",name:"program",checked:W===r,onChange:()=>{Y(r),n({program:r})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:r})]},r))]})]}),C.amenities.length>0&&e.jsxs("div",{className:"space-y-2 border-t border-[var(--color-border-subtle)] pt-4",children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Facilities & Amenities"}),e.jsxs("div",{className:"space-y-1 max-h-40 overflow-y-auto pr-1 da-mono text-xs",children:[e.jsxs("label",{className:"flex items-center gap-2 text-[var(--color-ink)] cursor-pointer py-1",children:[e.jsx("input",{type:"radio",name:"amenity",checked:Z==="all",onChange:()=>{_("all"),n({amenity:"all"})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:"All Amenities"})]}),C.amenities.map(r=>e.jsxs("label",{className:"flex items-center gap-2 text-[var(--color-ink)] curs
12or-pointer py-1",children:[e.jsx("input",{type:"radio",name:"amenity",checked:Z===r,onChange:()=>{_(r),n({amenity:r})},className:"accent-[var(--color-ink)]"}),e.jsx("span",{children:r})]},r))]})]})]})}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] p-4 shadow-xs",children:[e.jsx("div",{children:e.jsxs("h2",{className:"da-display text-sm sm:text-lg font-bold text-[var(--color-ink)] flex items-center gap-2 flex-wrap",children:[e.jsx("span",{children:b?`Results for "${b}"`:A&&G?"Gyms Near You":c&&c!=="all"?`Gyms in ${c}`:"Registered Gyms"}),e.jsx("span",{className:"da-mono rounded-full bg-[var(--color-ink-05)] px-2.5 py-0.5 text-xs text-[var(--color-mist)] font-bold",children:q?"...":se}),Ie&&!q&&e.jsx(ke,{className:"h-3.5 w-3.5 animate-spin text-[var(--color-dark-teal)] ml-1"})]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:()=>ee(!ne),className:"lg:hidden rounded-xl border border-[var(--color-border-default)] bg-[var(--color-cream)] text-xs h-9 px-3 da-mono font-semibold text-[var(--color-ink)] inline-flex items-center gap-1.5 cursor-pointer",children:[e.jsx(Qe,{className:"h-3.5 w-3.5"}),e.jsxs("span",{children:["Filters ",I>0&&`(${I})`]})]}),e.jsxs("select",{value:$e,onChange:r=>{ae(r.target.value),n({sort:r.target.value})},className:"rounded-xl bg-[var(--color-cream)] px-2.5 py-1.5 da-mono text-xs text-[var(--color-ink)] border border-[var(--color-border-default)] focus:outline-none cursor-pointer h-9",children:[e.jsx("option",{value:"relevance",children:"Relevant"}),e.jsx("option",{value:"distance",children:"Nearest"}),e.jsx("option",{value:"rating",children:"Top Rated"}),e.jsx("option",{value:"price_asc",children:"Price Low"}),e.jsx("option",{value:"price_desc",children:"Price High"})]}),e.jsxs("div",{className:"hidden sm:flex rounded-xl border border-[var(--color-border-default)] bg-[var(--color-cream)] p-0.5",children:[e.jsx("button",{onClick:()=>Me("grid"),className:u("p-1.5 rounded-lg transition-all cursor-pointer",Q==="grid"?"bg-[var(--color-ink)] text-[var(--color-cream)]":"text-[var(--color-mist)] hover:text-[var(--color-ink)]"),children:e.jsx(Tr,{className:"h-4 w-4"})}),e.jsx("button",{onClick:()=>Me("list"),className:u("p-1.5 rounded-lg transition-all cursor-pointer",Q==="list"?"bg-[var(--color-ink)] text-[var(--color-cream)]":"text-[var(--color-mist)] hover:text-[var(--color-ink)]"),children:e.jsx(Fr,{className:"h-4 w-4"})})]})]})]}),I>0&&e.jsxs("div",{className:"flex items-center gap-2 flex-wrap da-mono text-xs",children:[e.jsx("span",{className:"text-[var(--color-mist)] font-semibold",children:"Active:"}),b&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:['Query: "',b,'"',e.jsx("button",{onClick:()=>n({q:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),c!=="all"&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:["City: ",c,e.jsx("button",{onClick:()=>n({city:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),W!=="all"&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:["Program: ",W,e.jsx("button",{onClick:()=>n({program:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),Z!=="all"&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:["Amenity: ",Z,e.jsx("button",{onClick:()=>n({amenity:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),f&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:["Max: â¹",f,e.jsx("button",{onClick:()=>n({maxPrice:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),w&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:["Open Now Only",e.jsx("button",{onClick:()=>n({openNow:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),U!=="all"&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-1 text-[var(--color-ink)] flex items-center gap-1.5",children:["Type: ",U,e.jsx("button",{onClick:()=>n({type:null}),className:"hover:opacity-70 cursor-pointer",children:e.jsx(h,{className:"h-3 w-3"})})]}),e.jsx("button",{onClick:ce,className:"text-[var(--color-dark-teal)] hover:underline ml-1 font-bold cursor-pointer",children:"Clear All"})]}),ne&&e.jsx("div",{className:"fixed inset-0 z-50 flex flex-col justify-end bg-black/80 lg:hidden animate-in fade-in",children:e.jsxs("div",{className:"rounded-t-3xl border-t border-[var(--color-border-subtle)] bg-[var(--color-cream)] p-6 shadow-2xl space-y-4 max-h-[85vh] overflow-y-auto",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[var(--color-border-subtle)] pb-3",children:[e.jsx("h4",{className:"da-display font-bold text-[var(--color-ink)] text-base",children:"Filter Gym Listings"}),e.jsx("button",{onClick:()=>ee(!1),className:"text-[var(--color-mist)] p-1 cursor-pointer",children:e.jsx(h,{className:"h-5 w-5"})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Directory Source"}),e.jsxs("select",{value:U,onChange:r=>{X(r.target.value),n({type:r.target.value==="all"?null:r.target.value})},className:"w-full mt-1.5 rounded-xl bg-[var(--color-cream-dark)] px-3 py-2.5 da-mono text-xs border border-[var(--color-border-default)]",children:[e.jsx("option",{value:"all",children:"All Gyms & Studios"}),e.jsx("option",{value:"partner",children:"â¡ Verified GymLoop Partners"}),e.jsx("option",{value:"external",children:"ð Nearby Local Directory"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Location"}),e.jsxs("select",{value:c,onChange:r=>{E(r.target.value),n({city:r.target.value})},className:"w-full mt-1.5 rounded-xl bg-[var(--color-cream-dark)] px-3 py-2.5 da-mono text-xs border border-[var(--color-border-default)]",children:[e.jsx("option",{value:"all",children:"ð All Locations"}),C.cities.map(r=>e.jsx("option",{value:r,children:r},r))]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Max Monthly Budget (â¹)"}),e.jsxs("div",{className:"flex items-center gap-2 mt-1.5",children:[e.jsx("input",{type:"number",value:g,onChange:r=>H(r.target.value),onKeyDown:r=>{r.key==="Enter"&&n({maxPrice:g})},placeholder:"e.g. 2500",className:"w-full rounded-xl bg-[var(--color-cream-dark)] px-3 py-2.5 da-mono text-xs border border-[var(--color-border-default)] min-h-[44px]"}),g&&e.jsx("button",{type:"button",onClick:()=>{H(""),n({maxPrice:null})},className:"p-2 text-[var(--color-mist)] cursor-pointer",children:e.jsx(h,{className:"h-4 w-4"})})]})]}),e.jsxs("label",{className:"flex items-center justify-between p-3 rounded-xl border border-[var(--color-border-subtle)] bg-[var(--color-cream-dark)]",children:[e.jsx("span",{className:"da-mono text-xs font-semibold text-[var(--color-ink)]",children:"Open Now Only"}),e.jsx("input",{type:"checkbox",checked:ve,onChange:r=>{le(r.target.checked),n({openNow:r.target.checked?"true":null})},className:"accent-[var(--color-ink)]"})]}),e.jsxs("div",{className:"pt-2 flex items-center gap-2",children:[e.jsx("button",{onClick:ce,className:"w-1/2 roun
12ded-xl py-3 da-mono text-xs border border-[var(--color-border-default)] cursor-pointer",children:"Reset Filters"}),e.jsxs("button",{onClick:()=>{n({maxPrice:g}),ee(!1)},className:"w-1/2 rounded-xl py-3 da-display text-xs font-semibold bg-[var(--color-ink)] text-[var(--color-cream)] cursor-pointer",children:["Apply (",k.length,")"]})]})]})]})}),q&&e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:[1,2,3,4].map(r=>e.jsxs("div",{className:"overflow-hidden rounded-3xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] p-6 space-y-4 animate-pulse",children:[e.jsx("div",{className:"h-44 w-full bg-[var(--color-cream-dark)] rounded-2xl"}),e.jsx("div",{className:"h-6 w-2/3 bg-[var(--color-cream-dark)] rounded"}),e.jsx("div",{className:"h-4 w-1/2 bg-[var(--color-cream-dark)] rounded"})]},r))}),!q&&k.length===0&&e.jsxs("div",{className:"rounded-3xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] p-12 text-center space-y-4 shadow-xs",children:[e.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-[var(--color-cream-dark)] text-[var(--color-ink)]",children:e.jsx(me,{className:"h-8 w-8 text-[var(--color-dark-teal)]"})}),e.jsx("h3",{className:"da-display text-2xl font-bold text-[var(--color-ink)]",children:"No Gyms Found"}),e.jsx("p",{className:"da-mono text-xs text-[var(--color-mist)] max-w-md mx-auto leading-relaxed",children:"We couldn't find any gyms matching your selected search parameters. Try searching for a different city or clearing filters to explore all available fitness centers."}),e.jsxs("button",{onClick:ce,className:"inline-flex items-center gap-2 rounded-full bg-[var(--color-ink)] px-6 py-2.5 da-display text-xs font-semibold text-[var(--color-cream)] cursor-pointer",children:[e.jsx(Xe,{className:"h-4 w-4"}),"Clear Filters & View All Gyms"]})]}),!q&&k.length>0&&e.jsx("div",{className:u(Q==="grid"?"grid grid-cols-1 sm:grid-cols-2 gap-6":"space-y-6"),children:k.map(r=>e.jsxs("div",{onClick:()=>Re(r),tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),Re(r))},className:u("group overflow-hidden rounded-3xl border transition-all duration-300 flex justify-between hover:shadow-xl hover:-translate-y-1 transform-gpu cursor-pointer bg-[var(--color-cream)]",Q==="list"?"flex-col sm:flex-row":"flex-col",r.isPartner?"border-2 border-[var(--color-ink)] shadow-sm":"border-[var(--color-border-subtle)] hover:border-[var(--color-border-strong)]"),children:[e.jsxs("div",{className:u("relative overflow-hidden bg-[var(--color-cream-dark)] shrink-0",Q==="list"?"h-48 sm:h-auto sm:w-64":"h-48 w-full"),children:[r.coverPhoto?e.jsx("img",{src:r.coverPhoto,alt:r.orgName,loading:"lazy",onError:t=>{t.currentTarget.style.display="none"},className:"h-full w-full object-cover group-hover:scale-105 transition-transform duration-500 ease-out"}):e.jsxs("div",{className:"h-full w-full bg-[var(--color-cream-dark)] flex flex-col items-center justify-center p-4 text-center",children:[e.jsx(me,{className:"h-8 w-8 text-[var(--color-dark-teal)] mb-1 opacity-70"}),e.jsx("span",{className:"da-display font-bold text-sm text-[var(--color-ink)]",children:r.orgName}),e.jsx("span",{className:"da-mono text-[10px] text-[var(--color-mist)] uppercase tracking-wider",children:r.city})]}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/15 to-transparent pointer-events-none"}),e.jsxs("div",{className:"absolute top-3 left-3 flex items-center gap-1.5 flex-wrap z-10",children:[r.isPartner&&e.jsx("span",{className:"rounded-full bg-[var(--color-ink)] text-[var(--color-cream)] px-2.5 py-0.5 da-mono text-[10px] font-bold uppercase tracking-wider shadow-sm",children:"â¡ Verified Partner"}),r.photos&&r.photos.length>1&&e.jsxs("span",{className:"rounded-full bg-white/90 text-[#0e1113] px-2 py-0.5 da-mono text-[10px] font-bold shadow-sm flex items-center gap-1",children:[e.jsx(Pe,{className:"h-3 w-3 text-[var(--color-dark-teal)]"}),e.jsx("span",{children:r.photos.length})]}),r.isOpenNow?e.jsx("span",{className:"rounded-full bg-white/90 text-[#3c8a52] px-2 py-0.5 da-mono text-[10px] font-bold uppercase shadow-sm",children:"Open"}):e.jsx("span",{className:"rounded-full bg-white/90 text-[var(--color-mist)] px-2 py-0.5 da-mono text-[10px] font-bold uppercase shadow-sm",children:"Closed"})]}),e.jsxs("div",{className:"absolute top-3 right-3 flex items-center gap-1.5 z-10",children:[r.distanceKm!=null&&e.jsxs("div",{className:"flex items-center gap-1 rounded-full bg-white/90 backdrop-blur-md px-2.5 py-0.5 da-mono text-[10px] font-bold text-[#0e1113] shadow-sm",children:[e.jsx(pe,{className:"h-3 w-3 text-[var(--color-dark-teal)] shrink-0"}),e.jsx("span",{children:r.distanceKm<1?`${Math.round(r.distanceKm*1e3)}m`:`${r.distanceKm.toFixed(1)} km`})]}),e.jsxs("div",{className:"flex items-center gap-1 rounded-full bg-white/90 backdrop-blur-md px-2 py-0.5 da-mono text-xs font-bold text-[#db704c] shadow-sm",children:[e.jsx(Ye,{className:"h-3 w-3 fill-current"}),e.jsx("span",{children:r.rating}),e.jsxs("span",{className:"text-[var(--color-mist)] font-normal text-[10px]",children:["(",r.reviewCount,")"]})]}),e.jsx("button",{type:"button",onClick:t=>{t.stopPropagation(),De(r)},className:"flex items-center justify-center h-6 w-6 rounded-full bg-white/90 backdrop-blur-md text-[var(--color-ink)] hover:scale-110 shadow-sm transition-transform cursor-pointer",title:"Share Gym link",children:e.jsx(Je,{className:"h-3 w-3"})})]}),e.jsxs("div",{className:"absolute bottom-3 left-4 right-4 z-10 text-white",children:[e.jsxs("h3",{className:"da-display text-xl font-bold leading-snug drop-shadow-sm",children:[r.orgName," ",e.jsxs("span",{className:"da-mono font-normal opacity-80 text-xs",children:["· ",r.branchName]})]}),r.tagline&&e.jsx("p",{className:"da-mono text-[10px] uppercase text-[#a0ded6] tracking-wider truncate mt-0.5",children:r.tagline})]})]}),e.jsxs("div",{className:"p-5 sm:p-6 space-y-4 flex-1 flex flex-col justify-between",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start gap-2 da-mono text-xs text-[var(--color-mist)]",children:[e.jsx(oe,{className:"h-3.5 w-3.5 text-[var(--color-dark-teal)] shrink-0 mt-0.5"}),e.jsx("span",{className:"line-clamp-1",children:r.address})]}),e.jsxs("div",{children:[e.jsx("span",{className:"da-mono text-[10px] font-bold text-[var(--color-mist)] uppercase tracking-wider block mb-1.5",children:"Programs Offered:"}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[r.programs.slice(0,3).map(t=>e.jsx("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream-dark)] px-2.5 py-0.5 da-mono text-[10px] uppercase text-[var(--color-ink)]",children:t},t)),r.programs.length>3&&e.jsxs("span",{className:"rounded-full border border-[var(--color-border-subtle)] px-2 py-0.5 da-mono text-[10px] text-[var(--color-mist)]",children:["+",r.programs.length-3]})]})]}),r.amenities.length>0&&e.jsx("div",{className:"pt-3 border-t border-[var(--color-border-subtle)] flex flex-wrap gap-x-3 gap-y-1.5 da-mono text-xs text-[var(--color-mist)]",children:r.amenities.slice(0,3).map(t=>e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Pr,{className:"h-3.5 w-3.5 text-[#3c8a52]"}),t]},t))})]}),e.jsxs("div",{className:"pt-4 border-t border-[var(--color-border-subtle)] flex items-center justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx("span",{className:"da-mono text-[10px] uppercase tracking-wider text-[var(--color-mist)] block",children:r.isPartner?"Starting membership":"Estimated plans from"}),e.jsxs("span",{className:"da-display text-xl sm:text-2xl font-bold text-[var(--color-ink)]",children:["â¹",er(r.startingPrice)," ",e.jsxs("span",{className:"da-mono text-xs font-normal text-[var(--color-mist)]",children:["/ ",r.pricePeriod||"mo"]})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:r.isPartner?e.jsx(p,{to:r.landingUrl,onClick:t=>t.stopPropagation(),children:e.jsxs("button",{className:"rounded-full bg-[var(--color-ink)] text-[var(--color-cream)] px-4 py-2 da-display text-xs font-semibold hover:opacity-90 shadow-sm inline-flex items-center gap-1 cursor-pointer",children:[e.jsx("span",{children:"Explore"}),e.jsx(xe,{className:"h-3.5 w-3.5"})]})}):e.jsx(p,{to:r.claimUrl||`/signup?claimName=${encodeURIComponent(r.orgName)}`,onClick:t=>t.stopPropagation(),children:e.jsxs("button",{className:"rounded-full border border-[var(--color-border-strong)] text-[var(--color-ink)] px-3.5 py-1.5 da-mono text-xs font-semibold hover:bg-[var(--color-ink-05)] inline-flex items-center gap-1 cursor-pointer",children:[e.jsx("span",{children:"Claim"}),e.jsx(Ze,{className:"h-3 w-3"})]})})})]})]})]},r.id))}),!q&&T>1&&e.jsxs("div",{className:"mt-12 pt-6 border-t border-[var(--color-border-subtle)] flex flex-col sm:flex-row items-center justify-between gap-4",children:[e.jsxs("p",{className:"da-mono text-xs text-[var(--color-mist)]",children:["Showing ",ir,"â",cr," of ",se," gyms"]}),e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap justify-center da-mono text-xs",children:[e.jsxs("button",{disabled:v<=1,onClick:()=>{n({page:String(v-1)}),window.scrollTo({top:250,behavior:"smooth"})},className:"rounded-xl border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-2 text-[var(--color-ink)] disabled:opacity-30 disabled:cursor-not-allowed cursor-pointer",children:[e.jsx(Ce,{className:"h-4 w-4 mr-1 inline"}),"Previous"]}),dr.map((r,t)=>r==="..."?e.jsx("span",{className:"px-2 text-[var(--color-mist)] font-bold",children:"..."},`ellipsis-${t}`):e.jsx("button",{onClick:()=>{n({page:String(r)}),window.scrollTo({top:250,behavior:"smooth"})},className:u("rounded-xl h-9 w-9 font-bold transition-all cursor-pointer",v===r?"bg-[var(--color-ink)] text-[var(--color-cream)] shadow-sm":"border border-[var(--color-border-default)] bg-[var(--color-cream)] text-[var(--color-ink)] hover:bg-[var(--color-ink-05)]"),children:r},`page-${r}`)),e.jsxs("button",{disabled:v>=T,onClick:()=>{n({page:String(v+1)}),window.scrollTo({top:250,behavior:"smooth"})},className:"rounded-xl border border-[var(--color-border-default)] bg-[var(--color-cream)] px-3 py-2 text-[var(--color-ink)] disabled:opacity-30 disabled:cursor-not-allowed cursor-pointer",children:["Next",e.jsx(xe,{className:"h-4 w-4 ml-1 inline"})]})]})]})]})]})}),e.jsx("div",{className:"fixed bottom-4 left-4 right-4 z-30 lg:hidden flex justify-center",children:e.jsxs("button",{onClick:()=>ee(!0),className:"rounded-full px-5 py-2.5 da-mono text-xs font-semibold bg-[var(--color-ink)] text-[var(--color-cream)] gap-2 shadow-2xl inline-flex items-center cursor-pointer",children:[e.jsx(Qe,{className:"h-4 w-4"}),e.jsxs("span",{children:["Filter & Sort ",I>0?`(${I})`:""]})]})}),s&&e.jsx("div",{onClick:ge,className:"fixed inset-0 z-50 flex items-end sm:items-center justify-center p-0 sm:p-4 bg-black/80 backdrop-blur-xs transition-all animate-in fade-in duration-200 cursor-pointer",children:e.jsxs("div",{onClick:r=>r.stopPropagation(),className:"relative w-full max-w-2xl max-h-[92vh] sm:max-h-[88vh] flex flex-col bg-[var(--color-cream)] rounded-t-[32px] sm:rou
12nded-3xl shadow-2xl border border-[var(--color-border-subtle)] overflow-hidden cursor-default animate-in slide-in-from-bottom-6 duration-200",children:[e.jsxs("div",{className:"sticky top-0 z-30 bg-[var(--color-cream)]/95 backdrop-blur-md border-b border-[var(--color-border-subtle)] px-4 sm:px-6 py-3 shrink-0 flex items-center justify-between gap-3",children:[e.jsx("div",{className:"mx-auto h-1.5 w-12 rounded-full bg-[var(--color-mist)]/30 absolute left-1/2 -translate-x-1/2 top-2 sm:hidden"}),e.jsxs("div",{className:"flex items-center gap-3 min-w-0 pt-2 sm:pt-0",children:[e.jsx("div",{className:"h-9 w-9 rounded-xl bg-[var(--color-ink)] text-[var(--color-cream)] flex items-center justify-center shrink-0 font-bold text-sm shadow-xs overflow-hidden",children:s.logoUrl?e.jsx("img",{src:s.logoUrl,alt:s.orgName,className:"h-full w-full object-cover"}):e.jsx(me,{className:"h-5 w-5"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx("h3",{className:"da-display text-sm sm:text-base font-bold text-[var(--color-ink)] truncate",children:s.orgName}),s.isPartner&&e.jsx("span",{className:"rounded-full bg-[var(--color-ink)] text-[var(--color-cream)] px-2 py-0.2 da-mono text-[9px] font-bold uppercase tracking-wider",children:"⡠VERIFIED"})]}),e.jsxs("p",{className:"da-mono text-[11px] text-[var(--color-mist)] truncate",children:[s.branchName," · ",s.city]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0 pt-2 sm:pt-0",children:[s.isPartner?e.jsx(p,{to:s.landingUrl,children:e.jsxs("button",{className:"rounded-full bg-[var(--color-ink)] text-[var(--color-cream)] da-display text-xs font-semibold px-4 py-2 hover:opacity-90 inline-flex items-center gap-1 cursor-pointer",children:[e.jsx("span",{children:"Visit Site"}),e.jsx(Be,{className:"h-3.5 w-3.5"})]})}):e.jsx(p,{to:s.claimUrl||`/signup?claimName=${encodeURIComponent(s.orgName)}`,children:e.jsxs("button",{className:"rounded-full border border-[var(--color-border-strong)] text-[var(--color-ink)] da-mono text-xs font-semibold px-3.5 py-1.5 hover:bg-[var(--color-ink-05)] inline-flex items-center gap-1 cursor-pointer",children:[e.jsx("span",{children:"Claim"}),e.jsx(Ze,{className:"h-3.5 w-3.5"})]})}),e.jsx("button",{type:"button",onClick:r=>{r.stopPropagation(),De(s)},className:"rounded-full p-2 text-[var(--color-mist)] hover:text-[var(--color-ink)] hover:bg-[var(--color-ink-05)] transition-colors cursor-pointer",title:"Share Gym Profile",children:e.jsx(Je,{className:"h-4 w-4"})}),e.jsx("button",{type:"button",onClick:ge,className:"rounded-full p-2 text-[var(--color-mist)] hover:text-[var(--color-ink)] hover:bg-[var(--color-ink-05)] transition-colors cursor-pointer","aria-label":"Close",children:e.jsx(h,{className:"h-5 w-5"})})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto overscroll-contain p-4 sm:p-6 space-y-5",children:[(()=>{const r=(s.photos||[]).filter(l=>typeof l=="string"&&l.trim().length>5);s.coverPhoto&&!r.includes(s.coverPhoto)&&r.unshift(s.coverPhoto);const t=r.length>0,o=t?r[J]||r[0]:"";return t?e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{onTouchStart:l=>{Ee(null),lr(l.targetTouches[0].clientX)},onTouchMove:l=>Ee(l.targetTouches[0].clientX),onTouchEnd:()=>{if(!Ae||!Ge)return;const l=Ae-Ge;l>40?R(d=>d<r.length-1?d+1:0):l<-40&&R(d=>d>0?d-1:r.length-1)},className:"relative h-56 sm:h-72 w-full overflow-hidden rounded-2xl bg-[var(--color-cream-dark)] border border-[var(--color-border-subtle)] shadow-md group touch-pan-y cursor-pointer select-none",onClick:()=>y(J),children:[e.jsx("img",{src:o,alt:`${s.orgName} photo`,className:"h-full w-full object-cover transition-all duration-300 group-hover:scale-105"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/15 to-transparent pointer-events-none"}),e.jsxs("div",{className:"absolute top-3 left-3 right-3 z-10 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[s.isPartner&&e.jsx("span",{className:"rounded-full bg-[var(--color-ink)] text-[var(--color-cream)] px-2.5 py-0.5 da-mono text-[9px] font-bold uppercase tracking-wider",children:"⡠Verified Partner"}),e.jsxs("span",{className:"rounded-full bg-black/60 backdrop-blur-md text-white border border-white/20 text-[10px] da-mono font-bold px-2 py-0.5 flex items-center gap-1",children:[e.jsx(Pe,{className:"h-3 w-3 text-white"}),e.jsxs("span",{children:[J+1," / ",r.length]})]})]}),e.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),y(J)},className:"rounded-full p-1.5 bg-black/60 hover:bg-black/80 text-white border border-white/20 backdrop-blur-md transition-all cursor-pointer",title:"View Fullscreen",children:e.jsx(Er,{className:"h-3.5 w-3.5"})})]}),r.length>1&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),R(d=>d>0?d-1:r.length-1)}
12,className:"absolute left-2.5 top-1/2 -translate-y-1/2 rounded-full p-2 bg-black/60 hover:bg-black/80 text-white border border-white/20 backdrop-blur-md transition-all cursor-pointer",children:e.jsx(Ce,{className:"h-4 w-4"})}),e.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),R(d=>d<r.length-1?d+1:0)},className:"absolute right-2.5 top-1/2 -translate-y-1/2 rounded-full p-2 bg-black/60 hover:bg-black/80 text-white border border-white/20 backdrop-blur-md transition-all cursor-pointer",children:e.jsx(xe,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"absolute bottom-3 left-4 right-4 z-10 text-white pointer-events-none",children:[e.jsxs("h3",{className:"da-display text-xl sm:text-2xl font-bold drop-shadow text-white",children:[s.orgName," ",e.jsxs("span",{className:"da-mono text-sm opacity-80",children:["(",s.branchName,")"]})]}),e.jsxs("p",{className:"da-mono text-xs text-white/90 flex items-center gap-1 mt-0.5 line-clamp-1",children:[e.jsx(oe,{className:"h-3.5 w-3.5 text-[var(--color-dark-teal)] shrink-0"}),s.address]})]})]}),r.length>1&&e.jsx("div",{className:"flex items-center gap-2 overflow-x-auto pb-1 scrollbar-none",children:r.map((l,d)=>e.jsx("button",{type:"button",onClick:()=>R(d),className:u("h-12 w-16 rounded-xl overflow-hidden shrink-0 border-2 transition-all cursor-pointer",J===d?"border-[var(--color-ink)] opacity-100 scale-105":"border-[var(--color-border-subtle)] opacity-60 hover:opacity-100"),children:e.jsx("img",{src:l,alt:`Photo ${d+1}`,className:"h-full w-full object-cover"})},d))})]}):e.jsxs("div",{className:"relative h-44 sm:h-52 w-full overflow-hidden rounded-2xl bg-[var(--color-cream-dark)] border border-[var(--color-border-subtle)] flex flex-col items-center justify-center p-6 text-center space-y-2",children:[e.jsx("div",{className:"h-12 w-12 rounded-2xl bg-[var(--color-ink)] text-[var(--color-cream)] flex items-center justify-center",children:e.jsx(me,{className:"h-6 w-6"})}),e.jsxs("h3",{className:"da-display text-xl font-bold text-[var(--color-ink)]",children:[s.orgName," (",s.branchName,")"]}),e.jsxs("p",{className:"da-mono text-xs text-[var(--color-mist)] flex items-center justify-center gap-1",children:[e.jsx(oe,{className:"h-3.5 w-3.5 text-[var(--color-dark-teal)]"}),s.address]})]})})(),!s.isPartner&&e.jsxs("div",{className:"p-4 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream-dark)] flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"da-display text-xs font-bold text-[var(--color-ink)]",children:"Is this your gym or fitness studio?"}),e.jsx("p",{className:"da-mono text-[11px] text-[var(--color-mist)] mt-0.5",children:"Claim this facility to update schedules, verify plans, and manage leads."})]}),e.jsx(p,{to:s.claimUrl||`/signup?claimName=${encodeURIComponent(s.orgName)}`,children:e.jsx("button",{className:"rounded-full bg-[var(--color-ink)] text-[var(--color-cream)] px-4 py-2 da-display text-xs font-semibold hover:opacity-90 shrink-0 cursor-pointer",children:"Claim Listing"})})]}),e.jsxs("div",{className:"p-4 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-start gap-2.5 min-w-0",children:[e.jsx(oe,{className:"h-4 w-4 text-[var(--color-dark-teal)] shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("span",{className:"da-mono text-[10px] font-bold uppercase tracking-wider text-[var(--color-mist)] block",children:"Facility Address"}),e.jsx("p",{className:"da-mono text-xs text-[var(--color-ink)] mt-0.5 leading-relaxed",children:s.address})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("button",{onClick:()=>ar(s.address),className:"rounded-xl border border-[var(--color-border-default)] px-3 py-1.5 da-mono text-xs text-[var(--color-ink)] hover:bg-[var(--color-ink-05)] inline-flex items-center gap-1 cursor-pointer",children:[Te?e.jsx(Sr,{className:"h-3.5 w-3.5 text-[#3c8a52]"}):e.jsx(Lr,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:Te?"Copied":"Copy"})]}),e.jsxs("a",{href:s.directionsUrl||`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(`${s.orgName} ${s.address}`)}`,target:"_blank",rel:"noreferrer",className:"rounded-xl bg-[var(--color-ink)] text-[var(--color-cream)] px-3.5 py-1.5 da-display text-xs font-semibold hover:opacity-90 inline-flex items-center gap-1 cursor-pointer no-underline",children:[e.jsx(pe,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:"Maps"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3",children:[e.jsxs("div",{className:"p-3.5 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] text-center",children:[e.jsxs("div",{className:"flex items-center justify-center gap-1 text-[#db704c] font-bold text-sm mb-0.5",children:[e.jsx(Ye,{className:"h-4 w-4 fill-current"}),e.jsx("span",{children:s.rating})]}),e.jsxs("span",{className:"da-mono text-[10px] text-[var(--color-mist)]",children:["(",s.reviewCount," reviews)"]})]}),e.jsxs("div",{className:"p-3.5 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] text-center",children:[e.jsxs("p",{className:"da-display font-bold text-sm text-[var(--color-ink)]",children:["â¹",er(s.startingPrice)]}),e.jsxs("span",{className:"da-mono text-[10px] text-[var(--color-mist)]",children:["Per ",s.pricePeriod||"month"]})]}),e.jsxs("div",{className:"p-3.5 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] text-center",children:[e.jsx("span",{className:u("da-mono font-bold text-xs uppercase",s.isOpenNow?"text-[#3c8a52]":"text-[var(--color-mist)]"),children:s.isOpenNow?"Open Now":"Closed"}),e.jsx("span",{className:"da-mono text-[10px] text-[var(--color-mist)] block mt-0.5",children:"Daily Hours"})]}),e.jsxs("div",{className:"p-3.5 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] text-center",children:[e.jsxs("div",{className:"flex items-center justify-center gap-1 text-[var(--color-dark-teal)] font-bold text-xs mb-0.5",children:[e.jsx(pe,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:s.distanceKm?`${s.distanceKm.toFixed(1)} km`:"Local"})]}),e.jsx("span",{className:"da-mono text-[10px] text-[var(--color-mist)]",children:"Distance"})]})]}),s.programs.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Training Programs & Classes"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:s.programs.map(r=>e.jsx("span",{className:"rounded-full border border-[var(--color-border-default)] bg-[var(--color-cream-dark)] px-3 py-1 da-mono text-xs text-[var(--color-ink)]",children:r},r))})]}),s.amenities.length>0&&e.jsxs("div",{className:"space-y-2 border-t border-[var(--color-border-subtle)] pt-4",children:[e.jsx("h4",{className:"da-mono text-xs font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Facility Amenities"}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-2 da-mono text-xs",children:s.amenities.map(r=>e.jsxs("div",{className:"p-2.5 rounded-xl border border-[var(--color-border-subtle)] bg-[var(--color-cream)] flex items-center gap-2",children:[e.jsx(We,{className:"h-3.5 w-3.5 text-[#3c8a52] shrink-0"}),e.jsx("span",{className:"truncate",children:r})]},r))})]}),e.jsxs("div",{className:"border-t border-[var(--color-border-subtle)] pt-4 space-y-2 da-mono text-xs",children:[e.jsx("span",{className:"font-semibold uppercase tracking-wider text-[var(--color-mist)]",children:"Schedule & Timings"}),e.jsx("p",{className:"text-[var(--color-ink)] font-medium",children:s.openingHoursText||"Mon-Sat: 6:00 AM - 10:00 PM ⢠Sun: 8:00 AM - 2
12:00 PM"})]}),e.jsxs("div",{className:"pt-2 grid grid-cols-1 sm:grid-cols-2 gap-2.5",children:[s.phone&&(()=>{const r=s.phone.replace(/[^+0-9]/g,""),o=`https://wa.me/${r.startsWith("+")?r.replace("+",""):r.startsWith("91")?r:`91${r.replace(/^0+/,"")}`}?text=${encodeURIComponent(`Hi! I am interested in joining ${s.orgName}. Could you share details & plans?`)}`;return e.jsxs("a",{href:o,target:"_blank",rel:"noreferrer",className:"p-3.5 rounded-2xl bg-[#3c8a52] text-white da-display font-semibold text-xs flex items-center justify-between no-underline shadow-sm hover:opacity-95",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Ar,{className:"h-4 w-4"})," Chat on WhatsApp"]}),e.jsx("span",{className:"da-mono text-[10px] uppercase bg-black/20 px-2 py-0.5 rounded-full",children:"Message"})]})})(),s.phone&&e.jsxs("a",{href:`tel:${s.phone}`,className:"p-3.5 rounded-2xl border border-[var(--color-border-strong)] text-[var(--color-ink)] da-display font-semibold text-xs flex items-center justify-between no-underline hover:bg-[var(--color-ink-05)]",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Mr,{className:"h-4 w-4 text-[var(--color-dark-teal)]"})," Call Facility"]}),e.jsx("span",{className:"da-mono text-[10px] text-[var(--color-mist)]",children:s.phone})]}),s.email&&e.jsxs("a",{href:`mailto:${s.email}`,className:"p-3.5 rounded-2xl border border-[var(--color-border-subtle)] bg-[var(--color-cream-dark)] text-[var(--color-ink)] da-mono text-xs flex items-center gap-2 no-underline col-span-1 sm:col-span-2 truncate",children:[e.jsx(Gr,{className:"h-4 w-4 text-[var(--color-dark-teal)] shrink-0"}),e.jsx("span",{className:"truncate",children:s.email})]})]})]})]})}),D!==null&&s&&(()=>{const r=(s.photos||[]).filter(o=>typeof o=="string"&&o.trim().length>5);s.coverPhoto&&!r.includes(s.coverPhoto)&&r.unshift(s.coverPhoto);const t=r[D]||r[0];return e.jsxs("div",{onClick:()=>y(null),className:"fixed inset-0 z-50 bg-black/95 flex flex-col justify-between p-4 backdrop-blur-md animate-in fade-in duration-200 cursor-pointer",children:[e.jsxs("div",{className:"flex items-center justify-between text-white z-10 p-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Pe,{className:"h-4 w-4 text-[var(--color-dark-teal)]"}),e.jsx("span",{className:"da-display text-sm font-bold",children:s.orgName}),e.jsxs("span",{className:"da-mono text-xs text-white/70",children:["(",D+1," / ",r.length,")"]})]}),e.jsx("button",{type:"button",onClick:()=>y(null),className:"rounded-full p-2 bg-white/10 hover:bg-white/20 text-white transition-colors cursor-pointer",children:e.jsx(h,{className:"h-5 w-5"})})]}),e.jsxs("div",{className:"relative flex-1 flex items-center justify-center p-2 min-h-0",onClick:o=>o.stopPropagation(),children:[t&&e.jsx("img",{src:t,alt:`${s.orgName} preview`,className:"max-h-full max-w-full object-contain rounded-2xl shadow-2xl"}),r.length>1&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),y(l=>l!==null&&l>0?l-1:r.length-1)},className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full p-3 bg-black/60 hover:bg-black/80 text-white border border-white/20 backdrop-blur-md transition-all shadow-xl cursor-pointer",children:e.jsx(Ce,{className:"h-6 w-6"})}),e.jsx("button",{type:"button",onClick:o=>{o.stopPropagation(),y(l=>l!==null&&l<r.length-1?l+1:0)},className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full p-3 bg-black/60 hover:bg-black/80 text-white border border-white/20 backdrop-blur-md transition-all shadow-xl cursor-pointer",children:e.jsx(xe,{className:"h-6 w-6"})})]})]}),r.length>1&&e.jsx("div",{className:"flex items-center justify-center gap-2 overflow-x-auto p-2 scrollbar-none",onClick:o=>o.stopPropagation(),children:r.map((o,l)=>e.jsx("button",{type:"button",onClick:()=>y(l),className:u("h-12 w-16 rounded-lg overflow-hidden shrink-0 border-2 transition-all cursor-pointer",D===l?"border-white opacity-100 scale-105":"border-white/20 opacity-50 hover:opacity-100"),children:e.jsx("img",{src:o,alt:`Thumb ${l+1}`,className:"h-full w-full object-cover"})},l))})]})})(),e.jsx("footer",{className:"mt-16 border-t border-[var(--color-border-subtle)] bg-[var(--color-cream)] py-12 px-4 sm:px-8 text-[var(--color-ink)]",children:e.jsxs("div",{className:"mx-auto max-w-7xl flex flex-col sm:flex-row items-center justify-between gap-4 da-mono text-xs text-[var(--color-mist)]",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-[#3c8a52]"}),e.jsxs("span",{children:["© ",new Date().getFullYear()," GymLoop Public Registry. Built for fitness operators and members."]})]}),e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsx(p,{to:"/business",className:"text-[var(--color-ink)] font-bold hover:underline",children:"For Gym Owners & Chains â"}),e.jsx(p,{to:"/login",className:"hover:underline",children:"Staff Portal"}),e.jsx(p,{to:"/privacy",className:"hover:underline",children:"Privacy"})]})]})})]})}function Dr(){return e.jsx("style",{dangerouslySetInnerHTML:{__html:` 13 .da-theme { 14 --color-cream: #fbfaf4; 15 --color-cream-dark: #f2f1eb; 16 --color-ink: #0e1113; 17 --color-mist: #57606a; 18 --color-dark-teal: #1c525d; 19 --color-border-subtle: rgba(14, 17, 19, 0.09); 20 --color-border-default: rgba(14, 17, 19, 0.18); 21 --color-border-strong: rgba(14, 17, 19, 0.85); 22 --color-ink-05: rgba(14, 17, 19, 0.05); 23 background-color: var(--color-cream); 24 color: var(--color-ink); 25 font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace; 26 } 27 28 .dark .da-theme { 29 --color-cream: #181e1d; 30 --color-cream-dark: #121716; 31 --color-ink: #fbfaf4; 32 --color-mist: #9aa5a1; 33 --color-dark-teal: #8bd3c7; 34 --color-border-subtle: rgba(251, 250, 244, 0.12); 35 --color-border-default: rgba(251, 250, 244, 0.22); 36 --color-border-strong: rgba(251, 250, 244, 0.8); 37 --color-ink-05: rgba(251, 250, 244, 0.07); 38 } 39 40 .da-display { 41 font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 42 letter-spacing: -0.035em; 43 } 44 45 .da-mono { 46 font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace; 47 } 48 `}})}export{Qr as GymSearchPage};
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.