.ssbp-app,.ssbp-app *{box-sizing:border-box}
.ssbp-app{--ssbp-primary:#6f5ef9;--ssbp-accent:#e2644f;--ssbp-text:#18152a;--ssbp-muted:#6b6880;margin:0 auto;font-family:var(--ssbp-font,Inter,Arial,sans-serif)}
.ssbp-shell{display:grid;border:1px solid var(--ssbp-panel);background:var(--ssbp-surface)}
.ssbp-left{display:flex;flex-direction:column;justify-content:flex-start;background:var(--ssbp-surface);border-right:1px solid var(--ssbp-panel);min-width:0}
.ssbp-logo{display:block;object-fit:contain}
.ssbp-eyebrow{font-size:11px;line-height:1.25;color:var(--ssbp-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.ssbp-left h2{color:var(--ssbp-selected);font-weight:500}
.ssbp-left p{color:var(--ssbp-muted);margin:0}
.ssbp-left-note{line-height:1.35;color:var(--ssbp-selected);font-weight:500}
.ssbp-selection-box.is-hidden{display:none}
.ssbp-selection-prefix{align-items:center;gap:8px;color:var(--ssbp-error)}
.ssbp-selection-prefix:before{content:'●';font-size:12px}
.ssbp-selection-card{position:relative;border:1px solid var(--ssbp-selected);border-radius:4px;background:var(--ssbp-surface)}
.ssbp-selection-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.ssbp-selection-date{color:var(--ssbp-muted)}
.ssbp-edit-link{background:none;border:none;color:var(--ssbp-selected);font-weight:500;cursor:pointer;padding:0;white-space:nowrap}
.ssbp-selection-time{display:inline-flex;align-items:center;justify-content:center;background:var(--ssbp-selected);color:var(--ssbp-surface);border-radius:4px;font-weight:700}
.ssbp-left-back{display:none;margin-top:18px;width:86px;height:38px;border:1px solid var(--ssbp-border);background:var(--ssbp-panel);color:var(--ssbp-muted);border-radius:4px;font-size:13px}
.ssbp-right{min-width:0}
.ssbp-progress{display:flex;gap:10px}
.ssbp-progress span{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ssbp-surface);color:var(--ssbp-selected);font-weight:700;font-size:14px}
.ssbp-progress span.is-active{background:var(--ssbp-selected);color:var(--ssbp-surface)}
.ssbp-step{display:none}
.ssbp-step.is-active{display:block}
.ssbp-step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.ssbp-step-head h3{font-size:12px;font-weight:500;color:var(--ssbp-ink);margin:0}
.ssbp-dates-wrap{margin-bottom:14px;overflow:hidden}
.ssbp-dates{display:flex;gap:12px;overflow-x:auto;padding:0 2px 6px;scrollbar-width:thin;scrollbar-color:var(--ssbp-muted) transparent}
.ssbp-dates::-webkit-scrollbar{height:8px}.ssbp-dates::-webkit-scrollbar-thumb{background:var(--ssbp-muted);border-radius:10px}
.ssbp-date-card{flex:0 0 auto;width:64px;height:82px;border:1px solid var(--ssbp-border);border-radius:4px;background:var(--ssbp-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--ssbp-muted);transition:.15s}
.ssbp-date-card.is-active{background:var(--ssbp-selected);border-color:var(--ssbp-selected);color:var(--ssbp-surface);box-shadow:0 8px 18px color-mix(in srgb, var(--ssbp-selected) 20%, transparent)}
.ssbp-date-day{font-size:11px;line-height:1;text-transform:uppercase;margin-bottom:7px}
.ssbp-date-num{font-size:16px;font-weight:700;line-height:1;margin-bottom:5px}
.ssbp-date-month{font-size:11px;line-height:1}
.ssbp-slots-wrap{margin-bottom:12px}
.ssbp-slots-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.ssbp-slots-head strong{font-size:14px;font-weight:700;color:var(--ssbp-ink)}
.ssbp-timezone{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--ssbp-border);border-radius:12px;background:var(--ssbp-surface);color:var(--ssbp-muted);font-size:12px}
.ssbp-slot-group{margin-bottom:18px}.ssbp-slot-group:last-child{margin-bottom:0}
.ssbp-slot-group-title{font-size:12px;color:var(--ssbp-muted);margin-bottom:8px}
.ssbp-slot-row{display:flex;flex-wrap:wrap;gap:10px}
.ssbp-slot-chip{min-width:74px;height:30px;border:1px solid var(--ssbp-border);border-radius:4px;background:var(--ssbp-surface);color:var(--ssbp-muted);font-size:12px;font-weight:500;padding:0 10px;cursor:pointer}
.ssbp-slot-chip.is-active{background:var(--ssbp-selected);border-color:var(--ssbp-selected);color:var(--ssbp-surface);box-shadow:0 8px 18px color-mix(in srgb, var(--ssbp-selected) 18%, transparent)}
.ssbp-consult-note{font-size:12px;line-height:1.4;color:var(--ssbp-muted);max-width:320px;margin-top:12px}
.ssbp-step-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:28px}
.ssbp-next-btn{min-width:198px;height:48px;padding:0 22px;border:none;background:var(--ssbp-error);color:var(--ssbp-surface);border-radius:4px;font-size:16px;font-weight:500;cursor:pointer}
.ssbp-next-btn[disabled]{opacity:.45;cursor:not-allowed}
.ssbp-step2-grid{display:grid;grid-template-columns:1fr;gap:0}
.ssbp-form input::placeholder,.ssbp-form textarea::placeholder{color:var(--ssbp-muted)}
.ssbp-response{font-size:12px;margin-top:8px;color:var(--ssbp-error);min-height:18px}
.ssbp-back-link{border:1px solid var(--ssbp-border);background:var(--ssbp-panel);color:var(--ssbp-muted);border-radius:4px;cursor:pointer}
.ssbp-submit-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--ssbp-error);color:var(--ssbp-surface);border-radius:4px;font-weight:600;cursor:pointer}
.ssbp-confirm-title{font-size:16px;font-weight:700;color:var(--ssbp-selected);margin-bottom:10px}.ssbp-confirm-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--ssbp-selected);color:var(--ssbp-selected);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.ssbp-confirm-card{background:var(--ssbp-panel);border-radius:12px;padding:18px;position:relative;margin-bottom:14px}.ssbp-confirm-icon{font-size:28px;color:var(--ssbp-selected);margin-bottom:12px}.ssbp-confirm-service-title{font-size:14px;font-weight:700;color:var(--ssbp-ink);margin-bottom:10px}.ssbp-confirm-service-desc{font-size:13px;color:var(--ssbp-muted);line-height:1.45;max-width:280px}.ssbp-confirm-meta,.ssbp-confirm-date-line{font-size:13px;color:var(--ssbp-muted);margin:14px 0 10px}.ssbp-confirm-time-line{font-size:20px;color:var(--ssbp-ink);margin-bottom:18px}.ssbp-confirm-time-line .sep{padding:0 12px}.ssbp-confirm-advisor{width:132px;height:auto;display:block;align-self:end}.ssbp-confirm-text{font-size:13px;line-height:1.55;color:var(--ssbp-ink);margin-bottom:14px}.ssbp-confirm-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.ssbp-confirm-cta{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:6px;background:var(--ssbp-selected);color:var(--ssbp-surface);text-decoration:none;font-size:13px;font-weight:600}
.ssbp-no-slots{border:1px dashed var(--ssbp-border);border-radius:12px;padding:16px;font-size:12px;color:var(--ssbp-muted)}
.ssbp-loading{font-size:12px;color:var(--ssbp-muted);padding:12px 0}
@media(max-width:991px){.ssbp-shell{display:grid;border:1px solid var(--ssbp-panel);background:var(--ssbp-surface)}.ssbp-left{display:flex;flex-direction:column;justify-content:flex-start;background:var(--ssbp-surface);border-right:1px solid var(--ssbp-panel);min-width:0}.ssbp-left h2{color:var(--ssbp-selected);font-weight:500}.ssbp-right{min-width:0}}
@media(max-width:767px){.ssbp-shell{display:grid;border:1px solid var(--ssbp-panel);background:var(--ssbp-surface)}.ssbp-left{display:flex;flex-direction:column;justify-content:flex-start;background:var(--ssbp-surface);min-width:0}.ssbp-logo{display:block;object-fit:contain}.ssbp-eyebrow{font-size:11px;line-height:1.25;color:var(--ssbp-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}.ssbp-left h2{color:var(--ssbp-selected);font-weight:500}.ssbp-left p{color:var(--ssbp-muted);margin:0}.ssbp-left-note,.ssbp-selection-box,.ssbp-left-back{display:none;margin-top:18px;width:86px;height:38px;border:1px solid var(--ssbp-border);background:var(--ssbp-panel);color:var(--ssbp-muted);border-radius:4px;font-size:13px}.ssbp-right{min-width:0}.ssbp-progress{display:flex;gap:10px}.ssbp-step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.ssbp-step-head h3{font-size:12px;font-weight:500;color:var(--ssbp-ink);margin:0}.ssbp-dates{display:flex;gap:12px;overflow-x:auto;padding:0 2px 6px;scrollbar-width:thin;scrollbar-color:var(--ssbp-muted) transparent}.ssbp-date-card{flex:0 0 auto;width:64px;height:82px;border:1px solid var(--ssbp-border);border-radius:4px;background:var(--ssbp-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--ssbp-muted);transition:.15s}.ssbp-date-day{font-size:11px;line-height:1;text-transform:uppercase;margin-bottom:7px}.ssbp-date-num{font-size:16px;font-weight:700;line-height:1;margin-bottom:5px}.ssbp-date-month{font-size:11px;line-height:1}.ssbp-slots-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.ssbp-timezone{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--ssbp-border);border-radius:12px;background:var(--ssbp-surface);color:var(--ssbp-muted);font-size:12px}.ssbp-slot-row{display:flex;flex-wrap:wrap;gap:10px}.ssbp-slot-chip{min-width:74px;height:30px;border:1px solid var(--ssbp-border);border-radius:4px;background:var(--ssbp-surface);color:var(--ssbp-muted);font-size:12px;font-weight:500;padding:0 10px;cursor:pointer}.ssbp-consult-note{font-size:12px;line-height:1.4;color:var(--ssbp-muted);max-width:320px;margin-top:12px}.ssbp-step-actions,.ssbp-step2-actions{justify-content:space-between;align-items:center;margin-top:16px}.ssbp-back-link,.ssbp-submit-btn,.ssbp-next-btn{min-width:0;flex:1}.ssbp-confirm-card{background:var(--ssbp-panel);border-radius:12px;padding:18px;position:relative;margin-bottom:14px}.ssbp-confirm-advisor{width:100px;justify-self:end}}


