.dev-preview-banner{background:#dcebbf;color:#203d2b;text-align:center;padding:9px 15px;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.3px}.preview-feedback{padding:16px;border-radius:10px;background:#edf3df;color:#24462d;margin:14px 0;font-size:14px}.consent{display:none!important}
.planner-session{padding:22px;border:1px solid #d8dfce;border-radius:18px;margin:20px 0;background:#fff}.planner-session.selected{background:#f0f6df;border-color:#6b8c43}.planner-choice{display:flex;align-items:center;gap:12px;cursor:pointer}.planner-choice input{width:20px;height:20px;accent-color:#214e36}.planner-choice span{margin-left:auto;font-size:14px}.planner-fields{margin-top:20px}.planner-fields[hidden],.planner-custom[hidden],#planner-review[hidden]{display:none!important}#planner-review{margin-top:25px}.planner-fields input,.planner-fields select{width:100%}@media(max-width:600px){.planner-session{padding:16px}.planner-choice{flex-wrap:wrap}.planner-choice span{margin-left:32px}.planner-fields{grid-template-columns:1fr}}

#planner-error:empty,#planner-error[hidden],#submit-error[hidden],#planner-details[hidden]{display:none!important}#planner-details,#planner-review{scroll-margin-top:110px;margin-top:25px}#planner-details .check input{width:20px;height:20px;flex-shrink:0}#planner-details .check{display:flex;gap:10px;align-items:flex-start}
.booking-progress{display:flex;gap:20px;font-size:13px;color:#879380;margin-bottom:25px;border-bottom:1px solid #dce2d4;padding-bottom:16px}.booking-progress .current{color:#214e36;font-weight:700}.simple-booking .booking-panel{padding:30px}.simple-booking .booking-summary{position:sticky;top:110px;align-self:start}.simple-booking .resource-choices{margin:18px 0}.booking-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 20px}.booking-time-grid button{background:white;border:1px solid #d8dfce;border-radius:10px;padding:12px 7px;color:#234a35;cursor:pointer;font-weight:700}.booking-time-grid button small{display:block;font-size:11px;font-weight:400;margin-top:4px}.booking-time-grid button.selected{background:#214e36;color:white;border-color:#214e36}.time-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}.half-toggle{display:flex;align-items:center;gap:7px;font-size:12px!important}.half-toggle input{width:15px;height:15px;accent-color:#214e36}.session-selection{padding:15px;background:#f0f5e6;border-radius:10px;margin:12px 0;font-size:14px}.cart-line{padding:20px 0;border-bottom:1px solid #dde4d3}.cart-line p{font-size:13px;margin:7px 0}.cart-line div{display:flex;align-items:center;gap:13px}.cart-line div strong{margin-right:auto}.cart-line button{border:0;background:none;text-decoration:underline;color:#406541;cursor:pointer;padding:4px;font-size:12px}.empty-cart{font-size:14px;line-height:1.7}.compact{padding:15px;margin-top:25px}.compact p{font-size:13px}.simple-booking #custom-wrap[hidden]{display:none!important}.simple-booking .form-actions{flex-wrap:wrap}.booking-progress span{white-space:nowrap}@media(max-width:700px){.booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-booking .booking-panel{padding:20px}.simple-booking .booking-summary{position:static}.booking-progress{gap:14px;font-size:11px}.time-heading{flex-wrap:wrap}.simple-booking .summary-total{gap:10px;flex-wrap:wrap}.simple-booking .summary-total strong{font-size:28px}.simple-booking .form-grid{grid-template-columns:1fr}}
#session-builder[hidden],.simple-booking .form-actions[hidden]{display:none!important}
.booking-extras{border:1px solid #dce4d3;border-radius:12px;padding:15px;margin:5px 0}.booking-extras summary{cursor:pointer;font-size:14px;font-weight:600}.booking-extras .form-grid{margin-top:18px}
.booking-choice-label{font-size:13px;font-weight:650;color:#405847;display:block}.game-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border-radius:14px;background:#f0f3ec;margin:10px 0 24px}.game-switch button{border:0;display:flex;gap:9px;align-items:center;justify-content:center;background:transparent;color:#60705e;border-radius:10px;min-height:47px;font-weight:650;font-size:15px;cursor:pointer;transition:background .15s,color .15s}.game-switch button.selected{background:#214e36;color:white;box-shadow:0 2px 5px #16382315}.game-switch button:focus-visible,.court-switch button:focus-visible{outline:3px solid #a6c97a;outline-offset:3px}.court-choice-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.game-rate{font-size:13px;font-weight:650;color:#214e36;white-space:nowrap}.court-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px}.court-switch button{border:1.5px solid #d8dfd2;border-radius:12px;background:white;padding:17px 16px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;cursor:pointer;color:#25432f}.court-switch button.selected{border-color:#214e36;background:#f5f8f0;box-shadow:0 0 0 1px #214e36}.court-name{font-size:16px;font-weight:650;display:flex;gap:7px;align-items:flex-start;flex-direction:column}.court-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid #cbd5c5;border-radius:50%;font-size:13px}.selected .court-radio{background:#214e36;border-color:#214e36;color:white}.in-request{display:inline-block;background:#e7efdd;color:#49633c;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:600;line-height:1.3}.court-description{color:#74816e;font-size:12px!important;margin:12px 0 24px!important;line-height:1.6}@media(max-width:500px){.court-switch{gap:10px}.court-switch button{padding:14px 12px}.court-name{font-size:15px}.game-rate{font-size:12px}.court-description{font-size:11px!important}}
.basket-guide{font-size:14px;line-height:1.7;color:#6c7b67;margin:-5px 0 24px}#selection-note[hidden],#basket-receipt[hidden],.add-booking-hint[hidden]{display:none!important}.add-booking-hint{font-size:12px;color:#72806c;margin:10px 0 0}#basket-receipt{background:#edf5e3;border:1px solid #d5e5c3;border-radius:12px;padding:17px;margin-top:16px}#basket-added{color:#234b33;font-size:14px;line-height:1.6;margin:0 0 14px}#basket-receipt .button{font-size:13px;padding:12px 16px}.basket-link{border:0;background:transparent;color:#2e5638;text-decoration:underline;cursor:pointer;font-size:13px;padding:12px}#basket-title{display:flex;align-items:center;gap:10px}#basket-count{display:inline-flex;justify-content:center;align-items:center;min-width:30px;height:30px;border-radius:50%;background:#e8f0dd;font-size:15px;color:#36533a}.booking-number{display:block;font-size:11px;color:#7e8b75;margin-bottom:7px;letter-spacing:.04em}.simple-booking .empty-cart strong{color:#38513c}.simple-booking .empty-cart p{font-size:13px;line-height:1.7;margin:8px 0}.simple-booking .booking-summary{scroll-margin-top:100px}
#add-session[hidden]{display:none!important}@media(max-width:600px){#basket-receipt .button{width:100%}#basket-receipt .basket-link{width:100%;margin-top:6px}.simple-booking #review-plan{width:100%}}
/* Homepage rhythm: matching green turfs, then alternating lavender and green sections. */
.home-page .court-comparison .activity-grid>article{background:#dceeb8;border-color:#cbdca7}
.home-page .home-how,.home-page .home-hangout,.home-page .home-why,.home-page .faq-section{background:#e5ddf2;border:1px solid #d9cfe9}
.home-page .supporting-pool,.home-page .home-groups,.home-page .early-access{background:#dceeb8;border:1px solid #cbdca7}
.home-page .home-how,.home-page .supporting-pool,.home-page .home-hangout,.home-page .home-groups,.home-page .home-why,.home-page .early-access,.home-page .faq-section{width:90%;max-width:1296px;border-radius:26px;margin:26px auto 38px;padding:56px 48px}
.home-page .home-hangout .amenity-tags span{background:#fffafc;border-color:#d5c8e4;color:#5c4c6b}
.home-page .faq-list details{border-color:#d7cde4;background:#ffffffd9}
.home-page .faq-list details[open]{background:#f7f3fc}
.home-page .early-access .button{background:#254e36;color:white}
@media(max-width:800px){.home-page .home-how,.home-page .supporting-pool,.home-page .home-hangout,.home-page .home-groups,.home-page .home-why,.home-page .early-access,.home-page .faq-section{padding:32px 26px;border-radius:22px}}
@media(max-width:540px){.home-page .home-how,.home-page .supporting-pool,.home-page .home-hangout,.home-page .home-groups,.home-page .home-why,.home-page .early-access,.home-page .faq-section{padding:28px 20px;margin:20px auto 28px}}
/* Readable navigation across the site. */
header .nav a{font-size:18px;font-weight:650;line-height:1.4;color:#294632;padding:10px 0}
header .nav{gap:28px}
header .button.nav-cta{font-size:15px!important;font-weight:700;padding:14px 20px!important;white-space:nowrap}
@media(min-width:801px) and (max-width:1100px){header .nav-wrap{gap:20px}header .nav{gap:18px}header .nav a{font-size:16px}header .button.nav-cta{font-size:13px!important;padding:12px 15px!important}}
@media(max-width:800px){header .nav.open a{font-size:20px;padding:9px 0}header .button.nav-cta{font-size:12px!important;padding:12px 14px!important}}
@media(max-width:540px){header .button.nav-cta{font-size:0!important;padding:12px!important}header .nav-cta:before{font-size:12px;font-weight:700}header .nav.open{top:100%;gap:12px}header .nav.open a{font-size:20px}}
