/* Namespaced styles: no changes to existing site buttons or sections */
.appointment-overlay[hidden]{display:none!important}
.appointment-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,29,55,.68);overflow-y:auto}
.appointment-dialog{position:relative;width:min(100%,570px);max-height:calc(100vh - 40px);overflow-y:auto;padding:34px;background:#fff;color:#102d53;border-radius:16px;box-shadow:0 24px 75px rgba(0,21,55,.22);font-family:inherit}
.appointment-dialog *{box-sizing:border-box}
.appointment-close{position:absolute;top:12px;right:15px;border:0;background:transparent;color:#5e7894;font-size:32px;line-height:1;cursor:pointer}
.appointment-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;color:#0870df;margin-bottom:9px}
.appointment-dialog h2{margin:0 25px 10px 0;font-size:clamp(25px,3vw,32px);line-height:1.2;color:#102d53}
.appointment-intro{margin:0 0 22px;color:#58708e;font-size:14px;line-height:1.5}
.appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.appointment-fields label{display:block;color:#1a3d65;font-size:13px;font-weight:700}
.appointment-fields label>span{color:#d34e52}
.appointment-fields .appointment-wide{grid-column:1/-1}
.appointment-fields input,.appointment-fields textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d5e3f2;border-radius:8px;background:#fff;color:#102d53;font:inherit;font-size:14px;outline-offset:2px}
.appointment-fields textarea{resize:vertical;min-height:75px}
.appointment-fields input:focus,.appointment-fields textarea:focus{border-color:#0870df;outline:2px solid #0870df22}
.appointment-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0 12px;color:#58708e;font-size:12px;line-height:1.5;cursor:pointer}
.appointment-consent input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:#0870df}
.appointment-consent a{color:#086bd6;text-decoration:underline}
.appointment-consent strong{font-weight:600}
.appointment-hp{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}
.appointment-submit{display:block;width:100%;min-height:48px;padding:12px 18px;border:0;border-radius:8px;background:#086bd6;color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.appointment-submit:hover{background:#0056b3}
.appointment-submit:disabled{opacity:.65;cursor:wait}
.appointment-status{margin:0 0 10px;font-size:13px;line-height:1.5}
.appointment-status:empty{display:none}
.appointment-status[data-state="error"]{color:#a32032}
.appointment-status[data-state="success"]{color:#126341}
.appointment-note{margin:10px 0 0;font-size:11px;line-height:1.5;color:#71869f}
body.appointment-is-open{overflow:hidden}
@media(max-width:540px){.appointment-overlay{padding:10px}.appointment-dialog{padding:26px 19px;max-height:calc(100vh - 20px)}.appointment-fields{grid-template-columns:1fr}}
