.booking-page [hidden]{display:none!important}
.booking-page .booking-hero{min-height:0}
.booking-page .booking-hero-content{padding:24px 30px 32px}
.booking-page .booking-hero-content h1{font-size:36px;margin:10px 0;line-height:1.1}
.booking-page .booking-hero-content h1 br{display:none}
.booking-page .booking-hero-content p{margin:10px 0;font-size:14px}
.booking-page .booking-help{padding:4px 0}
.booking-page .wrap{padding-top:24px}
.booking-page .booking-intro{display:none}
.booking-page .booking-hero-content>.booking-eyebrow,.booking-page .booking-hero-content>p{display:none}
.booking-page .booking-hero-content{padding-top:16px;padding-bottom:20px}
.booking-page .booking-intro{margin-bottom:18px}
.booking-page .booking-intro h2{font-size:28px}
.booking-page .wizard-progress{display:flex;gap:12px;margin:0 0 24px;scroll-margin-top:20px}
.booking-page .wizard-progress button{flex:1;display:flex;align-items:center;gap:10px;padding:14px;background:#eaf0e3;color:#697960;border:1px solid #dce6d1;border-radius:12px;font:600 12px 'DM Sans',sans-serif;text-align:left;cursor:pointer}
.booking-page .wizard-progress button>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;flex-shrink:0;font-weight:700}
.booking-page .wizard-progress button[aria-current]{background:#185d2c;color:#fff;border-color:#185d2c}
.booking-page .wizard-progress button[aria-current]>span{background:#cce59c;color:#234526}
.booking-page .wizard-progress button.completed{color:#25662d;background:#e0edd2}
.booking-page .wizard-progress button:disabled{opacity:.65;cursor:default}
.booking-page #bookingWizard[data-current-step="1"]{grid-template-columns:1fr}
.booking-page #bookingWizard[data-current-step="1"] .side{display:none}
.booking-page .wizard-panel>h2{font-size:29px;margin:8px 0 10px;letter-spacing:-.6px}
.booking-page .wizard-panel>h2:focus{outline:none}
.booking-page .wizard-panel>.muted{margin:0 0 20px}
.booking-page .package-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:24px 0}
.booking-page .package-choice{padding:20px 14px 0;display:flex;flex-direction:column;align-items:center;border:1px solid #dae4cf;background:linear-gradient(150deg,#fcfef7,#eef5df);border-radius:18px;color:#254b2c;font-family:'DM Sans',sans-serif;cursor:pointer;text-align:center;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden;min-width:0}
.booking-page .package-choice:hover,.booking-page .package-choice[aria-pressed="true"]{transform:translateY(-4px);border-color:#518832;box-shadow:0 10px 22px #1c45221a}
.booking-page .package-leaf{color:#528a37;background:#e0edc5;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:25px}
.booking-page .package-choice h3{font-size:18px;min-height:47px;margin:14px 0 12px;line-height:1.25}
.booking-page .package-rate{font:800 36px 'Outfit',sans-serif;color:#163e22}
.booking-page .package-unit{font-size:11px;min-height:29px;line-height:1.5;margin:3px 0 12px;color:#657958}
.booking-page .package-included{border-top:1px solid #d6e2c7;padding:15px 0;font-size:12px;line-height:1.9;width:100%}
.booking-page .package-select{margin-top:auto;display:flex;justify-content:space-between;gap:10px;width:calc(100% + 28px);padding:15px 14px;background:#e1edce;color:#356429;font-weight:700;font-size:11px}
.booking-page .package-choice:hover .package-select{background:#24662e;color:#fff}
.booking-page .date-picker-wrap{max-width:390px;margin:24px 0}
.booking-page .date-picker-wrap input{padding:20px;font-size:20px;background:#fff;border:2px solid #9fbd7d;cursor:pointer}
.booking-page .booking-calendar{width:100%;max-width:none;margin:24px 0 12px;padding:20px;border:1px solid #dce7d2;background:#fff;border-radius:18px;clear:both}
.booking-page .calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.booking-page .calendar-header h3{font-size:23px;margin:0;text-align:center}
.booking-page .calendar-header button{border:1px solid #dce6d0;background:#eff5e6;color:#2b622c;border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;flex-shrink:0}
.booking-page .calendar-weekdays,.booking-page .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.booking-page .calendar-weekdays{margin-bottom:12px;color:#7b8972;text-align:center;font-size:11px;font-weight:700}
.booking-page .calendar-day{min-height:48px;border:1px solid #dbe7ce;border-radius:10px;background:#edf5df;color:#285b25;font:600 15px 'DM Sans',sans-serif;cursor:pointer}
.booking-page .calendar-day:not(:disabled):hover{background:#d9ebbf;border-color:#61963f}
.booking-page .calendar-day[aria-pressed="true"]{background:#236c2e;color:#fff;border-color:#236c2e}
.booking-page .calendar-day:disabled{opacity:1;background:#f6f7f3;color:#c0c6b9;border-color:#f0f2ec;cursor:not-allowed}
.booking-page .calendar-day[aria-current="date"]{border:1px dashed #b6bea9}
.booking-page .calendar-note{font-size:11px;color:#78856d;margin:18px 0 8px}
.booking-page .calendar-selected{font-size:12px;color:#35652c;font-weight:700;margin:0}
@media(max-width:760px){.booking-page .booking-calendar{padding:14px 10px}.booking-page .calendar-weekdays,.booking-page .calendar-days{gap:4px}.booking-page .calendar-day{min-height:38px;border-radius:7px;font-size:13px}.booking-page .calendar-header h3{font-size:21px}.booking-page .calendar-header button{width:34px;height:34px}.booking-page .calendar-weekdays{font-size:10px}}
.booking-page .wizard-panel .actions{margin-top:22px}
.booking-page .payment-placeholder{margin-top:16px;border-left:3px solid #86a94d}
.booking-page .payment-placeholder p{margin:6px 0}
.booking-page .selected-package{font-weight:700;color:#3a6429}
.booking-page .booking-mascot{float:right;width:120px;height:110px;margin:-8px 0 8px 20px;pointer-events:none;background:radial-gradient(ellipse,#edf5dc 0%,#edf5dc80 45%,transparent 70%);display:grid;place-items:center}
.booking-page .booking-mascot img{display:block;width:120px;height:110px;object-fit:contain}
.booking-page .booking-mascot .mascot-still{display:none}
.booking-page .wizard-panel{position:relative;display:flow-root}
.booking-page .wizard-panel[data-step="1"] .booking-mascot{position:absolute;float:none;left:-28px;top:-8px;margin:0;width:120px;height:120px;overflow:hidden;background:none}
.booking-page .wizard-panel[data-step="1"] .booking-mascot img{width:140px;height:120px;max-width:none;transform:translateX(-20px)}
.booking-page .wizard-panel[data-step="1"]>.booking-eyebrow,.booking-page .wizard-panel[data-step="1"]>h2{margin-left:115px}
.booking-page .wizard-panel[data-step="1"]>.muted:first-of-type{padding-left:115px;min-height:46px}
.booking-page .wizard-panel[data-step="2"] .booking-mascot,.booking-page .wizard-panel[data-step="4"] .booking-mascot{position:absolute;float:none;right:-28px;top:-48px;margin:0;background:none}
.booking-page .wizard-panel[data-step="2"]>h2,.booking-page .wizard-panel[data-step="4"]>h2,.booking-page .wizard-panel[data-step="2"]>.muted:first-of-type,.booking-page .wizard-panel[data-step="4"]>.muted:first-of-type{padding-right:105px}
@media(min-width:1380px){.booking-page .wizard-panel[data-step="3"] .booking-mascot{position:absolute;float:none;left:-148px;top:150px;margin:0;width:110px;height:130px;background:none}.booking-page .wizard-panel[data-step="3"] .booking-mascot img{width:110px;height:130px}}
.booking-page .package-cards,.booking-page .selected-package,.booking-page #packageInfo,.booking-page .wizard-panel .row{clear:both}
@media(max-width:1100px){.booking-page .package-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-page .package-choice h3{min-height:0}.booking-page .wizard-progress{gap:7px}.booking-page .wizard-progress button{font-size:11px;padding:10px}}
@media(max-width:760px){.booking-page .booking-hero-content{padding:20px 24px 26px}.booking-page .booking-hero-content h1{font-size:28px}.booking-page .booking-hero-content .booking-eyebrow{font-size:8px}.booking-page .booking-intro>p{font-size:11px}.booking-page .wizard-progress{gap:5px}.booking-page .wizard-progress button{flex-direction:column;gap:6px;padding:10px 4px;text-align:center;font-size:9px;border-radius:9px}.booking-page .wizard-progress button>span{width:23px;height:23px}.booking-page .package-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-page .package-choice{padding:16px 12px 0}.booking-page .package-choice h3{font-size:16px;min-height:40px}.booking-page .package-rate{font-size:31px}.booking-page .package-select{width:calc(100% + 24px);padding:12px;font-size:10px}.booking-page .wizard-panel>h2{font-size:25px}.booking-page .wizard-panel .actions{flex-direction:column-reverse}}
@media print{.booking-page .wizard-panel[hidden]{display:block!important}.booking-page .wizard-progress,.booking-page .package-cards{display:none!important}.booking-page #bookingWizard[data-current-step="1"] .side{display:block}}
@media(max-width:760px){.booking-page .package-choice h3{min-height:60px}.booking-page .booking-mascot{width:68px;height:74px;margin:0 0 6px 10px}.booking-page .booking-mascot img{width:68px;height:74px}.booking-page .wizard-panel:has(.booking-mascot)>h2{padding-right:0}}
@media(max-width:1000px){.booking-page .wizard-panel[data-step="1"] .booking-mascot{left:-20px}}
@media(max-width:760px){.booking-page .wizard-panel[data-step="1"] .booking-mascot{left:-20px;top:-2px;width:82px;height:88px}.booking-page .wizard-panel[data-step="1"] .booking-mascot img{width:104px;height:88px;transform:translateX(-14px)}.booking-page .wizard-panel[data-step="1"]>.booking-eyebrow,.booking-page .wizard-panel[data-step="1"]>h2{margin-left:70px}.booking-page .wizard-panel[data-step="1"]>.muted:first-of-type{padding-left:0;margin-top:28px;min-height:0}.booking-page .wizard-panel[data-step="2"] .booking-mascot,.booking-page .wizard-panel[data-step="4"] .booking-mascot{right:-16px;top:-38px}.booking-page .wizard-panel[data-step="2"]>h2,.booking-page .wizard-panel[data-step="4"]>h2{padding-right:45px}.booking-page .wizard-panel[data-step="2"]>.muted:first-of-type,.booking-page .wizard-panel[data-step="4"]>.muted:first-of-type{padding-right:0}}
@media(prefers-reduced-motion:reduce){.booking-page .booking-mascot .mascot-animated{display:none}.booking-page .booking-mascot .mascot-still{display:block}}
@media print{.booking-page .booking-mascot{display:none}}
@media(prefers-reduced-motion:reduce){.booking-page .package-choice{transition:none}}
