.bab-widget{
  --bab-border: color-mix(in srgb,var(--bab-text) 18%,transparent);
  --bab-muted: color-mix(in srgb,var(--bab-text) 62%,transparent);
  --bab-soft: color-mix(in srgb,var(--bab-primary) 10%,var(--bab-bg));
  --bab-accent-soft: color-mix(in srgb,var(--bab-accent) 10%,var(--bab-bg));
  --bab-shadow: color-mix(in srgb,var(--bab-text) 12%,transparent);
  --bab-primary-shadow: color-mix(in srgb,var(--bab-primary) 28%,transparent);
  max-width:880px;margin:30px auto;background:var(--bab-bg);color:var(--bab-text);border:1px solid var(--bab-border);border-radius:22px;padding:24px;box-shadow:0 18px 50px var(--bab-shadow);font-family:inherit;box-sizing:border-box;scroll-margin-top:32px
}
.bab-widget *{box-sizing:border-box}
.bab-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.bab-progress.bab-progress-compact{grid-template-columns:repeat(3,1fr)}
.bab-progress span{font-size:16px; font-weight: 500; padding:10px;border-radius:999px;background:var(--bab-soft);color:var(--bab-text);text-align:center;border:1px solid var(--bab-border)}
.bab-progress span.active{background:var(--bab-primary);border-color:var(--bab-primary);color:var(--bab-bg)}
.bab-step{display:none}.bab-step.active{display:block;animation:babFadeIn .18s ease}.bab-step h3{margin:0 0 18px;font-size:22px;color:var(--bab-text)}
.bab-summary{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 18px;padding:12px 8px;background:var(--bab-soft);border:1px solid var(--bab-border);border-radius:16px}.bab-summary span{font-size:13.5px; font-weight: 400; background:var(--bab-bg);color:var(--bab-text);border:1px solid var(--bab-border);border-radius:999px;padding:8px 12px}
.bab-service-grid,.bab-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}.bab-staff-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.bab-staff-title{margin-top:22px!important}
.bab-service,.bab-staff-card{border:1px solid var(--bab-border);border-radius:16px;padding:16px;cursor:pointer;display:block;transition:.2s;background:var(--bab-bg);color:var(--bab-text)}
.bab-staff-card{display:flex;align-items:center;gap:10px;text-align:left}.bab-staff-card input{margin-left:auto;order:3}.bab-service input{float:right}.bab-service strong,.bab-service small,.bab-service span{display:block}.bab-service small{color:var(--bab-muted);margin:7px 0}
.bab-service:hover,.bab-service:has(input:checked),.bab-staff-card:hover,.bab-staff-card:has(input:checked){border-color:var(--bab-primary);box-shadow:0 10px 25px var(--bab-primary-shadow);transform:translateY(-1px)}
.bab-avatar{width:40px;height:40px;border-radius:999px;object-fit:cover;margin:0 2px 0 0;display:flex;align-items:center;justify-content:center;background:var(--bab-soft);color:var(--bab-primary);font-weight:800}.bab-avatar-empty{font-size:16px}
.bab-selected-provider{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--bab-border);border-radius:16px;background:var(--bab-soft)}.bab-selected-provider small{display:block;color:var(--bab-muted)}.bab-selected-provider strong{display:block;color:var(--bab-text)}
.bab-field{display:block;margin:15px 0}.bab-field span{display:block;font-weight:700;margin-bottom:6px; font-size: 19px; color:var(--bab-text)}.bab-field input,.bab-field select,.bab-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--bab-border);border-radius:12px;padding:13px 14px;font-size:16px;background:var(--bab-bg);color:var(--bab-text)}.bab-field textarea{min-height:100px}
.bab-calendar{border:1px solid var(--bab-border);border-radius:18px;padding:16px;max-width:100%;background:var(--bab-bg);color:var(--bab-text);     margin-bottom: 15px; transition:.2s}.bab-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.bab-calendar-head strong{color:var(--bab-text)}
.bab-calendar-head button,.bab-back,.bab-next,.bab-submit{border:1px solid var(--bab-primary);background:var(--bab-primary);color:var(--bab-bg);border-radius:12px;padding:10px 18px;cursor:pointer;font-weight:700;transition:.2s}.bab-calendar-head button:hover,.bab-next:hover,.bab-submit:hover{filter:brightness(.96);transform:translateY(-1px)}.bab-back{background:var(--bab-accent-soft);border-color:var(--bab-border);color:var(--bab-text);margin-right:8px}
.bab-weekdays,.bab-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.bab-weekdays span{text-align:center;font-weight:700;font-size:12px;color:var(--bab-muted)}.bab-days button{border:1px solid var(--bab-border);background:var(--bab-bg);color:var(--bab-text);min-height:46px;border-radius:12px;cursor:pointer;transition:.18s}.bab-days button:hover:not(:disabled),.bab-days button.selected,.bab-slot.selected{background:var(--bab-primary);color:var(--bab-bg);border-color:var(--bab-primary);box-shadow:0 8px 18px var(--bab-primary-shadow)}.bab-days button:disabled{opacity:.42;cursor:not-allowed}.bab-days button.is-holiday{background:var(--bab-accent-soft);color:var(--bab-muted);opacity:.65}.bab-days button.is-closed{background:var(--bab-soft);color:var(--bab-muted);opacity:.55}
.bab-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:10px 0 20px}.bab-slot{border:1px solid var(--bab-border);background:var(--bab-bg);color:var(--bab-text);border-radius:12px;padding:10px;cursor:pointer;transition:.18s}.bab-slot:hover:not(:disabled){border-color:var(--bab-primary);transform:translateY(-1px)}.bab-slot:disabled,.bab-slot.is-booked{opacity:.62;background:var(--bab-soft);color:var(--bab-muted);cursor:not-allowed}.bab-slot small{display:block;font-size:11px;margin-top:4px;color:var(--bab-accent);font-weight:700}
.bab-message{ font-weight:700;color:var(--bab-primary)}.bab-message.bad{color:var(--bab-accent)}.bab-empty,.bab-terms{padding:18px;background:var(--bab-soft);border:1px solid var(--bab-border);border-radius:12px}.bab-terms{font-size:13px;margin:15px 0}
.bab-booking-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bab-text) 40%,transparent);padding:20px}.bab-booking-modal.is-open{display:flex}.bab-booking-modal-card{max-width:460px;width:100%;background:var(--bab-bg);color:var(--bab-text);border:1px solid var(--bab-border);border-radius:24px;padding:30px;text-align:center;box-shadow:0 30px 80px var(--bab-shadow);animation:babPop .22s ease}.bab-booking-modal-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--bab-primary);color:var(--bab-bg);font-size:32px}.bab-booking-modal-card h3{margin:0 0 8px}.bab-booking-modal-card p{color:var(--bab-muted)}.bab-booking-modal-close{margin-top:18px;border:0;background:var(--bab-primary);color:var(--bab-bg);padding:12px 22px;border-radius:999px;font-weight:700;cursor:pointer}
@keyframes babFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes babPop{from{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:640px){.bab-widget{padding:12px}.bab-progress{grid-template-columns:1fr 1fr}.bab-progress.bab-progress-compact{ }.bab-step h3{font-size:20px}.bab-weekdays,.bab-days{gap:4px}.bab-days button{min-height:40px} .bab-progress span { padding: 4px; font-size: 15px; }}

/* Premium layout templates. No hardcoded template colors: every design uses --bab-primary, --bab-accent, --bab-bg and --bab-text from admin settings. */
.bab-calendar-theme-minimal.bab-widget{max-width:820px;border-radius:10px;box-shadow:none;padding:22px}.bab-calendar-theme-minimal .bab-calendar{border-radius:10px;box-shadow:none}.bab-calendar-theme-minimal .bab-days button,.bab-calendar-theme-minimal .bab-slot,.bab-calendar-theme-minimal .bab-service,.bab-calendar-theme-minimal .bab-staff-card{border-radius:6px}.bab-calendar-theme-minimal .bab-progress span{border-radius:6px}
.bab-calendar-theme-rounded.bab-widget{border-radius:36px;padding:32px}.bab-calendar-theme-rounded .bab-calendar{border-radius:34px;padding:26px}.bab-calendar-theme-rounded .bab-days button,.bab-calendar-theme-rounded .bab-slot{border-radius:999px}.bab-calendar-theme-rounded .bab-service,.bab-calendar-theme-rounded .bab-staff-card,.bab-calendar-theme-rounded .bab-summary,.bab-calendar-theme-rounded .bab-field input,.bab-calendar-theme-rounded .bab-field textarea{border-radius:26px}.bab-calendar-theme-rounded .bab-calendar-head button,.bab-calendar-theme-rounded .bab-next,.bab-calendar-theme-rounded .bab-submit,.bab-calendar-theme-rounded .bab-back{border-radius:999px}
.bab-calendar-theme-glass.bab-widget{background:color-mix(in srgb,var(--bab-bg) 74%,transparent);backdrop-filter:blur(16px);border-color:color-mix(in srgb,var(--bab-primary) 22%,transparent);box-shadow:0 28px 78px var(--bab-shadow)}.bab-calendar-theme-glass .bab-calendar,.bab-calendar-theme-glass .bab-summary,.bab-calendar-theme-glass .bab-service,.bab-calendar-theme-glass .bab-staff-card,.bab-calendar-theme-glass .bab-field input,.bab-calendar-theme-glass .bab-field textarea{background:color-mix(in srgb,var(--bab-bg) 66%,transparent);backdrop-filter:blur(12px)}.bab-calendar-theme-glass .bab-days button,.bab-calendar-theme-glass .bab-slot{background:color-mix(in srgb,var(--bab-bg) 62%,transparent)}
.bab-calendar-theme-floating.bab-widget{border:0;box-shadow:none;background:transparent;padding:4px}.bab-calendar-theme-floating .bab-step.active,.bab-calendar-theme-floating .bab-summary{background:var(--bab-bg);border:1px solid var(--bab-border);border-radius:30px;padding:26px;box-shadow:0 26px 72px var(--bab-shadow)}.bab-calendar-theme-floating .bab-calendar{border:0;box-shadow:0 20px 54px var(--bab-shadow);border-radius:28px}.bab-calendar-theme-floating .bab-days button,.bab-calendar-theme-floating .bab-slot{box-shadow:0 10px 22px color-mix(in srgb,var(--bab-text) 8%,transparent)}
.bab-calendar-theme-compact.bab-widget{max-width:700px;padding:22px;border-radius:14px}.bab-calendar-theme-compact .bab-calendar{max-width:100%;padding:12px;border-radius:12px}.bab-calendar-theme-compact .bab-weekdays,.bab-calendar-theme-compact .bab-days{gap:3px}.bab-calendar-theme-compact .bab-days button{min-height:34px;border-radius:4px;font-size:12px}.bab-calendar-theme-compact .bab-slot{padding:9px;border-radius:6px}.bab-calendar-theme-compact .bab-progress span{padding:7px;font-size:12px}
.bab-calendar-theme-clinic.bab-widget{border-left:7px solid var(--bab-primary);border-radius:18px}.bab-calendar-theme-clinic .bab-calendar-head{border-bottom:2px solid var(--bab-border);padding-bottom:14px}.bab-calendar-theme-clinic .bab-days button{border-left:4px solid var(--bab-border);border-radius:8px 14px 14px 8px}.bab-calendar-theme-clinic .bab-days button.selected{border-left-color:var(--bab-accent)}.bab-calendar-theme-clinic .bab-service,.bab-calendar-theme-clinic .bab-staff-card,.bab-calendar-theme-clinic .bab-summary{border-left:5px solid var(--bab-primary)}
.bab-calendar-theme-sidebar .bab-calendar{display:grid;grid-template-columns:190px 1fr;max-width:100%;padding:0;overflow:hidden}.bab-calendar-theme-sidebar .bab-calendar-head{grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin:0;padding:28px;background:var(--bab-primary);color:var(--bab-bg)}.bab-calendar-theme-sidebar .bab-calendar-head strong{color:var(--bab-bg);font-size:25px;line-height:1.15}.bab-calendar-theme-sidebar .bab-calendar-head button{background:color-mix(in srgb,var(--bab-bg) 20%,transparent);color:var(--bab-bg);border-color:color-mix(in srgb,var(--bab-bg) 32%,transparent);width:48px;border-radius:999px}.bab-calendar-theme-sidebar .bab-weekdays{padding:22px 22px 0}.bab-calendar-theme-sidebar .bab-days{padding:12px 22px 22px}
.bab-calendar-theme-timeline .bab-calendar{border-left:6px solid var(--bab-primary);border-radius:12px}.bab-calendar-theme-timeline .bab-calendar-head{justify-content:flex-start;gap:16px}.bab-calendar-theme-timeline .bab-calendar-head strong{order:-1;margin-right:auto}.bab-calendar-theme-timeline .bab-days{gap:10px}.bab-calendar-theme-timeline .bab-days button{border-radius:0 16px 16px 0;border-left:5px solid var(--bab-border);text-align:left;padding-left:14px}.bab-calendar-theme-timeline .bab-days button.selected{border-left-color:var(--bab-accent)}.bab-calendar-theme-timeline .bab-slots{display:flex;flex-direction:column}.bab-calendar-theme-timeline .bab-slot{text-align:left;border-left:5px solid var(--bab-primary);border-radius:0 14px 14px 0}
.bab-calendar-theme-material.bab-widget{border-radius:4px;box-shadow:0 8px 20px var(--bab-shadow)}.bab-calendar-theme-material .bab-calendar{border:0;border-radius:4px;box-shadow:0 2px 8px var(--bab-shadow)}.bab-calendar-theme-material .bab-calendar-head{padding:14px;background:var(--bab-primary);margin:-16px -16px 16px;color:var(--bab-bg)}.bab-calendar-theme-material .bab-calendar-head strong{color:var(--bab-bg)}.bab-calendar-theme-material .bab-calendar-head button{background:color-mix(in srgb,var(--bab-bg) 14%,transparent);color:var(--bab-bg);border-color:transparent}.bab-calendar-theme-material .bab-days button,.bab-calendar-theme-material .bab-slot,.bab-calendar-theme-material .bab-service,.bab-calendar-theme-material .bab-staff-card{border-radius:4px}
.bab-calendar-theme-luxury.bab-widget{border-width:2px;border-radius:0 38px 0 38px;padding:32px}.bab-calendar-theme-luxury .bab-calendar{border-width:2px;border-radius:0 32px 0 32px;padding:24px}.bab-calendar-theme-luxury .bab-calendar-head{border-bottom:2px solid var(--bab-border);padding-bottom:16px}.bab-calendar-theme-luxury .bab-days button{border-radius:0 17px 0 17px}.bab-calendar-theme-luxury .bab-slot,.bab-calendar-theme-luxury .bab-service,.bab-calendar-theme-luxury .bab-staff-card{border-radius:0 20px 0 20px}
.bab-calendar-theme-neo.bab-widget{border:0;border-radius:36px;box-shadow:18px 18px 40px var(--bab-shadow),-12px -12px 30px color-mix(in srgb,var(--bab-bg) 82%,transparent)}.bab-calendar-theme-neo .bab-calendar{border:0;border-radius:34px;box-shadow:inset 9px 9px 20px color-mix(in srgb,var(--bab-text) 10%,transparent),inset -9px -9px 20px color-mix(in srgb,var(--bab-bg) 84%,transparent)}.bab-calendar-theme-neo .bab-days button,.bab-calendar-theme-neo .bab-slot{border:0;box-shadow:7px 7px 16px color-mix(in srgb,var(--bab-text) 10%,transparent),-5px -5px 13px color-mix(in srgb,var(--bab-bg) 78%,transparent)}.bab-calendar-theme-neo .bab-days button.selected,.bab-calendar-theme-neo .bab-slot.selected{box-shadow:inset 5px 5px 12px color-mix(in srgb,var(--bab-text) 15%,transparent)}
.bab-calendar-theme-saas.bab-widget{border:0;border-radius:26px;box-shadow:0 28px 80px var(--bab-shadow)}.bab-calendar-theme-saas .bab-progress span.active,.bab-calendar-theme-saas .bab-calendar-head,.bab-calendar-theme-saas .bab-submit{background:linear-gradient(135deg,var(--bab-primary),var(--bab-accent));color:var(--bab-bg)}.bab-calendar-theme-saas .bab-calendar-head{padding:18px;border-radius:20px}.bab-calendar-theme-saas .bab-calendar-head strong{color:var(--bab-bg)}.bab-calendar-theme-saas .bab-calendar-head button{background:color-mix(in srgb,var(--bab-bg) 14%,transparent);border-color:color-mix(in srgb,var(--bab-bg) 28%,transparent);color:var(--bab-bg)}.bab-calendar-theme-saas .bab-days button{border-radius:14px}.bab-calendar-theme-saas .bab-slot{border-radius:16px}
.bab-calendar-theme-bento.bab-widget{max-width:960px}.bab-calendar-theme-bento .bab-calendar{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;max-width:820px;border:0;background:transparent;padding:0}.bab-calendar-theme-bento .bab-calendar-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--bab-soft);border:1px solid var(--bab-border);border-radius:28px;padding:26px;margin:0}.bab-calendar-theme-bento .bab-calendar-head strong{font-size:28px}.bab-calendar-theme-bento .bab-weekdays,.bab-calendar-theme-bento .bab-days{grid-column:2}.bab-calendar-theme-bento .bab-days button{border-radius:18px;min-height:58px}.bab-calendar-theme-bento .bab-slot{border-radius:18px;min-height:54px}
.bab-calendar-theme-split.bab-widget{max-width:980px}.bab-calendar-theme-split .bab-step.active{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;gap:20px;align-items:start}.bab-calendar-theme-split .bab-step h3{grid-column:1/-1}.bab-calendar-theme-split .bab-calendar{max-width:none}.bab-calendar-theme-split .bab-selected-provider,.bab-calendar-theme-split .bab-summary{align-self:start}.bab-calendar-theme-split .bab-days button{border-radius:18px 6px 18px 6px}.bab-calendar-theme-split .bab-slot{border-radius:6px 18px 6px 18px}
.bab-calendar-theme-magazine.bab-widget{border-radius:0; overflow:hidden}.bab-calendar-theme-magazine .bab-progress{ }.bab-calendar-theme-magazine .bab-form{ }   .bab-calendar-theme-magazine .bab-step h3{font-size:32px;letter-spacing:-.04em;border-bottom:1px solid var(--bab-border);padding-bottom:12px}.bab-calendar-theme-magazine .bab-calendar{border:0;border-radius:0;border-top:4px solid var(--bab-primary);border-bottom:4px solid var(--bab-primary);max-width:100%;}.bab-calendar-theme-magazine .bab-days{grid-template-columns:repeat(2,1fr)}.bab-calendar-theme-magazine .bab-days button{text-align:left;padding-left:16px;border-radius:18px}.bab-calendar-theme-magazine .bab-slots{grid-template-columns:repeat(2,1fr)}
.bab-calendar-theme-concierge.bab-widget{border-radius:42px;padding:36px;}.bab-calendar-theme-concierge .bab-calendar{border-radius:38px;padding:30px}.bab-calendar-theme-concierge .bab-calendar-head{justify-content:center;gap:22px}.bab-calendar-theme-concierge .bab-weekdays span,.bab-calendar-theme-concierge .bab-days button{text-align:center}.bab-calendar-theme-concierge .bab-days button{border-radius:22px 22px 8px 8px;min-height:54px}.bab-calendar-theme-concierge .bab-slot{border-radius:999px;padding:15px}.bab-calendar-theme-concierge .bab-service,.bab-calendar-theme-concierge .bab-staff-card{text-align:left}
.bab-calendar-theme-studio.bab-widget{transform:rotate(-.15deg);border-width:2px;border-radius:24px}.bab-calendar-theme-studio .bab-form{transform:rotate(.15deg)}.bab-calendar-theme-studio .bab-calendar{border-style:dashed;border-width:2px}.bab-calendar-theme-studio .bab-days{gap:10px}.bab-calendar-theme-studio .bab-days button{border-radius:20px 4px 20px 4px;transform:rotate(-.3deg)}.bab-calendar-theme-studio .bab-days button:nth-child(even){transform:rotate(.3deg)}.bab-calendar-theme-studio .bab-slot{border-radius:4px 20px 4px 20px}
.bab-calendar-theme-zen.bab-widget{max-width:760px;border-radius:46px;padding:38px;box-shadow:none}.bab-calendar-theme-zen .bab-calendar{border-radius:44px;padding:32px}.bab-calendar-theme-zen .bab-calendar-head{justify-content:center}.bab-calendar-theme-zen .bab-days{gap:12px}.bab-calendar-theme-zen .bab-days button{border-radius:50%;aspect-ratio:1;min-height:auto}.bab-calendar-theme-zen .bab-slot{border-radius:999px}.bab-calendar-theme-zen .bab-progress span{border-radius:999px;padding:12px}
@media(max-width:760px){.bab-calendar-theme-sidebar .bab-calendar,.bab-calendar-theme-bento .bab-calendar,.bab-calendar-theme-split .bab-step.active{display:block}.bab-calendar-theme-sidebar .bab-calendar-head{display:flex;flex-direction:row;align-items:center}.bab-calendar-theme-sidebar .bab-weekdays,.bab-calendar-theme-sidebar .bab-days{padding-left:0;padding-right:0}.bab-calendar-theme-magazine .bab-days{grid-template-columns:repeat(7,1fr)}.bab-calendar-theme-magazine .bab-slots{grid-template-columns:1fr}.bab-calendar-theme-zen .bab-days{gap:5px}}

