/* V180 Appointment Modal - global on-page booking */
.am-appointment-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(10,20,35,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.am-appointment-modal.is-open{display:flex}
.am-appointment-dialog{position:relative;width:min(820px,100%);max-height:min(92vh,900px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 24px 90px rgba(0,0,0,.30);padding:30px 34px 28px}.am-appointment-brand{display:flex;align-items:center;gap:18px;margin:0 58px 18px 0}.am-appointment-brand img{display:block;width:auto;height:68px;max-width:210px;object-fit:contain}.am-appointment-brand-divider{width:1px;height:58px;background:#d9dee7}.am-appointment-brand-copy{display:none}.am-appointment-close{position:absolute;top:14px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:#f2f4f7;color:#253044;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}
.am-appointment-close:hover{background:#e8ebf0}
.am-appointment-kicker{margin:0 48px 6px 0;font-size:12px;letter-spacing:.12em;font-weight:800;color:#7a5a28}
.am-appointment-dialog h2{margin:0 48px 8px 0;font-size:31px;line-height:1.15;color:#132b50}
.am-appointment-intro{margin:0 0 20px;color:#5d6675;line-height:1.55}
.am-appointment-context{display:inline-block;margin:0 0 18px;padding:7px 11px;border-radius:999px;background:#f5f1e8;color:#62491f;font-size:13px;font-weight:700}
.am-appointment-form{display:grid;gap:15px}
.am-appointment-form .am-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.am-appointment-form label{display:grid;gap:7px;font-size:14px;font-weight:700;color:#283246}
.am-appointment-form input,.am-appointment-form select,.am-appointment-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9dee7;border-radius:11px;background:#fff;padding:12px 13px;font:inherit;font-weight:400;color:#172033;outline:none}
.am-appointment-form input:focus,.am-appointment-form select:focus,.am-appointment-form textarea:focus{border-color:#9b7b42;box-shadow:0 0 0 3px rgba(155,123,66,.13)}
.am-appointment-form textarea{resize:vertical;min-height:96px}
.am-appointment-submit{width:100%;border:0;cursor:pointer}
.am-appointment-note{margin:0;color:#6b7280;font-size:12px;line-height:1.5}
.am-appointment-status{display:none;margin-top:4px;padding:10px 12px;border-radius:10px;background:#f5f8f5;color:#2d5b38;font-size:13px}
.am-appointment-status.is-visible{display:block}
body.am-modal-open{overflow:hidden}
@media (max-width:640px){.am-appointment-modal{padding:10px}.am-appointment-dialog{padding:23px 18px;border-radius:18px;max-height:94vh}.am-appointment-dialog h2{font-size:25px}.am-appointment-form .am-form-row{grid-template-columns:1fr;gap:15px}.am-appointment-close{top:10px;right:10px}}