/* ===== v11.2.1 step-2 visual refinement (preserves backend) ===== */
.ssbp-logo{max-width:92px;max-height:34px;margin-bottom:22px}
.ssbp-left-inner{max-width:200px!important}
.ssbp-left h2{
  letter-spacing:-.02em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.ssbp-selection-date{max-width:185px!important}
.ssbp-confirm-card{min-height:260px!important}


/* ===== v11.2.2 exact step-2 alignment pass ===== */
.ssbp-app{
  max-width:760px !important;
}
.ssbp-shell{
  min-height:540px !important;
}
.ssbp-left-note{
  margin-top:18px !important;
}
.ssbp-selection-box{
  padding-top:0 !important;
}
.ssbp-selection-prefix{
  display:block !important;
  line-height:1.4 !important;
}
.ssbp-selection-card{
  max-width:310px !important;
}
.ssbp-selection-time{
  line-height:1 !important;
}
.ssbp-edit-link{
  top:10px !important;
  right:10px !important;
}
.ssbp-progress{
  margin-bottom:14px !important;
}
.ssbp-step2-title{
  margin:0 0 14px !important;
}
.ssbp-form input,
.ssbp-form textarea,
.ssbp-form select{
  width:100% !important;
}
.ssbp-form textarea{
  margin:0 !important;
}
@media (max-width:767px){
  .ssbp-left{
    min-height:auto !important;
  }
}


/* ===== FINAL STEP 2 PERFECT MATCH ===== */


/* ===== v11.2.4 dynamic country dropdown ===== */


/* ===== v11.2.4 dynamic country dropdown list ===== */


/* ===== v11.2.6 final form + country dropdown fix ===== */
.ssbp-shell{grid-template-columns:33% 67% !important}
.ssbp-left{padding:26px 20px 18px !important}
.ssbp-left h2{
  font-size:22px !important;
  line-height:1.02 !important;
  max-width:165px !important;
  margin:0 0 10px !important;
}
.ssbp-left p{
  font-size:11px !important;
  max-width:180px !important;
  line-height:1.42 !important;
}
.ssbp-left-note{font-size:12px !important}
.ssbp-selection-box{
  margin-top:22px !important;
  max-width:300px !important;
}
.ssbp-selection-prefix{
  font-size:11px !important;
  margin-bottom:7px !important;
}
.ssbp-selection-card{padding:10px 12px !important}
.ssbp-selection-date{font-size:11px !important; line-height:1.45 !important}
.ssbp-selection-time{font-size:13px !important; padding:8px 12px !important}
.ssbp-edit-link{font-size:11px !important}

.ssbp-right{padding:20px 24px 18px !important}
.ssbp-step2-title{
  font-size:11px !important;
  line-height:1.35 !important;
  color:var(--ssbp-muted) !important;
  margin-bottom:12px !important;
  font-weight:400 !important;
}
.ssbp-form input,
.ssbp-form select,
.ssbp-form textarea{
  padding:11px 12px !important;
}
.ssbp-phone-wrap select{
  width:104px !important;
  min-width:104px !important;
  max-width:104px !important;
  border:0 !important;
  border-right:1px solid var(--ssbp-border) !important;
  border-radius:0 !important;
  padding:0 22px 0 10px !important;
  font-size:12px !important;
  line-height:1 !important;
  background:var(--ssbp-surface) !important;
  appearance:auto !important;
  color:var(--ssbp-ink) !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
  background-image:none !important;
}
.ssbp-phone-wrap input{
  margin:0 !important;
}
.ssbp-field-caption{
  float:none !important;
}
.ssbp-back-link{
  width:84px !important;
  height:40px !important;
  font-size:12px !important;
}
.ssbp-submit-btn{
  min-width:126px !important;
  height:40px !important;
  font-size:13px !important;
  padding:0 16px !important;
}
@media (max-width:767px){
  .ssbp-shell{grid-template-columns:1fr !important}
  .ssbp-left{
    padding:18px 16px !important;
    border-right:none !important;
    border-bottom:1px solid var(--ssbp-panel) !important;
  }
  .ssbp-left h2{
    font-size:20px !important;
    max-width:none !important;
  }
  .ssbp-left p{max-width:none !important}
  .ssbp-right{padding:16px !important}
  .ssbp-phone-wrap select{
    width:110px !important;
    min-width:110px !important;
    max-width:none;
  }
}


/* ===== v11.3.1 Enterprise searchable country selector - works for logged-in and logged-out users ===== */
.ssbp-phone-wrap.ssbp-phone-enterprise{
  display:grid!important;
  grid-template-columns:112px 1fr!important;
  border:1px solid var(--ssbp-border)!important;
  border-radius:2px!important;
  background:var(--ssbp-surface)!important;
  position:relative!important;
  z-index:100!important;
  margin-bottom:12px!important;
}
.ssbp-phone-enterprise .ssbp-country-picker{
  max-width:112px!important;
}
.ssbp-phone-enterprise .ssbp-country-trigger{
  width:100%!important;
  height:100%!important;
  min-height:40px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--ssbp-surface)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  cursor:pointer!important;
  font-size:12px!important;
  color:var(--ssbp-ink)!important;
  padding:0 8px!important;
  box-shadow:none!important;
}
.ssbp-phone-enterprise .ssbp-country-caret{font-size:0!important;color:var(--ssbp-muted)!important;line-height:1!important; position: relative }
.ssbp-phone-enterprise .ssbp-country-caret:before {
  border-bottom: 1px solid var(--ssbp-muted);
  border-right: 1px solid var(--ssbp-muted);
  content: '';
  display: block;
  height: 8px;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  left: 0px;
  top: 50%;
  -webkit-transform-origin: 66% 66%;
  -ms-transform-origin: 66% 66%;
  transform-origin: 66% 66%;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  width: 8px;
}
.ssbp-phone-enterprise .ssbp-country-panel{
  position:absolute!important;
  top:calc(100% + 4px)!important;
  left:0!important;
  width:270px!important;
  max-height:252px!important;
  background:var(--ssbp-surface)!important;
  border:1px solid var(--ssbp-border)!important;
  box-shadow:0 14px 32px color-mix(in srgb, var(--ssbp-selected) 18%, transparent)!important;
  border-radius:8px!important;
  padding:8px!important;
  z-index:9999999!important;
  overflow:hidden!important;
}
.ssbp-phone-enterprise .ssbp-country-search{
  width:100%!important;
  height:34px!important;
  border:1px solid var(--ssbp-panel)!important;
  border-radius:6px!important;
  padding:0 10px!important;
  margin:0 0 8px!important;
  font-size:12px!important;
  background:var(--ssbp-surface)!important;
  box-shadow:none!important;
}
.ssbp-phone-enterprise .ssbp-country-list{
  max-height:192px!important;
  overflow-y:auto!important;
  display:flex!important;
  flex-direction:column!important;
}
.ssbp-phone-enterprise .ssbp-country-item{
  width:100%!important;
  border:0!important;
  border-radius:6px!important;
  background:var(--ssbp-surface)!important;
  display:grid!important;
  grid-template-columns:26px 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px!important;
  cursor:pointer!important;
  text-align:left!important;
  color:var(--ssbp-ink)!important;
  box-shadow:none!important;
}
.ssbp-phone-enterprise .ssbp-country-item:hover,
.ssbp-phone-enterprise .ssbp-country-item.is-active{background:var(--ssbp-surface)!important}
.ssbp-phone-enterprise .ssbp-country-item strong{font-size:12px!important;font-weight:500!important;color:var(--ssbp-ink)!important}
.ssbp-phone-enterprise .ssbp-country-item em{font-style:normal!important;font-size:12px!important;color:var(--ssbp-muted)!important}
.ssbp-phone-wrap.ssbp-phone-enterprise>input{border:0!important;width:100%!important;padding:11px 12px!important;box-shadow:none!important}
@media(max-width:767px){
  .ssbp-phone-wrap.ssbp-phone-enterprise{grid-template-columns:112px 1fr!important}
  .ssbp-phone-enterprise .ssbp-country-panel{width:250px!important}
}


