:root{--booking-deep:#006b36;--booking-action:#00a94f;--booking-soft:#eaf8ef;--booking-bg:#f7faf8;--booking-text:#14231b;--booking-border:#e0eae3;--booking-muted:#66776d}.public-site:has(.booking-experience){background:var(--booking-bg)}.public-site:has(.booking-experience) .site-header,.public-site:has(.booking-experience) .site-footer,.public-site:has(.booking-experience) .mobile-dock{display:none}.booking-experience{max-width:760px;margin:0 auto;padding:0 max(14px,env(safe-area-inset-right)) calc(118px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));color:var(--booking-text);font-family:Inter,system-ui,sans-serif}.booking-topbar{height:70px;display:flex;justify-content:space-between;align-items:center;gap:12px}.booking-brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.booking-brand img{width:40px;height:40px;object-fit:contain}.booking-brand b,.booking-brand small{display:block;line-height:1.05}.booking-brand b{font:800 15px/1 Barlow Condensed,Inter,sans-serif;letter-spacing:.04em}.booking-brand small{font-size:8px;letter-spacing:.14em;color:var(--booking-muted);margin-top:3px}.booking-location{font-size:11px;font-weight:800;color:#426053;white-space:nowrap}.booking-progress{margin:4px 0 20px;padding:0;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:3px;list-style:none}.booking-progress li{position:relative;display:grid;justify-items:center;gap:5px;color:#8a9991;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.booking-progress li:before{display:none}.booking-progress li b{width:24px;height:24px;display:grid;place-items:center;border:1px solid #d9e4dd;border-radius:50%;background:#fff;font-size:11px}.booking-progress li.active{color:var(--booking-deep)}.booking-progress li.active b{border-color:var(--booking-action);background:var(--booking-action);color:#fff;box-shadow:0 5px 12px rgba(0,169,79,.22)}.booking-stage{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.booking-hero{min-height:244px;display:flex;align-items:flex-end;padding:24px;border-radius:25px;background-image:linear-gradient(90deg,rgba(0,29,16,.94),rgba(0,48,28,.54) 55%,rgba(0,24,13,.1)),var(--booking-hero);background-size:cover;background-position:center;overflow:hidden;box-shadow:0 18px 42px rgba(0,73,38,.19)}.booking-hero__copy{max-width:270px;color:#fff}.booking-kicker{margin:0 0 6px;color:var(--booking-action);font-size:10px;font-weight:900;letter-spacing:.14em}.booking-hero .booking-kicker{color:#80f1ae}.booking-hero h1{margin:0;font:800 clamp(38px,11vw,60px)/.88 Barlow Condensed,Inter,sans-serif;letter-spacing:-.025em}.booking-hero h1 em{color:#8df6ad;font-style:normal}.booking-hero p{margin:12px 0;font-size:13px;line-height:1.5}.booking-hero__location{font-size:11px;font-weight:800}.booking-section-head{margin:28px 3px 16px}.booking-section-head h2{margin:0;font:800 31px/.95 Barlow Condensed,Inter,sans-serif;letter-spacing:-.02em}.booking-section-head p:not(.booking-kicker){margin:8px 0 0;color:var(--booking-muted);font-size:13px;line-height:1.5}.booking-section-head--center{text-align:center;margin-top:18px}.booking-turf-grid{display:grid;gap:12px}.booking-turf-card{position:relative;display:grid!important;grid-template-columns:95px 1fr 28px;align-items:center;min-height:112px;overflow:hidden;border:1px solid var(--booking-border)!important;border-radius:18px!important;background:#fff;box-shadow:0 8px 20px rgba(26,68,43,.055);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.booking-turf-card:hover{transform:translateY(-1px)}.booking-turf-card input{position:absolute;opacity:0;pointer-events:none}.booking-turf-card__art{align-self:stretch;overflow:hidden;background:#073d25}.booking-turf-card__art img{width:100%;height:100%;display:block;object-fit:cover;object-position:72% 60%;opacity:.82}.booking-turf-card__content{display:grid;gap:5px;padding:14px 8px 14px 14px}.booking-turf-card__content small{font-size:10px;font-weight:800;color:#64776b;text-transform:uppercase}.booking-turf-card__content b{font-size:16px;color:var(--booking-text)}.booking-turf-card__content em{font-size:13px;font-weight:900;color:var(--booking-deep);font-style:normal}.booking-turf-card__content i{width:max-content;padding:3px 6px;border-radius:99px;background:var(--booking-soft);color:var(--booking-deep);font-size:9px;font-weight:900;font-style:normal}.booking-turf-card__check{width:22px;height:22px;display:grid;place-items:center;border:1px solid #cfdcd4;border-radius:50%;color:transparent}.booking-turf-card:has(input:checked){border:2px solid var(--booking-action)!important;box-shadow:0 12px 26px rgba(0,169,79,.16)}.booking-turf-card:has(input:checked) .booking-turf-card__check{background:var(--booking-action);border-color:var(--booking-action);color:#fff}.booking-microcopy{margin:16px auto;text-align:center;color:#527060;font-size:12px;font-weight:700}.booking-sticky-action{position:sticky;z-index:20;bottom:0;display:grid;gap:9px;padding:14px 0 max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(247,250,248,0),var(--booking-bg) 26%)}.booking-sticky-action .btn{min-height:54px;border-radius:15px;font-size:15px;font-weight:900}.booking-sticky-action .btn:disabled{opacity:.45;cursor:not-allowed}.booking-sticky-action--split{grid-template-columns:minmax(80px,.48fr) minmax(0,1fr)}.booking-selection-chip{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #d8e9de;border-radius:15px;background:linear-gradient(135deg,#fff,#effaf2)}.booking-selection-chip__image{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#d8f6e3;font-size:22px}.booking-selection-chip span:nth-child(2){display:grid;gap:2px;flex:1}.booking-selection-chip small{font-size:9px;font-weight:900;color:#6b8274;letter-spacing:.08em}.booking-selection-chip b{font-size:13px}.btn-link{border:0;background:transparent;color:var(--booking-deep);font:800 12px/1 Inter,sans-serif;text-decoration:underline;cursor:pointer}.booking-date-tools{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:18px 0 9px}.booking-date-tools>div{text-align:center}.booking-date-tools small{display:block;font-size:12px;font-weight:900}.booking-date-input{width:100%;max-width:160px;margin-top:5px;border:0;background:transparent;color:#6c7b73;font:600 11px Inter,sans-serif;text-align:center}.booking-icon-button{width:42px;height:42px;border:1px solid var(--booking-border);border-radius:13px;background:#fff;color:var(--booking-deep);font-size:26px;cursor:pointer}.booking-date-strip{display:flex;gap:8px;overflow-x:auto;padding:3px 1px 10px;scrollbar-width:none}.booking-date-strip::-webkit-scrollbar{display:none}.booking-date-choice{min-width:58px;padding:9px 6px;border:1px solid var(--booking-border);border-radius:13px;background:#fff;color:#63766b;font:800 10px/1.2 Inter,sans-serif;cursor:pointer}.booking-date-choice b{display:block;margin:3px 0;color:var(--booking-text);font-size:15px}.booking-date-choice.is-selected{border-color:var(--booking-action);background:var(--booking-action);color:#ddffe9}.booking-date-choice.is-selected b{color:#fff}.booking-duration-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 17px}.booking-duration-row label{display:flex;align-items:center;gap:7px;color:#587064;font-size:12px;font-weight:800}.booking-duration-row select{min-height:40px;border:1px solid var(--booking-border);border-radius:10px;background:#fff;padding:0 10px;color:var(--booking-text);font-weight:800}.booking-enquiry-trigger{min-height:40px!important;padding:0 11px!important;border-radius:10px!important;font-size:11px!important}.booking-slot-layout{display:grid;gap:14px}.booking-slot-area,.booking-price-card,.booking-review-card,.booking-payment-card,.booking-auth-card,.booking-confirmation{border:1px solid var(--booking-border);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(23,57,38,.055)}.booking-slot-area{padding:16px}.booking-slot-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}.booking-slot-heading h3{margin:0;font-size:16px}.booking-slot-heading small{color:var(--booking-muted);font-size:10px}.booking-slot-group{margin-top:15px}.booking-slot-group:first-child{margin-top:0}.booking-slot-group h4{margin:0 0 8px;color:#4e6b5b;font-size:11px}.booking-slot-group h4 span{margin-right:4px}.booking-slot-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-slot-grid label{margin:0}.booking-slot-grid span{min-height:56px;display:grid!important;place-content:center;border:1px solid #dfe9e3!important;border-radius:12px!important;background:#fff!important;color:var(--booking-text);font-size:11px!important;text-align:center}.booking-slot-grid span small{display:block;margin-top:4px;color:var(--booking-deep);font-size:10px;font-weight:900}.booking-slot-grid input:checked+span{border-color:var(--booking-action)!important;background:var(--booking-soft)!important;color:var(--booking-deep)!important;box-shadow:0 0 0 3px rgba(0,169,79,.12)}.booking-skeleton{display:block;grid-column:1/-1;padding:24px;text-align:center;color:#63766b;font-size:12px}.booking-price-card{padding:16px;background:linear-gradient(135deg,#f0fbf3,#fff)}.booking-price-card>span{color:var(--booking-deep);font-size:10px;font-weight:900;letter-spacing:.12em}.booking-price-card>b{display:block;margin:5px 0;color:var(--booking-deep);font:900 34px/1 Barlow Condensed,Inter,sans-serif}.booking-price-card>small{display:block;color:var(--booking-muted);font-size:11px}.booking-price-card dl{display:grid;gap:7px;margin:14px 0 0}.booking-price-card dl div{display:flex;justify-content:space-between;font-size:12px}.booking-price-card dt{color:#5f7367}.booking-price-card dd{margin:0;font-weight:900}.booking-auth-shell{max-width:470px;margin:0 auto}.booking-auth-card{display:grid;gap:13px;padding:22px}.booking-auth-card__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--booking-soft);color:var(--booking-deep);font-size:27px}.booking-auth-card h3{margin:0;font:800 25px/1 Barlow Condensed,Inter,sans-serif}.booking-auth-card label{display:grid;gap:7px;color:#365344;font-size:12px;font-weight:900}.booking-auth-card label small{font-weight:600;color:var(--booking-muted)}.booking-auth-card input{min-height:52px;box-sizing:border-box;border:1px solid #dce7e0;border-radius:13px;background:#fff;padding:0 14px;color:var(--booking-text);font:600 15px Inter,sans-serif}.booking-mobile-field,.booking-password-field{display:flex;align-items:center;border:1px solid #dce7e0;border-radius:13px;background:#fff;overflow:hidden}.booking-mobile-field b{padding:0 10px;white-space:nowrap;font-size:13px}.booking-mobile-field input,.booking-password-field input{min-width:0;flex:1;border:0!important}.booking-mobile-field .btn-link,.booking-password-field .btn-link{padding:10px;white-space:nowrap;text-decoration:none}.booking-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-muted{margin:0;color:var(--booking-muted);font-size:12px}.booking-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0;color:#4d705c;font-size:9px;font-weight:800;text-align:center}.booking-review-grid{display:grid;gap:12px}.booking-review-card{padding:18px}.booking-review-card__title{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #ebf0ec}.booking-review-card__title>span{font-size:28px}.booking-review-card__title>div{display:grid;gap:3px;flex:1}.booking-review-card__title small{font-size:9px;font-weight:900;color:#6a8172;letter-spacing:.1em}.booking-review-card__title h3{margin:0;font-size:15px}.booking-summary{margin-top:14px;color:#476052;font-size:13px;line-height:1.75}.booking-hold-note{display:flex;gap:8px;align-items:center;margin-top:14px;padding:10px 12px;border-radius:12px;background:#fff9e8;color:#775d11;font-size:12px;font-weight:800}.coupon-panel{margin:0!important;border-radius:18px!important;background:#fff!important}.booking-coupon-toggle{display:flex;width:100%;justify-content:space-between;border:0;background:transparent;color:var(--booking-text);font:800 14px Inter,sans-serif;cursor:pointer}.booking-coupon-toggle span{color:var(--booking-action);font-size:18px}.booking-payment-card{margin-top:15px;padding:18px}.booking-payment-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.booking-payment-card__head h2{margin:0;font:800 26px/1 Barlow Condensed,Inter,sans-serif}.booking-payment-card__head small{display:block;margin-top:7px;color:var(--booking-muted);font-size:11px}.booking-secure-badge{padding:7px 9px;border-radius:10px;background:var(--booking-soft);color:var(--booking-deep);font-size:10px;font-weight:900}.payment-breakdown{padding:13px;border-radius:14px;background:#f6faf7}.payment-amounts label{border-radius:12px!important}.payment-methods{grid-template-columns:1fr!important}.payment-methods span{min-height:44px;display:flex!important;align-items:center;justify-content:center;border-radius:12px!important;font-size:12px!important}.booking-confirmation{position:relative;max-width:500px;margin:28px auto;padding:32px 20px;text-align:center;overflow:hidden}.booking-confirmation:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(234,248,239,.9),transparent 47%);pointer-events:none}.booking-confirmation>*{position:relative}.booking-confirmation__confetti{color:#00a94f;letter-spacing:12px}.booking-confirmation__mark{width:76px;height:76px;display:grid;place-items:center;margin:18px auto;border-radius:50%;background:linear-gradient(140deg,#00a94f,#006b36);color:#fff;font-size:42px;box-shadow:0 14px 28px rgba(0,169,79,.25)}.booking-confirmation h2{margin:8px 0;font:800 34px/1 Barlow Condensed,Inter,sans-serif}.booking-confirmation>p{color:var(--booking-muted);font-size:13px}.booking-confirmation>strong{display:block;margin:17px auto;padding:11px;border-radius:12px;background:#f4f8f5;color:var(--booking-deep);font-size:16px}.booking-confirmation__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.booking-confirmation__actions .btn{display:grid;place-items:center;min-height:47px;padding:0 8px;border-radius:12px;font-size:12px}.booking-empty{display:grid;gap:4px;padding:22px;border:1px dashed #c7d9ce;border-radius:15px;text-align:center;color:#5e7367}.booking-empty span{font-size:12px}.booking-experience .coupon-game-card{border-radius:18px}.booking-experience .coupon-game-card .btn{min-height:40px;border-radius:11px}.booking-experience .payment-failure{border-radius:13px}.booking-experience .booking-alert{position:sticky;z-index:50;top:8px;margin:0 0 8px;border-radius:12px;background:#fff0ee;color:#902f28;box-shadow:0 10px 28px rgba(87,23,15,.12)}@media(min-width:680px){.booking-experience{max-width:930px}.booking-hero{min-height:280px}.booking-turf-grid{grid-template-columns:repeat(2,1fr)}.booking-slot-layout{grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr)}.booking-price-card{height:max-content}.booking-review-grid{grid-template-columns:1.15fr .85fr}.booking-progress{max-width:680px;margin-left:auto;margin-right:auto}.booking-confirmation{padding:40px}}@media(max-width:390px){.booking-location{display:none}.booking-hero{min-height:225px;padding:19px}.booking-hero h1{font-size:39px}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-confirmation__actions{grid-template-columns:1fr}.booking-sticky-action--split{grid-template-columns:1fr}.booking-sticky-action--split .btn-ghost{display:none}}@media(prefers-reduced-motion:reduce){.booking-experience *, .booking-experience *:before,.booking-experience *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
