/* Beauty Booking V7 – theme-resistant wizard */
.bsb7-booking{
  --bsb-accent:#d96d4b;
  --bsb-accent-dark:#b95135;
  --bsb-accent-soft:#fff3ed;
  --bsb-ink:#1f1b19;
  --bsb-muted:#6f675f;
  --bsb-line:#e8dfd8;
  --bsb-bg:#f6f2ef;
  --bsb-card:#ffffff;
  --bsb-ok:#3f7a52;
  --bsb-busy:#9a9a9a;
  --bsb-off:#c4a79c;
  isolation:isolate;
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:8px 0 28px !important;
  color:var(--bsb-ink) !important;
  font-family:inherit !important;
  font-size:16px !important;
  line-height:1.5 !important;
  text-align:left !important;
  background:transparent !important;
}
.bsb7-booking *,
.bsb7-booking *::before,
.bsb7-booking *::after{
  box-sizing:border-box !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  text-shadow:none !important;
  animation:none !important;
}
.bsb7-booking h1,.bsb7-booking h2,.bsb7-booking h3,.bsb7-booking h4,
.bsb7-booking p,.bsb7-booking ol,.bsb7-booking ul,.bsb7-booking li,
.bsb7-booking button,.bsb7-booking input,.bsb7-booking textarea,
.bsb7-booking label,.bsb7-booking strong,.bsb7-booking small,.bsb7-booking span,
.bsb7-booking b,.bsb7-booking em,.bsb7-booking i,.bsb7-booking section,
.bsb7-booking header,.bsb7-booking aside,.bsb7-booking div{
  float:none !important;
  background-image:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.bsb7-booking button{
  appearance:none !important;
  -webkit-appearance:none !important;
  font-family:inherit !important;
  cursor:pointer !important;
  border-style:solid !important;
}
.bsb7-booking input,.bsb7-booking textarea{
  appearance:none !important;
  -webkit-appearance:none !important;
  font-family:inherit !important;
}

/* Hero */
.bsb7-booking .bsb7-hero{
  display:block !important;
  max-width:640px !important;
  margin:0 0 22px !important;
  padding:0 !important;
  text-align:left !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-eyebrow{
  display:inline-block !important;
  margin:0 0 6px !important;
  padding:0 !important;
  color:var(--bsb-accent-dark) !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  cursor:pointer !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  opacity:1 !important;
  font-family:inherit !important;
  text-align:left !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.bsb7-booking .bsb7-hero h2{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:clamp(30px,4.2vw,44px) !important;
  line-height:1.12 !important;
  font-weight:500 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-hero p{
  display:block !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  background:transparent !important;
  border:0 !important;
}

/* Progress */
.bsb7-booking .bsb7-progress{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  list-style:none !important;
  width:100% !important;
  margin:0 0 10px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-progress li{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:12px !important;
  background:var(--bsb-card) !important;
  color:var(--bsb-muted) !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  cursor:default !important;
}
.bsb7-booking .bsb7-progress li.is-done,
.bsb7-booking .bsb7-progress li.is-current{cursor:pointer !important}
.bsb7-booking .bsb7-progress li.is-current{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent-soft) !important;
  color:var(--bsb-ink) !important;
}
.bsb7-booking .bsb7-progress li.is-done{
  border-color:#ead3c9 !important;
  color:var(--bsb-ink) !important;
}
.bsb7-booking .bsb7-progress span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#efe8e3 !important;
  color:#7a726c !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.bsb7-booking .bsb7-progress li.is-current span,
.bsb7-booking .bsb7-progress li.is-done span{
  background:var(--bsb-accent) !important;
  color:#fff !important;
}
.bsb7-booking .bsb7-progress em{
  display:block !important;
  font-style:normal !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.bsb7-booking .bsb7-meter{
  display:block !important;
  width:100% !important;
  height:4px !important;
  margin:0 0 22px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:99px !important;
  background:#efe8e3 !important;
  overflow:hidden !important;
}
.bsb7-booking .bsb7-meter i{
  display:block !important;
  width:25% !important;
  height:4px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:99px !important;
  background:var(--bsb-accent) !important;
  transition:width .22s ease !important;
}

/* Layout */
.bsb7-booking .bsb7-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 300px !important;
  gap:22px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-col,
.bsb7-booking .bsb7-aside{
  display:block !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-sticky{
  position:sticky !important;
  top:24px !important;
}

/* Panels: only current step is visible */
.bsb7-booking .bsb7-panel{
  display:none !important;
  width:100% !important;
  margin:0 !important;
  padding:26px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:18px !important;
  background:var(--bsb-card) !important;
}
.bsb7-booking .bsb7-panel.is-active{display:block !important}
.bsb7-booking .bsb7-panel-head{
  display:block !important;
  margin:0 0 20px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-panel-head h3{
  display:block !important;
  margin:0 0 6px !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:24px !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-panel-head p{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:15px !important;
  line-height:1.5 !important;
  background:transparent !important;
  border:0 !important;
}

/* Resource cards */
.bsb7-booking .bsb7-resources{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.bsb7-booking .bsb7-resource{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:0 !important;
  width:100% !important;
  min-height:128px !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--bsb-ink) !important;
  text-align:left !important;
  box-shadow:none !important;
  transition:border-color .15s ease, background-color .15s ease !important;
}
.bsb7-booking .bsb7-resource:hover{
  border-color:var(--bsb-accent) !important;
  background:#fffaf7 !important;
}
.bsb7-booking .bsb7-resource.is-active{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent-soft) !important;
  box-shadow:0 0 0 1px var(--bsb-accent) inset !important;
}
.bsb7-booking .bsb7-resource-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-dot{
  display:block !important;
  width:12px !important;
  min-width:12px !important;
  height:12px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:99px !important;
}
.bsb7-booking .bsb7-tick{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  min-width:22px !important;
  height:22px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:99px !important;
  background:#fff !important;
  color:transparent !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.bsb7-booking .bsb7-resource.is-active .bsb7-tick{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent) !important;
  color:#fff !important;
}
.bsb7-booking .bsb7-resource strong{
  display:block !important;
  margin:0 0 4px !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:17px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-resource small{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  background:transparent !important;
  border:0 !important;
}

/* Category chips */
.bsb7-booking .bsb7-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
}
.bsb7-booking .bsb7-chip{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  min-height:40px !important;
  margin:0 !important;
  padding:8px 14px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--bsb-ink) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
.bsb7-booking .bsb7-chip:hover,
.bsb7-booking .bsb7-chip.is-active{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent-soft) !important;
  color:var(--bsb-accent-dark) !important;
}

/* Service list */
.bsb7-booking .bsb7-services{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
@media (min-width:720px){
  .bsb7-booking .bsb7-services{grid-template-columns:1fr 1fr !important}
}
.bsb7-booking .bsb7-group-title{
  display:block !important;
  grid-column:1/-1 !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  color:var(--bsb-accent-dark) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-group-title:first-child{margin-top:0 !important}
.bsb7-booking label.bsb7-service{
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:12px !important;
  width:100% !important;
  min-height:74px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--bsb-ink) !important;
  cursor:pointer !important;
  text-align:left !important;
  font-weight:400 !important;
}
.bsb7-booking script.bsb7-catalog,
.bsb7-booking #bsb7-services-stash{
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
}
.bsb7-booking label.bsb7-service:hover{
  border-color:var(--bsb-accent) !important;
}
.bsb7-booking label.bsb7-service.is-selected{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent-soft) !important;
  box-shadow:0 0 0 1px var(--bsb-accent) inset !important;
}
.bsb7-booking .bsb7-service input[type="checkbox"]{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.bsb7-booking .bsb7-check{
  display:block !important;
  position:relative !important;
  width:22px !important;
  min-width:22px !important;
  height:22px !important;
  margin:0 !important;
  padding:0 !important;
  border:1.5px solid #c4bbb5 !important;
  border-radius:6px !important;
  background:#fff !important;
}
.bsb7-booking .bsb7-service.is-selected .bsb7-check{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent) !important;
}
.bsb7-booking .bsb7-service.is-selected .bsb7-check::after{
  content:'✓' !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.bsb7-booking .bsb7-service-copy{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-service-copy strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:16px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-service-copy small{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:400 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-service-price{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-accent-dark) !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
  background:transparent !important;
  border:0 !important;
  text-align:right !important;
}
.bsb7-booking .bsb7-pick-bar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  margin:14px 0 0 !important;
  padding:12px 14px !important;
  border:0 !important;
  border-radius:12px !important;
  background:var(--bsb-bg) !important;
  color:var(--bsb-muted) !important;
  font-size:14px !important;
}
.bsb7-booking .bsb7-pick-bar strong{
  color:var(--bsb-ink) !important;
  font-weight:700 !important;
  background:transparent !important;
  border:0 !important;
}

/* Week calendar */
.bsb7-booking .bsb7-weekbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  margin:0 0 12px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-weekbar strong{
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:15px !important;
  font-weight:700 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-weekbtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#1f1b19 !important;
  -webkit-text-fill-color:#1f1b19 !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1 !important;
}
.bsb7-booking .bsb7-weekbtn:hover{border-color:var(--bsb-accent) !important}
.bsb7-booking .bsb7-days{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:0 0 18px !important;
  padding:0 !important;
}
.bsb7-booking .bsb7-day{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  width:100% !important;
  min-height:76px !important;
  margin:0 !important;
  padding:8px 4px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#1f1b19 !important;
  -webkit-text-fill-color:#1f1b19 !important;
  text-align:center !important;
}
.bsb7-booking .bsb7-day small{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#5c554f !important;
  -webkit-text-fill-color:#5c554f !important;
  font-size:11px !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-day b{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-day em{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#5c554f !important;
  -webkit-text-fill-color:#5c554f !important;
  font-size:10px !important;
  font-style:normal !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-day:hover:not(:disabled){border-color:var(--bsb-accent) !important}
.bsb7-booking .bsb7-day.is-active{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.bsb7-booking .bsb7-day.is-active small,
.bsb7-booking .bsb7-day.is-active em{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.bsb7-booking .bsb7-day:disabled,
.bsb7-booking .bsb7-day.is-closed{
  background:#efeae6 !important;
  color:#5c554f !important;
  -webkit-text-fill-color:#5c554f !important;
  cursor:not-allowed !important;
  opacity:1 !important;
}

/* Slots */
.bsb7-booking .bsb7-slot-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  width:100% !important;
  margin:0 0 10px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-slot-head p{
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:14px !important;
  font-weight:700 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-legend{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:12px !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-legend span{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  color:inherit !important;
  font-size:inherit !important;
}
.bsb7-booking .bsb7-legend i{
  display:inline-block !important;
  width:9px !important;
  min-width:9px !important;
  height:9px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:99px !important;
  background:#d9d9d9 !important;
}
.bsb7-booking .bsb7-legend i.is-free{background:var(--bsb-ok) !important}
.bsb7-booking .bsb7-legend i.is-busy{background:var(--bsb-busy) !important}
.bsb7-booking .bsb7-legend i.is-off{background:var(--bsb-off) !important}
.bsb7-booking .bsb7-slots{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 !important;
}
.bsb7-booking .bsb7-slot{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  width:100% !important;
  min-height:56px !important;
  margin:0 !important;
  padding:8px 6px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#1f1b19 !important;
  -webkit-text-fill-color:#1f1b19 !important;
  text-align:center !important;
}
.bsb7-booking .bsb7-slot-time{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  background:transparent !important;
  border:0 !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
.bsb7-booking .bsb7-slot-state{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:10px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  opacity:.8 !important;
  background:transparent !important;
  border:0 !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
.bsb7-booking .bsb7-slot.is-free:hover,
.bsb7-booking .bsb7-slot.is-free.is-active{
  border-color:var(--bsb-accent) !important;
  background:var(--bsb-accent) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.bsb7-booking .bsb7-slot.is-booked,
.bsb7-booking .bsb7-slot.is-booked:hover{
  border-color:#d8d8d8 !important;
  background:#ececec !important;
  color:#4a4a4a !important;
  -webkit-text-fill-color:#4a4a4a !important;
  cursor:not-allowed !important;
}
.bsb7-booking .bsb7-slot.is-unavailable,
.bsb7-booking .bsb7-slot.is-unavailable:hover{
  border-color:#ead8d2 !important;
  background:#fbf4f1 !important;
  color:#6b534a !important;
  -webkit-text-fill-color:#6b534a !important;
  cursor:not-allowed !important;
}
.bsb7-booking .bsb7-slot:disabled{cursor:not-allowed !important}
.bsb7-booking .bsb7-note{
  display:block !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:12px !important;
  line-height:1.45 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-muted,
.bsb7-booking .bsb7-empty,
.bsb7-booking .bsb7-error,
.bsb7-booking .bsb7-message-error{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.bsb7-booking .bsb7-muted,
.bsb7-booking .bsb7-empty{
  border:0 !important;
  background:var(--bsb-bg) !important;
  color:var(--bsb-muted) !important;
}
.bsb7-booking .bsb7-empty strong{
  display:block !important;
  color:var(--bsb-ink) !important;
  font-size:14px !important;
}
.bsb7-booking .bsb7-error,
.bsb7-booking .bsb7-message-error{
  border:1px solid #efc6bb !important;
  background:#fff1ed !important;
  color:#922f22 !important;
}

/* Form */
.bsb7-booking .bsb7-fields{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.bsb7-booking .bsb7-fields .bsb7-full{grid-column:1/-1 !important}
.bsb7-booking .bsb7-fields label{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:6px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  background:transparent !important;
  border:0 !important;
  cursor:default !important;
}
.bsb7-booking .bsb7-fields input,
.bsb7-booking .bsb7-fields textarea{
  display:block !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#1f1b19 !important;
  -webkit-text-fill-color:#1f1b19 !important;
  caret-color:#1f1b19 !important;
  opacity:1 !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.4 !important;
  outline:none !important;
  box-shadow:none !important;
}
.bsb7-booking .bsb7-fields textarea{min-height:110px !important;resize:vertical !important}
.bsb7-booking .bsb7-fields input:focus,
.bsb7-booking .bsb7-fields textarea:focus{
  border-color:var(--bsb-accent) !important;
  box-shadow:0 0 0 3px rgba(217,109,75,.12) !important;
}
.bsb7-booking .bsb7-consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  background:transparent !important;
  border:0 !important;
  cursor:pointer !important;
}
.bsb7-booking .bsb7-consent input{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:16px !important;
  min-width:16px !important;
  height:16px !important;
  min-height:16px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  accent-color:var(--bsb-accent) !important;
}
.bsb7-booking .bsb7-hp{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}

/* Nav */
.bsb7-booking .bsb7-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-back,
.bsb7-booking .bsb7-next,
.bsb7-booking #bsb7-submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  margin:0 !important;
  padding:12px 18px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
.bsb7-booking .bsb7-back{
  width:auto !important;
  border:1px solid var(--bsb-line) !important;
  background:#fff !important;
  color:var(--bsb-ink) !important;
}
.bsb7-booking .bsb7-back:hover{border-color:var(--bsb-accent) !important}
.bsb7-booking .bsb7-next,
.bsb7-booking #bsb7-submit{
  min-width:160px !important;
  border:0 !important;
  background:var(--bsb-accent) !important;
  color:#fff !important;
}
.bsb7-booking .bsb7-next:hover:not(:disabled),
.bsb7-booking #bsb7-submit:hover:not(:disabled){background:var(--bsb-accent-dark) !important}
.bsb7-booking .bsb7-next:disabled,
.bsb7-booking #bsb7-submit:disabled{
  background:#e8b5a4 !important;
  color:#fff !important;
  opacity:.7 !important;
  cursor:not-allowed !important;
}
.bsb7-booking #bsb7-submit.is-loading{position:relative !important;color:transparent !important}
.bsb7-booking #bsb7-submit.is-loading::after{
  content:'' !important;
  width:18px !important;
  height:18px !important;
  border:2px solid rgba(255,255,255,.45) !important;
  border-top-color:#fff !important;
  border-radius:99px !important;
  animation:bsb7spin .75s linear infinite !important;
}
@keyframes bsb7spin{to{transform:rotate(360deg)}}
.bsb7-booking #bsb7-message{margin-top:10px !important;font-size:14px !important}
.bsb7-booking .bsb7-back.is-hidden,
.bsb7-booking .bsb7-next.is-hidden,
.bsb7-booking #bsb7-submit.is-hidden,
.bsb7-booking .bsb7-nav.is-start{display:none !important}

/* Summary */
.bsb7-booking .bsb7-summary{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:22px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:18px !important;
  background:#fff !important;
}
.bsb7-booking .bsb7-summary h3{
  display:block !important;
  margin:0 0 16px !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-sum-row{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:8px !important;
  margin:0 !important;
  padding:10px 0 !important;
  border:0 !important;
  border-bottom:1px solid #f0e9e5 !important;
  background:transparent !important;
}
.bsb7-booking .bsb7-sum-row:last-of-type{border-bottom:0 !important}
.bsb7-booking .bsb7-sum-label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:12px !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-sum-value{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--bsb-ink) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  overflow-wrap:anywhere !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-sum-total{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:14px 0 0 !important;
  padding:14px 0 0 !important;
  border:0 !important;
  border-top:1px solid var(--bsb-line) !important;
  background:transparent !important;
}
.bsb7-booking .bsb7-sum-total span{
  color:var(--bsb-muted) !important;
  font-size:12px !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-sum-total strong{
  color:var(--bsb-accent-dark) !important;
  font-size:22px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  background:transparent !important;
  border:0 !important;
}
.bsb7-booking .bsb7-sum-help{
  display:block !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  color:var(--bsb-muted) !important;
  font-size:12px !important;
  line-height:1.5 !important;
  background:transparent !important;
  border:0 !important;
}

/* Success */
.bsb7-booking .bsb7-success{
  display:block !important;
  max-width:720px !important;
  margin:0 auto !important;
  padding:42px 28px !important;
  border:1px solid var(--bsb-line) !important;
  border-radius:20px !important;
  background:#fff !important;
  text-align:center !important;
}
.bsb7-booking .bsb7-success-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:56px !important;
  height:56px !important;
  margin:0 auto 12px !important;
  border:1px solid #efc8b9 !important;
  border-radius:99px !important;
  background:var(--bsb-accent-soft) !important;
  color:var(--bsb-accent) !important;
  font-size:26px !important;
}
.bsb7-booking .bsb7-success > span{
  display:block !important;
  color:var(--bsb-accent-dark) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.bsb7-booking .bsb7-success h3{
  margin:8px 0 6px !important;
  color:var(--bsb-ink) !important;
  font-size:30px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}
.bsb7-booking .bsb7-success p{
  margin:0 !important;
  color:var(--bsb-muted) !important;
  font-size:15px !important;
}
.bsb7-booking .bsb7-success-box{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  max-width:560px !important;
  margin:22px auto !important;
  text-align:left !important;
}
.bsb7-booking .bsb7-success-box > div{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  padding:12px !important;
  border-radius:10px !important;
  background:var(--bsb-bg) !important;
}
.bsb7-booking .bsb7-success-box span{
  color:var(--bsb-muted) !important;
  font-size:11px !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.bsb7-booking .bsb7-success-box strong{
  color:var(--bsb-ink) !important;
  font-size:14px !important;
}

@media (max-width:980px){
  .bsb7-booking .bsb7-layout{grid-template-columns:1fr !important}
  .bsb7-booking .bsb7-aside{order:2 !important}
  .bsb7-booking .bsb7-sticky{position:static !important}
  .bsb7-booking .bsb7-progress em{display:none !important}
  .bsb7-booking .bsb7-progress li{justify-content:center !important;padding:10px 0 !important}
}
@media (max-width:760px){
  .bsb7-booking{padding:4px 0 24px !important}
  .bsb7-booking .bsb7-hero h2{font-size:30px !important}
  .bsb7-booking .bsb7-panel{padding:18px !important;border-radius:14px !important}
  .bsb7-booking .bsb7-panel-head h3{font-size:21px !important}
  .bsb7-booking .bsb7-resources,
  .bsb7-booking .bsb7-fields,
  .bsb7-booking .bsb7-services,
  .bsb7-booking .bsb7-success-box{grid-template-columns:1fr !important}
  .bsb7-booking .bsb7-slots{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .bsb7-booking .bsb7-days{gap:6px !important}
  .bsb7-booking .bsb7-day{min-height:68px !important;padding:6px 2px !important}
  .bsb7-booking .bsb7-day b{font-size:16px !important}
  .bsb7-booking .bsb7-nav{flex-wrap:wrap !important}
  .bsb7-booking .bsb7-next,
  .bsb7-booking #bsb7-submit{flex:1 1 auto !important;width:auto !important}
  .bsb7-booking .bsb7-pick-bar{flex-direction:column !important;align-items:flex-start !important;gap:4px !important}
  .bsb7-booking .bsb7-sum-row{grid-template-columns:1fr !important;gap:2px !important}
}
@media (max-width:430px){
  .bsb7-booking .bsb7-slots{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .bsb7-booking .bsb7-days{grid-template-columns:repeat(7,minmax(0,1fr)) !important}
  .bsb7-booking .bsb7-day small{font-size:9px !important}
}

.bsb7-shell{
  display:block !important;
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
.bsb7-guest-view[hidden],
.bsb7-staff-view[hidden],
.bsb7-shell [hidden]{
  display:none !important;
}