/* Popup/modal and validation fixes */
body.bab-popup-open{overflow:hidden}
.bab-popup[hidden]{display:none!important}
.bab-popup{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.bab-popup.is-open{opacity:1;pointer-events:auto}
.bab-popup-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--bab-text) 48%,transparent);backdrop-filter:blur(6px)}
.bab-popup-card{position:relative;z-index:1;max-width:460px;width:100%;background:var(--bab-bg);color:var(--bab-text);border:1px solid var(--bab-border);border-radius:28px;padding:34px;text-align:center;box-shadow:0 34px 90px var(--bab-shadow);transform:translateY(16px) scale(.96);transition:transform .18s ease}
.bab-popup.is-open .bab-popup-card{transform:translateY(0) scale(1)}
.bab-popup-icon{width:68px;height:68px;margin:0 auto 16px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--bab-primary);color:var(--bab-bg);font-size:34px;font-weight:800;box-shadow:0 14px 30px var(--bab-primary-shadow)}
.bab-popup.is-error .bab-popup-icon{background:var(--bab-accent)}
.bab-popup-card h3{margin:0 0 8px;color:var(--bab-text);font-size:24px}.bab-popup-card p{margin:0;color:var(--bab-muted);line-height:1.5}
.bab-popup-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid var(--bab-border);border-radius:999px;background:var(--bab-soft);color:var(--bab-text);cursor:pointer;font-size:22px;line-height:1; padding: 0px 5px 6px 6px;}.bab-popup-ok{margin-top:22px;border:0;background:var(--bab-primary);color:var(--bab-bg);padding:13px 26px;border-radius:999px;font-weight:800;cursor:pointer}
.bab-field.has-error input,.bab-field.has-error textarea{border-color:var(--bab-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--bab-accent) 16%,transparent)}
.bab-field-error{display:block;margin-top:6px;color:var(--bab-accent);font-weight:700;font-size:12px}

