:root{--navy:#07111f;--navy2:#0d1a2b;--navy3:#142236;--pink:#d40070;--pink2:#ef0086;--blue:#347ba6;--white:#fff;--ink:#10192a;--muted:#6d7787;--line:#dce2ea;--soft:#f5f7fa;--green:#27b76f;--radius:18px;--shadow:0 24px 70px rgba(3,12,25,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--navy);color:white;line-height:1.45}body.no-scroll{overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.site-header{height:78px;padding:0 max(24px,calc((100vw - 1380px)/2));display:flex;align-items:center;gap:28px;background:rgba(4,13,25,.94);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:60;backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:10px;min-width:210px}.brand img{width:54px;height:54px;border-radius:13px;object-fit:cover}.brand span{display:grid;line-height:.9;letter-spacing:.08em;font-size:19px}.brand strong{color:var(--pink2)}.brand b{color:#3c81aa;font-weight:800}
.desktop-nav{display:flex;align-items:center;gap:34px;margin:auto}.desktop-nav a,.desktop-nav button{position:relative;background:none;border:0;color:#fff;font-size:14px;padding:28px 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--pink);transform:scaleX(0);transition:.2s}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}
.cart-button{position:relative;border:0;background:none;color:white;font-size:23px;padding:12px}.cart-button b,.floating-cart b{position:absolute;right:0;top:2px;display:grid;place-items:center;width:20px;height:20px;background:var(--pink);border-radius:50%;font-size:11px}.menu-toggle{display:none;border:0;background:none;color:white;font-size:25px}
.booking-hero{min-height:610px;background:linear-gradient(90deg,rgba(5,14,27,.98) 0%,rgba(5,14,27,.84) 35%,rgba(5,14,27,.45) 100%),url('assets/hero-court.svg') center/cover no-repeat;display:grid;grid-template-columns:minmax(330px,.85fr) minmax(520px,1.15fr);gap:70px;align-items:center;padding:54px max(28px,calc((100vw - 1380px)/2))}
.hero-copy{align-self:center}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.eyebrow{color:#d8e4f0}.eyebrow:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);margin-right:9px}.hero-copy h1{font-size:clamp(58px,6vw,92px);line-height:.96;letter-spacing:-.06em;margin:17px 0 18px;max-width:600px}.hero-copy h1 em{display:block;color:var(--pink);font-style:normal}.hero-copy p{color:#d3dae3;font-size:20px;margin:0}
.booking-card{background:white;color:var(--ink);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);max-width:700px;width:100%}.sport-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f2f4f7;border-bottom:1px solid var(--line)}.sport-tabs button{border:0;background:transparent;padding:20px;color:#556070;font-weight:600;font-size:16px}.sport-tabs button+button{border-left:1px solid var(--line)}.sport-tabs button.active{background:white;color:var(--pink)}.booking-content{padding:22px}.field-label{font-size:12px;font-weight:700;margin-bottom:9px}.availability-title{margin-top:20px}
.date-strip{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 7px}.date-strip button{min-width:74px;border:1px solid var(--line);border-radius:10px;background:white;color:#536071;padding:8px 7px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left}.date-strip span{grid-column:1/-1;font-size:10px;text-transform:capitalize}.date-strip strong{font-size:17px}.date-strip small{font-size:10px}.date-strip button.active{border-color:var(--pink);color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}
.state-message,.empty-public{padding:22px;text-align:center;color:var(--muted);font-size:13px}.error-message{color:#d62c50!important}.slot-group{margin-top:11px}.slot-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:8px}.slot-head strong{font-size:13px}.slot-head span{font-size:10px;color:var(--muted);text-align:right}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slots button{border:1px solid var(--line);border-radius:10px;background:white;color:#222d3c;padding:10px 4px;font-weight:700}.slots button.active{border-color:var(--pink);color:var(--pink);background:#fff4fa;box-shadow:inset 0 0 0 1px var(--pink)}
.selected-summary{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:18px}.selected-summary strong{font-size:13px}.selected-summary span{color:var(--pink);font-weight:800;text-align:right;font-size:13px}.booking-data h3{font-size:15px;margin:18px 0 4px}.booking-data label,.cart-footer label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;margin-top:11px}.booking-data input,.booking-data textarea,.cart-footer input,.cart-footer textarea,dialog input{border:1px solid var(--line);border-radius:8px;padding:11px;background:white;color:var(--ink);outline:none}.booking-data input:focus,.booking-data textarea:focus,.cart-footer input:focus,.cart-footer textarea:focus,dialog input:focus{border-color:var(--pink)}.inline-field{display:flex;gap:8px}.inline-field input{flex:1}.person-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.btn{border:0;border-radius:9px;padding:13px 18px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--pink),var(--pink2));color:white;box-shadow:0 10px 25px rgba(212,0,112,.2)}.btn-outline{border:1px solid var(--line);background:white;color:var(--ink)}.btn-block{width:100%;margin-top:15px}.booking-success{text-align:center;padding:25px 10px}.success-icon{width:54px;height:54px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#dff7e9;color:var(--green);font-size:25px;font-weight:800}.booking-success small{display:block;margin-top:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.13em}.booking-success h3{font-size:26px;margin:6px}.booking-success p{color:var(--green);font-weight:700}.booking-success>strong{display:block;font-size:11px;color:var(--muted)}
.light-section{background:white;color:var(--ink);padding:34px max(28px,calc((100vw - 1380px)/2)) 38px;border-bottom:1px solid #e4e8ee}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-head h2{font-size:28px;margin:3px 0}.section-kicker{color:var(--pink)}.text-button{border:0;background:none;color:var(--pink);font-weight:600}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;transition:.2s}.news-card:hover,.product-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(10,24,42,.1)}.news-card-image{height:150px;background:linear-gradient(135deg,#142338,#2f6d91);position:relative;overflow:hidden}.news-card-image img{width:100%;height:100%;object-fit:cover}.news-card-image span{position:absolute;left:0;bottom:0;background:var(--pink);color:white;padding:5px 12px;font-size:9px;font-weight:800;text-transform:uppercase}.news-card-body{padding:14px}.news-card h3{font-size:15px;margin:0 0 5px}.news-card p{font-size:12px;color:var(--muted);margin:0}.news-card time{display:block;color:#8b95a2;font-size:10px;margin-top:13px}
.shop-section{padding-top:30px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{border:1px solid var(--line);border-radius:13px;padding:11px;transition:.2s;background:white}.product-image{height:180px;display:grid;place-items:center;background:#f7f8fa;border-radius:9px;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain}.product-card h3{font-size:13px;margin:12px 0 6px}.size-label{font-size:9px;color:var(--muted)}.size-list{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0 11px}.size-list button{min-width:27px;height:27px;border:1px solid var(--line);border-radius:5px;background:white;font-size:9px}.size-list button.selected{background:var(--pink);color:white;border-color:var(--pink)}.product-price{font-size:16px;font-weight:800}.add-cart{width:100%;margin-top:9px;border:0;border-radius:6px;padding:10px;background:var(--pink);color:white;font-size:11px;font-weight:700}.add-cart:disabled{background:#adb5c0}
.academy{display:grid;grid-template-columns:.9fr 1.1fr;min-height:420px;background:#eaf7fc;color:var(--ink)}.academy-image{min-height:420px;background:linear-gradient(135deg,#17324b,#4b9ac1);display:grid;place-items:center;overflow:hidden}.academy-image>img{width:230px;height:230px;border-radius:50%;object-fit:cover;box-shadow:0 24px 60px rgba(7,17,31,.2)}.academy-image.has-custom>img{width:100%;height:100%;border-radius:0;object-fit:cover}.academy-copy{padding:70px max(30px,calc((100vw - 1380px)/2));padding-left:70px}.academy-copy .blue{color:var(--blue)}.academy-copy h2{font-size:45px;line-height:1.05;letter-spacing:-.04em;max-width:590px;margin:12px 0}.academy-copy p{color:#5e6d7b;max-width:600px;font-size:17px}
footer{padding:42px max(28px,calc((100vw - 1380px)/2)) 55px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px;background:#06101e;color:#d4dce7}.footer-brand .brand{min-width:0}.footer-brand p,footer>div>p{font-size:12px;color:#8291a5;max-width:260px}footer h3{font-size:13px;margin:4px 0 15px}.social-links{display:flex;gap:9px}.social-links a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #2b3a4e;border-radius:50%;font-size:11px}
.cart-drawer{position:fixed;z-index:101;right:0;top:0;bottom:0;width:min(420px,100vw);background:linear-gradient(180deg,#111d2d,#07111f);box-shadow:-25px 0 70px rgba(0,0,0,.4);padding:22px;transform:translateX(105%);transition:.3s;overflow-y:auto}.cart-drawer.open{transform:none}.drawer-overlay{position:fixed;z-index:100;inset:0;background:rgba(0,7,16,.67);opacity:0;pointer-events:none;transition:.3s}.drawer-overlay.open{opacity:1;pointer-events:auto}.cart-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #263548;padding-bottom:15px}.cart-head h2{font-size:20px;margin:0}.cart-head button{border:0;background:none;color:white;font-size:28px}.cart-items{display:grid;gap:12px;margin-top:16px}.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:11px;padding-bottom:12px;border-bottom:1px solid #263548}.cart-item img{width:70px;height:70px;object-fit:contain;border-radius:8px;background:white}.cart-item h3{font-size:12px;margin:2px 0}.cart-item p{font-size:10px;color:#9ba8b8;margin:2px 0}.qty-control{display:flex;align-items:center;gap:8px;margin-top:7px}.qty-control button,.remove-item{border:1px solid #304057;background:#142337;color:white;border-radius:5px}.qty-control button{width:25px;height:25px}.remove-item{align-self:start}.cart-empty{padding:50px 10px;text-align:center;color:#8594a8}.cart-footer{margin-top:20px;border-top:1px solid #263548;padding-top:18px}.cart-total{display:flex;justify-content:space-between}.cart-total strong{font-size:20px}.cart-footer input,.cart-footer textarea{background:#101d2c;border-color:#324257;color:white}.order-success{padding:14px;margin-top:14px;border:1px solid rgba(39,183,111,.35);background:rgba(39,183,111,.12);border-radius:10px;color:#caffdf;font-size:12px}.floating-cart{display:none}.mobile-nav{display:none}
dialog{border:0;border-radius:18px;padding:0;width:min(430px,calc(100vw - 28px));box-shadow:0 40px 100px #000}dialog::backdrop{background:rgba(3,10,20,.75);backdrop-filter:blur(5px)}dialog form{padding:28px;position:relative;color:var(--ink)}dialog h2{font-size:29px;margin:6px 0}dialog p{font-size:12px;color:var(--muted)}dialog label{display:flex;flex-direction:column;gap:6px;margin-top:13px;font-size:11px;font-weight:700}.dialog-close{position:absolute;right:14px;top:12px;background:none;border:0;font-size:25px}.query-result{margin-top:16px;padding:14px;background:#f4f6f9;border-radius:10px}.query-result h3{margin:5px 0}.query-result p{font-size:12px;margin:5px 0}.query-result .status{color:var(--green);font-weight:800}.btn-danger{background:#bc2641;color:white}.toast{position:fixed;z-index:200;left:50%;bottom:25px;transform:translate(-50%,120px);padding:13px 18px;background:white;color:#17202d;border-radius:10px;box-shadow:var(--shadow);font-size:12px;font-weight:700;transition:.3s}.toast.show{transform:translate(-50%,0)}.toast.toast-error{background:#ffdfe5;color:#7b1730}
@media(max-width:1000px){.desktop-nav{gap:18px}.booking-hero{grid-template-columns:1fr;gap:28px;padding-top:45px}.hero-copy h1{font-size:62px}.booking-card{max-width:none}.product-grid{grid-template-columns:repeat(2,1fr)}.academy-copy{padding-left:40px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:720px){body{padding-bottom:73px}.site-header{height:68px;padding:0 16px}.site-header .brand{min-width:0;margin:auto}.brand img{width:45px;height:45px}.brand span{font-size:15px}.desktop-nav{display:none}.menu-toggle{display:block;position:absolute;left:12px}.cart-button{position:absolute;right:12px}.booking-hero{min-height:auto;padding:38px 14px 24px;background-position:58% center}.hero-copy{text-align:center}.hero-copy .eyebrow{display:none}.hero-copy h1{font-size:39px;line-height:1.02;margin:4px 0 8px}.hero-copy h1 em{display:inline}.hero-copy p{font-size:14px}.booking-card{border-radius:14px}.booking-content{padding:14px}.sport-tabs button{padding:15px 8px;font-size:13px}.date-strip button{min-width:65px}.slots{grid-template-columns:repeat(3,1fr)}.slot-head{display:block}.slot-head span{display:block;text-align:left;margin-top:2px}.selected-summary{display:grid}.selected-summary span{text-align:left}.person-fields{grid-template-columns:1fr}.inline-field{display:grid}.light-section{padding:27px 14px}.section-head h2{font-size:20px}.section-kicker{display:none}.text-button{font-size:11px}.news-grid{grid-template-columns:1fr;gap:12px}.news-card{display:grid;grid-template-columns:130px 1fr}.news-card-image{height:100%}.news-card-body{padding:11px}.news-card time{margin-top:7px}.product-grid{grid-template-columns:1fr;gap:12px}.product-card{display:grid;grid-template-columns:125px 1fr;gap:12px}.product-image{height:125px;grid-row:1/5}.product-card h3{margin:4px 0}.add-cart{grid-column:2}.academy{grid-template-columns:1fr;min-height:auto}.academy-image{min-height:250px}.academy-image>img{width:160px;height:160px}.academy-copy{padding:36px 20px}.academy-copy h2{font-size:31px}.academy-copy p{font-size:14px}footer{grid-template-columns:1fr;padding:35px 20px;gap:20px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:80;bottom:0;left:0;right:0;height:72px;background:rgba(5,14,27,.97);border-top:1px solid #243449;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a,.mobile-nav button{border:0;background:none;color:#c7d0dc;font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-nav span{font-size:18px}.floating-cart{display:block;position:fixed;z-index:81;right:18px;bottom:84px;width:54px;height:54px;border:0;border-radius:50%;background:var(--pink);color:white;font-size:22px;box-shadow:0 13px 35px rgba(212,0,112,.4)}.floating-cart b{right:-2px;top:-3px;background:white;color:var(--pink)}.cart-button{font-size:20px}.cart-drawer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
