.availability-editor{min-width:0}.availability-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.availability-toolbar label{flex:1;min-width:130px}.availability-toolbar button{min-height:44px}.availability-scroll{overscroll-behavior:contain;background:#fff;border:1px solid #c5cdd5;border-radius:5px;max-height:470px;position:relative;overflow:auto}.availability-grid{user-select:none;grid-template-columns:76px repeat(7,minmax(72px,1fr));min-width:610px;display:grid}.availability-grid.single-day{grid-template-columns:76px minmax(150px,1fr);min-width:0}.availability-grid .availability-heading{z-index:2;text-align:center;background:#f1f4f6;border-bottom:1px solid #c5cdd5;padding:12px 5px;font-size:14px;font-weight:600;position:sticky;top:0}.availability-heading:first-child{z-index:4;left:0}.availability-grid .availability-time{z-index:1;text-align:right;color:#596573;background:#fff;border-right:1px solid #dce1e6;padding:2px 5px;font-size:12px;line-height:24px;position:sticky;left:0}.availability-grid .availability-cell{cursor:crosshair;color:#fff;min-height:28px;font:inherit;touch-action:pan-x pan-y;background:#fff;border-top:0;border-bottom:1px solid #edf1f5;border-left:0;border-right:1px solid #e5ebef;border-radius:0;margin:0;padding:0;display:block;position:relative}.availability-grid .availability-cell.hour-start,.availability-time.hour-start{border-top:1px solid #c5cdd5}.availability-grid .availability-cell[aria-pressed=true]{background:#c1d2df;border-bottom-color:#b5c8d6;border-right-color:#9eb5c7}.availability-grid .availability-cell[aria-pressed=true]:after{content:"✓";opacity:.7;font-size:12px}.availability-grid .availability-cell:hover{box-shadow:inset 0 0 0 2px #416785}.availability-grid .availability-cell:focus-visible{outline-offset:-3px;z-index:1;outline:3px solid #416785}.availability-key{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.availability-swatch{background:#c1d2df;border-radius:2px;width:16px;height:16px}.availability-range{border-top:1px solid #dce1e6;border-bottom:1px solid #dce1e6;padding:12px 0}.availability-range summary{cursor:pointer;font-size:14px}.availability-range p{font-size:14px}.availability-summary-day{grid-template-columns:110px 1fr;gap:12px;padding:7px 0;font-size:14px;display:grid}.availability-override{border-top:1px solid #dce1e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.availability-editor #availability-status{font-weight:600}.availability-editor [data-error=true]{color:#9b342e!important}@media (width<=500px){.availability-toolbar label{min-width:110px}.availability-toolbar .button{flex:1}.availability-scroll{max-height:390px}.availability-summary-day{grid-template-columns:85px 1fr}}.booking-address[data-astro-cid-7y4agluq]{min-width:0}.booking-address[data-astro-cid-7y4agluq]>label[data-astro-cid-7y4agluq]{margin-bottom:6px}.address-search[data-astro-cid-7y4agluq]{position:relative}#booking-street[data-astro-cid-7y4agluq]:focus{outline-offset:1px;border-color:#677f90;outline:2px solid #6e8ca533}.suggestions-panel[data-astro-cid-7y4agluq]{z-index:30;background:#fff;border:1px solid #c6d1d9;border-radius:7px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 14px 32px #14212c26}#booking-address-suggestions[data-astro-cid-7y4agluq]{overscroll-behavior:contain;max-height:260px;margin:0;padding:5px;list-style:none;overflow-y:auto}#booking-address-suggestions[data-astro-cid-7y4agluq] .address-option{cursor:pointer;text-align:left;color:#24282c;border-radius:4px;align-items:center;gap:12px;min-height:56px;padding:10px;line-height:1.5;display:flex}#booking-address-suggestions[data-astro-cid-7y4agluq] .address-option[aria-selected=true],#booking-address-suggestions[data-astro-cid-7y4agluq] .address-option:hover{background:#edf2f6}#booking-address-suggestions[data-astro-cid-7y4agluq] .address-option+.address-option{border-top:1px solid #eef0f2}#booking-address-suggestions[data-astro-cid-7y4agluq] .suggestion-pin{color:#607586;flex-shrink:0;font-size:19px}#booking-address-suggestions[data-astro-cid-7y4agluq] .suggestion-text{overflow-wrap:anywhere;min-width:0}#booking-address-suggestions[data-astro-cid-7y4agluq] .suggestion-main{font-size:14px;font-weight:500;display:block}#booking-address-suggestions[data-astro-cid-7y4agluq] .suggestion-secondary{color:#535f68;margin-top:2px;font-size:12px;display:block}.suggestion-attribution[data-astro-cid-7y4agluq]{text-align:right;color:#5e5e5e;white-space:nowrap;letter-spacing:normal;border-top:1px solid #e7ecef;padding:9px 14px;font-size:12px;font-weight:400}#booking-workspace .booking-address[data-astro-cid-7y4agluq] p[data-astro-cid-7y4agluq]{color:#535f68;margin:8px 0 0;font-size:12px;line-height:1.6}.address-privacy[data-astro-cid-7y4agluq] a[data-astro-cid-7y4agluq]{text-underline-offset:3px;text-decoration:underline}.address-privacy[data-astro-cid-7y4agluq] span[data-astro-cid-7y4agluq]{color:#5e5e5e;white-space:nowrap;font-weight:400}#booking-address-search-status[data-astro-cid-7y4agluq].visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=650px){.suggestions-panel[data-astro-cid-7y4agluq]{min-width:min(300px,100vw - 88px)}}#booking-workspace{font-size:16px;line-height:1.65}#booking-workspace h2{font-size:22px}#booking-workspace h3{font-size:16px}#booking-workspace p{color:#414b54;margin:10px 0}#booking-workspace label{font-size:14px}#booking-workspace input,#booking-workspace select,#booking-workspace textarea{font:inherit;width:100%;color:inherit;background:#fff;border:1px solid #c5cdd5;border-radius:4px;padding:11px}#booking-workspace textarea{min-height:110px}.booking-layout{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:start;gap:36px;display:grid}.booking-calendar{background:#fff;border:1px solid #dce1e6;border-radius:6px;padding:24px;position:sticky;top:30px}.booking-form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.booking-form label{gap:6px;min-width:0;display:grid}.booking-wide{grid-column:1/-1}.booking-form .booking-check{align-items:start;gap:12px;display:flex}#booking-workspace input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:5px}.booking-price,.booking-deposit{background:#f1f4f6;border-radius:4px;padding:18px}.booking-price p:first-child{font-size:22px;font-weight:600;color:#24282c!important}.booking-deposit strong{color:#24282c}.booking-deposit li{margin:8px 0}.booking-terms summary,.booking-settings summary{cursor:pointer;font-weight:600}.booking-terms h3{margin-top:20px}.booking-settings{border:1px solid #dce1e6;border-radius:6px;margin-bottom:20px;padding:22px}.booking-settings form{margin-top:20px}.booking-days{flex-wrap:wrap;gap:10px 18px;display:flex}.booking-days label{align-items:center;gap:8px;display:flex}.booking-form fieldset{border:1px solid #dce1e6;border-radius:4px}.month-nav{justify-content:space-between;align-items:center;gap:10px;margin:24px 0 16px;display:flex}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-weekdays{color:#47515b;margin-bottom:8px;font-size:14px}.calendar-grid button{font:inherit;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px}.calendar-grid button:hover:not(:disabled){border-color:#536f85}.calendar-grid button[aria-pressed=true],.time-grid button[aria-pressed=true]{color:#fff;background:#2d3436}.calendar-grid button:disabled{opacity:1;color:#737d86;cursor:default}.time-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px;display:grid}#selected-date{margin-top:25px}.booking-history{margin-top:42px}.booking-card{overflow-wrap:anywhere;border-top:1px solid #dce1e6;padding:24px 0}.booking-card .booking-top{justify-content:space-between;align-items:start;gap:15px;display:flex}.booking-card h3{font-size:18px!important}.booking-card .badge{font-size:13px}.booking-card .form-actions{margin-top:12px}.booking-card .booking-payment{background:#f1ecdf;border-radius:4px;margin:18px 0;padding:16px}.booking-card details{margin-top:14px}.booking-card .warning{color:#8a4b25!important}#booking-workspace .error{color:#9b342e!important}.booking-dialog-form{gap:15px;font-size:14px;display:grid}.booking-dialog-form label{gap:6px;display:grid}.booking-dialog-form input,.booking-dialog-form select,.booking-dialog-form textarea{width:100%;font:inherit;border:1px solid #c5cdd5;border-radius:4px;padding:10px}.booking-dialog-form input[type=checkbox]{width:auto}.booking-dialog-form .booking-check{align-items:start;gap:10px;display:flex}.booking-dialog-form textarea{min-height:90px}.weekly-hours{gap:12px;display:grid}.weekly-day{grid-template-columns:minmax(120px,1fr) 1fr 1fr;align-items:center;gap:18px;display:grid}.weekly-day .booking-check{margin-top:24px}@media (width<=1050px){.booking-layout{grid-template-columns:1fr}.booking-calendar{width:100%;max-width:550px;position:static}}@media (width<=500px){.booking-form{grid-template-columns:1fr}.booking-wide{grid-column:auto}.booking-calendar,.booking-settings{padding:16px}.booking-card .booking-top{flex-direction:column}.booking-card .form-actions .button{width:100%}.booking-deposit{padding:14px}.calendar-grid{gap:2px}.booking-history .section-top{align-items:stretch}.weekly-day{grid-template-columns:1fr 1fr;gap:10px}.weekly-day .booking-check{grid-column:1/-1;margin-top:10px}}#new-booking{max-width:980px}.booking-steps{border-bottom:1px solid #dce1e6;gap:28px;margin:0 0 30px;padding:0;list-style:none;display:flex}.booking-steps li{flex:1;min-width:0}.booking-steps button{width:100%;font:inherit;text-align:left;color:#47515b;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:10px;min-height:52px;padding:14px 0 18px;font-size:13px;display:flex}.booking-steps button span{border:1px solid #c7d0d7;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.booking-steps button[aria-current=step]{color:#24282c;border-bottom-color:#262e33;font-weight:600}.booking-steps button[aria-current=step] span{color:#fff;background:#252d32;border-color:#252d32}.booking-steps button:disabled{opacity:1;color:#545e67;cursor:default}.booking-layout.booking-wizard{display:block}.booking-wizard .wizard-panel{margin:0}.booking-wizard .wizard-panel:focus{outline:none}.booking-wizard .booking-calendar{width:100%;max-width:none;padding:28px;position:static}.appointment-picker{grid-template-columns:1fr 1fr;gap:36px;display:grid}.booking-wizard .appointment-times{padding-top:24px}.booking-wizard #selected-date{min-height:28px;margin-top:0}.booking-wizard .time-grid{max-height:325px;padding:4px;overflow-y:auto}.booking-wizard .calendar-grid button{min-height:44px}.booking-wizard #booking-form{max-width:720px;margin:auto}.wizard-actions{justify-content:space-between;gap:16px;margin-top:28px;display:flex}.wizard-actions .primary{margin-left:auto}.wizard-actions button{min-width:120px}.booking-wizard #booking-review{grid-template-columns:1fr 1fr;gap:20px;margin:4px 0 0;display:grid}.booking-wizard #booking-review dt{color:#47515b;margin-bottom:5px;font-size:12px}.booking-wizard #booking-review dd{overflow-wrap:anywhere;margin:0;font-size:15px}.booking-wizard .booking-terms{border-top:1px solid #dce1e6;border-bottom:1px solid #dce1e6;padding:20px 0}.booking-wizard .booking-terms summary{font-size:15px}.booking-wizard .booking-price p:last-child{font-size:13px}#wizard-message:empty{display:none}#wizard-message:not(:empty){background:#f2f5f7;border-radius:4px;margin-bottom:22px;padding:12px 16px}@media (width<=650px){.booking-steps{gap:10px;margin-bottom:24px}.booking-steps button{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 0 14px;font-size:11px}.appointment-picker{grid-template-columns:1fr;gap:16px}.booking-wizard .booking-calendar{padding:18px}.booking-wizard .appointment-times{padding-top:8px}.booking-wizard .time-grid{max-height:260px}.booking-wizard #booking-review{grid-template-columns:1fr}.wizard-actions{margin-top:22px}.wizard-actions button{flex:1;min-width:0}.booking-wizard .booking-form{gap:16px}}body.booking-page,#new-booking{--glass-graphite:linear-gradient(165deg,#3a4349,#222b30 45%,#151c20);--glass-edge:#39454c;--glass-shadow:inset 0 1px 0 #ffffff24,0 3px 8px #15202b14}body.booking-page .button.primary:hover,#new-booking .button.primary:hover{box-shadow:inset 0 1px #ffffff2b,0 3px 10px #15202b20}#new-booking{max-width:920px;margin-inline:auto}.booking-wizard #booking-form{max-width:none}.booking-wizard .wizard-panel{background:#fff;border:1px solid #dce1e6;border-radius:8px;padding:28px}.booking-wizard .booking-calendar{border:0;border-radius:0;padding:0}.booking-wizard .button{border-radius:5px}.booking-wizard .button:not(.primary){color:#303b44;background:#fff;border-color:#cbd4db}.booking-wizard .button:not(.primary):hover:not(:disabled){background:#f4f7f9;border-color:#8396a4}.booking-wizard .time-grid button[aria-pressed=true],.booking-wizard .time-grid button[aria-pressed=true]:hover:not(:disabled){background:var(--glass-graphite);border-color:var(--glass-edge);color:#fff;box-shadow:inset 0 1px #ffffff20}.booking-wizard .time-grid{scrollbar-width:thin;scrollbar-color:#a1adb7 transparent;scrollbar-gutter:stable;gap:8px;max-height:312px}.booking-wizard .time-grid button{min-height:44px;padding:10px 8px}.booking-wizard .month-nav .button{min-width:44px;min-height:44px;padding:8px 12px}#show-more-times{color:#394953;background:linear-gradient(#fff,#f6f8fa);border:0;border-top:1px solid #e5e9ed;border-radius:0 0 5px 5px;place-items:center;width:100%;height:32px;margin-top:4px;display:grid}#show-more-times:hover:not(:disabled){background:#edf2f5}#show-more-times:disabled{opacity:.35;cursor:default}.contact-fields,.address-fields,.location-fields{gap:18px;min-width:0;display:grid}.contact-fields{grid-template-columns:1fr 1.2fr 1fr}.contact-fields.client-contact{grid-template-columns:1fr 1fr}.address-fields{grid-template-columns:3fr 1fr;align-items:start}.location-fields{grid-template-columns:1.4fr 1.1fr 1fr 1fr}.property-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;display:flex}#booking-workspace .property-section-heading p{margin:0;font-size:13px}#booking-step-2 textarea{min-height:86px}.booking-wizard .wizard-actions{margin-top:14px}.booking-wizard #booking-step-1>.wizard-actions{margin-top:28px}.booking-wizard .error:empty{display:none}@media (width<=650px){.booking-wizard .wizard-panel{padding:18px}.contact-fields,.contact-fields.client-contact{grid-template-columns:1fr}.address-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.location-fields{grid-template-columns:1fr 1fr}.property-section-heading{gap:8px}.booking-wizard .time-grid{max-height:208px}.contact-fields,.address-fields,.location-fields{gap:16px}}
