.booking-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center;padding-top:68px;padding-bottom:68px}.booking-hero h1{font-size:clamp(42px,5.3vw,76px);line-height:1.06;letter-spacing:-.055em;margin:18px 0 26px}.booking-hero p{max-width:520px}.booking-hero .actions{margin-top:30px}.booking-hours{position:relative;overflow:hidden;min-height:270px;border:1px solid var(--line);border-radius:16px;padding:38px;background:#10120e}.booking-hours>.eyebrow,.booking-hours>strong,.booking-hours>p{position:relative;z-index:1}.booking-hours strong{display:block;font-size:clamp(28px,3vw,44px);line-height:1.3;letter-spacing:-.035em;margin:18px 0}.booking-hours strong span{color:var(--lime);padding:0 7px}.booking-hours p{font-size:.875rem;color:#b8bcb2}.booking-court-motif{position:absolute;right:-24px;top:-30px;width:145px;height:330px;transform:rotate(24deg);border:1px solid #546027;opacity:.45}.booking-court-motif:before,.booking-court-motif:after,.booking-court-motif i{content:'';position:absolute;border-top:1px solid #687b2b;left:0;right:0;top:35%}.booking-court-motif:after{top:65%}.booking-court-motif i{top:50%;border-width:3px}.booking-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}.booking-section-heading h2,.booking-rates h2,.booking-long-term h2{font-size:clamp(28px,3.4vw,43px);line-height:1.15;letter-spacing:-.04em}.booking-section-heading p{font-size:.94rem;max-width:440px}.booking-section-heading .eyebrow,.booking-rates .eyebrow,.booking-long-term .eyebrow{font-size:.75rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:26px;align-items:start}.booking-map{border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:16px;background:#141414}.booking-map svg{max-height:560px;width:100%;display:block}.booking-map-note{font-size:.75rem;text-align:center;margin:10px 0 0;color:#aeb3a7}.booking-map [data-place]:not(.booking-court){cursor:default}.booking-court{transition:filter .15s}.booking-court:hover,.booking-court.selected{filter:brightness(1.16)}.booking-court:focus-visible>rect:first-child{stroke:var(--lime);stroke-width:6}.booking-court-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.booking-court-picker .btn{flex:1;min-height:44px;white-space:nowrap}.booking-court-picker .selected{background:#263005;border-color:var(--lime);color:var(--lime)}.booking-price-panel{padding:32px;border:1px solid #414e26;border-radius:14px;background:#11150d;position:sticky;top:24px}.booking-price-panel h3{font-size:2.5rem;line-height:1.1;letter-spacing:-.04em;margin:10px 0}.booking-court-size{font-size:.9rem;color:#acb1a6;margin:0 0 24px}.booking-rate{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 0;border-top:1px solid #32392b}.booking-rate>div>span{font-size:.94rem;font-weight:600}.booking-rate small{display:block;color:#acb1a6;font-size:.85rem;font-weight:400;line-height:1.5}.booking-rate strong{color:var(--lime);font-size:1rem;text-align:right;white-space:nowrap}.booking-rate strong>span{font-size:2.8rem;line-height:1;letter-spacing:-.05em;margin-left:4px}.booking-rate .booking-next-day{font-size:.75rem}.booking-rate-note{font-size:.8rem;margin:0 0 20px}.booking-book-button{width:100%;min-height:52px}.booking-external-note{font-size:.82rem;margin:14px 0 0;line-height:1.6}.booking-rates{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}.booking-rates h2{font-size:1.9rem;margin-bottom:12px}.booking-rates p{font-size:.9rem}.booking-table-wrap{overflow:auto}.booking-rates table{white-space:normal;font-size:.95rem}.booking-rates th{min-width:0}.booking-rates th small{display:block;text-transform:none;letter-spacing:0;font-size:.77rem;font-weight:400}.booking-rates td{font-size:1.3rem;font-weight:600;color:#f4f6ee}.booking-rates td span{font-size:.77rem;color:var(--muted);font-weight:400;margin-left:4px}.booking-promotions{padding-top:36px}.promotion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}.promotion-card{display:flex;flex-direction:column;min-width:0;border:1px solid #3c472c;border-radius:14px;background:#11160e;padding:28px;position:relative;overflow:hidden}.promotion-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}.promotion-badge{color:var(--lime);font-size:.75rem;line-height:1.4;letter-spacing:.03em;border:1px solid #44572b;border-radius:30px;padding:6px 11px}.promotion-scope{color:#a5ae9b;font-size:.75rem}.promotion-card h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 15px}.promotion-highlight{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.04em;font-weight:700;color:var(--lime);margin:0 0 20px;overflow-wrap:anywhere}.promotion-description,.promotion-terms p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.94rem;line-height:1.6}.promotion-dates{font-size:.8rem;color:#b8c3ab;margin-top:18px}.promotion-terms{font-size:.83rem;margin:18px 0 24px}.promotion-terms summary{cursor:pointer;min-height:30px}.promotion-terms p{font-size:.83rem;margin-top:12px}.promotion-action{align-self:start;margin-top:auto}.promotion-description:last-of-type{margin-bottom:24px}.promotion-empty{grid-column:1/-1;padding:35px;border:1px dashed #384130;border-radius:14px;background:#0f120c}.promotion-empty h3{font-size:1.65rem;margin:10px 0}.promotion-empty p{font-size:.94rem;margin-bottom:18px}.booking-long-term{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;border:1px solid #424b28;border-radius:16px;background:linear-gradient(125deg,#161c0d,#10120d);padding:42px;margin:18px 0 46px}.booking-long-term h2{margin:16px 0 22px}.booking-long-term p{max-width:560px;font-size:.95rem}.booking-long-term-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.booking-long-term-actions .btn{white-space:normal;text-align:center}.booking-phone{font-size:1.3rem;font-weight:600}.booking-long-term-actions>span{font-size:.85rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Private promotion editor: same typography and palette, clear owner actions. */
.promotion-admin-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}.promotion-admin-header nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.9rem}.promotion-admin-header [aria-current=page]{color:var(--lime)}.promotion-admin-header .eyebrow{margin:0;white-space:nowrap}.promotion-admin-shell{padding-top:46px;padding-bottom:80px}.promotion-admin-shell h1{font-size:clamp(30px,4vw,50px);line-height:1.1;margin-bottom:18px}.promotion-admin-shell .notice{font-size:.9rem}#promotion-admin-status{padding:14px 0;min-height:52px;font-size:.94rem;color:#d6e7b9}.promotion-admin-columns{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);gap:26px;align-items:start}.promotion-admin-columns .panel{padding:26px;border-radius:14px}.promotion-admin-columns .panel-title{align-items:start;flex-wrap:wrap;gap:15px}.promotion-admin-columns h2{font-size:1.45rem}.promotion-list{display:grid;gap:10px;margin-top:22px}.promotion-list-item{display:block;width:100%;text-align:left;border:1px solid #353b2d;padding:16px;background:#10140d;color:var(--ink);border-radius:8px;overflow-wrap:anywhere}.promotion-list-item.selected{border-color:var(--lime)}.promotion-list-item span{display:block;font-size:.95rem;font-weight:600}.promotion-list-item small{display:block;font-size:.8rem;color:#aeb7a5;margin-top:7px}.promotion-help{font-size:.85rem;line-height:1.65;color:var(--muted);margin-top:18px}.promotion-preview{border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.promotion-preview>.eyebrow{font-size:.72rem}.promotion-preview .promotion-card{max-width:480px}.promotion-editor input,.promotion-editor select,.promotion-editor textarea{min-width:0;width:100%;font-size:1rem}.promotion-editor .field{min-width:0}.promotion-editor .field small{font-size:.77rem}#promotion-save-error{font-size:.9rem;margin-top:18px}.promotion-admin-columns[hidden]{display:none}
@media(max-width:900px){.booking-hero{gap:30px;grid-template-columns:1.15fr 1fr;padding-top:42px}.booking-layout{grid-template-columns:1fr}.booking-price-panel{position:static}.booking-price-panel #selected-court{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.booking-price-panel #selected-court>.eyebrow,.booking-price-panel h3,.booking-court-size{grid-column:1/-1}.booking-rates{grid-template-columns:1fr;gap:20px;margin-top:10px}.booking-long-term{gap:28px;padding:30px;grid-template-columns:1fr}.booking-section-heading{align-items:start;flex-direction:column;gap:15px}.promotion-admin-columns{grid-template-columns:1fr}.promotion-admin-header{align-items:start;flex-direction:column}.promotion-admin-header nav{gap:15px}.promotion-preview .promotion-card{max-width:none}}
@media(max-width:600px){.booking-hero{grid-template-columns:1fr;gap:28px;padding-top:34px;padding-bottom:40px}.booking-hero h1{font-size:43px}.booking-hours{min-height:195px;padding:24px}.booking-hours strong{font-size:32px;margin:12px 0}.booking-hours p{font-size:.8rem}.booking-hours .eyebrow{font-size:.7rem}.booking-layout{gap:20px}.booking-map{padding:8px}.booking-map-note{font-size:.68rem}.booking-court-picker{gap:6px}.booking-court-picker .btn{font-size:.78rem;padding:10px 8px}.booking-price-panel{padding:23px}.booking-price-panel h3{font-size:2rem}.booking-price-panel #selected-court{column-gap:20px}.booking-rate{align-items:start;flex-direction:column;gap:14px}.booking-rate strong{text-align:left}.booking-rate strong small{display:inline;margin-left:6px}.booking-rate strong>span{font-size:2.5rem}.booking-rate small{font-size:.78rem}.booking-rates table th,.booking-rates table td{padding:13px 8px}.booking-rates td{font-size:1.1rem}.booking-rates td span{display:block;margin:0}.booking-rates thead th{font-size:.65rem}.booking-rates th small{font-size:.7rem}.booking-long-term{padding:25px}.booking-long-term h2{font-size:32px}.promotion-card,.promotion-empty{padding:24px}.promotion-admin-columns .panel{padding:20px}.promotion-admin-header nav{font-size:.8rem}.promotion-admin-shell{padding-top:30px}.promotion-editor .form-grid{grid-template-columns:1fr}.promotion-top{gap:10px}.promotion-scope{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.booking-court{transition:none}}
