/* Premium booking v2 additions. Scoped so other public pages are unaffected. */
.booking-experience{--booking-action:#00b85a;--booking-soft:#eaf9f0;max-width:800px}
.booking-context{position:sticky;z-index:25;bottom:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;margin:0 0 12px;padding:10px 12px;border:1px solid #cce9d7;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(0,64,32,.13);backdrop-filter:blur(12px)}
.booking-context[hidden]{display:none}.booking-context__icon{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--booking-soft)}.booking-context span:nth-child(2){min-width:0;display:grid;gap:2px}.booking-context small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#658070}.booking-context b,.booking-context em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-context b{font-size:11px}.booking-context em{font-size:10px;font-style:normal;color:#587064}.booking-context strong{color:var(--booking-deep);font-size:12px;white-space:nowrap}.booking-context .btn-link{font-size:10px}
.booking-date-shortcuts{display:flex;gap:8px;margin:0 0 10px}.booking-date-shortcuts button{min-height:34px;padding:0 12px;border:1px solid #cde7d7;border-radius:999px;background:#fff;color:var(--booking-deep);font:800 11px/1 Inter,sans-serif;cursor:pointer}.booking-date-shortcuts button:hover,.booking-date-shortcuts button:focus-visible{border-color:var(--booking-action);background:var(--booking-soft)}
.booking-otp-segments{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.booking-auth-card .booking-otp-segments input{min-width:0;height:52px;min-height:52px;padding:0;text-align:center;font-size:21px;font-weight:900;caret-color:var(--booking-action)}.booking-auth-card .booking-otp-segments input:focus{outline:3px solid rgba(0,184,90,.18);border-color:var(--booking-action)}
.booking-help{margin:14px 0 0;text-align:center;color:#5f7467;font-size:12px}.booking-help a{color:var(--booking-deep);font-weight:900}.booking-stage--review .booking-coupon-toggle{padding:15px 16px}.booking-stage--review .coupon-panel{border:1px solid var(--booking-border)!important;overflow:hidden}.booking-stage--review [data-coupon-content]{padding:0 16px 16px}
.booking-confirmation__art{position:absolute;right:-36px;bottom:-38px;width:180px;height:180px;object-fit:cover;opacity:.17;mix-blend-mode:multiply;pointer-events:none}.booking-directions{display:inline-flex;align-items:center;gap:6px;margin:12px 0 0;color:var(--booking-deep);font-size:12px;font-weight:900}.booking-arrival-note{max-width:330px;margin:10px auto 0!important;font-size:11px!important;line-height:1.45}
.booking-experience .booking-alert{font-weight:700}.booking-experience .booking-slot-grid label{touch-action:manipulation}.booking-experience .booking-slot-grid input:focus-visible+span,.booking-turf-card input:focus-visible~.booking-turf-card__content{outline:3px solid rgba(0,184,90,.28);outline-offset:2px}
@media (max-width:430px){.booking-experience{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.booking-context{grid-template-columns:auto minmax(0,1fr) auto}.booking-context .btn-link{grid-column:2/4;justify-self:end;margin-top:-2px}.booking-context strong{align-self:center}.booking-hero{min-height:230px}.booking-turf-card{min-height:118px}.booking-date-strip{scroll-snap-type:x proximity}.booking-date-choice{scroll-snap-align:start}.booking-sticky-action{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
@media (max-width:340px){.booking-context{gap:6px;padding:9px}.booking-context__icon{display:none}.booking-context b{font-size:10px}.booking-context strong{font-size:11px}.booking-otp-segments{gap:4px}}
@media (prefers-reduced-motion:no-preference){.booking-turf-card,.booking-slot-grid span,.booking-context{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.booking-slot-grid input:checked+span{transform:translateY(-1px)}}