/* ===== v11.3.2 final polish: remove duplicate left back + clean dropdown ===== */



/* ===== v11.3.4 FINAL INSTALL-READY UI POLISH ===== */

/* Hide duplicate back button in left/sidebar summary only */

/* Phone/country alignment */

/* fallback native select if present */

/* Searchable country popup */

/* Full-width "We are looking for" dropdown like approved reference */


/* ===== v11.3.6 FINAL CSS FIXES ===== */
.ssbp-left .ssbp-back-link,.ssbp-left button[class*="back"],.ssbp-selection-box .ssbp-back-link,.ssbp-selection-box button[class*="back"]{display:none!important}
.ssbp-step2-form-wrap,.ssbp-form{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.ssbp-form input,.ssbp-form select,.ssbp-form textarea{box-sizing:border-box!important;font-size:12px!important;line-height:1.35!important;color:var(--ssbp-selected)!important;border:1px solid var(--ssbp-border)!important;border-radius:3px!important;background:var(--ssbp-surface)!important;box-shadow:none!important;outline:none!important}
.ssbp-phone-wrap{display:grid!important;grid-template-columns:112px 1fr!important;align-items:center!important;width:100%!important;height:42px!important;min-height:42px!important;border:1px solid var(--ssbp-border)!important;border-radius:3px!important;background:var(--ssbp-surface)!important;overflow:visible!important;position:relative!important;z-index:40!important;margin:0 0 12px 0!important}
.ssbp-country-picker,.ssbp-phone-enterprise .ssbp-country-picker{position:relative!important;width:112px!important;min-width:112px!important;height:40px!important;border-right:1px solid var(--ssbp-border)!important;background:var(--ssbp-surface)!important;z-index:9999!important}
.ssbp-country-trigger{width:100%!important;height:40px!important;min-height:42px!important;border:0!important;background:var(--ssbp-surface)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 8px!important;cursor:pointer!important;font-size:12px!important;color:var(--ssbp-ink)!important;line-height:1!important}
.ssbp-country-flag,.ssbp-country-code,.ssbp-country-caret{display:inline-flex!important;align-items:center!important;line-height:1!important}
.ssbp-country-flag{font-size:13px!important}.ssbp-country-code{font-size:12px!important;color:var(--ssbp-ink)!important}.ssbp-country-caret{font-size:12px!important;color:var(--ssbp-muted)!important;margin-left:2px!important;transform:translateY(-1px)!important}
.ssbp-phone-wrap input,.ssbp-phone-enterprise>input{border:0!important;width:100%!important;height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:12px!important;outline:none!important;box-shadow:none!important;background:var(--ssbp-surface)!important}
.ssbp-country-panel{position:absolute!important;top:calc(100% + 4px)!important;left:0!important;width:260px!important;max-height:245px!important;border:1px solid var(--ssbp-border)!important;box-shadow:0 14px 32px color-mix(in srgb, var(--ssbp-selected) 16%, transparent)!important;border-radius:8px!important;padding:8px!important;z-index:999999!important}
.ssbp-country-search{width:100%!important;height:34px!important;border:1px solid var(--ssbp-panel)!important;border-radius:6px!important;padding:0 10px!important;margin:0 0 8px!important;font-size:12px!important;background:var(--ssbp-surface)!important}
.ssbp-country-list{max-height:190px!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important}
.ssbp-country-item{width:100%!important;border:0!important;background:var(--ssbp-surface)!important;display:grid!important;grid-template-columns:26px 1fr auto!important;align-items:center!important;gap:8px!important;padding:8px!important;border-radius:6px!important;cursor:pointer!important;text-align:left!important;color:var(--ssbp-ink)!important}
.ssbp-country-item:hover,.ssbp-country-item.is-active{background:var(--ssbp-surface)!important}.ssbp-country-item strong{font-size:12px!important;font-weight:500!important;color:var(--ssbp-ink)!important}.ssbp-country-item em{font-style:normal!important;font-size:12px!important;color:var(--ssbp-muted)!important}
.ssbp-field-caption{display:block!important;width:100%!important;font-size:12px!important;margin:10px 0 6px!important;color:var(--ssbp-ink)!important;line-height:1.35!important;clear:both!important}
.ssbp-select-wrap,.ssbp-form .ssbp-select-wrap,.ssbp-step2-form-wrap .ssbp-select-wrap{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;min-width:100%!important;margin:0 0 12px 0!important;clear:both!important;float:none!important;box-sizing:border-box!important}
.ssbp-select-wrap select,.ssbp-form .ssbp-select-wrap select,.ssbp-step2-form-wrap .ssbp-select-wrap select{display:block!important;width:100%!important;max-width:100%!important;min-width:100%!important;height:42px!important;min-height:42px!important;padding:0 42px 0 12px!important;border:1px solid var(--ssbp-border)!important;border-radius:3px!important;background:var(--ssbp-surface)!important;box-shadow:none!important;font-size:12px!important;color:var(--ssbp-ink)!important;line-height:42px!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;cursor:pointer!important}
.ssbp-select-wrap:after{content:"⌄"!important;position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;font-size:14px!important;line-height:1!important;color:var(--ssbp-muted)!important;pointer-events:none!important;z-index:3!important}
.ssbp-form textarea{display:block!important;width:100%!important;max-width:100%!important;height:110px!important;resize:none!important;padding:12px!important}
.ssbp-step2-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:16px!important}
@media(max-width:767px){.ssbp-phone-wrap{grid-template-columns:112px 1fr!important}.ssbp-country-picker,.ssbp-phone-enterprise .ssbp-country-picker{width:112px!important;min-width:112px!important}.ssbp-country-panel{width:250px!important}}



/* ===== v11.4.5 — booked slots, dashicons, dropdown fix ===== */

/* 1. Booked slot style */
.ssbp-slot-chip.is-booked {
  opacity: 0.38 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
  pointer-events: none !important;
  background: var(--ssbp-panel) !important;
  color: var(--ssbp-muted) !important;
  border-color: var(--ssbp-border) !important;
}

/* 2. Dashicon in slot group titles */
.ssbp-slot-group-title {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* 3. Company/Brand dropdown arrow — replace ⌄ with clean CSS chevron */
.ssbp-select-wrap::after {
  content: '' !important;
  border: solid var(--ssbp-muted) !important;
  border-width: 0 1.5px 1.5px 0 !important;
  display: inline-block !important;
  padding: 3px !important;
  transform: rotate(45deg) !important;
  position: absolute !important;
  right: 14px !important;
  top: calc(50% - 5px) !important;
  pointer-events: none !important;
}

/* 4. Country dropdown — ensure panel escapes phone-wrap when open */
.ssbp-phone-wrap.ssbp-phone-enterprise {
  overflow: visible !important;
}
.ssbp-phone-enterprise .ssbp-country-picker {
  position: relative !important;
  overflow: visible !important;
}

/* ===== v11.4.6 — features list, exit overlay, country panel body-fixed ===== */

/* Features list in left panel */
.ssbp-features-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 14px 0 0 !important;
}
.ssbp-features-list li {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  color: var(--ssbp-muted) !important;
  margin-bottom: 7px !important;
}
.ssbp-features-list .dashicons {
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
  color: var(--ssbp-primary, var(--ssbp-selected)) !important;
  flex-shrink: 0 !important;
}

