.bswb{--bswb-accent:#a7b5a5;--bswb-ink:#647786;--bswb-dark:#354247;--bswb-pale:#e7eeeb;--bswb-line:#dbe2e3;--bswb-white:#fff;color:var(--bswb-dark);font-family:inherit;max-width:1500px;margin:45px auto;padding:0 24px;box-sizing:border-box}.bswb *{box-sizing:border-box}.bswb h2,.bswb h3{font-weight:400;letter-spacing:.025em;color:var(--bswb-dark)}.bswb h2{font-size:30px;margin:0 0 8px;text-transform:uppercase}.bswb h3{font-size:19px}.bswb-progress{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 32px;border-top:1px solid var(--bswb-line)}.bswb-progress span{padding:14px 8px 0;border-top:3px solid transparent;margin-top:-2px;color:#9aa5aa;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.bswb-progress .is-active{border-color:var(--bswb-accent);color:var(--bswb-dark)}.bswb-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:34px;align-items:start}.bswb-main{display:grid;gap:24px}.bswb-panel,.bswb-summary{background:#fff;border:1px solid var(--bswb-line);padding:28px}.bswb-lead{margin-top:0;color:var(--bswb-ink)}.bswb-category{margin-top:28px}.bswb-category>h3{padding:12px 16px;margin:0;background:var(--bswb-pale);color:var(--bswb-ink);text-transform:uppercase;letter-spacing:.06em}.bswb-service{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 13px;border-bottom:1px solid var(--bswb-line);cursor:pointer;transition:.2s}.bswb-service:hover{background:#fafcfb}.bswb-service:has(input:checked){background:color-mix(in srgb,var(--bswb-accent) 13%,white)}.bswb-service input{width:19px;height:19px;accent-color:var(--bswb-accent)}.bswb-service strong{display:block;font-size:16px;font-weight:500}.bswb-service small{display:block;margin-top:5px;color:var(--bswb-ink);font-size:13px}.bswb-service b{font-weight:500;color:var(--bswb-dark)}.bswb-select-label,.bswb-date-row label{display:grid;gap:8px;color:var(--bswb-ink);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.bswb select,.bswb input{width:100%;min-height:48px;border:1px solid #9aa9b1!important;border-radius:0!important;background:#fff;padding:10px 13px;color:var(--bswb-dark);font:inherit}.bswb-date-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.bswb button,.bswb .button{border:1px solid var(--bswb-ink)!important;border-radius:0!important;background:var(--bswb-ink)!important;color:#fff!important;padding:14px 22px!important;min-height:48px;text-transform:uppercase;letter-spacing:.05em;font:inherit;cursor:pointer;transition:.2s;text-decoration:none!important}.bswb button:hover,.bswb .button:hover{background:var(--bswb-dark)!important}.bswb .bswb-secondary{background:#fff!important;color:var(--bswb-dark)!important}.bswb .bswb-secondary:hover{background:var(--bswb-pale)!important}.bswb-times{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:9px;margin-top:22px}.bswb-times p{grid-column:1/-1;color:var(--bswb-ink)}.bswb-time{background:#fff!important;color:var(--bswb-dark)!important;border-color:var(--bswb-line)!important;padding:11px 8px!important;min-height:44px!important}.bswb-time.is-selected{background:var(--bswb-accent)!important;color:#fff!important;border-color:var(--bswb-accent)!important}.bswb-summary{position:sticky;top:24px;border-top:5px solid var(--bswb-accent);box-shadow:0 12px 36px rgba(53,66,71,.08)}.bswb-summary h2{font-size:25px}.bswb-summary-item{padding:13px 0;border-bottom:1px solid var(--bswb-line);display:flex;justify-content:space-between;gap:18px}.bswb-summary-item small{display:block;color:var(--bswb-ink);margin-top:3px}.bswb-summary dl{margin:18px 0}.bswb-summary dl div{display:flex;justify-content:space-between;padding:5px 0}.bswb-summary dt,.bswb-summary dd{margin:0}.bswb-summary dd{font-weight:600}.bswb-choice{padding:14px 0;color:var(--bswb-ink)}#bswb-checkout{width:100%;background:var(--bswb-accent)!important;border-color:var(--bswb-accent)!important}#bswb-checkout:disabled{opacity:.45;cursor:not-allowed}.bswb-secure{text-align:center;color:#8d999e;font-size:12px}.bswb-waitlist{grid-column:1/-1;margin-top:20px;padding:22px;background:var(--bswb-pale)}.bswb-waitlist h3{margin-top:0}.bswb-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.bswb-form-message{margin-left:12px}.bswb-loading{opacity:.65;pointer-events:none}.bswb-manage{max-width:900px}.bswb-manage hr{border:0;border-top:1px solid var(--bswb-line);margin:28px 0}.bswb-cancel{background:#fff!important;color:#9c4b4b!important;border-color:#bd7777!important}
.bswb-staff-pictures{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.bswb .bswb-staff-card{display:grid;justify-items:center;gap:7px;width:112px;min-height:128px;padding:12px!important;background:#fff!important;color:var(--bswb-dark)!important;border:1px solid var(--bswb-line)!important;text-transform:none;letter-spacing:0}.bswb .bswb-staff-card:hover,.bswb .bswb-staff-card.is-selected{background:var(--bswb-pale)!important;border-color:var(--bswb-accent)!important}.bswb-staff-card img,.bswb-staff-placeholder{width:68px;height:68px;border-radius:50%;object-fit:cover}.bswb-staff-placeholder{display:grid;place-items:center;background:var(--bswb-pale);color:var(--bswb-ink);font-size:16px}.bswb-staff-card strong{font-weight:500;text-align:center}
.bswb-calendar{max-width:620px;margin:24px 0 28px;border:1px solid var(--bswb-line);background:#fff;padding:18px}.bswb-calendar-nav{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;margin-bottom:15px}.bswb-calendar-nav strong{text-align:center;font-size:20px;font-weight:500}.bswb .bswb-calendar-nav button{width:42px;height:42px;min-height:42px;padding:0!important;background:#fff!important;color:var(--bswb-dark)!important;border:1px solid var(--bswb-line)!important;font-size:28px;line-height:1}.bswb .bswb-calendar-nav button:hover{background:var(--bswb-pale)!important}.bswb .bswb-calendar-nav button:disabled{opacity:.25;cursor:not-allowed}.bswb-calendar-weekdays,.bswb-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.bswb-calendar-weekdays span{text-align:center;padding:5px 0 8px;color:var(--bswb-ink);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.bswb-calendar-empty{min-height:46px}.bswb .bswb-calendar-days button{min-height:46px;padding:7px!important;background:#fff!important;color:var(--bswb-dark)!important;border:1px solid transparent!important;text-transform:none;letter-spacing:0}.bswb .bswb-calendar-days button:hover:not(:disabled){background:var(--bswb-pale)!important;border-color:var(--bswb-accent)!important}.bswb .bswb-calendar-days button.is-today{border-color:var(--bswb-ink)!important}.bswb .bswb-calendar-days button.is-selected{background:var(--bswb-accent)!important;color:#fff!important;border-color:var(--bswb-accent)!important}.bswb .bswb-calendar-days button:disabled{background:#f6f7f7!important;color:#b9c1c4!important;cursor:not-allowed}.bswb-selected-date{text-align:center;margin:15px 0 0;color:var(--bswb-ink);font-weight:500}.bswb-times-heading{margin:0 0 5px!important;font-size:19px!important}.bswb-times{margin-top:12px}
@media(max-width:980px){.bswb-layout{grid-template-columns:1fr}.bswb-summary{position:static;order:-1}.bswb-times{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.bswb{padding:0 14px;margin:25px auto}.bswb-progress{grid-template-columns:repeat(2,1fr);gap:8px}.bswb-panel,.bswb-summary{padding:20px}.bswb h2{font-size:23px}.bswb-service{grid-template-columns:22px minmax(0,1fr);}.bswb-service>b{grid-column:2}.bswb-date-row,.bswb-form-grid{grid-template-columns:1fr}.bswb-times{grid-template-columns:repeat(3,1fr)}.bswb-calendar{padding:12px}.bswb-calendar-weekdays,.bswb-calendar-days{gap:3px}.bswb .bswb-calendar-days button{min-height:40px;padding:4px!important}.bswb-calendar-empty{min-height:40px}}

/* Version 1.4 step-by-step booking flow. */
.bswb-progress{grid-template-columns:repeat(6,1fr)}
.bswb-progress button,.bswb-progress span{display:block;width:100%;min-height:auto!important;margin-top:-2px!important;padding:14px 8px 0!important;border:0!important;border-top:3px solid transparent!important;background:transparent!important;color:#9aa5aa!important;text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.08em;cursor:default}
.bswb-progress button:not(:disabled){cursor:pointer}
.bswb-progress button.is-active,.bswb-progress button.is-complete{border-top-color:var(--bswb-accent)!important;color:var(--bswb-dark)!important}
.bswb-progress button:hover:not(:disabled){background:transparent!important;color:var(--bswb-dark)!important}
.bswb-layout{grid-template-columns:minmax(0,.78fr) 480px;gap:42px}
.bswb-step[hidden]{display:none!important}
.bswb-step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--bswb-line)}
.bswb-step-actions .bswb-secondary{margin-right:auto}
.bswb-step-actions button:disabled{opacity:.42;cursor:not-allowed}
.bswb-service{grid-template-columns:24px 58px minmax(0,1fr) auto}
.bswb-service>img{width:58px;height:58px;object-fit:contain;border:1px solid var(--bswb-line);background:#fff;padding:3px}
.bswb-summary{padding:36px}
.bswb-summary h2{font-size:30px}
.bswb-summary-item{padding:18px 0;font-size:17px}
.bswb-summary-item small{font-size:14px}
.bswb-summary dl{font-size:17px}
.bswb-summary dl div{padding:8px 0}
.bswb-choice{font-size:17px;line-height:1.7}
.bswb-choice-professional{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--bswb-line)}
.bswb-choice-professional img,.bswb-choice-professional>span{width:58px;height:58px;flex:0 0 58px;border-radius:50%;object-fit:cover}
.bswb-choice-professional>span{display:grid;place-items:center;background:var(--bswb-pale);color:var(--bswb-ink);font-weight:600}
.bswb-choice-professional small,.bswb-choice-professional strong{display:block}.bswb-choice-professional small{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.bswb-choice-time{display:flex;justify-content:space-between;gap:18px;padding-top:15px}
.bswb-summary-help{margin:24px 0 0;color:var(--bswb-ink);font-size:14px;line-height:1.6}
.bswb #bswb-summary-action{width:100%;margin-top:18px;background:var(--bswb-ink)!important;border-color:var(--bswb-ink)!important}
.bswb #bswb-summary-action:disabled{opacity:.42;cursor:not-allowed}
.bswb-confirm-treatment{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--bswb-line)}
.bswb-confirm-treatment img{width:84px;height:84px;object-fit:contain;border:1px solid var(--bswb-line);background:#fff;padding:4px}
.bswb-confirm-treatment strong,.bswb-confirm-treatment small{display:block}
.bswb-confirm-treatment strong{font-size:18px}
.bswb-confirm-treatment small{margin-top:6px;color:var(--bswb-ink)}
.bswb-confirm-treatment>b{font-size:18px}
.bswb-confirm-professional{display:flex;align-items:center;gap:16px;margin:22px 0 4px;padding:18px;background:var(--bswb-pale)}
.bswb-confirm-professional small,.bswb-confirm-professional strong{display:block}.bswb-confirm-professional small{color:var(--bswb-ink);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.bswb-confirm-professional strong{font-size:18px;margin-top:3px}
.bswb-confirm-staff-photo{width:66px;height:66px;flex:0 0 66px;border-radius:50%;object-fit:cover}.bswb-confirm-staff-placeholder{display:grid;place-items:center;background:#fff;color:var(--bswb-ink);font-weight:600}
.bswb-confirm dl{margin:24px 0 0}
.bswb-confirm dl div{display:flex;justify-content:space-between;gap:24px;padding:11px 0;border-bottom:1px solid var(--bswb-line);font-size:17px}
.bswb-confirm dt,.bswb-confirm dd{margin:0}
.bswb-confirm dd{font-weight:600;text-align:right}
.bswb-confirm .bswb-confirm-total{padding-top:18px;font-size:22px;border-bottom:0}
.bswb-cancellation-policy{margin-top:28px;padding:24px;border:1px solid var(--bswb-line);border-left:5px solid var(--bswb-accent);background:var(--bswb-pale)}
.bswb-payment-choice{margin:28px 0 0;padding:22px;border:1px solid var(--bswb-line);background:#fff}.bswb-payment-choice[hidden]{display:none!important}.bswb-payment-choice legend{padding:0 8px;font-size:20px;font-weight:700;color:var(--bswb-dark)}.bswb-payment-choice label{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--bswb-line);margin:10px 0;cursor:pointer}.bswb-payment-choice label:has(input:checked){border-color:var(--bswb-accent);background:var(--bswb-pale)}.bswb .bswb-payment-choice input{width:20px!important;min-width:20px;min-height:20px!important;margin:2px 0 0;padding:0;accent-color:var(--bswb-accent)}.bswb-payment-choice strong,.bswb-payment-choice small{display:block}.bswb-payment-choice small{margin-top:4px;color:var(--bswb-ink)}.bswb-payment-choice>p{margin:12px 0 0;color:var(--bswb-ink);font-size:13px}
.bswb-cancellation-policy h3{margin:0 0 12px;font-size:21px!important;text-transform:uppercase;letter-spacing:.04em}
.bswb-cancellation-policy p{margin:0 0 13px;color:var(--bswb-dark);line-height:1.65}
.bswb-policy-agreement{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding-top:17px;border-top:1px solid var(--bswb-line);font-weight:600;cursor:pointer}
.bswb .bswb-policy-agreement input{width:20px!important;min-width:20px;min-height:20px!important;margin:2px 0 0;padding:0;accent-color:var(--bswb-accent)}
.bswb-policy-agreement span{line-height:1.45}
#bswb-checkout{width:auto}
.bswb-category{margin-top:14px;border:1px solid var(--bswb-line)}
.bswb-category>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;gap:14px;align-items:center;padding:15px 16px;background:var(--bswb-pale);color:var(--bswb-ink);cursor:pointer;list-style:none}
.bswb-category>summary::-webkit-details-marker{display:none}
.bswb-category-title{text-transform:uppercase;letter-spacing:.06em;font-size:18px}
.bswb-category-count{font-size:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.bswb-category-toggle{position:relative;width:18px;height:18px}
.bswb-category-toggle:before,.bswb-category-toggle:after{content:"";position:absolute;left:2px;top:8px;width:14px;height:2px;background:currentColor;transition:transform .2s}
.bswb-category-toggle:after{transform:rotate(90deg)}
.bswb-category[open] .bswb-category-toggle:after{transform:rotate(0)}
.bswb-category[open]>summary{border-bottom:1px solid var(--bswb-line)}
.bswb-service>b{font-size:20px;font-weight:700;color:var(--bswb-dark)}
.bswb-service strong{font-weight:700}
.bswb .woocommerce-price-suffix{display:none!important}
.woocommerce img.bswb-treatment-logo,.woocommerce-cart-form img.bswb-treatment-logo,.woocommerce-checkout img.bswb-treatment-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;aspect-ratio:1/1;object-fit:contain!important;object-position:center;background:#fff;padding:4px;border:1px solid #dbe2e3;box-sizing:border-box}
.bswb-summary-item>span{font-weight:700}.bswb-summary-item>span small{font-weight:400}
.bswb-demo-notice{margin:0 0 22px;padding:13px 16px;background:#fff4cc;border-left:5px solid #dba617;color:#4f431d}
@media(max-width:1100px){.bswb-layout{grid-template-columns:minmax(0,1fr) 400px;gap:24px}.bswb-summary{padding:28px}}
@media(max-width:980px){.bswb-progress{grid-template-columns:repeat(6,minmax(100px,1fr));overflow-x:auto}.bswb-layout{grid-template-columns:1fr}.bswb-main{order:0}.bswb-summary{position:static;order:1}}
@media(max-width:600px){
 .bswb{margin:20px auto;padding:0 10px 92px}
 .bswb-progress{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;overflow:visible;margin-bottom:18px}
 .bswb-progress button,.bswb-progress span{min-width:0!important;min-height:58px!important;padding:10px 3px 5px!important;font-size:10px!important;line-height:1.3;letter-spacing:.025em;white-space:normal;text-align:center}
 .bswb-panel,.bswb-summary{padding:20px 16px}
 .bswb h2{font-size:24px}
 .bswb-lead{font-size:15px}
 .bswb-category{margin-top:10px}
 .bswb-category>summary{grid-template-columns:minmax(0,1fr) 20px;padding:12px 13px;min-height:56px}
 .bswb-category-count{display:none}
 .bswb-category-title{font-size:15px;line-height:1.3}
 .bswb-service{position:relative;grid-template-columns:22px 46px minmax(0,1fr);gap:10px;padding:14px 10px 48px}
 .bswb-service>img{width:46px;height:46px}
 .bswb-service strong{font-size:16px;line-height:1.35}
 .bswb-service small{font-size:13px}
 .bswb-service>b{position:absolute;left:88px;bottom:13px;grid-column:auto;font-size:18px;line-height:1}
 .bswb-step-actions{flex-wrap:wrap;margin-top:20px;padding-top:16px}
 .bswb-step-actions button{width:100%}
 .bswb-step-actions .bswb-secondary{margin-right:0}
 .bswb-step-actions button:not(.bswb-secondary){display:none}
 .bswb-step-actions:not(:has(.bswb-secondary)){display:none}
 .bswb #bswb-summary-action{position:fixed;z-index:99999;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;margin:0;box-shadow:0 7px 24px rgba(30,43,49,.28)}
 .bswb-confirm-treatment{grid-template-columns:64px minmax(0,1fr)}
 .bswb-confirm-treatment img{width:64px;height:64px}
 .bswb-confirm-treatment>b{grid-column:2}
 .bswb-cancellation-policy{padding:18px}
}

/* Consultation is a dedicated booking step, completed before WooCommerce checkout. */
.bswb-consultation-step{border-top:5px solid var(--bswb-accent)}
.bswb-consultation-loading,.bswb-consultation-error,.bswb-consultation-none{padding:22px;border:1px solid var(--bswb-line);background:var(--bswb-pale)}
.bswb-consultation-none p,.bswb-consultation-loading p{margin-bottom:0}
.bswb-booking-consultation{margin:22px 0;border:1px solid var(--bswb-line);background:#fff;box-shadow:0 10px 30px rgba(53,66,71,.06)}
.bswb-booking-consultation>header{padding:24px 26px 20px;border-top:5px solid var(--bswb-accent);border-bottom:1px solid var(--bswb-line)}
.bswb-booking-consultation>header span{display:block;margin-bottom:5px;color:var(--bswb-ink);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.bswb-booking-consultation>header h3{margin:0!important;font-size:25px!important}
.bswb-consultation-fields{padding:25px 26px 28px}
.bswb-consultation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.bswb-consultation-control{display:block;margin:0;color:var(--bswb-dark);font-size:15px;font-weight:600}
.bswb-consultation-control.is-wide{grid-column:1/-1}
.bswb-consultation-control>span{display:block;margin-bottom:8px}
.bswb-consultation-control b,.bswb-consultation-question legend b{color:#b42318}
.bswb .bswb-consultation-control input,.bswb .bswb-consultation-control textarea,.bswb .bswb-consultation-question textarea{display:block;width:100%!important;max-width:none!important;min-height:52px!important;margin:0!important;padding:13px 15px!important;border:1px solid #aab6bc!important;border-radius:3px!important;background:#fff!important;color:var(--bswb-dark)!important;font:inherit!important;box-shadow:none!important}
.bswb .bswb-consultation-control textarea,.bswb .bswb-consultation-question textarea{min-height:112px!important;resize:vertical}
.bswb .bswb-consultation-control input:focus,.bswb .bswb-consultation-control textarea:focus,.bswb .bswb-consultation-question textarea:focus{outline:3px solid color-mix(in srgb,var(--bswb-accent) 28%,transparent)!important;border-color:var(--bswb-ink)!important}
.bswb-consultation-policy{margin:0 0 24px;border:1px solid var(--bswb-line);background:var(--bswb-pale)}
.bswb-consultation-policy summary{padding:16px 18px;cursor:pointer;font-weight:700;color:var(--bswb-dark)}
.bswb-consultation-policy>div{padding:0 18px 19px;line-height:1.65;color:var(--bswb-dark)}
.bswb-consultation-questions{margin-top:26px;border-top:1px solid var(--bswb-line)}
.bswb-consultation-question{min-width:0;margin:0;padding:22px 0;border:0;border-bottom:1px solid var(--bswb-line)}
.bswb-consultation-question legend{display:block;width:100%;margin:0 0 11px;padding:0;font-size:15px;font-weight:700;line-height:1.55;color:var(--bswb-dark)}
.bswb-consultation-options{display:flex;flex-wrap:wrap;gap:10px}
.bswb-consultation-option{display:flex;align-items:center;gap:9px;min-width:110px;padding:12px 15px;border:1px solid var(--bswb-line);background:#fff;cursor:pointer}
.bswb-consultation-option:has(input:checked){border-color:var(--bswb-accent);background:var(--bswb-pale)}
.bswb .bswb-consultation-option input{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:0!important;padding:0!important;accent-color:var(--bswb-accent)}
.bswb-consultation-complete{margin:24px 26px;padding:18px 20px;border-left:5px solid #6d9964;background:#edf7e9;color:#2e6622}
.bswb-consultation-complete p{margin:5px 0 0}
.bswb-booking-consultation.is-complete .bswb-consultation-fields{display:none}
@media(max-width:700px){
 .bswb-consultation-grid{grid-template-columns:1fr;gap:15px}
 .bswb-consultation-control.is-wide{grid-column:auto}
 .bswb-booking-consultation>header,.bswb-consultation-fields{padding:19px 17px}
 .bswb-booking-consultation>header h3{font-size:21px!important}
 .bswb-consultation-complete{margin:17px;padding:15px}
 .bswb-consultation-options{display:grid;grid-template-columns:1fr}
 .bswb-consultation-option{width:100%}
}
