[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-section{background:#f5f6f8;scroll-margin-top:110px}.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.booking-intro>p:not(.eyebrow){margin-top:24px;font-size:14px;line-height:1.85}.booking-intro .booking-schedule{border-block:1px solid var(--line);padding-block:20px;color:var(--navy);font-weight:550}.booking-apartment a{font-weight:600;text-underline-offset:3px}.booking-form,.booking-success{background:#fff;padding:32px;border:1px solid var(--line);border-radius:6px;min-width:0}.booking-form fieldset{border:0;padding:0;margin:0;min-width:0}.required-note{font-size:12px;margin-bottom:24px}.booking-form label{display:block;font-size:12px;font-weight:600;margin:17px 0 8px}.booking-form input,.booking-form select{width:100%;min-height:49px;border:1px solid #a7a9bf;border-radius:3px;padding:11px 12px;background:#fff;color:var(--ink);font-size:16px}.booking-form input:focus,.booking-form select:focus{outline:2px solid #008874;outline-offset:2px}.booking-form input:user-invalid{border-color:#b42318}.booking-form input::placeholder{font-size:12px}.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form small{font-size:10px;color:var(--muted)}.booking-map-details{border:1px solid var(--line);border-radius:4px;margin-top:24px;padding:16px}.booking-map-details summary{cursor:pointer;font-size:13px;font-weight:600}.booking-map-details p{font-size:11px;line-height:1.8;margin-top:12px}.map-action{background:#fff;color:var(--navy);border:1px solid #a7a9bf;padding:10px 12px;border-radius:3px;min-height:44px;cursor:pointer;font-size:11px;line-height:1.5}.map-action:hover{background:#e9fbf7}.map-action:disabled{opacity:.45;cursor:not-allowed}#use-location{margin-top:16px;width:100%}#booking-map{height:300px;width:100%;margin-top:14px;background:#e9edf0;z-index:0}.map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}#confirm-location{background:var(--mint);border-color:var(--mint)}.map-pin{border:3px solid #fff;border-radius:50%;background:#030462;width:22px!important;height:22px!important;box-shadow:0 1px 8px #0008}.booking-times{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.booking-times h3{font-size:22px}.booking-times>p{font-size:11px;margin-top:12px}.booking-times #slot-options{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.booking-times legend{font-size:12px;font-weight:600;margin-bottom:10px}.booking-times #slot-options>p{font-size:12px}.booking-times label.slot-choice{position:relative;margin:0;display:block;cursor:pointer}.slot-choice input{position:absolute;width:1px!important;height:1px;min-height:0;opacity:0}.slot-choice span{display:block;border:1px solid #b2b4c7;border-radius:3px;padding:10px 14px;font-size:13px;min-height:44px}.slot-choice input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.slot-choice input:focus-visible+span{outline:3px solid #008874;outline-offset:3px}.booking-times .selected-slot{background:#eafaf5;padding:12px;border-radius:3px;color:var(--navy);font-weight:550}.booking-privacy{font-size:10px;margin-top:26px}.booking-form #booking-submit{width:100%;margin-top:18px;justify-content:space-between;font-size:12px}.booking-form #booking-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}#booking-status{font-size:12px;margin-top:16px;overflow-wrap:anywhere}#booking-status:not(:empty){padding:14px;background:#fff1e8}.booking-fallback{font-size:11px;margin-top:18px}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-success h3{font-size:30px}.booking-success p{font-size:14px;margin-top:20px}.success-symbol{display:inline-flex;background:var(--mint);border-radius:50%;width:54px;height:54px;align-items:center;justify-content:center;font-size:28px;margin-bottom:24px}.whatsapp-card{order:0}.booking-card{order:1}.button-primary{background:var(--mint)!important;color:var(--navy)!important;border-color:var(--mint)!important}.booking-form [disabled]{cursor:not-allowed}.leaflet-container a{color:#174e80}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr;gap:28px}.booking-intro h2 br{display:none}.booking-intro{max-width:650px}}
@media(max-width:760px){.booking-section{scroll-margin-top:84px}.booking-form,.booking-success{padding:24px 18px}.booking-row{grid-template-columns:1fr;gap:0}.booking-intro>p:not(.eyebrow){font-size:13px}.booking-map-details{padding:12px}#booking-map{height:270px}.booking-form input::placeholder{font-size:11px}.map-actions .map-action{flex:1 1 120px}.booking-form #booking-submit{font-size:11px}.booking-success h3{font-size:27px}}

/* Keep form helper text legible on mobile. */
.booking-form label,.booking-map-details summary{font-size:14px}.booking-form small,.booking-privacy,.booking-fallback,.booking-times>p,.booking-map-details p{font-size:13px}.map-action{font-size:13px}.required-note{font-size:14px}.booking-form #booking-submit{font-size:13px}
@media(max-width:760px){.mobile-cta{grid-template-columns:1fr}.mobile-cta .button{font-size:12px;justify-content:space-between;padding-inline:20px}.header-actions .compact{font-size:11px}.cta-pair .button{font-size:12px}}