/* Country panel — body-appended fixed positioning */
body > .ssbp-country-panel {
  position: fixed !important;
  background: var(--ssbp-surface) !important;
  border: 1px solid var(--ssbp-border) !important;
  box-shadow: 0 14px 32px color-mix(in srgb, var(--ssbp-selected) 18%, transparent) !important;
  border-radius: 8px !important;
  padding: 8px !important;
  max-height: 260px !important;
  z-index: 9999999 !important;
}
body > .ssbp-country-panel .ssbp-country-search {
  height: 34px !important;
  border: 1px solid var(--ssbp-panel) !important;
  border-radius: 6px !important;
  padding: 0 10px !important;
  margin: 0 0 8px !important;
  font-size: 12px !important;
  flex-shrink: 0 !important;
}
body > .ssbp-country-panel .ssbp-country-list {
  flex: 1 !important;
}
body > .ssbp-country-panel .ssbp-country-item {
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--ssbp-surface) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px !important;
  cursor: pointer !important;
  text-align: left !important;
  color: var(--ssbp-ink) !important;
}
body > .ssbp-country-panel .ssbp-country-item:hover,
body > .ssbp-country-panel .ssbp-country-item.is-active { background: var(--ssbp-surface) !important; }
body > .ssbp-country-panel .ssbp-country-item strong { font-size: 12px !important; font-weight: 500 !important; }
body > .ssbp-country-panel .ssbp-country-item em { font-style: normal !important; font-size: 12px !important; color: var(--ssbp-muted) !important; }

