.archive-page .crm-booking-form{display:grid;gap:20px;box-sizing:border-box;width:100%;max-width:600px;margin:0 0 24px;padding:32px;text-align:left;background:#fff;color:#2e2d2d;border:1px solid #f0dfe5;border-radius:20px;box-shadow:0 12px 36px #64152c1a}
.archive-page .crm-booking-form label{display:grid;gap:8px;font:600 14px/1.6 "Open Sans",Arial,sans-serif;color:#2e2d2d!important}
.crm-booking-form input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;padding:13px 15px;border:1px solid #b9adb2;border-radius:8px;background:#fff;color:#222;font:16px/1.5 "Open Sans",Arial,sans-serif}
.crm-booking-form input:focus-visible{outline:2px solid #d62e51;outline-offset:2px}
.archive-page .crm-booking-form .crm-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;color:#51454a!important}
.archive-page .crm-booking-form .crm-consent span{color:#51454a!important}
.crm-booking-form .crm-consent input{flex-shrink:0;margin-top:5px;accent-color:#d62e51}
.crm-booking-form .crm-consent a{display:inline;margin:0;text-decoration:underline;color:inherit}
.crm-booking-form .crm-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.archive-page .crm-booking-form button.button{display:flex;justify-content:center;align-items:center;justify-self:stretch;width:100%;min-height:54px;padding:15px 20px;margin:0;border:1px solid #bd2345!important;border-radius:10px;background:#bd2345!important;color:#fff!important;font:600 16px/1.5 "Open Sans",Arial,sans-serif;cursor:pointer;text-decoration:none;box-shadow:0 4px 12px #bd234526}
.archive-page .crm-booking-form button.button:hover{background:#9e1937!important;border-color:#9e1937!important;color:#fff!important;transform:none}
.archive-page .crm-booking-form button.button:focus-visible{outline:3px solid #8322b1;outline-offset:4px}
.crm-booking-form button:disabled{opacity:.6;cursor:wait}
.archive-page .crm-booking-form [role=status]{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere;color:#2e2d2d!important}
.crm-booking-form [role=status]:empty{display:none}
.archive-page .crm-booking-form input::placeholder{color:#746970;opacity:1}
@media(max-width:600px){.archive-page .crm-booking-form{padding:22px 18px;gap:18px;border-radius:16px}.archive-page .crm-booking-form button.button{font-size:15px}}
html.booking-popup-open{overflow:hidden}
.booking-modal{box-sizing:border-box;width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 32px);padding:36px;border:1px solid #f0dfe5;border-radius:22px;background:#fff;color:#2e2d2d;box-shadow:0 24px 90px #29101840;overflow-y:auto;overscroll-behavior:contain}
.booking-modal::backdrop{background:#271821a6;backdrop-filter:blur(4px)}
.booking-modal-heading{padding-right:26px}
.booking-modal-heading h2{font:600 28px/1.25 "Open Sans",Arial,sans-serif;margin:0 0 12px;letter-spacing:-.5px;color:#2e2d2d}
.booking-modal-heading p{font:14px/1.65 "Open Sans",Arial,sans-serif;color:#685a61;margin:0 0 24px}
.booking-modal-close{position:absolute;right:14px;top:14px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#faf2f5;color:#6d3d4b;font:28px/1 Arial,sans-serif;cursor:pointer}
.booking-modal-close:hover{background:#f5e2e9;color:#9e1937}
.booking-modal .crm-booking-form{max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
@media(max-width:600px){.booking-modal{padding:30px 22px 24px;border-radius:18px}.booking-modal-heading h2{font-size:24px}.booking-modal .crm-booking-form{padding:0}}
