.booking-flow{--bf-ink:#242421;--bf-line:#dedbd4;--bf-paper:#fff;--bf-soft:#f6f4ef;padding:32px!important;color:var(--bf-ink);min-width:0}
.bf-visit-time{font-size:12px;line-height:1.6;padding:12px 0 0;color:#645e50}.bf-visit-time[hidden]{display:none!important}
body.booking-in-view .callback-fab{display:none!important}body:has(.booking-flow)>.sabsus-consent-manage{position:static!important;display:block!important;margin:16px auto!important}
.booking-flow .booking-slots:has(input:checked) .artist-slot-group:not(:has(input:checked)){display:none}
.booking-flow>.booking-steps,.booking-flow>h2,.booking-flow>.booking-deposit-policy{display:none!important}
/* Apply the final booking shell geometry at first paint, before the deferred flow initializes. */
.booking-shell:has(> .booking-form){display:block!important;max-width:1240px;margin-inline:auto}.booking-shell:has(> .booking-form)>.booking-copy{display:none!important}
.bf-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:40px;align-items:start;scroll-margin-top:100px}.bf-main,.bf-pane{min-width:0}.bf-title{font-family:inherit!important;font-size:32px!important;line-height:1.15!important;margin:0 0 8px!important;letter-spacing:-.6px!important}.bf-intro{font-size:15px;line-height:1.5;color:#69675f;margin:0 0 24px}
.bf-steps{display:flex;gap:8px;border-bottom:1px solid var(--bf-line);margin-bottom:24px;padding-bottom:14px}.bf-step{border:0!important;background:none!important;padding:8px 3px!important;color:#77746d!important;font:500 13px/1.4 inherit;cursor:pointer;flex:1;text-align:left;white-space:normal}.bf-step[aria-current=step]{color:#242421!important;font-weight:750}.bf-step:disabled{opacity:.55;cursor:default}
.bf-section-title{font-family:inherit!important;font-size:22px!important;margin:0 0 8px!important;line-height:1.25}.bf-hint{font-size:14px!important;line-height:1.55!important;color:#6d6a62;margin:0 0 20px!important}.bf-search{width:100%;min-height:46px!important;border:1px solid var(--bf-line)!important;padding:12px 15px!important;background:#fff!important;border-radius:8px!important;margin:0 0 14px;font:inherit!important}
.bf-categories{display:flex;gap:7px;overflow-x:auto;padding:2px 0 12px;margin-bottom:5px;scrollbar-width:thin}.bf-category{font-size:13px!important;line-height:1.2!important;padding:11px 14px!important;border:1px solid var(--bf-line)!important;border-radius:24px!important;white-space:nowrap;background:#fff!important;color:#4b4943;cursor:pointer}.bf-category[aria-pressed=true]{background:#242421!important;color:#fff!important;border-color:#242421!important}
.bf-service-list{display:grid;grid-template-columns:1fr;gap:9px;max-height:530px;overflow:auto;padding:1px 4px 6px 1px}.bf-service{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--bf-line);border-radius:10px;background:#fff;min-width:0}.bf-service[data-selected=true]{border-color:#343a2e;background:#f4f6ef}.bf-service-copy{display:grid;gap:6px;flex:1;min-width:0}.bf-service-copy strong{font-size:15px;line-height:1.4;font-weight:600}.bf-service-meta{font-size:13px;color:#757268;line-height:1.3}.bf-add{width:36px;height:36px;min-width:36px;border:1px solid var(--bf-line)!important;border-radius:50%!important;background:#fff!important;color:#242421!important;font-size:23px!important;line-height:1!important;cursor:pointer;padding:0!important}.bf-add[aria-pressed=true]{background:#30372b!important;color:white!important}.bf-add:disabled{opacity:.4}
.bf-summary{position:sticky;top:100px;background:var(--bf-soft);padding:22px;border-radius:12px;border:1px solid #ece8df;min-width:0}.bf-summary>h3{font-family:inherit!important;font-size:18px!important;line-height:1.3!important;margin:0 0 14px!important}.bf-selected-row{display:flex;gap:8px;border-bottom:1px solid var(--bf-line);padding:13px 0}.bf-selected-copy{display:grid;gap:6px;flex:1;min-width:0}.bf-selected-copy strong{font-size:14px;line-height:1.35}.bf-selected-copy small{font-size:12px;line-height:1.4;color:#747166}.bf-selected-copy .bf-selected-time{color:#30372b;font-weight:650}.bf-remove{align-self:start;border:0!important;background:none!important;font-size:24px!important;line-height:1!important;padding:2px 3px!important;color:#656157!important;cursor:pointer}.bf-total{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:14px}.bf-total strong{font-size:20px}.bf-fine{font-size:12px!important;line-height:1.6!important;color:#787469;margin:12px 0 0!important}.bf-empty-cart,.bf-empty{font-size:14px;line-height:1.6;color:#858075}
.bf-footer{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fffefb;border-top:1px solid var(--bf-line);margin:24px -4px -10px;padding:16px 4px;box-shadow:0 -10px 18px #fffefbdb}.bf-footer-info{font-size:14px;font-weight:600;flex:1}.bf-next{background:#242421!important;color:#fff!important;border:1px solid #242421!important;border-radius:7px!important;padding:15px 24px!important;font-size:14px!important;line-height:1.3!important;text-transform:none!important;letter-spacing:0!important;font-weight:600;cursor:pointer}.bf-next:disabled{opacity:.4;cursor:default}.bf-back{background:none!important;border:0!important;color:#57534a!important;font-size:13px!important;padding:12px 2px!important;cursor:pointer}.bf-next-tip{width:100%;font-size:12px!important;line-height:1.5!important;color:#7e786b;margin:0!important}.bf-pane[hidden],.bf-footer [hidden]{display:none!important}.bf-primary-title{font-size:14px!important;font-weight:650;line-height:1.5;margin:14px 0!important;background:var(--bf-soft);padding:12px;border-radius:6px}
.booking-flow [data-primary-chooser]>.booking-fields:first-child,.booking-flow [data-primary-keep],.booking-flow [data-booking-summary],.booking-flow .basket-header,.booking-flow .basket-caption,.booking-flow [data-basket-when],.booking-flow [data-basket-total],.booking-flow [data-basket-status],.booking-flow [data-basket-expand],.booking-flow [data-basket-add-panel],.booking-flow .basket-service-row:first-child,.booking-flow .basket-service-end .basket-remove{display:none!important}
.booking-flow .booking-followup-fields{grid-template-columns:1fr 1fr;gap:14px}.booking-flow .booking-availability-calendar{padding:14px!important;margin-top:14px!important}.booking-flow .artist-slot-group{margin-top:12px}.booking-flow .artist-slot-grid{max-height:210px;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr))!important}.booking-flow .slot-choice{min-height:42px!important}.booking-flow .booking-slots{margin-top:12px!important}.booking-flow .booking-basket{border:0!important;padding:0!important;margin:24px 0 0!important}.booking-flow .basket-service-row{border:1px solid var(--bf-line);border-radius:9px;padding:16px;grid-template-columns:minmax(0,1fr) auto!important;align-items:start;margin-top:12px}.booking-flow .basket-service-row>img{display:none}.booking-flow .basket-service-copy{min-width:0}.booking-flow .basket-extra-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.booking-flow .basket-extra-details label{font-size:12px;min-width:0}.booking-flow .basket-extra-details select{width:100%;min-height:44px;font-size:13px!important;padding:10px;border:1px solid var(--bf-line);border-radius:6px;background:#fff}.booking-flow .basket-service-end{font-size:14px}.booking-flow .basket-service-copy>small{font-size:12px;line-height:1.4}
.booking-flow [data-contact-fields]>.eyebrow{display:none}.booking-flow .booking-fields{gap:14px}.booking-flow .booking-fields input,.booking-flow textarea{border-radius:7px!important;min-height:46px!important;background:#fff!important}.booking-flow .booking-sms-consent{font-size:12px!important;line-height:1.55!important}.booking-flow .booking-payment-disclaimer{font-size:12px!important;line-height:1.65!important;background:#f6f4ef;padding:14px;border:0!important;border-radius:7px}.booking-flow .booking-payment{border:1px solid var(--bf-line)!important;border-radius:10px!important;padding:18px!important}.booking-flow .payment-card-default{min-height:44px!important}.booking-flow [data-confirm-booking]{border-radius:7px!important;font-size:15px!important;letter-spacing:0!important;text-transform:none!important;min-height:52px!important;width:100%}.bf-notes{border-block:1px solid var(--bf-line);padding:13px 0;margin:16px 0;font-size:13px}.bf-notes summary{cursor:pointer}.bf-notes .eyebrow{display:none}.bf-notes textarea{width:100%}.booking-flow[data-flow-step="1"]>[data-booking-status]{display:none!important}
@media(max-width:900px){.booking-flow{padding:22px!important}.bf-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.bf-steps{gap:4px}.bf-step{font-size:12px!important}.bf-summary{padding:16px}}
@media(max-width:680px){.booking-flow{padding:20px 14px!important}.bf-layout{grid-template-columns:minmax(0,1fr);gap:22px;scroll-margin-top:75px}.bf-title{font-size:27px!important}.bf-intro{font-size:14px;margin-bottom:16px}.bf-section-title{font-size:20px!important}.bf-steps{margin-bottom:20px}.bf-step{font-size:11px!important;line-height:1.4!important}.bf-summary{position:static;padding:16px}.bf-service-list{max-height:430px}.bf-service{padding:13px}.bf-service-copy strong{font-size:14px}.bf-footer{gap:10px;padding:13px 0;margin-top:20px;bottom:0}.bf-footer-info{font-size:12px;min-width:120px}.bf-next{padding:13px 16px!important;font-size:13px!important}.booking-flow .booking-followup-fields{grid-template-columns:1fr!important}.booking-flow .artist-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.booking-flow .basket-extra-details{grid-template-columns:1fr}.booking-flow .basket-service-row{padding:12px;grid-template-columns:minmax(0,1fr)!important}.booking-flow .basket-service-end{order:-1;font-size:12px}.booking-flow .booking-sms-consent input{width:18px!important;min-width:18px!important;height:18px!important}.bf-primary-title{font-size:13px!important}.bf-service-meta{font-size:12px}}
/* Visible schedule loading and explicit add-another-service choice. */
.booking-flow[data-availability-pending="true"]>[data-booking-status]{display:none!important}
.booking-flow .bf-availability-loading{display:grid;grid-column:1/-1;grid-template-columns:36px minmax(0,1fr);gap:14px 16px;align-items:center;width:100%;padding:22px;background:#f5f3ed;border:1px solid #d8d1c4;border-radius:10px;box-sizing:border-box}
.bf-availability-loading strong{display:block;font-size:18px;line-height:1.35;color:#242421}.bf-availability-loading p{font-size:14px;line-height:1.5;color:#615b50;margin:7px 0 0}
.bf-loading-spinner{display:block;width:32px;height:32px;border:3px solid #d8d1c4;border-top-color:#363c2e;border-radius:50%;animation:bf-spin .85s linear infinite}
.bf-slot-skeleton{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.bf-slot-skeleton span{height:40px;background:linear-gradient(100deg,#e6e1d7 25%,#f8f6f0 45%,#e6e1d7 65%);background-size:240% 100%;border-radius:6px;animation:bf-shimmer 1.7s ease-in-out infinite}
.bf-next.bf-next-pending{opacity:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#4b4a43!important;border-color:#4b4a43!important}
.bf-next-pending:before{content:"";width:15px;height:15px;flex:none;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:bf-spin .85s linear infinite}
.bf-more-pane{padding:28px;background:#f6f4ef;border:1px solid #dedbd4;border-radius:12px;scroll-margin-top:110px}.bf-more-pane[hidden],.bf-footer[hidden],.bf-summary-add[hidden]{display:none!important}
.bf-more-kicker{display:block;color:#555d45;font-size:13px;font-weight:650;margin-bottom:12px}.bf-more-pane .bf-section-title{font-size:25px!important}.bf-more-pane .bf-hint{margin-bottom:24px!important}
.bf-more-add,.bf-more-done{display:block;width:100%;padding:17px 18px!important;border-radius:8px!important;font-size:15px!important;font-weight:650;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.bf-more-add{background:#30372b!important;border:1px solid #30372b!important;color:#fff!important}.bf-more-done{margin-top:12px;background:#fff!important;border:1px solid #b9b4aa!important;color:#242421!important}.bf-more-pane>.bf-back{display:block;margin:12px auto 0}
.bf-summary-add{margin-top:14px;background:none!important;border:1px dashed #aaa594!important;border-radius:6px!important;padding:10px!important;color:#343a2e!important;width:100%;font-size:13px!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
@keyframes bf-spin{to{transform:rotate(360deg)}}@keyframes bf-shimmer{to{background-position:-150% 0}}
@media(max-width:680px){.booking-flow .bf-availability-loading{padding:18px 14px;grid-template-columns:28px minmax(0,1fr);gap:12px}.bf-loading-spinner{width:25px;height:25px}.bf-availability-loading strong{font-size:16px}.bf-availability-loading p{font-size:13px}.bf-slot-skeleton{grid-template-columns:repeat(3,minmax(0,1fr))}.bf-more-pane{padding:20px 16px}.bf-more-pane .bf-section-title{font-size:22px!important}.bf-more-add,.bf-more-done{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){.bf-loading-spinner,.bf-next-pending:before,.bf-slot-skeleton span{animation:none}}

/* Reserve first-step space before the deferred multi-service UI replaces its initial markup. Visual-only: no booking data or events change. */
.booking-shell:has(> .booking-form) > .booking-form:not(.booking-flow) [data-booking-fields],
.booking-shell:has(> .booking-form) > .booking-form.booking-flow[data-flow-step="1"] [data-booking-fields]{min-height:850px}
@media(max-width:680px){
.booking-shell:has(> .booking-form) > .booking-form:not(.booking-flow) [data-booking-fields],
.booking-shell:has(> .booking-form) > .booking-form.booking-flow[data-flow-step="1"] [data-booking-fields]{min-height:1060px}
}

/* Keep the first step of the home booking wizard the same size before and after JS initialization.
   Mirrors the existing booking-shell CLS protection; no booking logic or selection changes. */
.home-direct .home-booking-form:not(.booking-flow) [data-booking-fields],
.home-direct .home-booking-form.booking-flow[data-flow-step="1"] [data-booking-fields]{min-height:850px}
@media(max-width:680px){
.home-direct .home-booking-form:not(.booking-flow) [data-booking-fields],
.home-direct .home-booking-form.booking-flow[data-flow-step="1"] [data-booking-fields]{min-height:1060px}
}

/* Progressive first paint: do not flash the legacy single-service inputs before the existing booking script renders its multi-service UI. If scripts fail, show original inputs automatically. */
.booking-shell:has(> .booking-form) > .booking-form:not(.booking-flow){position:relative}
.booking-shell:has(> .booking-form) > .booking-form:not(.booking-flow) [data-booking-fields]{visibility:hidden;animation:bb-booking-fallback 0s 3s forwards}
.booking-shell:has(> .booking-form) > .booking-form:not(.booking-flow):before{content:"Loading booking options…";display:block;position:absolute;left:24px;top:24px;font-size:15px;line-height:1.5;color:#69675f;pointer-events:none}
@keyframes bb-booking-fallback{to{visibility:visible}}

/* Backstage Beauty booking: sharp corners, photos, clear selection controls. */
.booking-flow button:not(.bf-back):not(.bf-remove),.booking-flow input,.booking-flow select,.booking-flow textarea,
.booking-flow .bf-search,.booking-flow .bf-category,.booking-flow .bf-service,.booking-flow .bf-add,
.booking-flow .bf-summary,.booking-flow .bf-footer,.booking-flow .bf-next,.booking-flow .bf-more-pane,
.booking-flow .bf-primary-title,.booking-flow .bf-summary-add,.booking-flow .bf-availability-loading,
.booking-flow .bf-slot-skeleton span,.booking-flow .booking-image-trigger,.booking-flow .booking-image-menu,
.booking-flow .basket-service-row,.booking-flow .booking-payment,.booking-flow .booking-availability-calendar,
.booking-flow .slot-choice,.booking-flow .amount-choice,.booking-flow .booking-payment-disclaimer{border-radius:0!important}
.booking-flow .bf-service-list{max-height:none;overflow:visible;display:grid;gap:0;border-top:1px solid var(--bf-line);padding:0}
.booking-flow .bf-service{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:106px;border:0;border-bottom:1px solid var(--bf-line);padding:12px;background:#fff!important}
.booking-flow .bf-service[data-selected=true]{background:#f6f5f0!important;box-shadow:inset 3px 0 #242421}
.booking-flow .bf-service-photo{display:block;width:86px;height:86px;object-fit:cover;background:#f1efea}
.booking-flow .bf-service-photo[hidden]{display:none}
.booking-flow .bf-add{width:auto;min-width:98px;height:44px;padding:9px 15px!important;font-size:13px!important;line-height:1.3!important;font-weight:700!important;color:#fff!important;background:#242421!important;border:1px solid #242421!important}
.booking-flow .bf-add[aria-pressed=true]{background:#fff!important;color:#242421!important}
.booking-flow .bf-category[aria-pressed=true]{border-color:#242421!important}
.booking-flow .bf-summary{background:#f8f7f4;border-color:#dedbd4}
@media(max-width:680px){
/* One horizontal row: photo | service information | Select/Unselect. */
.booking-flow .bf-service{
 grid-template-columns:58px minmax(0,1fr) 88px;
 gap:9px;
 align-items:center;
 padding:11px 2px;
 min-height:86px;
}
.booking-flow .bf-service-photo{width:58px;height:67px;object-fit:cover}
.booking-flow .bf-service-copy{min-width:0;overflow-wrap:anywhere;gap:4px}
.booking-flow .bf-service-copy strong{font-size:12.5px;line-height:1.3}
.booking-flow .bf-service-meta{font-size:11px;line-height:1.35}
.booking-flow .bf-service .bf-add{
 grid-column:3;
 grid-row:1;
 justify-self:end;
 align-self:center;
 width:88px;
 min-width:88px;
 height:40px;
 padding:8px 5px!important;
 font-size:11.5px!important;
 white-space:nowrap;
}
}


/* Category-first booking: instant photo directions, selected service review, opt-in recommendations. */
.booking-flow .bf-categories{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px!important;padding:0!important;margin:0 0 14px!important;overflow:visible!important}
.booking-flow .bf-category{display:flex!important;flex-direction:column;gap:0!important;align-items:stretch;min-width:0;min-height:130px;white-space:normal!important;text-align:left!important;padding:0!important;overflow:hidden;border:1px solid #d6d2cc!important;border-radius:0!important;background:#fff!important;color:#222!important}
.booking-flow .bf-category[hidden]{display:none!important}
.booking-flow .bf-category-photo{width:100%;height:92px;object-fit:cover;background:#e8e5df}
.booking-flow .bf-category-photo[hidden]{display:none!important}
.booking-flow .bf-category-name{display:flex;flex:1;align-items:center;padding:9px 10px;font-size:13px;font-weight:700;line-height:1.3;white-space:normal}
.booking-flow .bf-category[aria-pressed=true]{border-color:#222!important;background:#222!important;color:#fff!important}
.booking-flow .bf-category:focus-visible{outline:3px solid #222;outline-offset:2px}
.booking-flow .bf-search{margin:0 0 15px!important}
.booking-flow .bf-catalog-title{font-size:18px;font-weight:750;margin:8px 0 12px;scroll-margin-top:110px}
.booking-flow .bf-catalog-title[hidden],.booking-flow .bf-service-list[hidden]{display:none!important}
.booking-flow .bf-selection-title{font-size:14px;margin:0 0 8px!important}
.booking-flow .bf-current-selection{padding:12px;margin:0 0 16px;border:1px solid #d6d2cc;background:#f8f7f5}
.booking-flow .bf-current-selection[hidden]{display:none!important}
.booking-flow .bf-selection-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #ddd9d2}
.booking-flow .bf-selection-name{font-size:13px;font-weight:650;line-height:1.45}
.booking-flow .bf-selection-remove{width:30px;min-width:30px;min-height:30px;font-size:20px!important;border:0!important;background:transparent!important;color:#333!important;padding:0!important;cursor:pointer}
.booking-flow .bf-more-category{display:inline-flex;align-items:center;border:1px solid #aaa49a!important;background:#fff!important;color:#252525!important;padding:7px 10px!important;margin:10px 8px 0 0!important;font-size:12px!important;font-weight:650!important}
.booking-flow .bf-selection-next{margin:10px 0 0;color:#655f56;font-size:12px;line-height:1.5}
.booking-flow .bf-title{margin-bottom:5px!important}
.booking-flow .bf-intro{margin-bottom:17px}
.booking-flow .bf-upsell-backdrop{position:fixed;z-index:999;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(18,18,18,.66);overflow-y:auto}
.booking-flow .bf-upsell-backdrop[hidden]{display:none!important}
.booking-flow .bf-upsell-panel{width:min(100%,460px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #2b2b2b;padding:22px;background:#fff;color:#1b1b1b;box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:0!important}
.booking-flow .bf-upsell-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:750;margin:0 0 8px}
.booking-flow .bf-upsell-title{font-size:23px!important;line-height:1.2!important;margin:0 0 10px!important;font-weight:700!important}
.booking-flow .bf-upsell-copy{font-size:14px;line-height:1.55;color:#59544d;margin:0 0 15px}
.booking-flow .bf-upsell-options{display:grid;gap:8px}
.booking-flow .bf-upsell-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px!important;min-height:52px;text-align:left;border:1px solid #222!important;background:#222!important;color:#fff!important;font-size:13px!important;line-height:1.35!important;font-weight:600;letter-spacing:0!important;text-transform:none!important}
.booking-flow .bf-upsell-option strong{flex:none}
.booking-flow .bf-upsell-decline{display:block;width:100%;padding:12px!important;margin-top:8px;border:1px solid #bbb!important;background:#fff!important;color:#222!important;font-size:13px!important;font-weight:650}
@media(max-width:760px){
 .booking-flow .bf-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
 .booking-flow .bf-category{flex-direction:row;min-height:87px}
 .booking-flow .bf-category-photo{width:70px;height:auto;min-height:85px;flex:none}
 .booking-flow .bf-category-name{font-size:12.5px;padding:9px;overflow-wrap:anywhere}
 .booking-flow .bf-intro{font-size:13px!important;line-height:1.4;margin-bottom:13px!important}
 .booking-flow .bf-steps{margin-bottom:17px;padding-bottom:11px}
 .booking-flow .bf-section-title{margin-bottom:12px!important}
 .booking-flow .bf-upsell-panel{padding:18px}
 .booking-flow .bf-upsell-title{font-size:20px!important}
}

/* Required native modifier option sets and price choices. */
.booking-flow .bf-selection-row{align-items:flex-start!important}
.booking-flow .bf-selection-info{display:grid;gap:7px;min-width:0;flex:1}
.booking-flow .bf-modifier-label{display:grid;gap:6px;min-width:0;margin:5px 0 7px}
.booking-flow .bf-modifier-name{font-size:12px;font-weight:700;line-height:1.4}
.booking-flow .bf-modifier-select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 32px 10px 11px;border:1px solid #a9a49b;background:#fff;border-radius:0!important;color:#171717;font-size:13px}
.booking-flow .bf-modifier-select:focus-visible{outline:2px solid #222;outline-offset:2px}
.booking-flow .bf-selected-modifier{color:#5f594e}
@media(max-width:680px){.booking-flow .bf-selection-info{max-width:calc(100% - 34px)}.booking-flow .bf-modifier-select{min-height:48px;font-size:13px}}


/* Backstage Beauty square-edge mobile popup for native option sets. */
.booking-flow .bf-modifier-backdrop{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(18,18,18,.68)}
.booking-flow .bf-modifier-backdrop[hidden]{display:none!important}
.booking-flow .bf-modifier-panel{box-sizing:border-box;width:min(100%,510px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:20px;background:#fff;color:#1b1b1b;border:1px solid #222;border-radius:0!important;box-shadow:0 15px 40px rgba(0,0,0,.20)}
.booking-flow .bf-modifier-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.booking-flow .bf-modifier-title{font-size:23px!important;line-height:1.2!important;font-weight:700!important;margin:0!important}
.booking-flow .bf-modifier-close{width:38px;min-width:38px;height:38px;padding:0!important;font-size:24px!important;border:1px solid #aaa!important;background:#fff!important;color:#222!important}
.booking-flow .bf-modifier-service{margin:0 0 5px;font-size:15px;font-weight:650;line-height:1.4}
.booking-flow .bf-modifier-hint{margin:0 0 16px;font-size:12px;color:#666058;line-height:1.4}
.booking-flow .bf-modifier-groups{display:grid;gap:18px}
.booking-flow .bf-modifier-group-title{font-size:13px!important;font-weight:750!important;margin:0 0 9px!important;line-height:1.35!important}
.booking-flow .bf-modifier-options{display:grid;gap:8px}
.booking-flow .bf-modifier-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:57px;padding:12px!important;background:#fff!important;color:#222!important;border:1px solid #c6c1b9!important;text-align:left;font-size:13px!important;font-weight:600!important;line-height:1.35!important;text-transform:none!important;letter-spacing:normal!important;border-radius:0!important}
.booking-flow .bf-modifier-option[aria-pressed=true]{border:2px solid #222!important;background:#f2f0eb!important;padding:11px!important}
.booking-flow .bf-modifier-option-name{min-width:0;flex:1;overflow-wrap:anywhere}
.booking-flow .bf-modifier-option-price{white-space:nowrap}
.booking-flow .bf-modifier-footer{position:sticky;bottom:-20px;display:grid;gap:9px;padding:14px 0 0;margin-top:16px;border-top:1px solid #dedbd6;background:#fff}
.booking-flow .bf-modifier-total{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.booking-flow .bf-modifier-total strong{font-size:19px}
.booking-flow .bf-modifier-save{width:100%;min-height:52px;background:#222!important;color:#fff!important;border:1px solid #222!important;font-size:14px!important;font-weight:750!important}
.booking-flow .bf-modifier-save:disabled{opacity:.45}
.booking-flow .bf-modifier-cancel{min-height:42px;width:100%;background:#fff!important;color:#222!important;border:1px solid #bbb!important;font-size:13px!important}
.booking-flow .bf-modifier-summary{display:grid;gap:3px;font-size:12px;color:#5a544a;line-height:1.5}
.booking-flow .bf-modifier-required{color:#814526;font-weight:700}
.booking-flow .bf-modifier-edit{justify-self:start;min-height:41px;padding:9px 14px!important;border:1px solid #222!important;background:#fff!important;color:#222!important;font-size:12px!important;font-weight:700!important}
.booking-flow .bf-modifier-edit,.booking-flow .bf-modifier-close,.booking-flow .bf-modifier-option,.booking-flow .bf-modifier-save,.booking-flow .bf-modifier-cancel{border-radius:0!important}
@media(max-width:680px){.booking-flow .bf-modifier-backdrop{align-items:flex-end;padding:0}.booking-flow .bf-modifier-panel{width:100%;max-height:87dvh;padding:18px 16px 20px;border-left:0;border-right:0;border-bottom:0}.booking-flow .bf-modifier-title{font-size:20px!important}}

/* Payment choices and tip appear first; policies and optional SMS stay beside Pay. */
.booking-flow .booking-final-notices{display:grid;gap:10px;margin:16px 0 8px}
.booking-flow .booking-final-notices .booking-sms-consent{margin:0!important;padding:12px!important;line-height:1.5!important;font-size:12px!important}
.booking-flow .booking-final-notices .booking-payment-disclaimer{margin:0!important;padding:12px!important;line-height:1.5!important;font-size:12px!important}
.booking-flow .booking-final-notices a{text-decoration:underline;text-underline-offset:2px}
.booking-flow .booking-payment .payment-fee-preview[hidden]{display:none!important}
@media(max-width:680px){.booking-flow .booking-final-notices{gap:8px;margin:11px 0 6px}}
