:root{--bfm-purple:#432760;--bfm-purple-dark:#2d173f;--bfm-coral:#b5473e;--bfm-coral-dark:#963a34;--bfm-coral-soft:#f7e9e6;--bfm-ink:#1e1723;--bfm-muted:#62596a;--bfm-line:#d9d2df;--bfm-soft:#f7f3fa;--bfm-success:#1d6a4f;--bfm-error:#9b2f36}
.bfm-testing-notice{position:relative;z-index:10001;padding:.7rem 1rem;text-align:center;background:#fff1b8;color:#24143d;border-bottom:2px solid #e6b91e;font:600 .92rem/1.4 system-ui,sans-serif}.bfm-testing-notice a{color:#24143d;text-decoration:underline;text-underline-offset:2px}
.bfm-adaptive{display:grid;gap:.65rem;margin:1.15rem 0}.bfm-clinic-status{margin:0;color:inherit;font-weight:800}.bfm-clinic-status::before{content:"";display:inline-block;width:.62rem;height:.62rem;margin-right:.5rem;border-radius:50%;background:#29a36a}.bfm-adaptive[data-open-state="closed"] .bfm-clinic-status::before{background:#c68224}.bfm-contact-actions{display:flex;flex-wrap:wrap;gap:.7rem}.bfm-contact-button,.bfm-submit{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:.75rem 1.2rem;border:2px solid var(--bfm-purple);border-radius:999px;background:var(--bfm-purple);color:#fff;text-decoration:none;font:inherit;font-weight:850;cursor:pointer}.bfm-contact-button:hover,.bfm-submit:hover{background:var(--bfm-purple-dark)}.bfm-contact-button.bfm-schedule{background:var(--bfm-coral);border-color:var(--bfm-coral);color:#fff}.bfm-contact-button.bfm-call{background:var(--bfm-coral);border-color:var(--bfm-coral);color:#fff}.bfm-contact-button.bfm-call:hover{background:var(--bfm-coral-dark);border-color:var(--bfm-coral-dark)}.bfm-nobr{white-space:nowrap}.bfm-contact-button.bfm-schedule:hover{background:var(--bfm-coral-dark);border-color:var(--bfm-coral-dark)}.bfm-contact-help{margin:0;color:inherit;font-size:.9rem}.bfm-adaptive-compact{margin:.9rem 0}.bfm-adaptive-compact .bfm-contact-actions>*{flex:1 1 12rem}
.bfm-scheduler{color:var(--bfm-ink)}.bfm-scheduler [hidden]{display:none!important}.bfm-scheduler h3,.bfm-scheduler h4{margin:.25rem 0 .65rem;color:var(--bfm-ink)}.bfm-scheduler p{max-width:66ch}.bfm-eyebrow{margin:0;color:var(--bfm-purple);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.bfm-purpose{padding:.8rem 1rem;border-left:4px solid var(--bfm-coral);background:var(--bfm-coral-soft);color:var(--bfm-muted);font-size:.9rem}
.bfm-closed-copy{margin:1rem 0;padding:1rem 1.2rem;border-radius:0 12px 12px 0;border-left:4px solid var(--bfm-coral);background:var(--bfm-coral-soft);color:var(--bfm-ink)}
.bfm-closed-copy p{margin:.35rem 0;max-width:66ch}
.bfm-ask{margin:1.5rem 0;padding:1.1rem 1.2rem;border:1px solid var(--bfm-line);border-radius:14px;background:var(--bfm-soft);color:var(--bfm-ink)}
.bfm-ask p{margin:.3rem 0;max-width:66ch}
.bfm-ask-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.8rem}
.bfm-ask-button{background:#fff!important;color:var(--bfm-purple)!important;border-color:var(--bfm-purple)!important}
.bfm-ask-button:hover{background:#f0e9f5!important}
.bfm-ask-button[hidden]{display:none!important}
.bfm-optional{font-weight:500;color:var(--bfm-muted)}.bfm-scheduler-loading,.bfm-empty{padding:1rem;border:1px solid var(--bfm-line);border-radius:12px;background:var(--bfm-soft)}.bfm-slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.bfm-slot{min-height:66px;padding:.75rem 1rem;border:1px solid #aaa0b3;border-radius:12px;background:#fff;color:var(--bfm-ink);text-align:left;cursor:pointer}.bfm-slot span,.bfm-slot strong{display:block}.bfm-slot span{font-size:.78rem;color:var(--bfm-muted)}.bfm-slot strong{margin-top:.15rem;font-size:1rem}.bfm-slot:hover,.bfm-slot:focus-visible,.bfm-slot[aria-pressed="true"]{border-color:var(--bfm-purple);background:#f0e9f5;box-shadow:inset 0 0 0 1px var(--bfm-purple)}.bfm-text-button{min-height:44px;padding:.45rem .2rem;border:0;background:transparent;color:var(--bfm-purple);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.bfm-selected{margin:1rem 0;padding:1rem;border-radius:12px;background:#ece6f2}.bfm-selected p{margin:0}.bfm-callback-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem;padding:1rem 0}.bfm-callback-form label{display:grid;gap:.35rem;font-size:.88rem;font-weight:800}.bfm-callback-form input[type="text"],.bfm-callback-form input[type="tel"],.bfm-callback-form input[type="email"],.bfm-callback-form input:not([type]),.bfm-callback-form textarea{width:100%;min-height:48px;padding:.7rem .8rem;border:1px solid #988fa0;border-radius:9px;background:#fff;color:var(--bfm-ink);font:inherit}
.bfm-callback-form textarea{min-height:96px;resize:vertical}
.bfm-callback-form label:has(textarea){grid-column:1/-1}.bfm-callback-form .bfm-consent,.bfm-privacy,.bfm-form-status,.bfm-submit{grid-column:1/-1}.bfm-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.65rem!important;font-weight:500!important}.bfm-consent input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.15rem}.bfm-privacy{margin:0;color:var(--bfm-muted);font-size:.82rem}.bfm-form-status{min-height:1.4rem;margin:0;color:var(--bfm-success);font-weight:800}.bfm-form-status.is-error{color:var(--bfm-error)}.bfm-submit:disabled{opacity:.55;cursor:wait}.bfm-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bfm-success{padding:1rem;border:1px solid #9bc9b8;border-radius:14px;background:#edf8f3}.bfm-reference{font-size:.88rem}
.callback>[data-scheduler-host]{padding:clamp(1.1rem,3vw,2rem);border-radius:18px;background:#fff;color:var(--bfm-ink);box-shadow:0 22px 65px rgba(5,30,25,.25)}
.bfm-scheduler-modal{position:fixed;inset:0;z-index:1001;display:none;align-items:flex-start;justify-content:center;padding:1rem;overflow:auto}.bfm-scheduler-modal.is-open{display:flex}.bfm-modal-backdrop{position:fixed;inset:0;background:rgba(20,11,29,.78)}.bfm-modal-panel{position:relative;width:min(720px,100%);margin:auto;padding:clamp(1.2rem,4vw,2rem);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.34)}.bfm-modal-close{position:absolute;top:.75rem;right:.75rem;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:#f0ebf3;color:var(--bfm-purple);font-size:1.65rem;cursor:pointer}.bfm-modal-panel>h2{padding-right:3rem}.bfm-call-alternative{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bfm-line)}.bfm-call-alternative p{margin:.2rem 0}.bfm-call-alternative a{font-size:1.2rem;font-weight:850}.bfm-call-alternative button{margin-left:.75rem;border:0;background:transparent;color:var(--bfm-purple);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.bfm-modal-open{overflow:hidden}
.bfm-mobile-contact{display:none}.bfm-mobile-contact .bfm-adaptive{margin:0}.bfm-mobile-contact .bfm-clinic-status{display:none}.bfm-mobile-contact .bfm-contact-actions{flex-wrap:nowrap}.bfm-mobile-contact .bfm-contact-button{min-height:48px;padding:.6rem .75rem;font-size:.83rem}
/* Desktop sticky contact bar: same element as the mobile bar, same open/closed
   swap logic, shown on wider viewports. The bar is created once by JS. */
@media(min-width:761px){.bfm-mobile-contact{position:fixed;right:0;bottom:0;left:0;z-index:900;display:block;padding:.6rem 1rem;background:#fff;box-shadow:0 -8px 28px rgba(24,13,31,.18)}.bfm-mobile-contact .bfm-adaptive{max-width:760px;margin:0 auto}.bfm-mobile-contact .bfm-contact-actions{justify-content:center}.bfm-mobile-contact .bfm-contact-button{flex:0 0 auto;width:16rem;max-width:100%}body{padding-bottom:78px}}
.bfm-inline-contact{margin:1.25rem 0}.bfm-book-scheduler{max-width:760px}.bfm-book-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}.bfm-contact-card{padding:1.25rem;border:1px solid var(--bfm-line);border-radius:16px;background:#fff}.bfm-contact-card address{font-style:normal}.bfm-noscript{margin:1rem 0;padding:1rem;border:2px solid var(--bfm-purple);border-radius:12px}.bfm-noscript form{display:grid;gap:.75rem}.bfm-noscript label{display:grid;gap:.3rem}.bfm-noscript input{min-height:46px;padding:.6rem;border:1px solid #888;border-radius:7px}.bfm-noscript .bfm-consent{display:flex!important}.bfm-noscript button{min-height:48px}
.bfm-contact-button:focus-visible,.bfm-submit:focus-visible,.bfm-slot:focus-visible,.bfm-text-button:focus-visible,.bfm-modal-close:focus-visible,.bfm-call-alternative a:focus-visible,.bfm-call-alternative button:focus-visible,.bfm-callback-form input:focus-visible,.bfm-callback-form textarea:focus-visible{outline:3px solid var(--bfm-coral);outline-offset:3px}
@media(max-width:760px){.bfm-book-grid{grid-template-columns:1fr}.bfm-slot-list,.bfm-callback-form{grid-template-columns:1fr}.bfm-callback-form .bfm-consent,.bfm-privacy,.bfm-form-status,.bfm-submit{grid-column:auto}.bfm-modal-panel{border-radius:18px}.bfm-mobile-contact{position:fixed;right:0;bottom:0;left:0;z-index:900;display:block;padding:.55rem;background:#fff;box-shadow:0 -8px 28px rgba(24,13,31,.18)}body{padding-bottom:68px}.bfm-mobile-contact .bfm-contact-button{flex:1 1 50%;font-size:.82rem;padding:.75rem .6rem}}
@media(max-width:430px){.bfm-contact-actions>*{width:100%}.bfm-mobile-contact .bfm-contact-actions>*{width:auto}.bfm-modal-panel{padding:1rem}.bfm-scheduler-modal{padding:.45rem}.bfm-slot{min-height:58px}.bfm-call-alternative button{display:block;margin:.55rem 0 0}}
@media(prefers-reduced-motion:reduce){.bfm-scheduler-modal{scroll-behavior:auto}}
.bfm-quiz-wrap{display:inline-flex;flex-direction:column;align-items:stretch;gap:.3rem}.bfm-call-wrap{display:inline-flex;flex-direction:column;align-items:stretch;gap:.3rem}
.bfm-quiz-sub{font-size:.82rem;font-weight:600;text-align:center;color:inherit;opacity:.85;line-height:1.3}.bfm-call-sub{font-size:.82rem;font-weight:600;text-align:center;color:inherit;opacity:.85;line-height:1.3}
.bfm-adaptive-compact .bfm-quiz-sub{display:none}.bfm-adaptive-compact .bfm-call-sub{display:none}
.bfm-mobile-contact .bfm-quiz-wrap{flex:1 1 50%}
.bfm-quiz-short{display:none}
@media(max-width:760px){.bfm-quiz .bfm-quiz-long{display:none}.bfm-quiz .bfm-quiz-short{display:inline}}
