/* Prefusion native booking card, 30 Sep 2026. Root class .pfbk (the site already uses .bk for bento eyebrows). */
.pfbk{width:100%;max-width:460px;margin:28px auto 0;text-align:left;background:#fff;color:#0A1219;border-radius:20px;padding:22px 22px 18px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(0,159,223,.25);font-family:'Sora',system-ui,sans-serif;font-size:14px;line-height:1.45;position:relative}
.pfbk *{box-sizing:border-box}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bk-head b{display:block;font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.bk-head span{display:block;color:#5A6B77;font-size:12.5px;font-weight:500;margin-top:3px}
.bk-price{font-weight:800;font-size:22px;white-space:nowrap}
.bk-steps{display:flex;gap:5px;margin:14px 0 4px}.bk-steps i{flex:1;height:3px;border-radius:3px;background:#DDE5EA}.bk-steps i.on{background:#009FDF}
.bk-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5A6B77;margin:14px 0 7px}
.bk-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bk-loc{border:1px solid #DDE5EA;background:#fff;border-radius:10px;padding:8px 4px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;color:#0A1219}
.bk-loc.on{background:#0A1219;color:#fff;border-color:#0A1219}
.bk-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.bk-days::-webkit-scrollbar{display:none}
.bk-day{flex:0 0 auto;width:54px;border:1px solid #DDE5EA;background:#fff;border-radius:10px;padding:6px 0;text-align:center;cursor:pointer;font:inherit;color:#0A1219}
.bk-day em{display:block;font-style:normal;font-size:10px;font-weight:700;color:#5A6B77;text-transform:uppercase}.bk-day strong{font-size:16px;font-weight:800}
.bk-day.on{background:#0A1219;color:#fff;border-color:#0A1219}.bk-day.on em{color:#009FDF}
.bk-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:132px;overflow-y:auto}
.bk-t{border:1px solid #DDE5EA;background:#fff;border-radius:9px;padding:8px 0;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;color:#0A1219}
.bk-t.on{background:#009FDF;border-color:#009FDF}
.bk-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:12px;background:#009FDF;color:#0A1219;font:inherit;font-weight:800;font-size:15px;padding:14px;margin-top:14px;cursor:pointer;transition:transform .15s,opacity .15s}
.bk-btn:hover{transform:translateY(-1px)}.bk-btn[disabled]{opacity:.4;cursor:default;transform:none}
.bk-note{color:#5A6B77;font-size:12px;margin:8px 0 0;text-align:center}
.bk-empty{color:#5A6B77;font-size:13px;padding:6px 0}
.pfbk label{display:block;font-size:11.5px;font-weight:700;margin-top:10px;color:#0A1219}
.pfbk input{display:block;width:100%;font:inherit;font-size:16px;font-weight:500;padding:10px 12px;border:1px solid #DDE5EA;border-radius:10px;margin-top:5px;background:#fff;color:#0A1219}
.pfbk input:focus{outline:2px solid #009FDF;outline-offset:0;border-color:#009FDF}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bk-row3{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8px}
.bk-back{background:none;border:0;font:inherit;font-weight:700;font-size:13px;color:#0A1219;padding:10px 0 2px;cursor:pointer;text-align:left}
.bk-err{color:#b3261e;font-weight:600;font-size:13px;margin-top:8px}.bk-err:empty{display:none}
.bk-done{display:flex;gap:12px;align-items:flex-start;background:#F2F7FA;border-radius:12px;padding:12px;margin-top:12px}
.bk-done b{display:block;font-size:15px}.bk-done span{display:block;color:#5A6B77;font-size:12.5px}
.bk-ok{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#009FDF;display:flex;align-items:center;justify-content:center}.bk-ok svg{display:block;margin:0;position:static}
.bk-pay{margin-top:14px;border-top:1px solid #DDE5EA;padding-top:12px}
.bk-payhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.bk-payhead b{font-size:15px}
.bk-amt s{color:#93A7B4;font-size:13px}.bk-amt strong{font-size:18px}
.bk-pay .bk-note{text-align:left;margin-top:2px}
.bk-code-t{background:none;border:0;padding:0;margin-top:10px;font:inherit;font-size:12.5px;font-weight:700;color:#0177A8;text-decoration:underline;cursor:pointer}
.bk-code{display:flex;gap:6px;margin-top:8px}.bk-code input{margin:0;text-transform:uppercase}.bk-code button{border:0;border-radius:10px;background:#0A1219;color:#fff;font:inherit;font-weight:700;padding:0 14px;cursor:pointer}
.bk-codemsg{font-size:12.5px;font-weight:600;margin-top:6px}.bk-codemsg:empty{display:none}.bk-codemsg.ok{color:#0177A8}.bk-codemsg.no{color:#b3261e}
.bk-later{display:block;width:100%;background:none;border:1px solid #DDE5EA;border-radius:12px;font:inherit;font-weight:700;padding:11px;margin-top:8px;cursor:pointer;color:#0A1219}
.bk-after p{margin:10px 0 0;font-size:13px;color:#0A1219}.bk-after a{color:#0177A8;font-weight:700}
.bk-trust{margin-top:14px;border-top:1px solid #DDE5EA;padding-top:12px;text-align:center}
.bk-cards{display:flex;justify-content:center;gap:6px}.bk-cards svg{width:40px;height:25px;border-radius:4px;box-shadow:0 0 0 1px #DDE5EA}
.bk-secure{display:flex;align-items:center;justify-content:center;gap:5px;color:#5A6B77;font-size:11.5px;font-weight:600;margin-top:8px}
.bk-mini{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;font-size:11px;font-weight:600;color:#5A6B77;margin-top:6px}
.bk-hide{display:none!important}
@media(max-width:420px){.pfbk{padding:18px 16px 14px;border-radius:16px}.bk-times{grid-template-columns:repeat(3,1fr)}}
.pf-book{padding-bottom:72px}.pf-book h2{margin-bottom:10px}
.pf-call{margin-top:22px;color:#93A7B4;font-size:14px}.pf-call a{color:#fff;font-weight:700}
.bk-skel{height:120px;border-radius:12px;background:linear-gradient(90deg,#F2F7FA,#E7EFF4,#F2F7FA);background-size:200% 100%;animation:bkskel 1.2s infinite}
@keyframes bkskel{to{background-position:-200% 0}}
.pf-book .commerce{margin-top:28px;text-align:left}
@media(max-width:560px){.pf-book{padding-left:14px;padding-right:14px}}
/* fallback: the original Mindbody cards shown inside the dark booking band */
.pf-book .commerce .ccard,.pf-book .commerce .ccard h3{color:#0A1219}
.pf-book .commerce .ck-sub,.pf-book .commerce .ck-note{color:#5A6B77}
.pf-book .commerce .ck-tag{color:#0A1219}
.pf-book .pfbk p.bk-note{font-size:12px;line-height:1.45;color:#5A6B77;max-width:none;margin:8px 0 0}
.pf-book .pfbk .bk-pay p.bk-note{text-align:left;margin-top:2px}
.pf-book .pfbk .bk-after p{font-size:13px;color:#0A1219;max-width:none}
.pf-book .commerce p{color:#5A6B77}
/* service chooser (multi-service pages and /book) */
.pfbk .bk-svcs{display:flex;flex-direction:column;gap:8px}
.pfbk .bk-svc{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #DDE5EA;background:#fff;border-radius:12px;padding:12px 14px;font:inherit;color:#0A1219;cursor:pointer;transition:border-color .15s,background .15s}
.pfbk .bk-svc:hover{border-color:#009FDF;background:#F7FBFD}
.pfbk .bk-svc b{display:block;font-size:15px;font-weight:800;line-height:1.25}
.pfbk .bk-svc em{display:block;font-style:normal;font-size:12px;color:#5A6B77;font-weight:500;margin-top:2px}
.pfbk .bk-svc strong{font-size:15px;font-weight:800;white-space:nowrap}
/* Book Now page: booker sits right under the fixed nav */
.pf-book-page{padding-top:150px}.pf-book-page h1{font-size:clamp(34px,5vw,54px);line-height:1.05;margin:0 0 10px;color:#fff}
.pf-book-page .pf-alt{margin-top:10px;color:#93A7B4;font-size:14px}.pf-book-page .pf-alt a{color:#fff;font-weight:700;text-decoration:underline}
@media(max-width:560px){.pf-book-page{padding-top:118px}}
.c-bookcard{background:#0A1219;color:#fff;border-radius:20px;padding:30px}.c-bookcard h2{color:#fff}.c-bookcard p{color:#C9D6DE}
.c-bookcard .eyebrow{color:#7CCBEF}.c-bookcard .btn{margin-top:14px}

/* DexaFit: the booker sits on a light section, so a softer shadow */
#commerce .pfbk{box-shadow:0 18px 50px rgba(6,52,75,.14),0 0 0 1px #DDE5EA;margin-top:8px}
