1<!DOCTYPE html><html lang="en" class="light"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="https://app-assets.gadget.dev/a/317290/620860/assets/tennis-9qUKovGv.jpg"/><link rel="preload" as="image" href="https://app-assets.gadget.dev/a/317290/620860/assets/squash-DvL_DIM7.jpg"/><link rel="preload" as="image" href="https://app-assets.gadget.dev/a/317290/620860/assets/athletics-D4x1Wc2J.jpg"/><link rel="preload" as="image" href="https://app-assets.gadget.dev/a/317290/620860/assets/swimming-DL48ojv3.jpg"/>
vendor: 66 bytes, line 1
1<script async="" src="https://www.googletagmanager.com/gtag/js?id=
1G-20RDVMTBNZ
vendor: 11 bytes, line 1
1"></script>
1<script src="https://analytics.ahrefs.com/analytics.js" data-key="V4VACnNtSPET+TKiMxNVNg" async=""></script>
1<title>booka.club</title><link rel="icon" type="image/png" href="/assets/Favicon.png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/entry.client-b-PgeUcL.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/jsx-runtime-u17CrQMm.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/chunk-LFPYN7LY-OlJdoD8m.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Jlpy14sA.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/root-C1cyAME5.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/api-DGrb-1cd.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-BxvEdOvP.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/createLucideIcon-DVouMKy4.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/triangle-alert-CC4U_Kuo.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/info-DtGMn5zs.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/circle-check-D3XfUmMh.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/GadgetProvider-BrPsui8i.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-OOXbI_7b.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/_public-CQYUbCzx.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/button-B3zQBpVm.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/UserIcon-DlgW6dxH.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-YgzJKcou.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Df1aKTb0.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Bn5JCHAo.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Ben03Lm_.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Bsb5KjZ-.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Bj828y8v.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-BieWW-GC.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/index-Bi_92-5i.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/chevron-down-BRUwxG2L.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/BookaLogo-sNxN0pFN.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/avatar-DBULbRd4.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/_public._index-B31MW4n4.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/card-CpQO72U6.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/clock-ClRFLkua.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/chevron-right-CZLqJanS.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/accordion-CCC3WS1r.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/users-QFbiNfcq.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/palette-DWtdjLoY.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/check-B9JoSMBO.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/credit-card-BITnIE4s.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/circle-x-D-QaHBjZ.js"/><link rel="modulepreload" href="https://app-assets.gadget.dev/a/317290/620860/assets/lock-BaYVomDI.js"/><link rel="stylesheet" href="https://app-assets.gadget.dev/a/317290/620860/assets/root-gl
1C6R0AN.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@700;900&display=swap"/>
1<script>
vendor: 127 bytes, line 1
1window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
1G-20RDVMTBNZ
vendor: 3 bytes, line 1
1');
1</script>
1</head><body><!--$?--><template id="B:0"></template><!--/$-->
1<script>((storageKey2, restoreKey) => { 2 if (!window.history.state || !window.history.state.key) { 3 let key = Math.random().toString(32).slice(2); 4 window.history.replaceState({ key }, ""); 5 } 6 try { 7 let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); 8 let storedY = positions[restoreKey || window.history.state.key]; 9 if (typeof storedY === "number") { 10 window.scrollTo(0, storedY); 11 } 12 } catch (error) { 13 console.error(error); 14 sessionStorage.removeItem(storageKey2); 15 } 16 })("react-router-scroll-positions", "/")</script>
16<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":true,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"lazy","manifestPath":"/__manifest"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
16<script type="module" async="">; 17import * as route0 from "https://app-assets.gadget.dev/a/317290/620860/assets/root-C1cyAME5.js"; 18import * as route1 from "https://app-assets.gadget.dev/a/317290/620860/assets/_public-CQYUbCzx.js"; 19import * as route2 from "https://app-assets.gadget.dev/a/317290/620860/assets/_public._index-B31MW4n4.js"; 20 window.__reactRouterManifest = { 21 "entry": { 22 "module": "https://app-assets.gadget.dev/a/317290/620860/assets/entry.client-b-PgeUcL.js", 23 "imports": [ 24 "https://app-assets.gadget.dev/a/317290/620860/assets/jsx-runtime-u17CrQMm.js", 25 "https://app-assets.gadget.dev/a/317290/620860/assets/chunk-LFPYN7LY-OlJdoD8m.js", 26 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Jlpy14sA.js" 27 ], 28 "css": [] 29 }, 30 "routes": { 31 "root": { 32 "id": "root", 33 "path": "", 34 "hasAction": false, 35 "hasLoader": true, 36 "hasClientAction": false, 37 "hasClientLoader": false, 38 "hasClientMiddleware": false, 39 "hasDefaultExport": true, 40 "hasErrorBoundary": true, 41 "module": "https://app-assets.gadget.dev/a/317290/620860/assets/root-C1cyAME5.js", 42 "imports": [ 43 "https://app-assets.gadget.dev/a/317290/620860/assets/jsx-runtime-u17CrQMm.js", 44 "https://app-assets.gadget.dev/a/317290/620860/assets/chunk-LFPYN7LY-OlJdoD8m.js", 45 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Jlpy14sA.js", 46 "https://app-assets.gadget.dev/a/317290/620860/assets/api-DGrb-1cd.js", 47 "https://app-assets.gadget.dev/a/317290/620860/assets/index-BxvEdOvP.js", 48 "https://app-assets.gadget.dev/a/317290/620860/assets/createLucideIcon-DVouMKy4.js", 49 "https://app-assets.gadget.dev/a/317290/620860/assets/triangle-alert-CC4U_Kuo.js", 50 "https://app-assets.gadget.dev/a/317290/620860/assets/info-DtGMn5zs.js", 51 "https://app-assets.gadget.dev/a/317290/620860/assets/circle-check-D3XfUmMh.js", 52 "https://app-assets.gadget.dev/a/317290/620860/assets/GadgetProvider-BrPsui8i.js", 53 "https://app-assets.gadget.dev/a/317290/620860/assets/index-OOXbI_7b.js" 54 ], 55 "css": [ 56 "https://app-assets.gadget.dev/a/317290/620860/assets/root-glC6R0AN.css" 57 ] 58 }, 59 "routes/_public": { 60 "id": "routes/_public", 61 "parentId": "root", 62 "hasAction": false, 63 "hasLoader": true, 64 "hasClientAction": false, 65 "hasClientLoader": false, 66 "hasClientMiddleware": false, 67 "hasDefaultExport": true, 68 "hasErrorBoundary": false, 69 "module": "https://app-assets.gadget.dev/a/317290/620860/assets/_public-CQYUbCzx.js", 70 "imports": [ 71 "https://app-assets.gadget.dev/a/317290/620860/assets/chunk-LFPYN7LY-OlJdoD8m.js", 72 "https://app-assets.gadget.dev/a/317290/620860/assets/jsx-runtime-u17CrQMm.js", 73 "https://app-assets.gadget.dev/a/317290/620860/assets/button-B3zQBpVm.js", 74 "https://app-assets.gadget.dev/a/317290/620860/assets/UserIcon-DlgW6dxH.js", 75 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Jlpy14sA.js", 76 "https://app-assets.gadget.dev/a/317290/620860/assets/index-YgzJKcou.js", 77 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Df1aKTb0.js", 78 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Bn5JCHAo.js", 79 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Ben03Lm_.js", 80 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Bsb5KjZ-.js", 81 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Bj828y8v.js", 82 "https://app-assets.gadget.dev/a/317290/620860/assets/index-BieWW-GC.js", 83 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Bi_92-5i.js", 84 "https://app-assets.gadget.dev/a/317290/620860/assets/chevron-down-BRUwxG2L.js", 85 "https://app-assets.gadget.dev/a/317290/620860/assets/BookaLogo-sNxN0pFN.js", 86 "https://app-assets.gadget.dev/a/317290/620860/assets/avatar-DBULbRd4.js", 87 "https://app-assets.gadget.dev/a/317290/620860/assets/createLucideIcon-DVouMKy4.js" 88 ], 89 "css": [] 90 }, 91 "routes/_public._index": { 92 "id": "routes/_public._index", 93 "parentId": "routes/_public", 94 "index": true, 95 "hasAction": false, 96 "hasLoader": false, 97 "hasClientAction": false, 98 "hasClientLoader": false, 99 "hasClientMiddleware": false, 100 "hasDefaultExport": true, 101 "hasErrorBoundary": false, 102 "module": "https://app-assets.gadget.dev/a/317290/620860/assets/_public._index-B31MW4n4.js", 103 "imports": [ 104 "https://app-assets.gadget.dev/a/317290/620860/assets/chunk-LFPYN7LY-OlJdoD8m.js", 105 "https://app-assets.gadget.dev/a/317290/620860/assets/jsx-runtime-u17CrQMm.js", 106 "https://app-assets.gadget.dev/a/317290/620860/assets/card-CpQO72U6.js", 107 "https://app-assets.gadget.dev/a/317290/620860/assets/button-B3zQBpVm.js", 108 "https://app-assets.gadget.dev/a/317290/620860/assets/index-BxvEdOvP.js", 109 "https://app-assets.gadget.dev/a/317290/620860/assets/clock-ClRFLkua.js", 110 "https://app-assets.gadget.dev/a/317290/620860/assets/chevron-right-CZLqJanS.js", 111 "https://app-assets.gadget.dev/a/317290/620860/assets/accordion-CCC3WS1r.js", 112 "https://app-assets.gadget.dev/a/317290/620860/assets/BookaLogo-sNxN0pFN.js", 113 "https://app-assets.gadget.dev/a/317290/620860/assets/createLucideIcon-DVouMKy4.js", 114 "https://app-assets.gadget.dev/a/317290/620860/assets/users-QFbiNfcq.js", 115 "https://app-assets.gadget.dev/a/317290/620860/assets/palette-DWtdjLoY.js", 116 "https://app-assets.gadget.dev/a/317290/620860/assets/check-B9JoSMBO.js", 117 "https://app-assets.gadget.dev/a/317290/620860/assets/credit-card-BITnIE4s.js", 118 "https://app-assets.gadget.dev/a/317290/620860/assets/circle-x-D-QaHBjZ.js", 119 "https://app-assets.gadget.dev/a/317290/620860/assets/lock-BaYVomDI.js", 120 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Jlpy14sA.js", 121 "https://app-assets.gadget.dev/a/317290/620860/assets/index-YgzJKcou.js", 122 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Df1aKTb0.js", 123 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Bn5JCHAo.js", 124 "https://app-assets.gadget.dev/a/317290/620860/assets/index-Ben03
124Lm_.js", 125 "https://app-assets.gadget.dev/a/317290/620860/assets/chevron-down-BRUwxG2L.js" 126 ], 127 "css": [] 128 } 129 }, 130 "url": "https://app-assets.gadget.dev/a/317290/620860/assets/manifest-a4b4c291.js", 131 "version": "a4b4c291" 132}; 133 window.__reactRouterRouteModules = {"root":route0,"routes/_public":route1,"routes/_public._index":route2}; 134 135import("https://app-assets.gadget.dev/a/317290/620860/assets/entry.client-b-PgeUcL.js");</script>
135<!--$-->
135<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_47\":-5,\"_48\":-5},\"loaderData\",{\"_3\":4,\"_44\":45},\"root\",{\"_5\":6,\"_42\":43},\"gadgetConfig\",{\"_7\":8,\"_10\":11,\"_12\":13,\"_14\":15,\"_34\":-7,\"_35\":-7,\"_36\":37},\"apiKeys\",{\"_9\":-7},\"shopify\",\"environment\",\"production\",\"frameworkVersion\",\"^1.6.0\",\"env\",{\"_16\":17,\"_18\":19,\"_20\":11,\"_21\":22,\"_23\":19,\"_24\":25,\"_26\":11,\"_27\":28,\"_29\":30,\"_31\":13,\"_32\":33},\"GADGET_PUBLIC_STRIPE_PUBLISHABLE_KEY\",\"pk_live_51TBxIDGRxItkEbkaEjlsPAYvaKLooEtST6NkxTgQB69NLgyBUnedSBu3hXIqnxag6NHjm1vdUI0S4qRM80QGQMkx00OTfzEG99\",\"GADGET_APP\",\"courttime\",\"GADGET_ENV\",\"GADGET_APP_URL\",\"https://app.booka.club/\",\"GADGET_PUBLIC_APP_SLUG\",\"GADGET_ENV_ID\",\"620860\",\"GADGET_PUBLIC_APP_ENV\",\"GADGET_APP_TEMPLATE_TYPE\",\"WebAppWithAuth\",\"GADGET_OTEL_COLLECTOR_URL\",\"https://traces.gadget.dev\",\"GADGET_FRAMEWORK_VERSION\",\"GADGET_FLAG_ASSISTANT_ENABLED\",\"true\",\"shopifyInstallState\",\"shopifyAppBridgeCDNScriptSrc\",\"authentication\",{\"_38\":39,\"_40\":41},\"signInPath\",\"/sign-in\",\"redirectOnSuccessfulSignInPath\",\"/signed-in\",\"csrfToken\",\"MOKuVZ+AlcOdtUtUn8KDIMRrO3vwMQ8NohPZwDfQkB4=\",\"routes/_public\",{\"_46\":-7},\"user\",\"actionData\",\"errors\"]\n");</script>
135<!--$-->
135<script>window.__reactRouterContext.streamController.close();</script>
135<!--/$--><!--/$-->
135<script id="_R_">requestAnimationFrame(function(){$RT=performance.now()});</script>
135<div hidden id="S:0"><div class="flex flex-col min-h-screen"><nav class="border-b shrink-0"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between h-16 items-center"><div class="flex items-center gap-4"><a href="/" data-discover="true"><span style="font-family:'Roboto', sans-serif;font-weight:900;text-transform:uppercase;font-size:1.25rem;color:inherit"><span style="color:inherit">BOOKA</span><span style="color:#2563eb">.CLUB</span></span></a><nav aria-label="Main" data-orientation="horizontal" dir="ltr" data-slot="navigation-menu" data-viewport="true" class="group/navigation-menu relative max-w-max flex-1 items-center justify-center hidden md:flex px-4"><div style="position:relative"><ul data-orientation="horizontal" data-slot="navigation-menu-list" class="group flex-1 list-none items-center justify-center flex gap-1" dir="ltr"></ul></div><div class="absolute top-full left-0 isolate z-50 flex justify-center"></div><div class="absolute top-full left-0 isolate z-50 flex justify-center"></div></nav></div><div class="flex items-center space-x-2"><a data-slot="button" class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5" href="/sign-in" data-discover="true">Login</a><a data-slot="button" class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-primary text-primary-foreground hover:bg-primary/90 h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5" href="/sign-up" data-discover="true">Get started</a></div></div></div></nav><main class="flex-1"><div class="overflow-x-hidden"><section class="min-h-[90vh] bg-gradient-to-b from-white to-blue-50/50 flex items-center"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 lg:py-24 w-full"><div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center"><div class="flex flex-col gap-6"><span class="inline-block rounded-full bg-blue-50 text-blue-700 text-xs font-semibold px-3 py-1 w-fit">30-day free trial · No credit card required</span><h1 class="text-5xl lg:text-6xl font-black tracking-tight leading-tight text-slate-900">The booking platform built for sports clubs.</h1><p class="text-lg text-muted-foreground max-w-lg">Manage bookings, control player limits, and keep your venue running smoothly â all from one place. Built for tennis clubs, padel centres, athletics tracks, and more.</p><div class="flex flex-wrap gap-3"><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4" href="/sign-up" data-discover="true">Start free trial</a><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4" href="/sign-in" data-discover="true">Sign in</a></div></div><div class="rounded-2xl overflow-hidden aspect-video bg-gradient-to-br from-blue-100 to-blue-200 flex items-center justify-center"><div class="opacity-20"><span style="font-family:'Roboto', sans-serif;font-weight:900;text-transform:uppercase;font-size:1.5rem;color:inherit"><span style="color:inherit">BOOKA</span><span style="color:#2563eb">.CLUB</span></span></div></div></div></div></section><section class="bg-white border-y py-8"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><p class="text-center text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-6">Works great for</p><div class="flex flex-wrap justify-center gap-6"><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð¾</span><span>Tennis</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð</span><span>Padel</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð</span><span>Athletics</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð</span><span>Swimming</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>â³</span><span>Golf</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð¸</span><span>Badminton</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð</span><span>Volleyball</span></div><div class="rounded-full border px-4 py-2 text-sm font-medium bg-white shadow-sm flex items-center gap-2"><span>ð</span><span>Ice Hockey</span></div></div></div></section><section class="bg-slate-950 py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><h2 class="text-3xl lg:text-4xl font-bold text-white">Try it for yourself</h2><p class="text-slate-400 mt-4 max-w-2xl mx-auto">Book and cancel slots on a demo venue â exactly how your members will experience it.</p></div><div class="max-w-3xl mx-auto mt-12"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm"><div data-slot="card-header" class="@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6"><h3 class="flex items-center gap-2 text-lg font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-days h-5 w-5"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path><path d="M8 14h.01"></path><path d="M12 14h.01"></path><path d="M16 14h.01"></path><path d="M8 18h.01"></path><path d="M12 18h.01"></path><path d="M16 18h.01"></path></svg>Courts<!-- --> Availability</h3><div class="flex items-center justify-between gap-2 mt-3"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 size-9" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left h-4 w-4"><path d="m15 18-6-6 6-6"></path></svg></button><div class="flex flex-1 items-center justify-center"><div class="flex items-center gap-1"><span class="text-sm font-medium text-center">Friday, 9 October 2026</span><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9 h-6 w-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-days h-4 w-4"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path><path d="M8 14h.01"></path><path d="M12 14h.01"></path><path d="M16 14h.01"></path><path d="M8 18h.01"></path><path d="M12 18h.01"></path><path d="M16 18h.01"></path></svg></button></div></div><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 size-9"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right h-4 w-4"><path d="m9 18 6-6-6-6"></path></svg></button></div><div class="mt-3 rounded-lg bg-blue-50 border border-blue-100 px-3 py-2 text-xs text-blue-700">⨠This is a live demo â book and cancel slots to try it out. Nothing is saved.</div></div><div data-slot="card-content" class="px-6 space-y-6"><div><h3 class="font-semibold mb-2">Court 1</h3><div class="grid gap-2" style="grid-template-columns:repeat(auto-fill, minmax(96px, 1fr))"><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">08:00 â 09:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border-red-300 text-red-400 bg-red-50 cursor-not-allowed" disabled=""><span class="text-xs font-medium">09:00 â 10:00</span><span class="text-xs">Booked</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">10:00 â 11:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border-red-300 text-red-400 bg-red-50 cursor-not-allowed" disabled=""><span class="text-xs font-medium">11:00 â 12:00</span><span class="text-xs">Booked</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">12:00 â 13:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">13:00 â 14:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">14:00 â 15:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">15:00 â 16:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">16:00 â 17:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">17:00 â 18:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">18:00 â 19:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">19:00 â 20:00</span><span class="text-xs">Available</span></button></div></div><div><h3 class="font-semibold mb-2">Court 2</h3><div class="grid gap-2" style="grid-template-columns:repeat(auto-fill, minmax(96px, 1fr))"><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">08:00 â 09:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">09:00 â 10:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 group flex flex-col w-full h-14 py-1 px-2 hover:bg-red-50 hover:text-red-600 hover:border-red-300 cursor-pointer" style="border-color:#2563eb;color:#2563eb;background-color:#2563eb1a"><span class="text-xs font-medium">10:00 â 11:00</span><span class="text-xs group-hover:hidden">You</span><span class="text-xs hidden group-hover:inline">Cancel</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">11:00 â 12:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">12:00 â 13:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">13:00 â 14:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">14:00 â 15:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">15:00 â 16:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">16:00 â 17:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">17:00 â 18:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">18:00 â 19:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">19:00 â 20:00</span><span class="text-xs">Available</span></button></div></div><div><h3 class="font-semibold mb-2">Court 3</h3><div class="grid gap-2" style="grid-template-columns:repeat(auto-fill, minmax(96px, 1fr))"><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">08:00 â 09:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">09:00 â 10:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">10:00 â 11:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">11:00 â 12:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">12:00 â 13:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">13:00 â 14:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border-red-300 text-red-400 bg-red-50 cursor-not-allowed" disabled=""><span class="text-xs font-medium">14:00 â 15:00</span><span class="text-xs">Booked</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">15:00 â 16:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">16:00 â 17:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">17:00 â 18:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">18:00 â 19:00</span><span class="text-xs">Available</span></button><button data-slot="button" class="items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[>svg]:px-3 flex flex-col w-full h-14 py-1 px-2 border hover:opacity-80"><span class="text-xs font-medium">19:00 â 20:00</span><span class="text-xs">Available</span></button></div></div></div></div></div></div></section><section class="bg-white py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><h2 class="text-3xl lg:text-4xl font-bold text-slate-900">Everything your club needs</h2><p class="text-muted-foreground mt-4 max-w-2xl mx-auto">booka.club handles the operational complexity so you can focus on your sport.</p></div><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 mt-16"><div class="flex flex-col gap-4"><div class="rounded-xl bg-blue-50 p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-check w-6 h-6 text-blue-600"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path><path d="m9 16 2 2 4-4"></path></svg></div><h3 class="font-bold text-slate-900 text-lg">Smart Booking Management</h3><p class="text-muted-foreground text-sm leading-relaxed">Players book slots online in real time. No double-bookings, no phone calls, no spreadsheets.</p></div><div class="flex flex-col gap-4"><div class="rounded-xl bg-blue-50 p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-6 h-6 text-blue-600"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><h3 class="font-bold text-slate-900 text-lg">Player Limits & Controls</h3><p class="text-muted-foreground text-sm leading-relaxed">Set daily, weekly, and monthly booking limits per club. Override limits for individual players when needed.</p></div><div class="flex flex-col gap-4"><div class="rounded-xl bg-blue-50 p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette w-6 h-6 text-blue-600"><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"></path></svg></div><h3 class="font-bold text-slate-900 text-lg">Custom Club Branding</h3><p class="text-muted-foreground text-sm leading-relaxed">
135Upload your logo, set your club colours, and give members a booking experience that feels like yours.</p></div><div class="flex flex-col gap-4"><div class="rounded-xl bg-blue-50 p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid w-6 h-6 text-blue-600"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg></div><h3 class="font-bold text-slate-900 text-lg">Multi-Venue Support</h3><p class="text-muted-foreground text-sm leading-relaxed">Run multiple courts or lanes under one club. Each venue has its own schedule, surface type, and availability.</p></div><div class="flex flex-col gap-4"><div class="rounded-xl bg-blue-50 p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock w-6 h-6 text-blue-600"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div><h3 class="font-bold text-slate-900 text-lg">Opening Hours & Blocked Slots</h3><p class="text-muted-foreground text-sm leading-relaxed">Define opening hours per venue per day of the week. Block out maintenance windows or private events in seconds.</p></div><div class="flex flex-col gap-4"><div class="rounded-xl bg-blue-50 p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone w-6 h-6 text-blue-600"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></div><h3 class="font-bold text-slate-900 text-lg">Mobile Friendly</h3><p class="text-muted-foreground text-sm leading-relaxed">Fully responsive on every device. Members can check availability and make bookings from their phone on the go.</p></div></div></div></section><section class="bg-slate-50 py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><h2 class="text-3xl lg:text-4xl font-bold text-slate-900">Built for everyone at the club</h2><p class="text-muted-foreground mt-4 max-w-2xl mx-auto">Whether you run the club or just play there, booka.club works for you.</p></div><div class="grid grid-cols-1 md:grid-cols-2 gap-8 mt-16"><div class="bg-white rounded-2xl p-8 shadow-sm border flex flex-col gap-5"><div class="rounded-xl bg-blue-600 text-white p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check w-6 h-6"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg></div><span class="inline-block rounded-full bg-blue-50 text-blue-700 text-xs font-semibold px-3 py-1 w-fit">For club admins</span><h3 class="font-bold text-slate-900 text-xl">Run your club, your way</h3><p class="text-muted-foreground text-sm leading-relaxed">Full control over your venues, members, and availability. Set up once and let bookings run themselves.</p><ul class="flex flex-col gap-3"><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Create and manage multiple venues</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Set opening hours and block slots for maintenance</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Control daily, weekly, and monthly booking limits</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Customise your club page with your logo and colours</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Track all bookings across your courts in one place</span></li></ul><div class="mt-auto"><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4" href="/sign-up" data-discover="true">Get started free</a></div></div><div class="bg-white rounded-2xl p-8 shadow-sm border flex flex-col gap-5"><div class="rounded-xl bg-green-600 text-white p-3 w-fit"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user-check w-6 h-6"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><polyline points="16 11 18 13 22 9"></polyline></svg></div><span class="inline-block rounded-full bg-green-50 text-green-700 text-xs font-semibold px-3 py-1 w-fit">For players and members</span><h3 class="font-bold text-slate-900 text-xl">Book your slot in seconds</h3><p class="text-muted-foreground text-sm leading-relaxed">No apps to download, no phone calls. Just check what's free and grab your slot.</p><ul class="flex flex-col gap-3"><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-green-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">See real-time availability for every court</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-green-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Book, view, and cancel your own sessions</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-green-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Works perfectly on mobile</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-green-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">See your booking history at a glance</span></li><li class="flex items-start gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-green-600 shrink-0 mt-0.5"><path d="M20 6 9 17l-5-5"></path></svg><span class="text-sm text-slate-700">Get access to any club that uses booka.club</span></li></ul><div class="mt-auto"><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-10 rounded-md px-6 has-[>svg]:px-4" href="/sign-up" data-discover="true">Sign up free</a></div></div></div></div></section><section class="bg-white py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><h2 class="text-3xl lg:text-4xl font-bold text-slate-900">
135Built for the venues that keep sport alive</h2></div><div class="grid grid-cols-2 md:grid-cols-4 gap-4 mt-12"><div class="relative rounded-2xl overflow-hidden aspect-square"><img src="https://app-assets.gadget.dev/a/317290/620860/assets/tennis-9qUKovGv.jpg" alt="Tennis" class="w-full h-full object-cover"/><div class="absolute bottom-0 left-0 w-full bg-black/40 text-white text-sm font-medium px-3 py-2">Tennis</div></div><div class="relative rounded-2xl overflow-hidden aspect-square"><img src="https://app-assets.gadget.dev/a/317290/620860/assets/squash-DvL_DIM7.jpg" alt="Squash" class="w-full h-full object-cover"/><div class="absolute bottom-0 left-0 w-full bg-black/40 text-white text-sm font-medium px-3 py-2">Squash</div></div><div class="relative rounded-2xl overflow-hidden aspect-square"><img src="https://app-assets.gadget.dev/a/317290/620860/assets/athletics-D4x1Wc2J.jpg" alt="Athletics" class="w-full h-full object-cover"/><div class="absolute bottom-0 left-0 w-full bg-black/40 text-white text-sm font-medium px-3 py-2">Athletics</div></div><div class="relative rounded-2xl overflow-hidden aspect-square"><img src="https://app-assets.gadget.dev/a/317290/620860/assets/swimming-DL48ojv3.jpg" alt="Swimming" class="w-full h-full object-cover"/><div class="absolute bottom-0 left-0 w-full bg-black/40 text-white text-sm font-medium px-3 py-2">Swimming</div></div></div><p class="text-center text-sm text-muted-foreground mt-8">...and basically any sport with a bookable venue. If it has a court, lane, pitch, or pool â booka.club works for it.</p></div></section><section class="bg-slate-50 border-y py-12"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex flex-wrap justify-center gap-8 md:gap-16"><div class="flex items-center gap-3"><div class="rounded-lg bg-white shadow-sm p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-credit-card w-5 h-5 text-blue-600"><rect width="20" height="14" x="2" y="5" rx="2"></rect><line x1="2" x2="22" y1="10" y2="10"></line></svg></div><span class="text-sm font-medium text-slate-700">Secure payments via Stripe</span></div><div class="flex items-center gap-3"><div class="rounded-lg bg-white shadow-sm p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-days w-5 h-5 text-blue-600"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path><path d="M8 14h.01"></path><path d="M12 14h.01"></path><path d="M16 14h.01"></path><path d="M8 18h.01"></path><path d="M12 18h.01"></path><path d="M16 18h.01"></path></svg></div><span class="text-sm font-medium text-slate-700">30-day free trial</span></div><div class="flex items-center gap-3"><div class="rounded-lg bg-white shadow-sm p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-x w-5 h-5 text-blue-600"><circle cx="12" cy="12" r="10"></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6"></path></svg></div><span class="text-sm font-medium text-slate-700">Cancel anytime</span></div><div class="flex items-center gap-3"><div class="rounded-lg bg-white shadow-sm p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock w-5 h-5 text-blue-600"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><span class="text-sm font-medium text-slate-700">Your data, kept secure</span></div></div></div></section><section class="bg-slate-950 text-white py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><h2 class="text-3xl lg:text-4xl font-bold">Simple, transparent pricing</h2><p class="text-slate-400 mt-4 max-w-xl mx-auto">Pay only for the venues you run. No hidden fees, no per-booking charges.</p></div><div class="max-w-sm mx-auto mt-12"><div class="bg-white text-slate-900 rounded-2xl p-8 shadow-xl flex flex-col gap-5"><span class="inline-block rounded-full bg-blue-50 text-blue-700 text-xs font-semibold px-3 py-1 w-fit">No credit card required</span><div><p><span class="text-4xl font-black text-slate-900">Free</span><span class="text-xl font-semibold text-slate-400 ml-2">for 30 days</span></p><div class="flex items-center gap-2 mt-2"><div class="h-px flex-1 bg-slate-200"></div><span class="text-xs text-slate-400 font-medium">then</span><div class="h-px flex-1 bg-slate-200"></div></div><p class="mt-2"><span class="text-2xl font-black text-slate-700">£5</span><span class="text-base font-semibold text-slate-400"> / court / month</span></p><p class="text-sm text-muted-foreground mt-1">No credit card needed to start your trial. After 30 days, £5 per court per month.</p></div><ul class="flex flex-col gap-3"><li class="flex items-center gap-2 text-sm text-slate-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0"><path d="M20 6 9 17l-5-5"></path></svg>Unlimited bookings</li><li class="flex items-center gap-2 text-sm text-slate-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0"><path d="M20 6 9 17l-5-5"></path></svg>Unlimited players</li><li class="flex items-center gap-2 text-sm text-slate-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0"><path d="M20 6 9 17l-5-5"></path></svg>Custom branding</li><li class="flex items-center gap-2 text-sm text-slate-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0"><path d="M20 6 9 17l-5-5"></path></svg>Opening hours & blocked slots</li><li class="flex items-center gap-2 text-sm text-slate-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-blue-600 shrink-0"><path d="M20 6 9 17l-5-5"></path></svg>Email support</li></ul><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='
135size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer bg-primary text-primary-foreground hover:bg-primary/90 h-10 rounded-md px-6 has-[>svg]:px-4 w-full" href="/sign-up" data-discover="true">Start your 30-day free trial</a></div></div></div></section><section class="bg-white py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><h2 class="text-3xl lg:text-4xl font-bold text-slate-900">Frequently asked questions</h2><p class="text-muted-foreground mt-4 max-w-2xl mx-auto">Everything you need to know before getting started.</p></div><div data-slot="accordion" class="max-w-2xl mx-auto mt-12" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_2d6b5_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_d6b5_" data-slot="accordion-trigger" class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180" data-radix-collection-item="">Can I manage multiple venues under one club?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_2d6b5_" hidden="" role="region" aria-labelledby="radix-_R_d6b5_" data-orientation="vertical" data-slot="accordion-content" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_2l6b5_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_l6b5_" data-slot="accordion-trigger" class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180" data-radix-collection-item="">What happens when my free trial ends?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_2l6b5_" hidden="" role="region" aria-labelledby="radix-_R_l6b5_" data-orientation="vertical" data-slot="accordion-content" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_2t6b5_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_t6b5_" data-slot="accordion-trigger" class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 roun
135ded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180" data-radix-collection-item="">Can players cancel their own bookings?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_2t6b5_" hidden="" role="region" aria-labelledby="radix-_R_t6b5_" data-orientation="vertical" data-slot="accordion-content" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_356b5_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_156b5_" data-slot="accordion-trigger" class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180" data-radix-collection-item="">Is there a mobile app?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_356b5_" hidden="" role="region" aria-labelledby="radix-_R_156b5_" data-orientation="vertical" data-slot="accordion-content" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_3d6b5_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1d6b5_" data-slot="accordion-trigger" class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180" data-radix-collection-item="">Can I set different booking limits for different players?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_3d6b5_" hidden="" role="region" aria-labelledby="radix-_R_1d6b5_" data-orientation="vertical" data-slot="accordion-content" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_3l6b5_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1l6b5_" data-slot="accordion-trigger" class="focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 roun
135ded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180" data-radix-collection-item="">What sports does booka.club support?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_3l6b5_" hidden="" role="region" aria-labelledby="radix-_R_1l6b5_" data-orientation="vertical" data-slot="accordion-content" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div></div></section><section class="bg-slate-900 text-white py-16"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center flex flex-col items-center gap-6"><h2 class="text-3xl lg:text-4xl font-bold">Ready to simplify your club bookings?</h2><p class="text-slate-400 max-w-xl">Join clubs already using booka.club to manage their venues.</p><div class="flex flex-wrap justify-center gap-4"><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer h-10 rounded-md px-6 has-[>svg]:px-4 bg-blue-600 text-white hover:bg-blue-500" href="/sign-up" data-discover="true">Start free trial</a><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer dark:hover:bg-accent/50 h-10 rounded-md px-6 has-[>svg]:px-4 text-slate-300 hover:text-white hover:bg-slate-700" href="/sign-in" data-discover="true">Sign in</a></div></div></section></div></main><footer class="bg-gray-50 border-t shrink-0"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10"><div class="flex flex-col lg:flex-row lg:justify-between gap-10"><div class="lg:max-w-xs"><span style="font-family:'Roboto', sans-serif;font-weight:900;text-transform:uppercase;font-size:1.1rem;color:inherit"><span style="color:inherit">BOOKA</span><span style="color:#2563eb">.CLUB</span></span><p class="text-sm text-muted-foreground mt-2 leading-relaxed">The booking platform built for sports clubs.</p><p class="text-xs text-muted-foreground mt-4">© <!-- -->2026<!-- --> Booka Club Ltd. All rights reserved.</p></div><div class="grid grid-cols-3 gap-8"><div><p class="text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3">Legal</p><nav class="flex flex-col gap-2"><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/policy/terms" data-discover="true">Terms of Service</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/policy/privacy" data-discover="true">Privacy Policy</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/policy/cookie" data-discover="true">Cookie Policy</a></nav></div><div><p class="text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3">Policies</p><nav class="flex flex-col gap-2"><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/policy/refunds" data-discover="true">Refund Policy</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/policy/acceptable-use" data-discover="true">Acceptable Use</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/policy/dpa" data-discover="true">Data Processing (DPA)</a></nav></div><div><p class="text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3">Account</p><nav class="flex flex-col gap-2"><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/sign-in" data-discover="true">Sign in</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/sign-up" data-discover="true">Get started</a></nav></div></div></div><div class="mt-8 pt-6 border-t border-gray-200"><p class="text-xs text-muted-foreground">Booka.club is a trading name of Booka Club Ltd. Registered in England & Wales.</p></div></div></footer></div>
135<section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section></div>
135<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0}; 136$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script>
136</body></html>
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.