.booking-page-hero{padding-bottom:26px}.booking-page-hero>p{margin-bottom:22px}.booking-steps{display:flex;flex-wrap:wrap;gap:10px}.booking-steps span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);font-size:.78rem;font-weight:750}.booking-steps span.active{border-color:var(--teal);background:var(--mint);color:var(--teal-dark)}.booking-steps b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--soft);font-size:.68rem}.booking-steps .active b{background:var(--teal);color:white}
.booking-entry{max-width:1040px;min-height:calc(100vh - 230px);margin:auto;padding:76px 24px 90px}.booking-entry-heading{max-width:720px;margin:0 auto 34px;text-align:center}.booking-entry-heading h1{margin-bottom:14px;font-size:clamp(2.35rem,5vw,4.2rem)}.booking-entry-heading p{color:var(--muted);font-size:1.05rem}.booking-entry-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-entry-card{display:flex;min-height:330px;flex-direction:column;justify-content:space-between;gap:24px;padding:30px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow)}.booking-entry-card h2{margin-bottom:10px;font-size:1.7rem}.booking-entry-card p{color:var(--muted)}.booking-entry-guest{border-color:rgba(8,127,115,.35);background:linear-gradient(145deg,#ffffff,#f2fcfa)}.booking-entry-number{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--soft);color:var(--muted);font-size:.78rem;font-weight:850}.booking-entry-guest .booking-entry-number{background:var(--teal);color:white}.booking-entry-note{margin:20px 0 0;text-align:center;color:var(--muted);font-size:.82rem}
.booking-builder-wide{max-width:1500px;grid-template-columns:minmax(0,1fr) 370px;padding-bottom:70px}.booking-filter-panel{padding:26px}.booking-filters label{font-size:.76rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}.booking-filters select,.booking-filters input{height:48px;color:var(--ink);font-size:.92rem;text-transform:none;letter-spacing:normal}.booking-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.booking-facility-card{gap:0;padding:0;overflow:hidden;text-align:left}.facility-choice-media{position:relative;width:100%;height:174px;padding:0;overflow:hidden;border:0;border-radius:0;background:linear-gradient(145deg,#d7f4ee,#f4fbfa)}.facility-choice-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.booking-facility-card:hover .facility-choice-media img{transform:scale(1.025)}.facility-choice-placeholder{display:grid;place-items:center;width:100%;height:100%;padding:20px;color:var(--teal-dark);font-size:1.45rem;font-weight:850;text-align:center}.facility-type-badge{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 4px 12px rgba(23,33,43,.08);color:var(--ink);font-size:.68rem;font-weight:800}.facility-choice-content{display:flex;flex:1;flex-direction:column;gap:8px;padding:17px}.facility-choice-content>strong{font-size:1.16rem}.facility-choice-content>small{margin-top:-7px;color:var(--muted)}.facility-choice-action{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto;padding-top:9px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted)}.facility-choice-action>span strong{display:block;color:var(--ink);font-size:.96rem}.facility-choice-action .button{white-space:nowrap;color:white}
.booking-times-panel{min-height:260px;scroll-margin-top:18px}.booking-times-heading p,.booking-details-heading p,.booking-section-head p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.availability-status{min-height:22px;color:var(--teal);font-size:.78rem;font-weight:750}.booking-times-panel.is-loading .slot-grid{opacity:.52;pointer-events:none}.booking-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));transition:opacity .15s}.booking-slot-grid .time-slot{min-height:92px;padding:12px;transition:border-color .15s,background .15s,transform .15s}.booking-slot-grid .time-slot:hover:not(:disabled){transform:translateY(-2px);border-color:var(--teal)}.booking-slot-grid .time-slot span,.booking-slot-grid .time-slot b,.booking-slot-grid .time-slot em{display:block}.booking-slot-grid .time-slot b{margin-top:5px}.booking-slot-grid .time-slot em{margin-top:4px;font-size:.68rem;font-style:normal}.booking-slot-grid .time-slot.selected{box-shadow:inset 0 0 0 2px var(--teal)}
.booking-selection-card h2{margin-bottom:16px}.booking-selection-card .cart-item>div{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:7px}.booking-selection-card .cart-item button{padding:0}.booking-details-panel{scroll-margin-top:18px}.booking-identity{display:flex;flex-direction:column;padding:15px;border:1px solid var(--line);border-radius:13px;background:white}.booking-identity.selected,.booking-identity.signed-in{border-color:var(--teal);background:var(--mint)}.booking-identity.signed-in,.guest-booking-identity{margin:18px 0}.booking-identity span,.booking-identity small{color:var(--muted);font-size:.76rem}.customer-fields{margin-bottom:20px}.booking-form-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.addon-stepper-grid{margin-top:12px}.addon-stepper{min-height:78px}.quantity-stepper{display:grid;grid-template-columns:36px 42px 36px;align-items:center}.quantity-stepper button{height:36px;border:1px solid var(--line);background:var(--soft);font-size:1.15rem;font-weight:850}.quantity-stepper button:first-child{border-radius:9px 0 0 9px}.quantity-stepper button:last-child{border-radius:0 9px 9px 0}.quantity-stepper input{height:36px;padding:4px;border-inline:0;border-radius:0;text-align:center;font-weight:800}.booking-acceptance{margin-top:20px}.booking-acceptance a{color:var(--teal);text-decoration:underline}.booking-submit-row{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.checkout-panel[hidden],.addon-stepper[hidden]{display:none}
@media(max-width:1250px){.booking-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.booking-entry{padding-top:48px}.booking-entry-options{grid-template-columns:1fr}.booking-entry-card{min-height:0}.booking-builder-wide{grid-template-columns:1fr}.booking-builder-wide .booking-summary{order:0}.booking-selection-card{position:static}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.booking-facility-grid{grid-template-columns:1fr}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facility-choice-media{height:205px}.booking-times-heading{display:grid}.booking-submit-row{align-items:stretch;flex-direction:column-reverse}.booking-submit-row .button{width:100%}.booking-steps span{font-size:.7rem}.booking-selection-card .button.large{position:sticky;bottom:10px;z-index:2;box-shadow:0 8px 24px rgba(23,33,43,.18)}}
.addon-stepper{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px}.addon-stepper span,.addon-stepper small{display:block}.addon-stepper small{color:var(--muted)}
.booking-facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.facility-choice-media{height:160px}.facility-choice-content{padding:15px}.facility-choice-content>strong{font-size:1.08rem}.facility-amenities{display:flex;flex-wrap:wrap;gap:5px}.facility-amenities span{padding:4px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.68rem;font-weight:700}
@media(max-width:1350px){.booking-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.booking-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.booking-facility-grid{grid-template-columns:1fr}.facility-choice-media{height:205px}}
.booking-builder-wide,.admin-main>.booking-builder.booking-builder-wide{width:100%;max-width:1800px;grid-template-columns:minmax(0,1fr)}.booking-facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1350px){.booking-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.booking-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.booking-facility-grid{grid-template-columns:1fr}}
.booking-page-hero{max-width:1800px;padding-inline:28px}.booking-builder-wide{width:100%;max-width:1800px;grid-template-columns:minmax(0,1fr);padding-inline:28px}.booking-main{width:100%}.booking-facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.booking-summary-below{width:100%;min-width:0}.booking-summary-below .booking-selection-card{position:static;display:grid;grid-template-columns:minmax(170px,.55fr) minmax(360px,1.6fr) minmax(250px,.7fr);gap:24px;align-items:center;padding:24px}.booking-summary-heading h2{margin:0}.booking-summary-items{min-width:0}.booking-summary-items .empty-state{margin:0}.booking-summary-items .cart-item:first-child{padding-top:0}.booking-summary-items .cart-item:last-child{border-bottom:0;padding-bottom:0}.booking-summary-action{display:grid;gap:10px;align-self:stretch}.booking-summary-action .summary-total{margin:0;padding:0 0 12px}.booking-summary-action .button{width:100%}.booking-summary-action>small{color:var(--muted);font-size:.74rem;text-align:center}
@media(max-width:1350px){.booking-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-summary-below .booking-selection-card{grid-template-columns:minmax(160px,.45fr) minmax(300px,1.3fr) minmax(230px,.65fr)}}
@media(max-width:1000px){.booking-page-hero,.booking-builder-wide{padding-inline:20px}.booking-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary-below .booking-selection-card{grid-template-columns:1fr 1fr}.booking-summary-heading{grid-column:1/-1}.booking-summary-action{align-self:auto}}
@media(max-width:650px){.booking-page-hero,.booking-builder-wide{padding-inline:14px}.booking-facility-grid{grid-template-columns:1fr}.booking-summary-below .booking-selection-card{display:block;padding:20px}.booking-summary-items{margin:16px 0}.booking-summary-action .button{position:static;box-shadow:none}.facility-choice-media{height:205px}}
.booking-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.facility-choice-media{height:174px}
@media(max-width:1050px){.booking-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.booking-facility-grid{grid-template-columns:1fr}.facility-choice-media{height:205px}}
.booking-builder-wide,.admin-main>.booking-builder.booking-builder-wide{width:100%;max-width:1800px;grid-template-columns:minmax(0,1fr)}.booking-facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1350px){.booking-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.booking-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.booking-facility-grid{grid-template-columns:1fr}}
