/* Shared anniversary-style booking and cart surfaces. */
.sba-booking-canvas .site-header,body:has(.sba-new-cart) .site-header,body:has(.sba-anniversary-checkout) .site-header{width:100%!important;max-width:100%;box-sizing:border-box}
.sba-booking-canvas .sba-appointment-title{display:none}
.sba-booking-canvas .sba-appointment-section{max-width:1140px!important;margin:40px auto 64px!important;padding:34px!important;background:#fff;border:1px solid #eadfe7;border-radius:16px;box-shadow:0 10px 40px #2b0a2005}
.sba-booking-canvas main{background:#fcf9fb;padding-top:1px;padding-bottom:1px}
.sba-booking-canvas .sba-flow-layout{display:grid!important;grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr)!important;align-items:start;gap:28px!important}
.sba-booking-canvas .sba-journey-heading{margin-bottom:24px}
.sba-booking-canvas .sba-journey-heading h1{font:500 34px/1.3 'Playfair Display',Georgia,serif;color:#30243d;margin:10px 0 12px}
.sba-booking-canvas .sba-journey-heading p{font:400 13px/1.8 Poppins,sans-serif;color:#8a7785}
.sba-booking-canvas .sba-journey-heading p:first-child{font-size:10px;letter-spacing:.15em;color:#85036a}
.sba-booking-canvas .sba-journey-steps{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}
.sba-booking-canvas .sba-flow-main{padding:0;border:0;box-shadow:none;min-width:0;background:#fff}
.sba-booking-canvas .sba-anniversary-details{padding:0}
.sba-booking-options{border:1px solid #e7d8e3;background:#fbf8fb;border-radius:10px;padding:13px 16px;margin:0 0 18px}
.sba-booking-options>summary{font:500 12px/1.8 Poppins,sans-serif;color:#85036a;cursor:pointer}
.sba-booking-options>summary>span{display:inline;color:#8a7785;margin-left:10px;font-weight:400}
.sba-booking-options>p{font:400 12px/1.8 Poppins,sans-serif;color:#8a7785;margin:10px 0}
.sba-booking-options .sba-flow-choice-bar{margin:12px 0 2px;gap:14px}
.sba-booking-options select{font-size:13px;min-height:44px}
.sba-booking-canvas .sba-flow-person-tabs.is-single{display:none}
.sba-booking-canvas .sba-flow-person-tabs{margin:12px 0 20px;gap:8px}
.sba-booking-canvas .sba-services-collections{max-width:1140px;margin:0 auto 60px;padding:0 24px;scroll-margin-top:170px}
.sba-booking-canvas .sba-services-discover{max-width:1140px;margin:0 auto 60px;padding:0 24px}
.sba-wellness-track>[hidden]{display:none!important}
.sba-package-search-jump,.sba-wellness-search-status{font:400 12px/1.8 Poppins,sans-serif;color:#85036a}
.sba-package-search-jump a{text-decoration:underline;text-underline-offset:3px}
.sba-booking-canvas .sba-flow-kicker{font-size:10px;letter-spacing:.13em}
.sba-booking-canvas .sba-flow-search{display:block;width:100%;box-sizing:border-box;min-height:48px;border:1px solid #e2d1dd;border-radius:9px;padding:12px 15px;font:400 14px Poppins,sans-serif;background:#fff;margin:8px 0 18px}
.sba-booking-canvas .sba-flow-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.sba-booking-canvas .sba-flow-chip{padding:9px 13px;min-height:38px;border-radius:22px;font:500 11px/1.4 Poppins,sans-serif;border:1px solid #e4d5df;background:#fff;color:#6e5868}
.sba-booking-canvas .sba-flow-chip[aria-pressed=true]{background:#85036a;border-color:#85036a;color:#fff}
.sba-booking-canvas .sba-flow-group{margin:18px 0;border:0;background:#fff}
.sba-booking-canvas .sba-flow-group>summary{padding:14px 12px;border:1px solid #e5d6e1;border-radius:9px;font:500 20px/1.4 'Playfair Display',Georgia,serif;color:#59314d;cursor:pointer}
.sba-booking-canvas .sba-flow-group>summary small{font:400 11px Poppins,sans-serif;color:#8a7785}
.sba-booking-canvas .sba-flow-service{display:flex;align-items:center;gap:16px;padding:18px 16px;margin:10px 0;border:1px solid #eadfe7;border-radius:9px;background:#fffcfe;min-width:0}
.sba-booking-canvas .sba-flow-service.is-selected{border-color:#85036a;background:#faf4f9}
.sba-booking-canvas .sba-flow-service-copy{min-width:0;flex:1}
.sba-booking-canvas .sba-flow-service h4{font:600 13px/1.7 Poppins,sans-serif;color:#30243d;margin:0 0 8px}
.sba-booking-canvas .sba-flow-service-meta{display:flex;flex-wrap:wrap;gap:7px 13px;align-items:center;font:400 11px/1.6 Poppins,sans-serif;color:#8a7785}
.sba-booking-canvas .sba-flow-service-meta strong{color:#85036a;font-size:14px}
.sba-booking-canvas .sba-flow-pick{flex:0 0 36px;width:36px;height:36px;min-height:36px;background:#85036a;border:1px solid #85036a;border-radius:50%;color:#fff;font-size:22px;cursor:pointer}
.sba-booking-canvas .sba-flow-pick[aria-pressed=true]{background:#fff;color:#85036a}
.sba-booking-canvas .sba-flow-session-count{display:flex;align-items:center;gap:10px;margin-top:12px;font:400 11px Poppins,sans-serif;color:#8a7785}
.sba-booking-canvas .sba-flow-session-count input{width:60px;min-height:32px;padding:5px 8px;font-size:12px}
.sba-booking-canvas .sba-journey-summary{position:sticky;top:160px;box-shadow:none;padding:22px;border:1px solid #e7d8e3;border-radius:11px;background:#fff}
.sba-booking-canvas .sba-journey-summary h3{font:600 16px Poppins,sans-serif;margin:10px 0 18px;color:#30243d}
.sba-booking-canvas .sba-flow-summary-item{font:500 12px/1.7 Poppins,sans-serif;margin:12px 0}
.sba-booking-canvas .sba-flow-summary-date{font:400 12px/1.8 Poppins,sans-serif}
.sba-booking-canvas .sba-flow-summary-total{padding-top:16px;margin-top:14px;border-top:1px solid #e9dde6;font:500 12px/1.7 Poppins,sans-serif}
.sba-booking-canvas .sba-flow-summary-total b{font-size:21px;color:#85036a}
.sba-booking-canvas .sba-flow-primary,.sba-booking-canvas .sba-flow-outline{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #85036a;border-radius:24px;padding:12px 20px;font:600 12px/1.5 Poppins,sans-serif;text-decoration:none;background:#85036a;color:#fff;cursor:pointer;box-sizing:border-box}
.sba-booking-canvas .sba-flow-outline{background:#fff;color:#85036a;font-weight:500}
.sba-booking-canvas .sba-flow-primary:disabled,.sba-booking-canvas .sba-flow-outline:disabled{opacity:.4;cursor:default}
.sba-booking-canvas .sba-flow-summary .sba-flow-primary{width:100%;margin-top:18px}
.sba-booking-canvas .sba-flow-date-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
.sba-booking-canvas .sba-compact-scheduler>h3,.sba-booking-canvas .sba-compact-scheduler>.sba-flow-kicker{display:none}
.sba-booking-canvas .sba-compact-scheduler>.sba-flow-summary-date{margin-top:0}
.sba-booking-canvas .sba-scheduler-progress{margin:18px 0 12px;font-size:12px}
.sba-booking-canvas .sba-selected-visit{border:1px solid #e7d8e3;border-radius:9px;padding:15px;margin:0 0 18px;background:#fbf8fb;font-size:12px}
.sba-booking-canvas .sba-flow-calendar,.sba-booking-canvas .sba-flow-times{padding:22px!important;min-height:0!important;border:1px solid #e7d8e3;border-radius:11px;background:#fff}
.sba-booking-canvas .sba-flow-calendar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.sba-booking-canvas .sba-flow-calendar-title h4{font:500 22px 'Playfair Display',Georgia,serif}
.sba-booking-canvas .sba-flow-calendar-title button{width:32px;height:32px;border-radius:50%;border:1px solid #e6d5e1;background:#fff;color:#85036a;cursor:pointer}
.sba-booking-canvas .sba-flow-calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.sba-booking-canvas .sba-flow-calgrid>span{text-align:center;font:400 10px Poppins,sans-serif;color:#a0879a;padding-bottom:5px}
.sba-booking-canvas .sba-flow-day{min-height:48px;height:48px;max-width:48px;width:100%;justify-self:center;border:0;border-radius:50%;background:#fff;color:#30243d;font:500 13px Poppins,sans-serif;cursor:pointer}
.sba-booking-canvas .sba-flow-day:disabled{color:#d8cbd4;cursor:default;background:#fff}
.sba-booking-canvas .sba-flow-day.is-selected{background:#85036a;color:#fff}
.sba-booking-canvas .sba-flow-timegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sba-booking-canvas .sba-flow-time{min-height:44px;border:1px solid #e1d0dd;border-radius:8px;padding:11px 6px;font:500 12px/1.5 Poppins,sans-serif;background:#fff;color:#59314d;cursor:pointer}
.sba-booking-canvas .sba-flow-time[aria-pressed=true]{background:#85036a;border-color:#85036a;color:#fff}
.sba-booking-canvas .sba-schedule-later{margin-top:18px;width:auto}
.sba-booking-canvas .sba-flow-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.sba-new-cart{max-width:1100px!important;padding:36px!important;margin:0 auto!important;border:1px solid #e7dbe4;border-radius:18px;background:#fff;box-sizing:border-box}
body:has(.sba-new-cart) main{background:#fcf9fb}
.sba-new-cart .sba-new-cart-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:26px;border-bottom:1px solid #eadfe7;margin-bottom:10px}
.sba-new-cart .sba-new-cart-heading h1{font:500 38px/1.3 'Playfair Display',Georgia,serif;margin:12px 0 9px;color:#30243d}
.sba-new-cart .sba-new-cart-heading p{font:400 13px/1.7 Poppins,sans-serif;color:#8a7785}
.sba-new-cart .sba-new-cart-heading>div>span{font:500 10px Poppins,sans-serif;letter-spacing:.16em;color:#85036a}
.sba-new-cart .sba-new-cart-heading>a{font:500 12px Poppins,sans-serif;color:#85036a;white-space:nowrap}
.sba-new-cart .sba-cart-layout{display:block!important}
.sba-new-cart .sba-new-cart-group-head{padding:20px 0 12px;margin:8px 0;background:#fff;border-radius:0}
.sba-new-cart .sba-new-cart-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto 34px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #eee5ec}
.sba-new-cart .sba-cart-photo{width:78px;height:78px;border-radius:13px;background:#f7eef6;display:grid;place-items:center;overflow:hidden}
.sba-new-cart .sba-cart-photo img{width:100%;height:100%;object-fit:contain;background:#fff}
.sba-cart-service-symbol{font-size:30px;color:#85036a}
.sba-new-cart .sba-new-cart-name{font:600 14px/1.7 Poppins,sans-serif;color:#30243d}
.sba-new-cart .sba-new-cart-desc p{font:400 11px/1.8 Poppins,sans-serif;margin:5px 0;color:#8a7785}
.sba-new-cart .sba-new-cart-price{font:600 14px Poppins,sans-serif;color:#30243d;white-space:nowrap}
.sba-new-cart .sba-new-cart-remove{width:32px;height:32px;border:1px solid #e7d6e2;border-radius:50%;background:#fff;color:#74516b;cursor:pointer;font-size:17px}
.sba-new-cart .sba-cart-totals{position:static!important;margin-top:28px;padding:24px 26px;background:#faf5f9!important;border:1px solid #eadde7;border-radius:15px;box-shadow:none;width:auto}
.sba-new-cart .sba-cart-totals>h3{display:none}
.sba-new-cart #native-cart-quote{margin:0;font:400 13px/1.8 Poppins,sans-serif}
.sba-new-cart .sba-cart-price.is-total{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0;margin:0 0 10px;border:0;font:400 18px Poppins,sans-serif}
.sba-new-cart .sba-cart-price.is-total strong{font-size:22px;color:#30243d;white-space:nowrap}
.sba-new-cart #native-cart-quote small{display:block;font:400 12px/1.8 Poppins,sans-serif;color:#8a7785}
.sba-new-cart .sba-new-cart-summary #native-cart-next,.sba-new-cart .sba-empty-checkout{width:fit-content;min-height:46px;margin-top:18px;border-radius:25px;background:#85036a;color:#fff;border:1px solid #85036a;font:600 12px/1.5 Poppins,sans-serif;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.sba-new-cart .sba-empty-checkout:disabled{opacity:.4;cursor:default}
.sba-new-cart .sba-new-cart-empty{padding:48px 20px 38px;text-align:center;border:0;background:#fff}
.sba-empty-heart{display:block;font:400 34px Georgia,serif;color:#b579a7;margin-bottom:16px}
.sba-new-cart .sba-new-cart-empty h2{font:600 21px/1.5 Poppins,sans-serif;margin:8px 0;color:#30243d}
.sba-new-cart .sba-new-cart-empty p{font:400 13px/1.8 Poppins,sans-serif;color:#8a7785}
.sba-empty-cart-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0 12px}
.sba-empty-cart-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border:1px solid #d6b9cf;border-radius:24px;color:#85036a;font:500 12px/1.6 Poppins,sans-serif;text-decoration:none}
.sba-empty-cart-actions .sba-cart-browse-primary{background:#85036a;color:#fff;border-color:#85036a}
.sba-new-cart .sba-cart-gift-link{font:500 12px Poppins,sans-serif;color:#85036a}
.sba-new-cart .sba-cart-help{margin-top:20px;padding:15px 0 0;background:transparent}
.sba-recovery-reference{overflow-wrap:anywhere;font-size:11px!important;color:#8a7785}
.sba-saved-payment{padding:13px 16px;margin:0 0 22px;border:1px solid #e4d2df;border-radius:9px;background:#fcf8fb;color:#695261;font:400 12px/1.8 Poppins,sans-serif}
.sba-saved-payment[hidden]{display:none}
.sba-saved-payment p{margin:0 0 6px}
.sba-saved-payment-actions{display:flex;flex-wrap:wrap;gap:8px 18px}
.sba-saved-payment-actions button,.sba-saved-payment-actions a{border:0;padding:5px 0;background:transparent;color:#85036a;font:500 12px/1.6 Poppins,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sba-saved-payment details{font-size:10px;margin-top:6px;overflow-wrap:anywhere}
.sba-custom-collections{max-width:1200px;margin:0 auto;padding:0 24px}
.sba-custom-collection{margin:48px 0 64px;scroll-margin-top:170px}
.sba-custom-collection>header{margin-bottom:24px}
.sba-custom-eyebrow{font:500 10px Poppins,sans-serif;letter-spacing:.14em;color:#85036a}
.sba-custom-collection h2{font:500 32px/1.3 'Playfair Display',Georgia,serif;color:#30243d;margin:10px 0}
.sba-custom-collection>header>p{font:400 13px/1.8 Poppins,sans-serif;color:#8a7785}
.sba-custom-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sba-custom-item{min-width:0;overflow:hidden;border:1px solid #eadfe7;border-radius:12px;background:#fff}
.sba-custom-item-image{display:block;aspect-ratio:1/1;background:#faf7f9;overflow:hidden}
.sba-custom-item-image img{width:100%;height:100%;object-fit:contain}
.sba-custom-item>div{padding:16px}
.sba-custom-item h3{font:600 14px/1.6 Poppins,sans-serif;color:#30243d;margin:0 0 8px}
.sba-custom-item p{font:400 11px/1.7 Poppins,sans-serif;color:#8a7785;margin:4px 0}
.sba-custom-item strong{display:block;font:600 15px Poppins,sans-serif;color:#85036a;margin:12px 0}
.sba-custom-item-link{display:inline-block;font:500 12px Poppins,sans-serif;color:#85036a;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.sba-custom-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sba-custom-collections{padding:0 16px}.sba-custom-collection-grid{gap:12px}.sba-custom-collection h2{font-size:27px}.sba-custom-item>div{padding:12px}.sba-custom-item h3{font-size:12px}.sba-custom-item-link{font-size:11px}}
:is(.sba-booking-canvas,.sba-new-cart) :is(a,button,input,select,summary):focus-visible{outline:3px solid #b579a7;outline-offset:3px}
@media(max-width:960px){.sba-booking-canvas .sba-appointment-section{margin:26px 18px 44px!important;padding:24px!important}.sba-booking-canvas .sba-flow-layout{grid-template-columns:minmax(0,1fr)!important}.sba-booking-canvas .sba-journey-summary{position:static}.sba-new-cart{padding:26px!important}}
@media(max-width:600px){.sba-booking-canvas .sba-appointment-section{margin:18px 12px 32px!important;padding:20px 15px!important}.sba-booking-canvas .sba-journey-heading h1{font-size:29px}.sba-booking-canvas .sba-flow-calendar,.sba-booking-canvas .sba-flow-times{padding:16px 12px!important}.sba-booking-canvas .sba-flow-day{height:36px;min-height:36px;max-width:36px;font-size:12px}.sba-booking-canvas .sba-flow-calgrid{gap:3px}.sba-booking-canvas .sba-flow-timegrid{gap:7px}.sba-booking-canvas .sba-flow-time{font-size:11px}.sba-booking-options>summary>span{display:block;margin-left:0}.sba-booking-canvas .sba-flow-choice-bar{grid-template-columns:1fr}.sba-booking-canvas .sba-flow-actions{flex-wrap:wrap}.sba-booking-canvas .sba-flow-actions .sba-flow-primary{flex:1}.sba-new-cart{padding:22px 16px!important;border-radius:13px}.sba-new-cart .sba-new-cart-heading{align-items:flex-start;flex-direction:column;gap:8px}.sba-new-cart .sba-new-cart-heading h1{font-size:32px}.sba-new-cart .sba-new-cart-row{grid-template-columns:55px minmax(0,1fr) 28px;gap:12px}.sba-new-cart .sba-cart-photo{width:55px;height:65px}.sba-new-cart .sba-new-cart-price{grid-column:2;font-size:13px}.sba-new-cart .sba-new-cart-remove{grid-row:1;grid-column:3;width:28px;height:28px}.sba-new-cart .sba-new-cart-name{font-size:12px}.sba-new-cart .sba-new-cart-group-head{gap:10px;align-items:flex-start}.sba-new-cart .sba-new-cart-group-head a{font-size:10px}.sba-new-cart .sba-new-cart-group-head b{font-size:10px}.sba-new-cart .sba-cart-totals{padding:20px 16px}.sba-new-cart .sba-cart-price.is-total{font-size:16px}.sba-new-cart .sba-cart-price.is-total strong{font-size:18px}.sba-new-cart .sba-new-cart-empty{padding:32px 8px}.sba-new-cart .sba-new-cart-empty h2{font-size:19px}}
