/* Permanent services booking — anniversary workflow, permanent site visual language. */
.sba-services .sba-appointment-section{max-width:1180px;margin:34px auto 20px;padding:0 22px;scroll-margin-top:154px}
.sba-appointment-title{margin-bottom:20px}.sba-appointment-title h2{font-family:'Playfair Display',serif;font-size:clamp(29px,3vw,42px);font-weight:500;color:#39172f;line-height:1.22;margin:5px 0 9px}.sba-appointment-title p{color:#736570;font-size:13px;max-width:650px;line-height:1.7}
.sba-anniversary-booking-flow{--a:#820967;--ink:#38192f;--line:#eadce6;--soft:#fbf6f9;--muted:#746774;color:var(--ink);font-family:Poppins,sans-serif;font-size:13px}
.sba-anniversary-booking-flow *, .sba-anniversary-booking-flow *::before,.sba-anniversary-booking-flow *::after{box-sizing:border-box}
.sba-flow-stepper{display:flex;gap:8px;align-items:center;margin:0 0 24px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}
.sba-flow-step{display:flex;align-items:center;white-space:nowrap;gap:7px;color:#998a94;font-size:11px;min-width:0;flex:1}.sba-flow-step:after{content:'';height:1px;background:var(--line);flex:1;min-width:8px}.sba-flow-step:last-child:after{display:none}
.sba-flow-step b{display:grid;place-items:center;width:27px;height:27px;flex:none;border:1px solid #d9c4d1;border-radius:50%;font-weight:600}.sba-flow-step.is-current b,.sba-flow-step.is-complete b{background:#963383;color:#fff;border-color:#963383}.sba-flow-step.is-current{color:var(--a);font-weight:600}
.sba-flow-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.sba-flow-main{min-width:0}.sba-flow-summary{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 10px 25px rgba(70,20,40,.045)}
.sba-anniversary-booking-flow h3{font-family:'Playfair Display',serif;font-size:25px;line-height:1.3;color:var(--ink);font-weight:500;margin:0 0 5px}.sba-flow-kicker{font-size:10px;font-weight:700;color:#a05b78;text-transform:uppercase;letter-spacing:.15em;margin:0 0 10px}
.sba-flow-summary h3{font-family:Poppins,sans-serif;font-size:18px;font-weight:600}.sba-flow-summary-list{padding:7px 0;margin:10px 0;border-block:1px solid var(--line)}.sba-flow-summary-item{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #f5eef2;font-size:11px}.sba-flow-summary-item:last-child{border-bottom:0}.sba-flow-summary-item b{font-weight:600}.sba-flow-summary-item small{color:var(--muted)}.sba-flow-summary-item strong{white-space:nowrap;color:var(--a)}
.sba-flow-summary-total{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-top:1px solid var(--line);padding-top:15px;font-weight:600}.sba-flow-summary-total b{font-size:20px;color:var(--a)}.sba-flow-summary-duration,.sba-flow-summary-date{font-size:11px;color:#786975;margin-top:6px}.sba-flow-summary-empty{color:var(--muted);font-size:12px;padding:18px 0}.sba-flow-summary .sba-flow-primary{width:100%;margin-top:16px}
.sba-flow-primary,.sba-flow-outline{border:1px solid var(--a);border-radius:8px;min-height:43px;display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;text-align:center;font-family:inherit;font-weight:600;font-size:12px;cursor:pointer;transition:background .15s,color .15s;text-decoration:none}
.sba-flow-primary{background:var(--a);color:#fff}.sba-flow-primary:hover:not(:disabled){background:#5e074c;color:#fff}.sba-flow-outline{background:white;color:var(--a)}.sba-flow-outline:hover{background:#fbf1f7}.sba-flow-primary:disabled{opacity:.5;cursor:not-allowed}
.sba-flow-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:22px;flex-wrap:wrap}
.sba-flow-search{width:100%;border:1px solid var(--line);border-radius:9px;padding:14px 15px;font:inherit;color:var(--ink);background:#fff;outline-offset:2px}.sba-flow-search:focus{outline:2px solid #ba83ab}
.sba-flow-chips{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 21px}.sba-flow-chip{border:1px solid var(--line);border-radius:40px;padding:9px 13px;background:white;color:#5e4555;cursor:pointer;font:600 11px Poppins,sans-serif}.sba-flow-chip[aria-pressed="true"]{background:#963383;border-color:#963383;color:#fff}
.sba-flow-group{border:1px solid var(--line);border-radius:11px;margin:10px 0;overflow:hidden;background:#fff}.sba-flow-group>summary{padding:13px 16px;cursor:pointer;list-style:none;font:500 18px 'Playfair Display',serif;color:#5d3450;background:#fff}.sba-flow-group>summary::-webkit-details-marker{display:none}.sba-flow-group>summary:before{content:'▸';color:#a45b94;margin-right:11px;font-size:13px}.sba-flow-group[open]>summary:before{content:'▾'}.sba-flow-group>summary small{font:400 11px Poppins,sans-serif;color:var(--muted)}
.sba-flow-service{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:6px 10px;padding:14px 15px;border:1px solid #f0e1e9;border-radius:11px;background:#fdfaf9}.sba-flow-service.is-selected{border-color:#9a3784;background:#fcf4fa}.sba-flow-service-copy{min-width:0;flex:1}.sba-flow-service-copy h4{font-size:12px;font-weight:600;margin:0 0 4px;color:var(--ink)}.sba-flow-service-copy p{font-size:11px;color:#87757d;line-height:1.6;margin:0 0 5px}.sba-flow-service-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:11px;color:#6b6068}.sba-flow-service-meta strong{font-size:14px;color:#671750}.sba-flow-old{text-decoration:line-through;color:#a39aa1}
.sba-flow-pick{width:34px;height:34px;display:grid;place-items:center;flex:none;border:1px solid #963383;border-radius:50%;background:#963383;color:#fff;font:700 18px Poppins,sans-serif;cursor:pointer}.sba-flow-pick[aria-pressed="true"]{background:#fff;color:#963383}.sba-flow-bundle{background:linear-gradient(100deg,#fff7fb,#fff);border-color:#ead6e5}.sba-flow-bundle-badge{font-size:9px;font-weight:600;letter-spacing:.08em;border-radius:30px;padding:3px 7px;background:#f4e1ef;color:#8b2674;display:inline-block;margin-bottom:5px}.sba-flow-bundle .sba-flow-pick{border-radius:9px;font-size:11px;width:auto;padding:0 10px}
.sba-flow-empty,.sba-flow-error{padding:19px;color:#796671;border:1px dashed var(--line);border-radius:10px;line-height:1.7}.sba-flow-error{color:#9b1c36;border-color:#dfb5c5;background:#fff8fa}
.sba-flow-date-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.sba-flow-card{border:1px solid var(--line);border-radius:12px;padding:19px;background:white}.sba-flow-calendar-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.sba-flow-calendar-title h4{font:500 17px 'Playfair Display',serif;margin:0}.sba-flow-calendar-title button{border:1px solid var(--line);background:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer;color:var(--a)}
.sba-flow-calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.sba-flow-calgrid span{font:600 10px Poppins,sans-serif;text-align:center;color:#867581;padding:8px 0}.sba-flow-day{border:0;background:transparent;border-radius:100px;min-width:0;aspect-ratio:1;cursor:pointer;font:500 12px Poppins,sans-serif;color:#443441}.sba-flow-day:disabled{opacity:.22;cursor:not-allowed}.sba-flow-day.is-selected{color:white;background:var(--a)}.sba-flow-day:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--a)}
.sba-flow-timegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.sba-flow-time{border:1px solid var(--line);border-radius:8px;background:#fff;color:#68405e;padding:12px 4px;cursor:pointer;font:500 11px Poppins,sans-serif}.sba-flow-time[aria-pressed="true"]{background:var(--a);color:white;border-color:var(--a)}
.sba-flow-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sba-flow-field{display:flex;flex-direction:column;gap:6px;color:#5d4b58;font-weight:500;font-size:11px}.sba-flow-field.is-wide{grid-column:1/-1}.sba-flow-field input,.sba-flow-field textarea{width:100%;min-width:0;font:400 13px Poppins,sans-serif;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 13px}.sba-flow-field textarea{min-height:95px;resize:vertical}.sba-flow-policy{font-size:11px;display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin-top:13px}.sba-flow-policy input{margin-top:3px;accent-color:var(--a)}
.sba-flow-review{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff}.sba-flow-review section{border-bottom:1px solid var(--line);padding:13px 0}.sba-flow-review section:last-child{border:0}.sba-flow-review h4{font-size:11px;font-weight:700;color:#9b376e;margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em}.sba-flow-review p{font-size:13px;margin:0 0 5px;line-height:1.6}.sba-flow-review strong{color:#6d1350}
.sba-flow-inline-note{padding:11px 13px;background:#fff6fb;color:#824264;border:1px solid #efd7e7;border-radius:8px;font-size:11px;line-height:1.6;margin:12px 0}
.sba-anniversary-booking-flow .sba-flow-primary:focus-visible,.sba-anniversary-booking-flow button:focus-visible,.sba-anniversary-booking-flow a:focus-visible{outline:3px solid #ba7ea7;outline-offset:2px}
@media(max-width:930px){.sba-flow-layout{grid-template-columns:minmax(0,1fr) 235px;gap:12px}.sba-flow-date-grid{grid-template-columns:1fr}.sba-flow-summary{padding:14px}.sba-services .sba-appointment-section{padding:0 16px}}
@media(max-width:700px){.sba-services .sba-appointment-section{margin:22px auto 10px;padding:0 15px}.sba-flow-layout{display:flex;flex-direction:column}.sba-flow-main,.sba-flow-summary{width:100%}.sba-flow-summary{position:static}.sba-flow-stepper{gap:6px}.sba-flow-step{flex:0 0 auto;font-size:9px}.sba-flow-step b{width:23px;height:23px}.sba-flow-step:after{width:9px}.sba-flow-service{margin:5px 7px;padding:12px}.sba-flow-chips{flex-wrap:nowrap;overflow:auto;padding:3px 0 10px;scroll-snap-type:x proximity}.sba-flow-chip{flex:none;scroll-snap-align:start}.sba-flow-date-grid{grid-template-columns:1fr}.sba-flow-fields{grid-template-columns:1fr}.sba-flow-timegrid{grid-template-columns:repeat(3,1fr)}.sba-flow-summary-list{max-height:135px;overflow-y:auto}.sba-flow-summary .sba-flow-primary{margin-top:8px}}
