.sbb-booking{border:1px solid #ddd;padding:18px;border-radius:16px;max-width:100%;width:100%;box-sizing:border-box;background:#fff}
.sbb-booking h2{margin-top:0}
.sbb-step{margin:12px 0}
.sbb-step label{display:block;font-weight:600;margin-bottom:6px}
.sbb-booking input[type=checkbox],.sbb-booking input[type=radio]{width:auto;max-width:none;padding:0;border-radius:3px;border:1px solid #c3c4c7}
.sbb-booking select,.sbb-booking input,.sbb-booking textarea{width:100%;max-width:100%;padding:12px;border:1px solid #d7d7d7;border-radius:12px;box-sizing:border-box}
.sbb-booking input:focus,.sbb-booking textarea:focus,.sbb-booking select:focus{outline:2px solid rgba(0,0,0,0.06);border-color:var(--sbb-primary,#6b7280)}
.sbb-booking input[type=checkbox],.sbb-booking input[type=radio]{accent-color:var(--sbb-primary,#6b7280)}
.sbb-booking textarea{min-height:90px}
.sbb-booking .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:1px solid #d7d7d7;background:#fff;cursor:pointer;font-weight:600;line-height:1}
.sbb-booking .button:hover{border-color:#c8c8c8}
.sbb-booking .button.button-primary{background:var(--sbb-primary,#6b7280);border-color:var(--sbb-primary,#6b7280);color:#fff}
.sbb-booking .button.button-primary:hover{filter:brightness(0.95)}
.sbb-booking .button[disabled]{opacity:.5;cursor:not-allowed}
.sbb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sbb-button{padding:10px 14px;border:none;border-radius:8px;cursor:pointer}
.sbb-message{margin-top:10px}
.sbb-help{margin:6px 0 0 0;font-size:13px;opacity:.8}
.sbb-checkbox{display:flex;align-items:center;gap:8px}
@media(max-width:600px){.sbb-grid2{grid-template-columns:1fr}}


.sbb-services{display:flex;flex-direction:column;gap:12px;margin:10px 0 20px;}
.sbb-service{display:flex;gap:12px;align-items:flex-start;border:1px solid #ddd;border-radius:12px;padding:10px;background:#fff;cursor:pointer}
.sbb-service{align-items:stretch}
.sbb-service input{margin-top:2px}
.sbb-service-img img{width:64px;height:64px;object-fit:cover;border-radius:10px;display:block}
.sbb-service-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.sbb-service-title{font-size:14px;font-weight:700;margin:0}
.sbb-service-desc{font-size:13px;opacity:.85}
.sbb-service-price{font-weight:700;margin-top:4px}

/* Make service cards align nicely */
.sbb-service{padding:14px}
.sbb-service-check{margin:4px 10px 0 0}
.sbb-service-price{align-self:flex-end}

#sbb_calendar{border:1px solid #ddd;border-radius:12px;padding:12px;max-width:none;width:100%}
.sbb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sbb-cal-nav{border:1px solid #ddd;background:#fff;border-radius:10px;width:38px;height:34px;cursor:pointer}
.sbb-cal-title{font-weight:700;text-transform:capitalize}
.sbb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sbb-cal-dow{font-size:12px;font-weight:700;opacity:.7;text-align:center;padding:4px 0}
.sbb-cal-day{border:1px solid #e3e3e3;background:#fff;border-radius:10px;height:34px;cursor:pointer}
.sbb-cal-day.is-active{outline:2px solid var(--sbb-primary,#2271b1)}
.sbb-cal-day[disabled], .sbb-cal-day.is-disabled{opacity:.45;cursor:not-allowed;background:#f1f1f1}
.sbb-cal-empty{border:0;background:transparent}

.sbb-slots{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px;width:100%}
.sbb-slot{border:1px solid #ddd;background:#fff;border-radius:12px;padding:12px 10px;cursor:pointer;width:100%;text-align:center;font-weight:600}
.sbb-slot.is-active{outline:2px solid var(--sbb-primary,#6b7280);outline-offset:1px}
.sbb-slot[disabled]{opacity:.35;cursor:not-allowed}

.sbb-summary{border:1px solid #ddd;border-radius:12px;padding:12px;margin:14px 0}
.sbb-line{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.sbb-summary-totals > div{display:flex;justify-content:space-between;padding:4px 0}
.sbb-summary-total{border-top:1px solid #eee;margin-top:6px;padding-top:8px}
.sbb-small{font-size:12px;opacity:.8}

.sbb-payments{display:flex;flex-direction:column;gap:4px}
.sbb-pay{display:flex;gap:8px;align-items:center}

.sbb-msg{padding:10px 12px;border-radius:10px;margin:10px 0}
.sbb-msg-ok{background:#ecf7ed;border:1px solid #b7dfbb}
.sbb-msg-err{background:#fdeaea;border:1px solid #f3b0b0}


/* Wizard (Salonized-like) */
.sbb-wizard-steps{display:flex;gap:6px;margin:6px 0 14px;flex-wrap:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}
.sbb-wizard-steps::-webkit-scrollbar{display:none}
.sbb-wstep{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #ddd;border-radius:999px;font-size:12px;opacity:.7;white-space:nowrap;flex:0 0 auto}
.sbb-wstep span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid #ddd;font-weight:700}
.sbb-wstep.is-active{opacity:1;border-color:var(--sbb-primary,#6b7280)}
.sbb-wstep.is-active span{border-color:var(--sbb-primary,#6b7280);color:var(--sbb-primary,#6b7280)}
.sbb-wizard-title{font-size:20px;line-height:1.25;margin:8px 0 10px}
.sbb-section-title{color:var(--sbb-primary,#6b7280);margin-top:16px}
.sbb-cat{margin:12px 0}
.sbb-cat-title{margin:0 0 8px 0;color:var(--sbb-primary,#6b7280);font-size:16px}
.sbb-wizard-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}

/* Category filter buttons */
.sbb-cat-filters{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 14px}
.sbb-cat-btn{border:1px solid #ddd;background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:600}
.sbb-cat-btn.is-active{border-color:var(--sbb-primary,#6b7280);box-shadow:0 0 0 2px rgba(0,0,0,0.04)}

@media(max-width:600px){.sbb-wizard-actions{justify-content:stretch}.sbb-wizard-actions .button{width:100%}}

.sbb-service{justify-content:flex-start;}
.sbb-service input[type=checkbox]{margin:6px 12px 0 0;}


/* ---- UI micro-polish (Salonized-like) ---- */
.sbb-booking{padding:22px}
.sbb-wizard-title{font-size:22px;line-height:1.2;margin-bottom:14px}
.sbb-services{gap:14px}
.sbb-service{
  display:grid;
  grid-template-columns: 24px 72px 1fr auto;
  gap:12px;
  align-items:center;
  border-color:#e6e6e6;
  box-shadow:0 1px 0 rgba(0,0,0,0.02);
}
.sbb-service:hover{border-color:#d9d9d9}
.sbb-service-check{margin:0;justify-self:center}
.sbb-service-img{width:72px;height:72px;display:flex;align-items:center;justify-content:center}
.sbb-service-img img{width:72px;height:72px;border-radius:12px}
.sbb-service-body{gap:6px}
.sbb-service-title{font-size:15px}
.sbb-service-desc{font-size:13px}
.sbb-service-meta{font-size:12px;opacity:.75}
.sbb-service-price{font-size:16px;justify-self:end}
.sbb-wizard-actions .button{padding:12px 18px;border-radius:12px}
.sbb-wizard-actions{justify-content:space-between}
.sbb-wizard-actions .button.button-primary{box-shadow:0 1px 0 rgba(0,0,0,0.06)}
.sbb-payments label{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e6e6e6;border-radius:12px;margin:8px 0;cursor:pointer}
.sbb-payments input[type=radio]{margin:0}
.sbb-payments label:hover{border-color:#d9d9d9}
.sbb-payments label.is-active{border-color:var(--sbb-primary,#6b7280);box-shadow:0 0 0 2px rgba(0,0,0,0.03)}
@media (max-width: 640px){
  .sbb-service{grid-template-columns: 24px 1fr auto; }
  .sbb-service-img{display:none}
}


/* --- SBB UI polish (Salonized-like) --- */
.sbb-booking{max-width:100%;width:100%;box-sizing:border-box}
.sbb-wizard-title{font-size:28px;line-height:1.2;margin:0 0 14px;font-weight:800}
.sbb-cat-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.sbb-cat-btn{appearance:none;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer}
.sbb-cat-btn.is-active{border-color:var(--sbb-primary,#6b7280);color:var(--sbb-primary,#6b7280);box-shadow:0 0 0 2px rgba(0,0,0,0.03)}
.sbb-cat-title{font-size:14px;font-weight:800;margin:18px 0 10px;color:var(--sbb-primary,#6b7280)}
.sbb-services{display:flex;flex-direction:column;gap:10px}
.sbb-service{display:grid;grid-template-columns:24px 64px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,0.03)}
.sbb-service input[type=checkbox]{width:18px;height:18px;margin:0}
.sbb-service-img{width:64px;height:64px;border-radius:14px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center}
.sbb-service-img img{width:100%;height:100%;object-fit:cover;display:block}
.sbb-service-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.sbb-service-title{font-size:15px;font-weight:800;color:#111827}
.sbb-service-desc{font-size:13px;color:#4b5563;margin-top:2px}
.sbb-service-meta{font-size:12px;color:#6b7280;margin-top:3px}
.sbb-service-price{font-size:15px;font-weight:800;white-space:nowrap}
@media(max-width:640px){
  .sbb-service{grid-template-columns:24px 1fr auto}
  .sbb-service-img{display:none}
}
.sbb-wizard-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}
.sbb-wizard-actions .button{border-radius:14px;padding:12px 18px}
.sbb-wizard-actions .button.button-primary{box-shadow:0 8px 20px rgba(0,0,0,0.06)}
/* Time slots full width */
.sbb-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;width:100%}
.sbb-times .sbb-time{width:100%;text-align:center;padding:10px 0;border-radius:12px}
/* Calendar full width */
.sbb-calendar{width:100%}



/* Service cards (click to select) */
.sbb-service{position:relative;display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e6e6e6;border-radius:16px;background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .05s}
.sbb-service:hover{border-color:#d8d8d8}
.sbb-service:active{transform:scale(0.997)}
.sbb-service.is-selected{border-color:var(--sbb-primary,#6b7280);box-shadow:0 0 0 4px rgba(0,0,0,0.03)}
.sbb-service-check{position:absolute;opacity:0;pointer-events:none}
.sbb-service-img{width:58px;height:58px;border-radius:14px;overflow:hidden;flex:0 0 58px;background:#f2f2f2}
.sbb-service-img img{width:100%;height:100%;object-fit:cover;display:block}
.sbb-service-content{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-width:0}
.sbb-service-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.sbb-service-title{font-weight:800}
.sbb-service-desc{opacity:.85;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sbb-service-meta{opacity:.8;font-size:13px}
.sbb-service-price{font-weight:900;white-space:nowrap}

/* Discount row */
.sbb-discount{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.sbb-discount label{flex:1;min-width:220px}
.sbb-discount #sbb_apply_discount{height:44px}

/* Payments compact */
.sbb-payments{display:flex;flex-direction:column;gap:8px}
.sbb-pay{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e6e6e6;border-radius:14px;background:#fff;cursor:pointer}
.sbb-pay input{margin-top:2px}
.sbb-pay-note{display:block;font-size:12px;opacity:.8;margin-top:2px}
.sbb-pay:hover{border-color:#d8d8d8}
.sbb-pay input:checked + .sbb-pay-label{font-weight:800}

/* Step3 actions align */
.sbb-wizard-actions-step3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.sbb-nl-optin{margin-right:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600}

/* Slots full width */
#sbb_slots.sbb-slots{width:100%}
.sbb-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}


/* --- Fix8 overrides --- */
.sbb-wstep{font-size:12px;}
.sbb-wizard-title{font-size:20px !important;}
.sbb-service-title{font-size:14px !important;}
.sbb-discount{margin-top:12px;width:100%;}
.sbb-discount-label{font-weight:700;margin:0 0 6px 0;font-size:12px;opacity:.9;}
.sbb-discount-row{display:flex;gap:10px;align-items:stretch;width:100%;}
.sbb-discount-row input{flex:1;min-width:0;}
.sbb-discount-row #sbb_apply_discount{flex:0 0 auto;white-space:nowrap;}
@media(max-width:480px){.sbb-discount-row{gap:8px;}.sbb-discount-row #sbb_apply_discount{padding-left:12px;padding-right:12px;}}
.sbb-payments{gap:6px;}
.sbb-pay{padding:8px 10px;}
.sbb-wizard-steps{flex-wrap:nowrap;}
.sbb-nl-optin,.sbb-terms{font-size:12px;}
.sbb-terms{display:inline-flex;align-items:center;gap:8px;margin-right:auto;font-weight:600;}
.sbb-line-meta{display:block;font-size:12px;opacity:.75;margin-top:2px;}

.sbb-terms a{color:var(--sbb-primary,#111);text-decoration:underline;margin:0;padding:0;}
.sbb-terms a:visited{color:var(--sbb-primary,#111);}

.sbb-discount{margin-top:10px}
.sbb-discount .sbb-discount-row{display:flex;gap:8px;align-items:center}
.sbb-discount .sbb-discount-row input{flex:1;min-width:0}
.sbb-discount .sbb-discount-row button{flex:0 0 auto;white-space:nowrap}

/* Compact payment options */
.sbb-pay{margin:0;padding:6px 10px;border-radius:10px;}

/* Fix: compact payment methods spacing (theme-safe) */
.sbb-booking .sbb-payments{gap:2px !important;}
.sbb-booking .sbb-pay{margin:0 !important;padding:6px 10px !important;gap:8px !important;}
.sbb-booking .sbb-pay-note{margin-top:0 !important;line-height:1.2;}
/* Terms link uses primary color */
.sbb-booking .sbb-terms a{color:var(--sbb-primary,#6b7280) !important;}