/* v2.4.2: Bento Premium + Split Showcase layout stabilization fixes */
.bab-calendar-theme-bento .bab-step.active,
.bab-calendar-theme-split .bab-step.active{
  display:block;
}

/* Bento Premium: keep provider + calendar balanced; keep the calendar itself normal and readable. */
.bab-calendar-theme-bento.bab-widget{
  max-width:980px;
}
.bab-calendar-theme-bento .bab-step[data-step="2"].active{
       gap: 20px 24px;
    display: flex;
    flex-direction: column;
}
.bab-calendar-theme-bento .bab-step[data-step="2"].active > h3{
  grid-column:1/-1;
  margin-bottom:0;
}
.bab-calendar-theme-bento .bab-step[data-step="2"].active > .bab-selected-provider{
  grid-column:1;
  width:100%;
  margin:0;
}
.bab-calendar-theme-bento .bab-step[data-step="2"].active > .bab-calendar{
  grid-column:2;
  width:100%;
  max-width:100%;
  justify-self:end;
}
.bab-calendar-theme-bento .bab-step[data-step="2"].active > input[type="hidden"]{
  display:none;
}
.bab-calendar-theme-bento .bab-step[data-step="2"].active > .bab-back{
  grid-column:1;
  width: fit-content;
  justify-self:stretch;
}
.bab-calendar-theme-bento .bab-calendar{
  display:block;
  border:1px solid var(--bab-border);
  background:var(--bab-bg);
  padding:18px;
  border-radius:26px;
  box-shadow:0 16px 42px var(--bab-shadow);
}
.bab-calendar-theme-bento .bab-calendar-head{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  background:var(--bab-soft);
  border:1px solid var(--bab-border);
  border-radius:20px;
  padding:14px 16px;
  margin:0 0 16px;
}
.bab-calendar-theme-bento .bab-calendar-head strong{
  font-size:20px;
  text-align:center;
  flex:1;
}
.bab-calendar-theme-bento .bab-weekdays,
.bab-calendar-theme-bento .bab-days{
  grid-column:auto;
  width:100%;
}
.bab-calendar-theme-bento .bab-days{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.bab-calendar-theme-bento .bab-days button{
  border-radius:14px;
  min-height:46px;
  width:100%;
}

/* Split Showcase: structured split only on date step, not on every step. */
.bab-calendar-theme-split.bab-widget{
  max-width:1000px;
}
.bab-calendar-theme-split .bab-step[data-step="2"].active{
       display: flex;
    gap: 20px 24px;
    align-items: start;
    flex-direction: column;
}
.bab-calendar-theme-split .bab-step[data-step="2"].active > h3{
  grid-column:1/-1;
  margin-bottom:0;
}
.bab-calendar-theme-split .bab-step[data-step="2"].active > .bab-selected-provider{
  grid-column:1;
  width:100%;
  margin:0;
}
.bab-calendar-theme-split .bab-step[data-step="2"].active > .bab-calendar{
  grid-column:2;
  width:100%;
  max-width:100%;
  justify-self:end;
}
.bab-calendar-theme-split .bab-step[data-step="2"].active > input[type="hidden"]{
  display:none;
}
.bab-calendar-theme-split .bab-step[data-step="2"].active > .bab-back{
  grid-column:1;
  width:fit-content;
  justify-self:stretch;
}
.bab-calendar-theme-split .bab-calendar{
  display:block;
  padding:18px;
  border-radius:24px;
  background:var(--bab-bg);
}
.bab-calendar-theme-split .bab-calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.bab-calendar-theme-split .bab-calendar-head strong{
  text-align:center;
  flex:1;
  font-size:20px;
}
.bab-calendar-theme-split .bab-weekdays,
.bab-calendar-theme-split .bab-days{
  width:100%;
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.bab-calendar-theme-split .bab-days button{
  min-height:46px;
  width:100%;
  border-radius:16px 8px 16px 8px;
}

.bab-avatar.bab-avatar-empty
{
    display: none;
}

.bab-form *:focus,
.bab-form *:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.bab-form input[type="radio"] {
    transform: scale(1.4);
    accent-color: var(--bab-primary);
    cursor: pointer;
}

.bab-staff-grid
{
   font-size: 18px; 
   font-weight: 500 !IMPORTANT;
   line-height: 1.3;
}

.bab-service-grid .bab-service
{
  font-weight: 600;
}

.bab-slots .bab-slot:hover
{
  background-color: var(--bab-primary);
}

.bab-summary span b
{
    font-weight: 600;
}

.bab-calendar-head strong
{
        font-size: 20px;
}

@media (max-width: 860px){
  .bab-calendar-theme-bento .bab-step[data-step="2"].active,
  .bab-calendar-theme-split .bab-step[data-step="2"].active{
    display:block;
  }
  .bab-calendar-theme-bento .bab-step[data-step="2"].active > .bab-selected-provider,
  .bab-calendar-theme-split .bab-step[data-step="2"].active > .bab-selected-provider{
    margin-bottom:16px;
  }
  .bab-calendar-theme-bento .bab-step[data-step="2"].active > .bab-calendar,
  .bab-calendar-theme-split .bab-step[data-step="2"].active > .bab-calendar{
    max-width:100%;
  }
  .bab-calendar-theme-bento .bab-step[data-step="2"].active > .bab-back,
  .bab-calendar-theme-split .bab-step[data-step="2"].active > .bab-back{
    width:auto;
    margin-top:16px;
  }
}

@media (max-width: 520px){
  .bab-calendar-theme-bento .bab-calendar,
  .bab-calendar-theme-split .bab-calendar{
    padding:12px;
  }
  .bab-calendar-theme-bento .bab-days,
  .bab-calendar-theme-split .bab-days{
    gap:5px;
  }
  .bab-calendar-theme-bento .bab-days button,
  .bab-calendar-theme-split .bab-days button{
    min-height:40px;
    border-radius:10px;
    font-size:12px;
  }
  .bab-calendar-theme-bento .bab-calendar-head,
  .bab-calendar-theme-split .bab-calendar-head{
    padding:10px;
  }
  
 .bab-calendar .bab-days button
 {
    padding-left: 0px;
    padding-right: 0px;
    font-size:13px;
 }
 
 .bab-calendar{
         padding: 15px 10px;
 }
  
}