/* Exit intent overlay */
.ssbp-exit-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: var(--ssbp-surface) !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: inherit !important;
}
.ssbp-exit-overlay[hidden] { display: none !important; }
.ssbp-exit-inner {
  text-align: center !important;
  padding: 40px 32px !important;
  max-width: 520px !important;
  width: 100% !important;
}
.ssbp-exit-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--ssbp-selected) !important;
  margin: 0 0 10px !important;
}
.ssbp-exit-subtitle {
  font-size: 14px !important;
  color: var(--ssbp-muted) !important;
  margin: 0 0 28px !important;
}
.ssbp-exit-steps {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  margin-bottom: 32px !important;
}
.ssbp-exit-step {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  position: relative !important;
}
.ssbp-exit-step:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  top: 16px !important;
  left: calc(50% + 16px) !important;
  width: 60px !important;
  border-top: 2px dotted var(--ssbp-border) !important;
}
.ssbp-exit-step span {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--ssbp-primary, var(--ssbp-selected)) !important;
  color: var(--ssbp-surface) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin: 0 40px !important;
}
.ssbp-exit-step.is-current span {
  background: var(--ssbp-panel) !important;
  color: var(--ssbp-muted) !important;
}
.ssbp-exit-step small {
  font-size: 11px !important;
  color: var(--ssbp-muted) !important;
  white-space: nowrap !important;
}
.ssbp-exit-actions {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  margin-bottom: 24px !important;
}
.ssbp-exit-btn {
  min-width: 140px !important;
  height: 48px !important;
  border: 1px solid var(--ssbp-border) !important;
  border-radius: 8px !important;
  background: var(--ssbp-surface) !important;
  color: var(--ssbp-selected) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
.ssbp-continue-btn {
  min-width: 140px !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--ssbp-primary, var(--ssbp-selected)) !important;
  color: var(--ssbp-surface) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
.ssbp-exit-trust {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  background: var(--ssbp-surface) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  text-align: left !important;
}
.ssbp-exit-trust .dashicons {
  color: var(--ssbp-success) !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}
.ssbp-exit-trust p {
  font-size: 13px !important;
  color: var(--ssbp-selected) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* ===== v11.4.7 — country panel position fix when body-appended ===== */
/* top/left set by JS positionPanel */

/* ===== v11.4.9 — ISO flag badges, clean cross-platform country display ===== */
.ssbp-flag-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 18px !important;
  background: var(--ssbp-panel) !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--ssbp-ink) !important;
  letter-spacing: 0.03em !important;
  font-family: monospace !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
/* Trigger badge — slightly larger */
.ssbp-country-trigger .ssbp-flag-badge {
  width: 28px !important;
  height: 20px !important;
  font-size: 10px !important;
}
/* List item badge */
body > .ssbp-country-panel .ssbp-flag-badge,
.ssbp-country-panel .ssbp-flag-badge {
  width: 26px !important;
  height: 18px !important;
}

/* ===== v11.5.3 fixes: IST-safe slots, custom icons, colors, popup-safe picker ===== */
.ssbp-app{
  --ssbp-datetime-hover-bg: var(--ssbp-primary, #6f5ef9);
  --ssbp-datetime-hover-text: #ffffff;
  --ssbp-button-bg: #e2644f;
  --ssbp-button-text: #ffffff;
  --ssbp-button-hover-bg: #c85342;
  --ssbp-button-hover-text: #ffffff;
}

.ssbp-app .ssbp-date-card:not(.is-active):hover,
.ssbp-app .ssbp-slot-chip:not(.is-active):not(.is-booked):hover{
  background: var(--ssbp-datetime-hover-bg, var(--ssbp-primary, var(--ssbp-selected))) !important;
  border-color: var(--ssbp-datetime-hover-bg, var(--ssbp-primary, var(--ssbp-selected))) !important;
  color: var(--ssbp-datetime-hover-text, var(--ssbp-surface)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--ssbp-ink) 10%, transparent) !important;
}

.ssbp-app .ssbp-next-btn,
.ssbp-app .ssbp-submit-btn,
.ssbp-app .ssbp-confirm-cta,
.ssbp-app .ssbp-continue-btn,
.ssbp-app .ssbp-exit-btn,
.ssbp-app .ssbp-back-link,
.ssbp-app .ssbp-left-back{
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease !important;
}

.ssbp-app .ssbp-next-btn:disabled{
  opacity: .45 !important;
  cursor: not-allowed !important;
}
.ssbp-icon-sunrise::before{content:'🌅' !important;}
.ssbp-icon-sun-cloud::before{content:'⛅' !important;}
.ssbp-icon-sunset::before{content:'🌇' !important;}
.ssbp-country-panel .ssbp-country-item[style*="display: none"]{
  display: none !important;
}

/* ===== v11.5.4 — Dashicons, country dropdown stack, individual button controls ===== */
.ssbp-slot-group-title .dashicons{
  font-size:16px!important;
  width:16px!important;
  height:16px!important;
  line-height:16px!important;
  color:var(--ssbp-muted)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0!important;
}

/* Keep the searchable country options below the search field in all popup hosts. */
.ssbp-country-panel,
body > .ssbp-country-panel,
.ssbp-country-panel.ssbp-cp-open,
body > .ssbp-country-panel.ssbp-cp-open{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.ssbp-country-panel[hidden],
body > .ssbp-country-panel[hidden]{display:none!important}
.ssbp-country-panel .ssbp-country-search,
body > .ssbp-country-panel .ssbp-country-search{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
.ssbp-country-panel .ssbp-country-list,
body > .ssbp-country-panel .ssbp-country-list{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}
.ssbp-country-panel .ssbp-country-item,
body > .ssbp-country-panel .ssbp-country-item{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr) auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.ssbp-country-panel .ssbp-country-item strong,
body > .ssbp-country-panel .ssbp-country-item strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  min-width:0!important;
}
.ssbp-country-panel .ssbp-country-item em,
body > .ssbp-country-panel .ssbp-country-item em{
  white-space:nowrap!important;
}

/* Individual button colour variables. Form-level settings override these inline. */
.ssbp-app{
  --ssbp-step1-btn-bg:#e2644f;
  --ssbp-step1-btn-text:#ffffff;
  --ssbp-step1-btn-hover-bg:#c85342;
  --ssbp-step1-btn-hover-text:#ffffff;
  --ssbp-back-btn-bg:#ececec;
  --ssbp-back-btn-text:#6b7280;
  --ssbp-back-btn-hover-bg:#d7d7db;
  --ssbp-back-btn-hover-text:#374151;
  --ssbp-submit-btn-bg:#e2644f;
  --ssbp-submit-btn-text:#ffffff;
  --ssbp-submit-btn-hover-bg:#c85342;
  --ssbp-submit-btn-hover-text:#ffffff;
  --ssbp-exit-btn-bg:#f9fafb;
  --ssbp-exit-btn-text:#18152a;
  --ssbp-exit-btn-hover-bg:#eef2f7;
  --ssbp-exit-btn-hover-text:#111827;
  --ssbp-continue-btn-bg:#6f5ef9;
  --ssbp-continue-btn-text:#ffffff;
  --ssbp-continue-btn-hover-bg:#5947e8;
  --ssbp-continue-btn-hover-text:#ffffff;
  --ssbp-cta-btn-bg:#1460e8;
  --ssbp-cta-btn-text:#ffffff;
  --ssbp-cta-btn-hover-bg:#0f4fc2;
  --ssbp-cta-btn-hover-text:#ffffff;
}

.ssbp-app .ssbp-next-btn{
  background:var(--ssbp-step1-btn-bg)!important;
  color:var(--ssbp-step1-btn-text)!important;
  border-color:var(--ssbp-step1-btn-bg)!important;
}
.ssbp-app .ssbp-next-btn:hover:not(:disabled){
  background:var(--ssbp-step1-btn-hover-bg)!important;
  color:var(--ssbp-step1-btn-hover-text)!important;
  border-color:var(--ssbp-step1-btn-hover-bg)!important;
}
.ssbp-app .ssbp-back-link,
.ssbp-app .ssbp-left-back{
  background:var(--ssbp-back-btn-bg)!important;
  color:var(--ssbp-back-btn-text)!important;
  border-color:var(--ssbp-back-btn-bg)!important;
}
.ssbp-app .ssbp-back-link:hover,
.ssbp-app .ssbp-left-back:hover{
  background:var(--ssbp-back-btn-hover-bg)!important;
  color:var(--ssbp-back-btn-hover-text)!important;
  border-color:var(--ssbp-back-btn-hover-bg)!important;
}
.ssbp-app .ssbp-submit-btn{
  background:var(--ssbp-submit-btn-bg)!important;
  color:var(--ssbp-submit-btn-text)!important;
  border-color:var(--ssbp-submit-btn-bg)!important;
}
.ssbp-app .ssbp-submit-btn:hover:not(:disabled){
  background:var(--ssbp-submit-btn-hover-bg)!important;
  color:var(--ssbp-submit-btn-hover-text)!important;
  border-color:var(--ssbp-submit-btn-hover-bg)!important;
}
.ssbp-app .ssbp-exit-btn{
  background:var(--ssbp-exit-btn-bg)!important;
  color:var(--ssbp-exit-btn-text)!important;
  border-color:var(--ssbp-exit-btn-bg)!important;
}
.ssbp-app .ssbp-exit-btn:hover{
  background:var(--ssbp-exit-btn-hover-bg)!important;
  color:var(--ssbp-exit-btn-hover-text)!important;
  border-color:var(--ssbp-exit-btn-hover-bg)!important;
}
.ssbp-app .ssbp-continue-btn{
  background:var(--ssbp-continue-btn-bg)!important;
  color:var(--ssbp-continue-btn-text)!important;
  border-color:var(--ssbp-continue-btn-bg)!important;
}
.ssbp-app .ssbp-continue-btn:hover{
  background:var(--ssbp-continue-btn-hover-bg)!important;
  color:var(--ssbp-continue-btn-hover-text)!important;
  border-color:var(--ssbp-continue-btn-hover-bg)!important;
}
.ssbp-app .ssbp-confirm-cta{
  background:var(--ssbp-cta-btn-bg)!important;
  color:var(--ssbp-cta-btn-text)!important;
  border-color:var(--ssbp-cta-btn-bg)!important;
}
.ssbp-app .ssbp-confirm-cta:hover{
  background:var(--ssbp-cta-btn-hover-bg)!important;
  color:var(--ssbp-cta-btn-hover-text)!important;
  border-color:var(--ssbp-cta-btn-hover-bg)!important;
}


/* ===== v11.5.5 — country dropdown row spacing fix ===== */
/* Keeps every country row in its own line, below the search box, even when Elementor/theme button CSS tries to compress buttons. */
body .ssbp-country-panel.ssbp-cp-open,
body > .ssbp-country-panel.ssbp-cp-open,
.ssbp-app .ssbp-country-panel.ssbp-cp-open{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:270px!important;
  max-height:306px!important;
  padding:8px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-search,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-search,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-search{
  display:block!important;
  flex:0 0 42px!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0 0 8px 0!important;
  box-sizing:border-box!important;
  line-height:1.2!important;
}
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-list,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-list,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-list{
  display:block!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:236px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-item,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-item,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-item{
  position:relative!important;
  float:none!important;
  clear:both!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  line-height:1.2!important;
  transform:none!important;
  white-space:nowrap!important;
}
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-item .ssbp-flag-badge,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-item .ssbp-flag-badge,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-item .ssbp-flag-badge{
  width:26px!important;
  height:18px!important;
  min-width:26px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  line-height:18px!important;
}
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-item strong,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-item strong,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-item strong,
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-item em,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-item em,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-item em{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}


/* ===== v11.5.6 — country search visibility fix ===== */
/* v11.5.5 used strong display:grid rules to protect the dropdown UI from theme CSS.
   This stronger final rule lets JS hide non-matching countries during search. */
body .ssbp-country-panel.ssbp-cp-open .ssbp-country-item.ssbp-country-hidden,
body > .ssbp-country-panel.ssbp-cp-open .ssbp-country-item.ssbp-country-hidden,
.ssbp-app .ssbp-country-panel.ssbp-cp-open .ssbp-country-item.ssbp-country-hidden,
.ssbp-country-panel .ssbp-country-item.ssbp-country-hidden,
body .ssbp-country-panel .ssbp-country-item[style*="display: none"],
body > .ssbp-country-panel .ssbp-country-item[style*="display: none"]{
  display:none!important;
}


/* ===== v11.5.8 — alphabetized full country list + form retry polish ===== */
.ssbp-response.is-error{color:var(--ssbp-error)!important;}
.ssbp-response:empty{display:block!important;min-height:0!important;margin:0!important;}

/* ===== v11.5.11 — strict duplicate-detail booking guard ===== */

/* ===== v11.5.13 — mobile scroll + step-2 alignment fix ===== */
@media (max-width: 767px){
  .ssbp-app{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  .ssbp-shell{
    display:block!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .ssbp-left,
  .ssbp-right{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .ssbp-left{
    padding:30px 28px 20px!important;
    border-right:0!important;
    border-bottom:1px solid var(--ssbp-panel)!important;
    min-height:0!important;
  }

  .ssbp-right{
    padding:24px 28px calc(118px + env(safe-area-inset-bottom, 0px))!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .ssbp-left-inner{
    width:100%!important;
    max-width:none!important;
  }

  .ssbp-logo{
    max-width:180px!important;
    max-height:44px!important;
    margin:0 0 54px!important;
    object-fit:contain!important;
  }

  .ssbp-left h2{
    max-width:none!important;
    font-size:34px!important;
    line-height:1.08!important;
    margin:0 0 16px!important;
  }

  .ssbp-left p{
    max-width:none!important;
    font-size:20px!important;
    line-height:1.45!important;
  }

  .ssbp-eyebrow{
    font-size:16px!important;
    line-height:1.3!important;
    margin-bottom:20px!important;
  }

  .ssbp-left-note{
    display:block!important;
    width:auto!important;
    height:auto!important;
    border:0!important;
    background:transparent!important;
    color:var(--ssbp-selected)!important;
    margin:26px 0 14px!important;
    font-size:16px!important;
    line-height:1.3!important;
  }

  .ssbp-features-list{
    margin:18px 0 0!important;
    padding:0!important;
  }

  .ssbp-features-list li{
    font-size:18px!important;
    line-height:1.45!important;
    margin:12px 0!important;
  }

  /* Step 2 selected-slot summary: remove the narrow sidebar sizing that caused overlap. */
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-box:not(.is-hidden),
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-box[style]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:28px 0 0!important;
    padding:0!important;
    clear:both!important;
    float:none!important;
    box-sizing:border-box!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-prefix{
    height:auto!important;
    color:var(--ssbp-error)!important;
    font-size:16px!important;
    white-space:normal!important;
    box-sizing:border-box!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-prefix:before{
    display:inline-block!important;
    vertical-align:baseline!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    padding:16px 18px!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-meta{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14px!important;
    width:100%!important;
    margin:0 0 14px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-date{
    max-width:none!important;
    width:auto!important;
    font-size:16px!important;
    line-height:1.35!important;
    color:var(--ssbp-muted)!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-edit-link{
    flex:0 0 auto!important;
    font-size:16px!important;
    line-height:1.2!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-time{
    font-size:18px!important;
    padding:12px 16px!important;
    border-radius:6px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-left-back{
    display:none!important;
  }

  .ssbp-step2-grid,
  .ssbp-step2-form-wrap,
  .ssbp-form{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    clear:both!important;
    float:none!important;
  }

  .ssbp-step2-title{
    margin:0 0 18px!important;
    font-size:16px!important;
    line-height:1.35!important;
  }

  .ssbp-form input,
  .ssbp-form select{
    height:66px!important;
    min-height:66px!important;
    font-size:18px!important;
    line-height:1.25!important;
    padding:0 20px!important;
  }

  .ssbp-phone-wrap{
    height:72px!important;
    min-height:72px!important;
    grid-template-columns:194px 1fr!important;
    margin:0 0 18px!important;
  }

  .ssbp-country-picker,
  .ssbp-phone-enterprise .ssbp-country-picker{
    width:194px!important;
    min-width:194px!important;
    height:70px!important;
    min-height:70px!important;
  }

  .ssbp-country-trigger{
    height:70px!important;
    min-height:70px!important;
    gap:10px!important;
    font-size:18px!important;
  }

  .ssbp-country-flag,
  .ssbp-country-code,
  .ssbp-country-caret{
    font-size:18px!important;
  }

  .ssbp-phone-wrap input,
  .ssbp-phone-enterprise>input{
    height:70px!important;
    min-height:70px!important;
    font-size:18px!important;
    padding:0 20px!important;
  }

  .ssbp-field-caption{
    font-size:18px!important;
    line-height:1.35!important;
    margin:18px 0 10px!important;
  }

  .ssbp-select-wrap select{
    height:72px!important;
    min-height:72px!important;
    font-size:18px!important;
    line-height:72px!important;
    padding:0 52px 0 20px!important;
  }

  .ssbp-form textarea{
    min-height:188px!important;
    height:188px!important;
    font-size:18px!important;
    line-height:1.45!important;
    padding:20px!important;
  }

  .ssbp-step-actions,
  .ssbp-step2-actions{
    display:flex!important;
    gap:14px!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin-top:28px!important;
    margin-bottom:calc(96px + env(safe-area-inset-bottom, 0px))!important;
    padding-bottom:8px!important;
  }

  .ssbp-back-link,
  .ssbp-submit-btn,
  .ssbp-next-btn{
    min-height:52px!important;
    height:52px!important;
    font-size:16px!important;
  }

  .ssbp-next-btn{
    width:100%!important;
    min-width:0!important;
  }

  .ssbp-submit-btn{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .ssbp-back-link{
    flex:0 0 108px!important;
    width:108px!important;
  }

  .ssbp-country-panel,
  body > .ssbp-country-panel,
  .ssbp-country-panel.ssbp-cp-open,
  body > .ssbp-country-panel.ssbp-cp-open{
    width:min(360px, calc(100vw - 64px))!important;
  }
}

@media (max-width: 420px){
  .ssbp-left{padding:26px 24px 18px!important;}
  .ssbp-right{padding:22px 24px calc(118px + env(safe-area-inset-bottom, 0px))!important;}
  .ssbp-left h2{font-size:30px!important;}
  .ssbp-left p{font-size:17px!important;}
  .ssbp-features-list li{font-size:16px!important;}
  .ssbp-phone-wrap{grid-template-columns:150px 1fr!important;}
  .ssbp-country-picker,
  .ssbp-phone-enterprise .ssbp-country-picker{width:150px!important;min-width:150px!important;}
  .ssbp-form input,
  .ssbp-form select,
  .ssbp-phone-wrap input,
  .ssbp-phone-enterprise>input,
  .ssbp-select-wrap select,
  .ssbp-form textarea,
  .ssbp-field-caption{font-size:16px!important;}
}


/* ===== v11.5.14 — mobile step-2 typography + independent mobile logo width ===== */
@media (max-width: 767px){
  .ssbp-app.ssbp-is-step-2 .ssbp-right{
    padding:22px 20px calc(112px + env(safe-area-inset-bottom, 0px))!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-progress span{
    width:36px!important;
    height:36px!important;
    font-size:16px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-step2-title{
    font-size:15px!important;
    line-height:1.35!important;
    margin:0 0 16px!important;
    color:var(--ssbp-muted)!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-form input,
  .ssbp-app.ssbp-is-step-2 .ssbp-form select{
    height:58px!important;
    min-height:58px!important;
    font-size:16px!important;
    line-height:1.25!important;
    padding:0 18px!important;
    border-radius:4px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap.ssbp-phone-enterprise{
    display:grid!important;
    grid-template-columns:118px minmax(0, 1fr)!important;
    width:100%!important;
    height:60px!important;
    min-height:60px!important;
    margin:0 0 18px!important;
    overflow:visible!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-country-picker,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-enterprise .ssbp-country-picker{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    height:58px!important;
    min-height:58px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-country-trigger{
    height:58px!important;
    min-height:58px!important;
    gap:7px!important;
    padding:0 10px!important;
    font-size:15px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-country-flag,
  .ssbp-app.ssbp-is-step-2 .ssbp-country-code,
  .ssbp-app.ssbp-is-step-2 .ssbp-country-caret{
    font-size:15px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap input,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-enterprise > input{
    width:100%!important;
    min-width:0!important;
    height:58px!important;
    min-height:58px!important;
    font-size:16px!important;
    line-height:1.25!important;
    padding:0 16px!important;
    border-radius:0!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-field-caption{
    font-size:16px!important;
    line-height:1.35!important;
    margin:18px 0 10px!important;
    color:var(--ssbp-muted)!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-select-wrap select{
    height:60px!important;
    min-height:60px!important;
    font-size:16px!important;
    line-height:1.25!important;
    padding:0 48px 0 18px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-form textarea{
    min-height:150px!important;
    height:150px!important;
    font-size:16px!important;
    line-height:1.45!important;
    padding:18px!important;
    border-radius:4px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-step2-actions{
    margin-top:24px!important;
    margin-bottom:calc(92px + env(safe-area-inset-bottom, 0px))!important;
  }
}

@media (max-width: 420px){
  .ssbp-app.ssbp-is-step-2 .ssbp-left{
    padding:24px 20px 18px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-right{
    padding:22px 20px calc(112px + env(safe-area-inset-bottom, 0px))!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-left h2{
    font-size:28px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-left p{
    font-size:16px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap.ssbp-phone-enterprise{
    grid-template-columns:116px minmax(0, 1fr)!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-country-picker,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-enterprise .ssbp-country-picker{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-form input,
  .ssbp-app.ssbp-is-step-2 .ssbp-form select,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap input,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-enterprise > input,
  .ssbp-app.ssbp-is-step-2 .ssbp-select-wrap select,
  .ssbp-app.ssbp-is-step-2 .ssbp-form textarea,
  .ssbp-app.ssbp-is-step-2 .ssbp-field-caption{
    font-size:15px!important;
  }
}


/* ===== v11.5.15 — mobile country-code dropdown: single caret only ===== */
@media (max-width: 767px){
  /* Hide the literal caret character and any theme-injected button arrow.
     Keep only the plugin's own CSS-drawn chevron on .ssbp-country-caret::before. */
  .ssbp-app .ssbp-country-trigger::before,
  .ssbp-app .ssbp-country-trigger::after,
  .ssbp-country-trigger::before,
  .ssbp-country-trigger::after{
    content:none!important;
    display:none!important;
  }

  .ssbp-app .ssbp-country-caret,
  .ssbp-app.ssbp-is-step-2 .ssbp-country-caret,
  .ssbp-phone-enterprise .ssbp-country-caret{
    position:relative!important;
    display:inline-block!important;
    width:10px!important;
    height:10px!important;
    min-width:10px!important;
    margin-left:2px!important;
    overflow:hidden!important;
    text-indent:-9999px!important;
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
    transform:none!important;
  }

  .ssbp-app .ssbp-country-caret::before,
  .ssbp-app.ssbp-is-step-2 .ssbp-country-caret::before,
  .ssbp-phone-enterprise .ssbp-country-caret::before{
    content:''!important;
    display:block!important;
    position:absolute!important;
    left:1px!important;
    top:1px!important;
    width:7px!important;
    height:7px!important;
    border:0!important;
    border-right:1.5px solid var(--ssbp-muted)!important;
    border-bottom:1.5px solid var(--ssbp-muted)!important;
    transform:rotate(45deg)!important;
    transform-origin:center!important;
    background:transparent!important;
    margin:0!important;
    pointer-events:none!important;
  }
}


/* ===== v11.5.16 — mobile Back/Edit + exit overlay fit fixes ===== */
/* Step 1 should not show the Step 2 selected-slot summary. This prevents the
   mobile overlap that happened after tapping Back/Edit from Step 2. */
.ssbp-app.ssbp-is-step-1 .ssbp-selection-box,
.ssbp-app.ssbp-is-step-1 .ssbp-selection-box[style]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.ssbp-app.ssbp-is-step-1 .ssbp-left-back,
.ssbp-app.ssbp-is-step-1 .ssbp-left-back[style]{
  display:none!important;
}

@media (max-width: 767px){
  body.ssbp-exit-open{
    overflow:hidden!important;
    touch-action:none!important;
  }

  .ssbp-app .ssbp-exit-overlay{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    overflow:hidden!important;
    align-items:center!important;
    justify-content:center!important;
    padding:16px!important;
    box-sizing:border-box!important;
    border-radius:0!important;
    z-index:2147483647!important;
  }

  .ssbp-app .ssbp-exit-inner{
    width:min(100%, 390px)!important;
    max-width:390px!important;
    max-height:calc(100svh - 32px)!important;
    overflow:hidden!important;
    padding:22px 18px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
  }

  .ssbp-app .ssbp-exit-title{
    font-size:22px!important;
    line-height:1.15!important;
    margin:0 0 8px!important;
  }

  .ssbp-app .ssbp-exit-subtitle{
    font-size:14px!important;
    line-height:1.35!important;
    margin:0 0 22px!important;
  }

  .ssbp-app .ssbp-exit-steps{
    margin-bottom:26px!important;
  }

  .ssbp-app .ssbp-exit-step span{
    width:36px!important;
    height:36px!important;
    margin:0 26px!important;
  }

  .ssbp-app .ssbp-exit-step:not(:last-child)::after{
    left:calc(50% + 22px)!important;
    width:44px!important;
  }

  .ssbp-app .ssbp-exit-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
    margin:0 0 22px!important;
  }

  .ssbp-app .ssbp-exit-btn,
  .ssbp-app .ssbp-continue-btn{
    min-width:0!important;
    width:100%!important;
    height:54px!important;
  }

  .ssbp-app .ssbp-exit-trust{
    padding:14px 16px!important;
    margin:0!important;
  }
}

@supports not (height: 100svh){
  @media (max-width: 767px){
    .ssbp-app .ssbp-exit-overlay{
      height:100vh!important;
      min-height:100vh!important;
      max-height:100vh!important;
    }
    .ssbp-app .ssbp-exit-inner{
      max-height:calc(100vh - 32px)!important;
    }
  }
}


/* ===== v11.5.17 — mobile logo/summary spacing polish ===== */
@media (max-width: 767px){
  /* Keep the mobile logo closer to the first line and visually aligned with the copy. */
  .ssbp-app .ssbp-left{
    padding-top:22px!important;
  }
  .ssbp-app .ssbp-logo{
    display:block!important;
    margin-top:0!important;
    margin-right:0!important;
    margin-bottom:26px!important;
    margin-left:-10px!important;
    object-position:left center!important;
  }
  .ssbp-app .ssbp-eyebrow{
    margin-top:0!important;
    margin-bottom:18px!important;
  }

  /* Remove inherited mobile card styling from the selected-slot wrapper and
     give the orange prefix comfortable breathing room on small screens. */
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-box,
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-box[style]{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    margin-top:22px!important;
    padding:0!important;
  }
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-prefix{
    display:flex!important;
    align-items:flex-start!important;
    gap:5px!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:0 6px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    line-height:1.3!important;
  }
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-prefix:before{
    flex:0 0 auto!important;
    margin:0!important;
    line-height:1.3!important;
  }
}

@media (max-width: 420px){
  .ssbp-app .ssbp-left{
    padding-top:20px!important;
  }
  .ssbp-app .ssbp-logo{
    margin-bottom:22px!important;
    margin-left:-8px!important;
  }
  .ssbp-app.ssbp-is-step-2 .ssbp-selection-prefix{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* Version 12: editable semantic palette; form-specific values are inline. */
.ssbp-app{background:var(--ssbp-surface);color:var(--ssbp-ink)}
.ssbp-app .ssbp-shell,.ssbp-app .ssbp-right,.ssbp-app .ssbp-exit-inner{background:var(--ssbp-surface)!important;color:var(--ssbp-ink)!important}
.ssbp-app .ssbp-left,.ssbp-app .ssbp-confirm-card{background:var(--ssbp-panel)!important}
.ssbp-app .ssbp-left h2,.ssbp-app .ssbp-confirm-title{color:var(--ssbp-ink)!important}
.ssbp-app .ssbp-date-card.is-active,.ssbp-app .ssbp-slot-chip.is-active,.ssbp-app .ssbp-progress span.is-active,.ssbp-app .ssbp-exit-step.is-current span,.ssbp-app .ssbp-exit-step.is-done span{background:var(--ssbp-selected)!important;border-color:var(--ssbp-selected)!important;color:var(--ssbp-on_selected)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--ssbp-shadow) 20%,transparent)!important}
.ssbp-app .ssbp-date-card.is-active span,.ssbp-app .ssbp-slot-chip.is-active span{color:var(--ssbp-on_selected)!important}
.ssbp-app .ssbp-slot-chip.is-booked{background:var(--ssbp-disabled)!important;color:var(--ssbp-disabled_text)!important;border-color:var(--ssbp-border)!important;box-shadow:none!important}
.ssbp-app .ssbp-form input,.ssbp-app .ssbp-form textarea,.ssbp-app .ssbp-form select,.ssbp-app .ssbp-country-trigger{background:var(--ssbp-surface)!important;color:var(--ssbp-ink)!important;border-color:var(--ssbp-border)!important}
.ssbp-app .ssbp-form input:focus,.ssbp-app .ssbp-form textarea:focus,.ssbp-app .ssbp-form select:focus{outline:2px solid var(--ssbp-focus)!important;outline-offset:2px}
.ssbp-app .ssbp-form input::placeholder,.ssbp-app .ssbp-form textarea::placeholder{color:var(--ssbp-muted)!important}
.ssbp-app .ssbp-confirm-check{color:var(--ssbp-success)!important;border-color:var(--ssbp-success)!important}
.ssbp-app .ssbp-response.is-error{color:var(--ssbp-error)!important}
.ssbp-app .ssbp-exit-overlay{background:color-mix(in srgb,var(--ssbp-overlay) 65%,transparent)!important}
.ssbp-dynamic-field{margin-bottom:12px;min-width:0}.ssbp-dynamic-field .ssbp-phone-wrap{margin-top:0}
.ssbp-app .ssbp-dynamic-field input[type=checkbox],.ssbp-app .ssbp-dynamic-field input[type=radio]{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px;display:inline-block!important;padding:0!important;margin:0 8px 0 0;accent-color:var(--ssbp-selected)}
.ssbp-app .ssbp-choice{display:flex;align-items:center;margin:10px 0;color:var(--ssbp-ink)}
.ssbp-country-panel{background:var(--ssbp-surface)!important;color:var(--ssbp-ink)!important;border-color:var(--ssbp-border)!important}
.ssbp-country-panel .ssbp-country-item{background:var(--ssbp-surface)!important;color:var(--ssbp-ink)!important}
.ssbp-country-panel .ssbp-country-item:hover,.ssbp-country-panel .ssbp-country-item.is-active{background:var(--ssbp-hover)!important;color:var(--ssbp-ink)!important}

/* ==========================================================================
   v12.0.2 — Compact layout for desktop/laptop popups.
   Steps 1 and 2 previously overflowed laptop screens (e.g. 1080p at 125% scaling).
   Desktop/tablet only (>=768px). Mobile layout is unchanged.
   ========================================================================== */
@media (min-width:768px){
  .ssbp-app .ssbp-shell{min-height:0!important}
  .ssbp-app .ssbp-right{padding:16px 22px 16px!important}
  .ssbp-app .ssbp-progress{margin-bottom:8px!important}
  .ssbp-app .ssbp-progress span{width:26px!important;height:26px!important;font-size:13px!important}

  /* Step 1 */
  .ssbp-app .ssbp-step-1 .ssbp-step-head{margin-bottom:8px!important}
  .ssbp-app .ssbp-dates-wrap{margin-bottom:8px!important}
  .ssbp-app .ssbp-dates{gap:10px!important;padding-bottom:6px!important}
  .ssbp-app .ssbp-date-card{height:64px!important}
  .ssbp-app .ssbp-date-day{margin-bottom:5px!important}
  .ssbp-app .ssbp-date-num{margin-bottom:4px!important}
  .ssbp-app .ssbp-slots-wrap{margin-bottom:0!important}
  .ssbp-app .ssbp-slots-head{margin-bottom:6px!important}
  .ssbp-app .ssbp-timezone{padding:5px 10px!important}
  .ssbp-app .ssbp-slot-group{margin-bottom:8px!important}
  .ssbp-app .ssbp-slot-group:last-child{margin-bottom:0!important}
  .ssbp-app .ssbp-slot-group-title{margin-bottom:5px!important}
  .ssbp-app .ssbp-slot-row{gap:8px!important}
  .ssbp-app .ssbp-slot-chip{height:28px!important}
  /* Consultation note and Next button share one row */
  .ssbp-app .ssbp-step-1.is-active{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center}
  .ssbp-app .ssbp-step-1.is-active > *{grid-column:1 / -1}
  .ssbp-app .ssbp-step-1.is-active > .ssbp-consult-note{grid-column:1;margin-top:12px!important;max-width:none!important}
  .ssbp-app .ssbp-step-1.is-active > .ssbp-step-actions{grid-column:2;margin-top:12px!important}
  .ssbp-app .ssbp-step-1.is-active > .ssbp-consult-note:empty + .ssbp-step-actions{grid-column:1 / -1}
  .ssbp-app .ssbp-next-btn{height:42px!important;min-width:150px!important}

  /* Step 2 */
  .ssbp-app .ssbp-step2-title{margin-bottom:6px!important}
  .ssbp-app .ssbp-dynamic-field{margin-bottom:10px!important}
  .ssbp-app .ssbp-field-caption{margin:0 0 5px!important}
  .ssbp-app .ssbp-dynamic-field .ssbp-phone-wrap{margin-bottom:0!important}
  .ssbp-app .ssbp-dynamic-field .ssbp-select-wrap{margin-bottom:0!important}
  .ssbp-app .ssbp-form textarea{height:78px!important}
  .ssbp-app .ssbp-response{min-height:0!important;margin-top:0!important}
  .ssbp-app .ssbp-response:not(:empty){margin-top:4px!important}
  .ssbp-app .ssbp-step2-actions{margin-top:10px!important}

  /* Left panel */
  .ssbp-app .ssbp-left{padding-top:22px!important;padding-bottom:16px!important}
}

/* Two-column short fields when the form area is wide enough (popup on desktop).
   Falls back to the single column in browsers without container queries. */
.ssbp-app .ssbp-step2-form-wrap{container-type:inline-size;container-name:ssbpform}
@container ssbpform (min-width: 420px){
  .ssbp-app .ssbp-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px}
  .ssbp-app .ssbp-form > *{grid-column:1 / -1}
  .ssbp-app .ssbp-form > .ssbp-field-half{grid-column:auto;display:flex;flex-direction:column;justify-content:flex-end}
  /* Match text inputs to the 42px phone/select controls so paired rows line up */
  .ssbp-app .ssbp-form > .ssbp-field-half > input{height:42px!important;min-height:42px!important}
  .ssbp-app .ssbp-form > .ssbp-field-half .ssbp-phone-wrap{grid-template-columns:92px minmax(0,1fr)!important}
  .ssbp-app .ssbp-form > .ssbp-field-half .ssbp-country-picker,
  .ssbp-app .ssbp-form > .ssbp-field-half .ssbp-country-picker.ssbp-country-picker{width:92px!important;min-width:92px!important}
}

/* ==========================================================================
   v12.0.3 — Step typography aligned with the left panel: hierarchy through
   size and colour rather than weight. The :not(#…) adds ID-level weight (no such
   ID exists) so theme / Elementor styles for button, select and input cannot
   inflate individual controls.
   ========================================================================== */
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-step2-title,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-step-head h3{font-size:20px!important;font-weight:500!important;line-height:1.25!important;letter-spacing:-.01em!important;color:var(--ssbp-ink)!important;margin:0 0 12px!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-step-1 .ssbp-step-head{margin-bottom:0!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-field-caption{font-size:13px!important;font-weight:400!important;line-height:1.4!important;letter-spacing:0!important;color:var(--ssbp-muted)!important;margin:0 0 6px!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:not([type=checkbox]):not([type=radio]),
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form select,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form textarea,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-trigger,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-code,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-choice{font-family:inherit!important;font-size:14px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--ssbp-ink)!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input::placeholder,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form textarea::placeholder{font-family:inherit!important;font-size:14px!important;font-weight:400!important;color:color-mix(in srgb,var(--ssbp-muted) 72%,var(--ssbp-surface))!important;opacity:1!important}
/* Empty required dropdown ("Select an option") reads like a placeholder */
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form select:invalid{color:color-mix(in srgb,var(--ssbp-muted) 72%,var(--ssbp-surface))!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form select option{color:var(--ssbp-ink)}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:not([type=checkbox]):not([type=radio]){padding-left:14px!important;padding-right:14px!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-select-wrap select{padding:0 40px 0 14px!important;line-height:normal!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form textarea{padding:12px 14px!important;line-height:1.5!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-trigger{line-height:1!important;gap:6px!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-flag{font-size:10px!important;font-weight:600!important;letter-spacing:.02em!important}
/* 16px on phones stops iOS Safari from zooming into fields on focus */
@media (max-width:767px){
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:not([type=checkbox]):not([type=radio]),
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form select,
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form textarea,
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-code,
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input::placeholder,
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form textarea::placeholder{font-size:16px!important}
}
/* Half-width phone field: slimmer country picker so the full placeholder fits */
@container ssbpform (min-width: 420px){
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form > .ssbp-field-half .ssbp-phone-wrap{grid-template-columns:94px minmax(0,1fr)!important}
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form > .ssbp-field-half .ssbp-country-picker{width:94px!important;min-width:94px!important}
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form > .ssbp-field-half .ssbp-country-trigger{gap:5px!important;padding:0 8px!important}
  html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form > .ssbp-field-half .ssbp-phone-wrap input{padding-left:10px!important;padding-right:10px!important}
}

/* v12.1 — Consent checkboxes (DPDP): inline box, readable wording, clear required/optional marker */
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form > .ssbp-field-type-consent{margin:2px 0 8px!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0!important;cursor:pointer!important;font-family:inherit!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 auto!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:0!important;max-height:17px!important;line-height:normal!important;border-radius:3px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--ssbp-selected)!important;cursor:pointer!important;box-shadow:none!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent-text{font-size:13px!important;line-height:1.5!important;font-weight:400!important;color:var(--ssbp-muted)!important;letter-spacing:0!important;text-transform:none!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent-text a{color:var(--ssbp-selected)!important;text-decoration:underline!important;text-underline-offset:2px!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent-req{color:var(--ssbp-error)!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent-opt{color:color-mix(in srgb,var(--ssbp-muted) 70%,var(--ssbp-surface))!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent input[type=checkbox]:focus-visible{outline:2px solid var(--ssbp-focus)!important;outline-offset:2px!important}
@media (max-width:767px){html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-consent-text{font-size:14px!important}}

/* v12.2.1 — Field focus and autofill: one consistent look.
   The phone field is a box (country picker + number), so it gets the focus ring as a whole
   instead of an outline around the inner number input. */
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:not([type=checkbox]):not([type=radio]):focus,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form select:focus,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form textarea:focus{outline:none!important;outline-offset:0!important;border-color:var(--ssbp-focus)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ssbp-focus) 18%,transparent)!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-phone-wrap input,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-phone-wrap input:focus{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-phone-wrap:focus-within{border-color:var(--ssbp-focus)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ssbp-focus) 18%,transparent)!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-trigger:focus{outline:none!important}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form .ssbp-country-trigger:focus-visible{outline:2px solid var(--ssbp-focus)!important;outline-offset:-2px!important}
/* Browser autofill: keep the field colours instead of the blue/yellow autofill tint */
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:-webkit-autofill,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:-webkit-autofill:hover,
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ssbp-ink)!important;caret-color:var(--ssbp-ink);-webkit-box-shadow:0 0 0 1000px var(--ssbp-surface) inset!important;transition:background-color 9999s ease-out 0s}
html body .ssbp-app.ssbp-app:not(#ssbp-specificity-boost) .ssbp-form input:not(.ssbp-phone-wrap input):-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--ssbp-surface) inset,0 0 0 3px color-mix(in srgb,var(--ssbp-focus) 18%,transparent)!important}
