/* Unified booking, guest checkout and photographic discovery additions */
.sba-flow-choice-bar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 18px}
.sba-flow-choice-bar label,.sba-flow-visit-fields label{display:grid;gap:6px;font-size:11px;font-weight:600;color:#62445a}
.sba-flow-choice-bar select,.sba-flow-visit-fields input,.sba-flow-visit-fields select,.sba-unified-checkout input,.sba-unified-checkout textarea,.sba-unified-checkout select{width:100%;border:1px solid #eadce6;border-radius:8px;padding:11px;color:#38192f;background:white;font:12px Poppins,sans-serif}
.sba-flow-person-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 23px}
.sba-flow-person-tabs button{border:1px solid #dfc5d6;background:#fff;color:#6b3656;border-radius:30px;padding:9px 14px;cursor:pointer;font:600 11px Poppins,sans-serif}
.sba-flow-person-tabs button[aria-pressed=true]{background:#820967;color:#fff}
.sba-flow-session-count{display:inline-flex;align-items:center;gap:8px;margin-top:9px;font-size:11px;color:#663b59}
.sba-flow-session-count input{width:64px;border:1px solid #dfc5d6;border-radius:6px;padding:6px;font:inherit}
.sba-flow-text-link{background:none;border:0;color:#820967;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:600 11px Poppins,sans-serif}
.sba-flow-suggestion{font:12px Poppins,sans-serif;color:#765469}.sba-flow-suggestion button{border:0;background:none;color:#820967;text-decoration:underline;font:600 12px Poppins,sans-serif;cursor:pointer}
.sba-flow-visit{background:#fff;border:1px solid #eadce6;border-radius:12px;padding:16px;margin:11px 0}.sba-flow-visit>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.sba-flow-visit b{font-size:12px}.sba-flow-visit span{font-size:11px;color:#8d7083}.sba-flow-visit-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:13px}.sba-flow-visit-fields button{min-height:40px}
.sba-detail-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:rgba(37,12,31,.66);padding:15px;overflow-y:auto}.sba-detail-panel{background:#fff;position:relative;width:min(570px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:18px;padding:25px;box-shadow:0 23px 80px rgba(0,0,0,.2)}.sba-detail-panel h3{font:500 30px 'Playfair Display',serif;color:#44223b}.sba-detail-panel p{color:#664c5e;line-height:1.75;font-size:13px}.sba-detail-close{position:absolute;top:12px;right:14px;font-size:25px;border:0;border-radius:50%;width:38px;height:38px;cursor:pointer;color:#612047;background:#faf1f6}.sba-detail-photo{height:200px;width:100%;object-fit:cover;border-radius:11px;margin:0 0 12px}
.sba-checkout-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:20px;align-items:start}.sba-unified-checkout .native-checkout-panel{margin-bottom:14px;padding:20px;border:1px solid #eadce6;background:#fff;border-radius:12px}.sba-unified-checkout .native-checkout-panel h3{font:500 23px 'Playfair Display',serif;margin:0 0 13px}.sba-unified-checkout .native-checkout-panel p{font-size:12px;line-height:1.65}.sba-unified-checkout .native-checkout-total{font-weight:700;color:#820967;font-size:23px}.sba-unified-checkout #sba-checkout-actions .native-primary{width:100%;margin-top:14px}.sba-unified-checkout #sba-checkout-message{font-size:12px;color:#81375c;line-height:1.7}
.sba-guest-confirmation{max-width:760px;text-align:center;margin:30px auto;padding:36px 22px;border-radius:18px;background:#fff;box-shadow:0 12px 38px rgba(92,25,64,.09)}.sba-guest-confirmation h2{font:500 36px 'Playfair Display',serif;color:#342038}.sba-confirmation-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#faedf5;color:#9b4381;font-size:32px;margin:0 auto 20px}.sba-confirmation-icon.is-success{background:#d8f4df;color:#13753e}.sba-confirmation-details{margin:22px 0;border-radius:12px;padding:18px;background:#fcf7fa;text-align:left}.sba-confirmation-links{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:22px}.sba-confirmation-links a{color:#820967;font-size:12px}
/* Skin Goal and Wellness Package carousels use existing approved spa photos. */
.sba-services-discover .sba-services-discover-grid,.sba-services .sba-services-discover-grid{display:flex!important;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:14px}
.sba-services .sba-services-discover-card{position:relative;flex:0 0 min(270px,75vw);min-height:245px;display:flex;flex-direction:column;justify-content:end;background:#643e52!important;color:#fff!important;overflow:hidden;border-radius:13px;padding:17px;scroll-snap-align:start;isolation:isolate}
.sba-services .sba-services-discover-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(22,9,18,.88) 100%);z-index:-1}
.sba-services .sba-services-discover-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .3s}.sba-services .sba-services-discover-card:hover img{transform:scale(1.04)}
.sba-services .sba-services-discover-card h3,.sba-services .sba-services-discover-card p,.sba-services .sba-services-discover-card span,.sba-services .sba-services-discover-card strong{color:#fff!important;position:relative;z-index:1}.sba-services .sba-services-discover-card h3{font-size:21px}
.sba-wellness-toolbar{display:flex;gap:8px}.sba-wellness-toolbar button{height:35px;width:35px;border-radius:50%;border:1px solid #e7cddf;background:#fff;cursor:pointer;color:#820967}
.sba-wellness-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 15px}.sba-wellness-card{flex:0 0 min(320px,80vw);min-height:325px;scroll-snap-align:start;border:1px solid #f1e6ec;border-radius:13px;overflow:hidden;background:#fff}.sba-wellness-card img{width:100%;height:170px;object-fit:cover}.sba-wellness-card-content{padding:16px}.sba-wellness-card-content span{font-size:10px;letter-spacing:.15em;color:#8e3d74}.sba-wellness-card-content h3{font:500 24px 'Playfair Display',serif;margin:7px 0}.sba-wellness-card-content p{font-size:11px;line-height:1.5;color:#705967}.sba-wellness-card-content strong{display:block;color:#7e125d;margin:10px 0}.sba-wellness-card-content button{border:1px solid #820967;background:#820967;color:#fff;padding:10px 13px;border-radius:7px;cursor:pointer;font-size:11px}
@media(max-width:700px){.sba-flow-choice-bar,.sba-checkout-grid{grid-template-columns:1fr}.sba-flow-visit-fields{grid-template-columns:1fr 1fr}.sba-flow-visit-fields button{grid-column:1/-1}.sba-services .sba-services-discover-card{flex-basis:75vw}.sba-guest-confirmation{padding:20px 12px}}
/* SBA release: home-page style cards, compact anniversary calendar and real mixed cart */
.sba-services .sba-services-collections{margin-bottom:40px}
.sba-services .sba-services-discover{margin-top:34px}
.sba-services .sba-services-discover-grid{gap:14px;scroll-padding-inline:5px}
.sba-services .sba-services-discover-card{position:relative!important;flex:0 0 min(255px,78vw)!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding:0!important;background:#fff!important;color:#35233b!important;border:1px solid #eadde4;border-radius:7px!important;box-shadow:none;overflow:hidden}
.sba-services .sba-services-discover-card::before{display:none!important}
.sba-services .sba-services-discover-card img{position:static!important;z-index:auto!important;width:100%;height:157px!important;object-fit:cover;transform:none!important}
.sba-services .sba-services-discover-card:hover img{transform:none!important}
.sba-services .sba-goal-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:12px 13px 14px;gap:5px}
.sba-services .sba-services-discover-card h3{font-family:Poppins,sans-serif;font-size:13px!important;font-weight:700;line-height:1.4;margin:0;color:#30223d!important}
.sba-services .sba-services-discover-card p{font-size:11px;line-height:1.55;margin:0 0 7px;color:#756777!important}
.sba-services .sba-services-discover-card button{border:none;padding:0;margin-top:auto;cursor:pointer;color:#8d075f;background:transparent;font:700 11px Poppins,sans-serif}
.sba-services .sba-services-discover-card button:disabled{color:#a6969c;cursor:not-allowed}
.sba-services .sba-services-heading>div>p{font-size:12px;color:#745b6c;margin:5px 0 0}
.sba-wellness-card{flex:0 0 min(310px,78vw);min-height:0;border-radius:7px;box-shadow:none}
.sba-wellness-card img{height:165px;object-fit:cover}
.sba-wellness-card-content h3{font-size:21px}
.sba-wellness-card-content p{min-height:50px}
.sba-wellness-card-content strong{font-size:15px}
.sba-package-card-actions{display:flex;gap:9px;flex-wrap:wrap}.sba-package-card-actions button{flex:1;white-space:nowrap}
.sba-package-card-actions button:first-child{background:#fff;color:#820967}
.sba-flow-package-selection{margin:16px 0 21px;padding:16px;background:#fcf7fa;border:1px solid #f0dbe9;border-radius:10px}
.sba-flow-package-selection h3{font-size:19px;margin:0 0 12px}
.sba-flow-package-selection article{padding:11px;background:#fff;border:1px solid #eadce6;border-radius:9px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:9px;font-size:11px}
.sba-flow-package-selection article span{color:#754e6b}.sba-flow-package-selection article label{display:flex;align-items:center;gap:8px;margin-left:auto}
.sba-flow-package-selection article input{width:58px;border:1px solid #e6ccdc;border-radius:6px;padding:8px}
.sba-flow-package-selection article button{color:#982f64;border:0;background:transparent;cursor:pointer}
.sba-compact-scheduler .sba-flow-date-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:15px;align-items:stretch}
.sba-compact-scheduler .sba-flow-calendar,.sba-compact-scheduler .sba-flow-times{padding:17px;min-height:315px}
.sba-compact-scheduler .sba-flow-day{border-radius:8px;font-size:11px}
.sba-compact-scheduler .sba-flow-day.is-selected{border-radius:50%}
.sba-compact-scheduler .sba-flow-timegrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.sba-compact-scheduler .sba-flow-time{padding:11px 3px;font-size:10px;border:1px solid #e9dce6;line-height:1.3;min-height:36px}
.sba-compact-scheduler .sba-flow-times h4{font:500 18px 'Playfair Display',serif;color:#371e32;margin:0 0 7px}
.sba-compact-scheduler .sba-schedule-later{width:100%;min-height:38px;font-size:11px;margin-top:9px}
.sba-scheduler-progress{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 8px;color:#79546a;font-size:11px}
.sba-scheduler-progress span{background:#fcf0f6;color:#8a276f;border-radius:30px;padding:6px 13px}
.sba-scheduler-progress strong{font-size:12px}
.sba-selected-visit{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 11px;background:#fff;border:1px solid #eadce6;padding:12px 15px;border-radius:9px}
.sba-selected-visit>div{display:flex;flex-direction:column;gap:5px}.sba-selected-visit b{font-size:12px;color:#402238}
.sba-selected-visit small{font-size:10px;color:#847080}.sba-selected-visit strong{white-space:nowrap;color:#850467}
.sba-scheduler-choice{font-size:11px;color:#745d6c;margin:11px 0 0}
.sba-full-service-detail{max-width:920px;width:min(920px,96vw);padding:30px;max-height:calc(100dvh - 30px)}
.sba-detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:25px;align-items:start}
.sba-detail-hero img{width:100%;height:265px;object-fit:cover;border-radius:10px}
.sba-detail-hero h3{font-size:clamp(26px,3vw,36px);margin:8px 0}
.sba-detail-tabs{display:flex;gap:12px;overflow-x:auto;border-bottom:1px solid #eee1e8;margin:25px 0 13px;padding-bottom:8px}
.sba-detail-tabs button,.sba-detail-tabs>span{font-size:11px;white-space:nowrap;color:#796775;background:#fff;border:0;border-bottom:2px solid transparent;padding:9px 7px;cursor:pointer}
.sba-detail-tabs button[aria-pressed=true]{color:#8a075c;font-weight:700;border-bottom-color:#8a075c}
.sba-detail-body{min-height:105px;font-size:13px;color:#5d4856;line-height:1.8;margin-bottom:14px}
.sba-detail-body li{margin-bottom:6px}
.sba-cart-page{max-width:1240px!important;padding:45px 28px!important;margin:0 auto}
.sba-cart-refresh,.sba-unified-checkout{--a:#820967;--line:#ebdce7;font-family:Poppins,sans-serif;color:#3e293c}
.sba-cart-refresh .sba-flow-primary,.sba-unified-checkout .sba-flow-primary,.sba-unified-checkout .sba-flow-outline{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:45px;border-radius:6px;border:1px solid #85036a;padding:12px 16px;font:600 12px Poppins,sans-serif;text-decoration:none;cursor:pointer}
.sba-cart-refresh .sba-flow-primary,.sba-unified-checkout .sba-flow-primary{color:#fff;background:#85036a}
.sba-unified-checkout .sba-flow-outline{background:#fff;color:#85036a}
.sba-cart-refresh .sba-flow-primary[aria-disabled=true]{opacity:.45;pointer-events:none}
.sba-cart-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
.sba-cart-title h2{font:500 35px 'Playfair Display',serif;color:#2d2741;margin:0 0 5px}
.sba-cart-title p{font-size:12px;color:#716775;margin:3px 0}
.sba-cart-title a,.sba-cart-appointments a{color:#87055d;font-size:11px;text-decoration:none}
.sba-cart-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:23px;align-items:start}
.sba-cart-product{display:flex;align-items:center;gap:18px;padding:18px 9px;border-bottom:1px solid #efeaee}
.sba-cart-product img{width:84px;height:84px;flex:none;object-fit:cover;background:#f6f1f4;border-radius:8px}
.sba-cart-product-main{flex:1;min-width:0}.sba-cart-product-main h3{font-size:14px;font-weight:600;margin:0 0 5px;color:#30273f}
.sba-cart-product-main p{font-size:11px;color:#6d6670;margin:3px 0 8px}.sba-cart-product-main label{font-size:11px;color:#756e77}
.sba-cart-product-main input{width:62px;margin-left:8px;border:1px solid #e3d9df;border-radius:5px;padding:7px;font-size:12px}
.sba-cart-product>button{border:0;color:#970b5e;background:none;cursor:pointer;font-size:11px}
.sba-cart-totals{border:1px solid #efe5e9;border-radius:12px;background:#fff;padding:25px;position:sticky;top:20px}
.sba-cart-totals h3{font:500 23px 'Playfair Display',serif;margin:0 0 12px;color:#2d2541}
.sba-cart-totals>p{font-size:12px;color:#756474}.sba-cart-totals .sba-flow-primary{width:100%;margin-top:20px}
.sba-cart-price{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin:13px 0;color:#403441}
.sba-cart-price.is-total{border-top:1px solid #e8dbe3;padding-top:15px;font-size:15px;font-weight:600}
.sba-cart-price.is-total strong{color:#95035a;font-size:21px}.sba-cart-totals small{color:#756d77;font-size:10px}
.sba-cart-advantages{margin:23px 0 0;border-top:1px solid #eee4ea;padding-top:14px}.sba-cart-advantages p{font-size:11px;color:#775c70}
.sba-cart-appointments{margin-top:25px;border-radius:9px;background:#fbf7fa;border:1px solid #ecdee7;padding:18px}
.sba-cart-section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px}
.sba-cart-section-header h3{font:500 19px 'Playfair Display',serif;margin:0 0 10px}
.sba-cart-appointment{padding:9px 0;border-bottom:1px solid #e8d7e1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px}
.sba-cart-appointment:last-child{border-bottom:0}.sba-cart-appointment span{color:#6b5e65}
.sba-cart-appointment small{color:#87536f;padding:5px;background:#fff;border-radius:5px}
.sba-unified-checkout{max-width:1170px;margin:0 auto}
.sba-unified-checkout .sba-checkout-progress{display:flex;justify-content:space-between;gap:10px;margin:0 0 34px}
.sba-checkout-progress span{display:flex;gap:9px;align-items:center;color:#716875;font-size:11px;flex:1;white-space:nowrap}
.sba-checkout-progress span b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dec9d7;border-radius:50%;flex:none}
.sba-checkout-progress .is-current{color:#86015f;font-weight:600}
.sba-checkout-progress .is-current b{color:white;background:#830262;border-color:#830262}
.sba-checkout-progress .is-complete b{color:#0d6835;border-color:#45ab6d}
.sba-unified-checkout .native-checkout-panel{padding:26px;margin-bottom:18px;border-radius:10px}
.sba-unified-checkout .sba-flow-field input,.sba-unified-checkout .sba-flow-field textarea{font-size:13px;padding:13px}
.sba-unified-checkout .sba-flow-primary,.sba-unified-checkout .sba-flow-outline{width:100%;margin:7px 0}
.sba-unified-checkout .sba-checkout-stage h4{margin:14px 0 10px;font-size:13px}
.sba-unified-checkout .sba-checkout-items p{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid #efe5eb;padding:9px 0;margin:0;font-size:12px}
.sba-unified-checkout .sba-checkout-items small{font-size:10px;color:#776270}
.sba-checkout-fulfilment{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}
.sba-checkout-fulfilment label{border:1px solid #ead8e2;border-radius:8px;padding:14px;display:grid;gap:5px;font-size:11px;cursor:pointer}
.sba-checkout-fulfilment label.is-chosen{border-color:#930865;background:#fdf3f9}
.sba-checkout-fulfilment label input{accent-color:#85036a}
.sba-checkout-fulfilment label span{font-size:10px;color:#6f5f6b}
.sba-payment-option{background:#fdf3f9;border:1px solid #960c72;border-radius:9px;padding:18px;font-size:13px}
.sba-payment-option p,.sba-payment-option small{font-size:11px;color:#6a5262}
@media(max-width:920px){.sba-compact-scheduler .sba-flow-date-grid{grid-template-columns:1fr}.sba-cart-layout{grid-template-columns:1fr}}
@media(max-width:700px){.sba-detail-hero{grid-template-columns:1fr;gap:14px}.sba-detail-hero img{height:180px}.sba-full-service-detail{padding:18px}.sba-detail-tabs{margin-top:14px}.sba-compact-scheduler .sba-flow-calendar,.sba-compact-scheduler .sba-flow-times{min-height:0}.sba-cart-page{padding:25px 15px!important}.sba-cart-title{align-items:flex-start}.sba-cart-title h2{font-size:28px}.sba-cart-product{gap:10px}.sba-cart-product img{width:64px;height:70px}.sba-cart-totals{position:static}.sba-checkout-progress span{font-size:9px;white-space:normal;flex-direction:column;text-align:center}.sba-unified-checkout .native-checkout-panel{padding:16px}.sba-checkout-fulfilment{grid-template-columns:1fr}}
