:root{color-scheme:dark;--black:#0e0e10;--bg:#121214;--surface:#19191b;--stroke:#333336;--gold:#b7974a;--cream:#f5f5f5;--copy:#cfcfcf;--muted:#929296}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,Arial,sans-serif;color:var(--copy);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.skip{position:absolute;top:-100px;left:8px;z-index:99;background:var(--gold);padding:10px;color:#111}.skip:focus{top:8px}
.status-strip{text-align:center;font-size:10px;letter-spacing:.15em;font-weight:800;background:var(--gold);color:#181818;padding:10px 18px}.bullet{font-size:8px;margin:0 11px}.site-header{height:95px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(32px,calc((100vw - 1340px)/2));background:#101012;border-bottom:1px solid #2a2a2d}.logo{display:flex;align-items:center;gap:13px}.logo img{object-fit:contain;width:58px;height:58px}.logo-word{display:flex;flex-direction:column;gap:5px;color:var(--gold)}.logo-word strong{font:800 19px/1 Barlow Condensed,Inter,sans-serif;letter-spacing:.13em}.logo-word small{font-size:8px;letter-spacing:.17em;font-weight:800}.site-header nav{display:flex;gap:28px;align-items:center;font-size:10px;letter-spacing:.13em;font-weight:800;color:#c5c5c7}.nav-live{display:flex;gap:8px;align-items:center}.nav-live i{width:7px;height:7px;background:#72bd85;border-radius:50%}.header-tag{color:var(--gold)}
main{max-width:1340px;margin:auto}.intro{display:grid;grid-template-columns:1.2fr .8fr;min-height:390px;border-bottom:1px solid var(--stroke)}.intro-copy{padding:60px 32px 42px}.eyebrow,.section-number{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:30px;height:2px;background:var(--gold)}h1,h2,p{margin-top:0}h1,h2{color:var(--cream)}h1{font:900 clamp(56px,7vw,103px)/.84 Barlow Condensed,Impact,sans-serif;letter-spacing:-.014em;margin:23px 0 23px}h1 em{font-style:normal;color:var(--gold)}.intro-copy>p{max-width:550px;line-height:1.75;font-size:13px;color:#b6b6ba}.intro-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:36px}.intro-meta span{font:700 10px Inter,sans-serif;color:var(--gold);letter-spacing:.09em}.intro-meta strong{color:#e4e4e5;font-weight:600;margin-left:6px}.intro-side{background:#1c1c1e;position:relative;overflow:hidden;min-height:300px;border-left:1px solid var(--stroke);padding:32px}.big-number{font:800 70px/.9 Barlow Condensed,sans-serif;color:var(--gold)}.big-number span{font:600 17px Inter,sans-serif;color:#777}.intro-side>p{position:absolute;bottom:29px;left:33px;line-height:1.5;letter-spacing:.06em;font-size:11px;color:#b3b3b5}.intro-side strong{font-size:13px;color:#fff}.graphic{position:absolute;width:280px;height:200px;right:-37px;top:48px;transform:rotate(-20deg);opacity:.35}.court-outer{display:block;position:relative;width:100%;height:100%;border:2px solid var(--gold)}.court-mid{position:absolute;left:50%;height:100%;width:2px;background:var(--gold)}.court-circle{position:absolute;left:calc(50% - 36px);top:calc(50% - 36px);border:2px solid var(--gold);border-radius:50%;width:72px;height:72px}.court-goal{position:absolute;inset:32px 0;border-left:35px solid transparent;border-right:35px solid transparent}
.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);border-bottom:1px solid var(--stroke)}.booking-panel{padding:42px 32px 65px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 27px}.section-heading h2,.summary h2{font:800 35px/1.03 Barlow Condensed,Inter,sans-serif;margin:0}.pill{padding:8px 10px;border:1px solid #725f35;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.1em;white-space:nowrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:10px}.field label,.access label{font-size:11px;font-weight:700;color:#f0f0f0}.field select,.access input{width:100%;min-width:0;appearance:none;background:#232326;color:#f1f1f1;border:1px solid #3e3e42;padding:15px 16px;border-radius:2px;font-size:12px}.field select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23b7974a'%3E%3Cpath d='m2 5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}.day-field{margin:34px 0}.day-scroller{display:flex;gap:8px;overflow:auto;padding-bottom:12px;scrollbar-color:var(--gold) #202023}.day{flex:0 0 84px;min-height:77px;border:1px solid #39393b;color:#cbcbcd;background:#1c1c1e;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.day strong{font:800 23px Barlow Condensed,sans-serif;color:#eee}.day small{font-size:10px;letter-spacing:.06em}.day.active{background:var(--gold);color:#181818;border-color:var(--gold)}.day.active strong{color:#181818}.slot-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px;font-size:12px}.slot-heading strong{color:white}.muted{color:var(--muted)}.slot-heading .muted{font-size:10px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{display:flex;flex-direction:column;min-height:115px;gap:12px;text-align:left;border:1px solid #39393b;background:#1b1b1d;padding:15px;color:#e3e3e5}.slot:hover:not(:disabled),.slot.selected{border-color:var(--gold);background:#2a261c}.slot.selected{box-shadow:inset 0 0 0 1px var(--gold)}.slot strong{font:800 22px Barlow Condensed,sans-serif}.slot span{font-size:10px;color:#a3a3a7}.slot small{font-size:9px;color:var(--gold);font-weight:700}.slot:disabled{opacity:.35}.info-line{font-size:12px;color:#bebec0;margin-bottom:14px;min-height:15px}.note{display:flex;gap:12px;border-top:1px solid #363639;margin-top:28px;padding-top:18px;color:#9d9da1}.note-dot{flex:0 0 20px;height:20px;border:1px solid #676053;color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.note p{font-size:11px;line-height:1.65;margin:0}
.summary{border-left:1px solid #373739;background:#1b1b1d;padding:42px 27px;display:flex;flex-direction:column;min-width:0}.summary-top h2{margin:13px 0 12px}.summary-top p{font-size:12px;line-height:1.7}.ticket{margin-top:26px;border:1px solid #514735;padding:22px 20px;background:linear-gradient(140deg,#262219,#1d1d1f 75%)}.ticket-label{font-size:9px;letter-spacing:.18em;color:var(--gold);font-weight:800}.empty-choice{margin:30px 0;color:#929295;font-size:13px}.chosen{margin:20px 0}.chosen h3{font:800 29px Barlow Condensed,Inter,sans-serif;color:white;margin:0 0 8px}.chosen p{font-size:11px;line-height:1.7;margin:5px 0;color:#b9b9b9}.rule{height:1px;background:#4a453a;margin:10px 0 20px}.price-row{display:flex;justify-content:space-between;align-items:center;color:#ccc;font-size:12px}.price-row strong{font:800 30px Barlow Condensed,sans-serif;color:white}.ticket>small{display:block;color:#999;font-size:10px;margin-top:8px}.access{display:flex;flex-direction:column;gap:10px;margin:23px 0}.access small{font-size:10px;line-height:1.5;color:#969699}.primary{background:var(--gold);border:1px solid var(--gold);color:#151515;width:100%;padding:19px 17px;text-align:left;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800}.primary:hover:not(:disabled){background:#d5af60}.result{margin-top:18px;font-size:12px;line-height:1.6}.result.good{color:#a1dda8}.result.bad{color:#e6b9a3}.summary-footer{margin-top:auto;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #3c3c3d;padding-top:20px;color:#79797c;font-size:9px;font-weight:700;letter-spacing:.06em}footer{max-width:1340px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;gap:15px;color:#818183;font-size:9px;letter-spacing:.12em;font-weight:700}
@media(max-width:900px){.intro{grid-template-columns:1fr}.intro-side{display:none}.content-grid{grid-template-columns:1fr}.summary{border-left:0;border-top:1px solid #373739}.summary-footer{margin-top:36px}}@media(max-width:560px){.site-header{padding:0 18px;height:78px}.logo img{width:45px;height:45px}.logo-word strong{font-size:16px}.logo-word small{font-size:7px}.header-tag{display:none}.intro-copy{padding:44px 20px 30px}.intro-meta{gap:13px}.intro-meta span{font-size:9px}h1{font-size:65px}.booking-panel{padding:33px 18px}.summary{padding:32px 18px}.slots{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.section-heading h2{font-size:30px}.pill{font-size:8px}.summary-footer,footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v0.2 — full date navigator, series planning and multi-session basket */
.hidden{display:none!important}
.intro-new{min-height:286px;grid-template-columns:1.35fr .65fr}
.intro-new .intro-copy{padding-top:40px;padding-bottom:36px}
.intro-new h1{font-size:clamp(46px,5.8vw,76px);line-height:.94;margin:16px 0}
.intro-new .intro-copy>p{max-width:650px;margin-bottom:0}
.intro-new .intro-meta{margin-top:22px}
.intro-new .intro-side{min-height:250px}
.booking-panel{padding-bottom:55px}
.mode-group{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:8px 0 27px}
.mode{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:74px;border:1px solid #3d3d3f;color:#f0f0ef;background:#1e1e21;padding:14px 15px;text-align:left;transition:background .12s}
.mode strong{font-size:12px;font-weight:800}.mode small{font-size:10px;color:#9e9ea2;line-height:1.4}.mode:hover,.mode.active{border-color:var(--gold);background:#29261f}.mode.active small{color:#d2bc89}
.picker-filters{margin-bottom:15px}.preference-row{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:11px 15px;border:1px solid #373739;background:#1b1b1d}.preference-row label{font-size:11px;line-height:1.5;color:#acacb0}.preference-row select{border:1px solid #49494b;border-radius:0;padding:9px 12px;background:#262629;color:#efefed;font-size:11px;min-width:174px}
.calendar-block{border:1px solid #39393b;background:#1a1a1c;margin-top:30px;padding:23px}
.calendar-top{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.calendar-top h3,.time-block h3,.repeat-header h3{font:800 29px/1.05 Barlow Condensed,Inter,sans-serif;color:var(--cream);margin:9px 0 0}.month-controls{display:flex;align-items:center;gap:11px}.month-controls strong{font-size:12px;color:#f2f2f2;min-width:130px;text-align:center}.month-controls button{display:grid;place-items:center;min-height:32px;min-width:32px;border:1px solid #555;background:#262629;color:#fff;font-size:22px}.month-controls button:disabled{opacity:.3}
.date-jump{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:21px 0 18px}.date-jump label{font-size:11px;font-weight:700;color:#ddd}.date-jump input{color:var(--cream);color-scheme:dark;border:1px solid #49494a;background:#222226;font-size:12px;padding:8px 10px;min-height:36px}.date-jump small{color:#999;font-size:10px;line-height:1.5}
.calendar-days,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-days{text-align:center;color:#9a9a9d;font-weight:800;letter-spacing:.08em;font-size:9px;margin-bottom:9px}
.calendar-grid .blank{min-height:54px}
.calendar-day{display:flex;min-width:0;min-height:59px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #36363a;background:#222225;color:#efefef;text-align:center}
.calendar-day strong{font:700 15px Inter,sans-serif}.calendar-day .day-dots{display:flex;gap:3px}.calendar-day .day-dots span{height:4px;width:4px;border-radius:50%;background:var(--gold)}
.calendar-day.available:hover{background:#302b21;border-color:var(--gold)}.calendar-day.active{background:var(--gold);color:#151515;border-color:var(--gold)}.calendar-day.active .day-dots span{background:#1c1b19}.calendar-day.unavailable{opacity:.34}.calendar-day:disabled{cursor:not-allowed}.calendar-day.outside{opacity:.2}
.calendar-legend{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;color:#96969a;font-size:10px;margin-top:15px}.legend-dot{display:inline-block;width:6px;height:6px;margin-right:5px;background:var(--gold);border-radius:50%}
.time-block{margin-top:33px}.time-title{margin-bottom:9px}.time-title h3{margin:0}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.slot{min-height:104px;gap:9px;padding:14px}.slot small{font-size:10px;line-height:1.5}.slot .tag{font-weight:800;color:#e0c68d}.slot .tag.alt{color:#aca9a1}.slot.planned{border-color:#5b986b;background:#1d2921}.slot.template{border-color:var(--gold);background:#2f281d}
.time-tip{font-size:11px;color:#9e9ea1;line-height:1.65;margin:12px 0 0}
.recurrence{border:1px solid #57472c;background:#22201c;padding:22px;margin-top:28px}
.repeat-header p{font-size:11px;line-height:1.75;color:#aeb0b2;margin:10px 0 0}
.template-info{padding:12px 14px;border-left:2px solid var(--gold);background:#2b2923;margin:17px 0;font-size:11px;line-height:1.7}
.repeat-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.repeat-fields .field:last-child{grid-column:span 2}.repeat-fields input,.repeat-fields select{border:1px solid #555;background:#252527;color:#f2f2f2;padding:11px 13px;width:100%;min-height:44px;font-size:12px}.repeat-fields input{appearance:auto}
.secondary-action{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--gold);color:#191919;border:1px solid var(--gold);font-size:11px;font-weight:800;padding:13px 17px;width:100%;margin:17px 0 0;min-height:45px}.secondary-action.add-repeat{background:#293522;border-color:#708756;color:#e1eaca}.secondary-action:disabled{opacity:.45}
.repeat-result{font-size:11px;line-height:1.65;margin-top:14px;color:#d2ba8a}.repeat-result.error{color:#ecba9c}
.repeat-preview{display:grid;gap:7px;margin-top:10px;max-height:435px;overflow:auto;scrollbar-color:var(--gold) transparent}
.preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #403c33;background:#1c1c1d;padding:11px}.preview-row .when{display:flex;flex-direction:column;gap:5px}.preview-row .when strong{font-size:11px;color:#e6e6e6}.preview-row .when span{font-size:10px;color:#b0b0b3}.preview-actions{display:flex;align-items:flex-end;flex-direction:column;gap:7px;flex:0 1 230px;min-width:0}.preview-actions label{font-size:10px;color:#afa9a0}.preview-actions select{min-width:0;width:100%;background:#2b2b2d;color:#f0f0f0;border:1px solid #555;font-size:10px;max-width:230px;padding:8px}.preview-actions .skip-line{display:flex;align-items:center;gap:6px;font-size:10px}.preview-row.missing{border-color:#705244}.preview-row.excluded{opacity:.48}.preview-status{color:#93c79a;font-size:10px;font-weight:700}.preview-status.warn{color:#e5b596}
.plan-summary-count{display:flex;align-items:baseline;gap:11px;margin-top:21px;padding:13px 0;border-top:1px solid #414143;border-bottom:1px solid #414143}.plan-summary-count strong{font:800 45px Barlow Condensed,sans-serif;color:var(--gold)}.plan-summary-count span{font-size:10px;font-weight:800;color:#c4c4c7;letter-spacing:.08em}.quiet-button{background:transparent;border:0;color:#d3b26d;font-size:10px;text-decoration:underline;text-underline-offset:4px;margin-left:auto}
.cart-items{display:flex;flex-direction:column;gap:0;margin:14px 0;max-height:400px;overflow:auto}.cart-row{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:12px 0;border-bottom:1px solid #39393a}.cart-row strong{font-size:12px;line-height:1.45;color:#eee}.cart-row small{display:block;color:#aaa;font-size:10px;line-height:1.55;margin-top:4px}.cart-remove{flex:0 0 28px;width:28px;height:28px;background:transparent;color:#c7c7c9;border:1px solid #545457;font-size:17px;display:grid;place-items:center}.empty-choice{margin:22px 0}
.summary-ticket{margin-top:18px}.summary-ticket .price-row{margin-top:14px}
.result{min-height:20px}.result.good{word-break:break-word}
@media(max-width:1150px){.slots{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-block{padding:17px}.booking-panel{padding:35px 22px}.summary{padding:35px 23px}}
@media(max-width:900px){.intro-new{grid-template-columns:1fr}.intro-new .intro-side{display:none}.booking-grid{grid-template-columns:1fr}.calendar-block{max-width:760px}.summary{border-top:1px solid #444;position:relative}.cart-items{max-height:240px}}
@media(max-width:600px){.intro-new .intro-copy{padding:32px 18px}.intro-new h1{font-size:48px}.intro-new .intro-meta{gap:9px}.mode-group{gap:5px}.mode{min-height:75px;padding:10px 8px}.mode strong{font-size:10px}.mode small{font-size:9px}.calendar-top{flex-direction:column;align-items:flex-start}.calendar-top .month-controls{align-self:stretch;justify-content:space-between;margin-top:8px}.calendar-block{margin-top:19px;padding:14px}.calendar-days,.calendar-grid{gap:3px}.calendar-day{min-height:49px}.calendar-day strong{font-size:12px}.calendar-grid .blank{min-height:45px}.date-jump small{flex:1 0 100%}.preference-row{flex-direction:column;align-items:stretch;gap:8px}.preference-row select{width:100%}.booking-panel{padding:28px 13px}.slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.slot{min-height:110px;padding:11px}.slot span{font-size:9px}.slot small{font-size:9px}.repeat-fields{grid-template-columns:1fr}.repeat-fields .field:last-child{grid-column:span 1}.preview-row{flex-direction:column;align-items:stretch}.preview-actions{flex-basis:auto;align-items:flex-start;width:100%}.preview-actions select{max-width:none}.status-strip{letter-spacing:.03em;font-size:9px}.header-tag{display:none}}

.repeat-fields .field.wide{grid-column:span 2}
@media(max-width:600px){.repeat-fields .field.wide{grid-column:span 1}}
