.ssbp-app,.ssbp-app *{box-sizing:border-box}
.ssbp-app{--ssbp-primary:#6f5ef9;--ssbp-accent:#e2644f;--ssbp-text:#18152a;--ssbp-muted:#6b6880;max-width:980px;margin:0 auto;background:#fff;font-family:var(--ssbp-font,Inter,Arial,sans-serif);color:var(--ssbp-text)}
.ssbp-shell{display:grid;grid-template-columns:37% 63%;min-height:520px;border:1px solid #e8e8eb;background:#fff}
.ssbp-left{display:flex;flex-direction:column;justify-content:flex-start;padding:36px 28px 24px;background:#fbfbfc;border-right:1px solid #efeff2;min-width:0}
.ssbp-logo{max-width:110px;max-height:34px;display:block;margin-bottom:28px;object-fit:contain}
.ssbp-left-inner{max-width:220px}
.ssbp-eyebrow{font-size:11px;line-height:1.25;color:#b2b2b8;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.ssbp-left h2{font-size:32px;line-height:1.02;letter-spacing:-.02em;color:#37308d;font-weight:500;margin:0 0 10px;max-width:180px}
.ssbp-left p{font-size:12px;line-height:1.45;color:#8a8d96;max-width:200px;margin:0}
.ssbp-left-note{margin-top:20px;font-size:13px;line-height:1.35;color:#6258dc;font-weight:500}
.ssbp-selection-box{margin-top:auto;padding-top:20px;max-width:308px}
.ssbp-selection-box.is-hidden{display:none}
.ssbp-selection-prefix{display:flex;align-items:center;gap:8px;font-size:12px;color:#ef6a54;margin-bottom:8px}
.ssbp-selection-prefix:before{content:'●';font-size:12px}
.ssbp-selection-card{position:relative;border:1px solid #b9b2ff;border-radius:4px;padding:12px 14px;background:#fff}
.ssbp-selection-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.ssbp-selection-date{font-size:12px;line-height:1.45;color:#666b74;max-width:185px}
.ssbp-edit-link{background:none;border:none;color:#6559d8;font-size:13px;font-weight:500;cursor:pointer;padding:0;white-space:nowrap}
.ssbp-selection-time{display:inline-flex;align-items:center;justify-content:center;background:#6961e8;color:#fff;border-radius:4px;padding:9px 12px;font-size:15px;font-weight:700;line-height:1}
.ssbp-left-back{display:none;margin-top:18px;width:86px;height:38px;border:1px solid #d7d7db;background:#ececec;color:#9b9ba1;border-radius:4px;font-size:13px}
.ssbp-right{padding:18px 24px 20px;min-width:0}
.ssbp-progress{display:flex;gap:10px;margin-bottom:14px}
.ssbp-progress span{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eceafb;color:#7c72ea;font-weight:700;font-size:14px}
.ssbp-progress span.is-active{background:#6a61e8;color:#fff}
.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:#666;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:#9a9a9d transparent}
.ssbp-dates::-webkit-scrollbar{height:8px}.ssbp-dates::-webkit-scrollbar-thumb{background:#9a9a9d;border-radius:10px}
.ssbp-date-card{flex:0 0 auto;width:64px;height:82px;border:1px solid #d8dae2;border-radius:4px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#8d9199;transition:.15s}
.ssbp-date-card.is-active{background:#6b63f2;border-color:#6b63f2;color:#fff;box-shadow:0 8px 18px rgba(107,99,242,.2)}
.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:#555}
.ssbp-timezone{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #d8dbe2;border-radius:12px;background:#fff;color:#666b74;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:#7b7b88;margin-bottom:8px}
.ssbp-slot-row{display:flex;flex-wrap:wrap;gap:10px}
.ssbp-slot-chip{min-width:74px;height:30px;border:1px solid #d7dae3;border-radius:4px;background:#fff;color:#61656f;font-size:12px;font-weight:500;padding:0 10px;cursor:pointer}
.ssbp-slot-chip.is-active{background:#6b63f2;border-color:#6b63f2;color:#fff;box-shadow:0 8px 18px rgba(107,99,242,.18)}
.ssbp-consult-note{font-size:12px;line-height:1.4;color:#a0a2a9;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:#e2644f;color:#fff;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-step2-title{font-size:12px;color:#777;line-height:1.4;margin-bottom:14px}
.ssbp-step2-form-wrap{max-width:520px}
.ssbp-form{max-width:100%}
.ssbp-form-grid{display:grid;gap:12px}
.ssbp-form-grid.two-cols{grid-template-columns:1fr 1fr}
.ssbp-form input,.ssbp-form textarea,.ssbp-form select{width:100%;border:1px solid #e0e0e0;background:#fff;color:#545861;font-size:12px;padding:11px 12px;border-radius:2px;box-shadow:none}
.ssbp-form input::placeholder,.ssbp-form textarea::placeholder{color:#a4a7ae}
.ssbp-phone-wrap{display:grid;grid-template-columns:104px 1fr;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;margin-top:12px;background:#fff}
.ssbp-phone-prefix{display:flex;align-items:center;justify-content:center;font-size:12px;color:#444;background:#fff;border-right:1px solid #e0e0e0;padding:0 8px}
.ssbp-phone-wrap input{border:none !important}
.ssbp-field-caption{display:block;font-size:12px;color:#666;margin:12px 0 6px}
.ssbp-select-wrap{position:relative;display:block;width:100%}.ssbp-select-wrap:after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-54%);font-size:18px;color:#9a9a9f;pointer-events:none}
.ssbp-select-wrap select{appearance:none;padding-right:32px}
.ssbp-form textarea{height:120px;resize:none}
.ssbp-response{font-size:12px;margin-top:8px;color:#c2410c;min-height:18px}
.ssbp-step2-actions{justify-content:space-between;align-items:center;margin-top:16px}
.ssbp-back-link{width:96px;height:42px;border:1px solid #d7d7db;background:#ececec;color:#9b9ba1;border-radius:4px;font-size:14px;cursor:pointer}
.ssbp-submit-btn{display:inline-flex;align-items:center;justify-content:center;min-width:128px;height:42px;border:none;background:#df6553;color:#fff;border-radius:4px;font-size:13px;font-weight:600;padding:0 18px;cursor:pointer}
.ssbp-confirm-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:10px}.ssbp-confirm-check{width:22px;height:22px;border-radius:50%;border:2px solid #2563eb;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.ssbp-confirm-card{background:#eef2ef;border-radius:12px;padding:18px;position:relative;min-height:220px;margin-bottom:14px}.ssbp-confirm-icon{font-size:28px;color:#2563eb;margin-bottom:12px}.ssbp-confirm-service-title{font-size:14px;font-weight:700;color:#303030;margin-bottom:10px}.ssbp-confirm-service-desc{font-size:13px;color:#5f6368;line-height:1.45;max-width:280px}.ssbp-confirm-meta,.ssbp-confirm-date-line{font-size:13px;color:#5f6368;margin:14px 0 10px}.ssbp-confirm-time-line{font-size:20px;color:#232323;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:#333;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:#1460e8;color:#fff;text-decoration:none;font-size:13px;font-weight:600}
.ssbp-no-slots{border:1px dashed #d7d7db;border-radius:12px;padding:16px;font-size:12px;color:#707070}
.ssbp-loading{font-size:12px;color:#707070;padding:12px 0}
@media(max-width:991px){.ssbp-app{max-width:100%}.ssbp-shell{display:grid;grid-template-columns:37% 63%;min-height:520px;border:1px solid #e8e8eb;background:#fff}.ssbp-left{display:flex;flex-direction:column;justify-content:flex-start;padding:36px 28px 24px;background:#fbfbfc;border-right:1px solid #efeff2;min-width:0}.ssbp-left h2{font-size:32px;line-height:1.02;letter-spacing:-.02em;color:#37308d;font-weight:500;margin:0 0 10px;max-width:180px}.ssbp-right{padding:18px 24px 20px;min-width:0}}
@media(max-width:767px){.ssbp-shell{display:grid;grid-template-columns:37% 63%;min-height:520px;border:1px solid #e8e8eb;background:#fff}.ssbp-left{display:flex;flex-direction:column;justify-content:flex-start;padding:36px 28px 24px;background:#fbfbfc;border-right:1px solid #efeff2;min-width:0}.ssbp-logo{max-width:110px;max-height:34px;display:block;margin-bottom:28px;object-fit:contain}.ssbp-eyebrow{font-size:11px;line-height:1.25;color:#b2b2b8;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}.ssbp-left h2{font-size:32px;line-height:1.02;letter-spacing:-.02em;color:#37308d;font-weight:500;margin:0 0 10px;max-width:180px}.ssbp-left p{font-size:12px;line-height:1.45;color:#8a8d96;max-width:200px;margin:0}.ssbp-left-note,.ssbp-selection-box,.ssbp-left-back{display:none;margin-top:18px;width:86px;height:38px;border:1px solid #d7d7db;background:#ececec;color:#9b9ba1;border-radius:4px;font-size:13px}.ssbp-right{padding:18px 24px 20px;min-width:0}.ssbp-progress{display:flex;gap:10px;margin-bottom:14px}.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:#666;margin:0}.ssbp-dates{display:flex;gap:12px;overflow-x:auto;padding:0 2px 6px;scrollbar-width:thin;scrollbar-color:#9a9a9d transparent}.ssbp-date-card{flex:0 0 auto;width:64px;height:82px;border:1px solid #d8dae2;border-radius:4px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#8d9199;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 #d8dbe2;border-radius:12px;background:#fff;color:#666b74;font-size:12px}.ssbp-slot-row{display:flex;flex-wrap:wrap;gap:10px}.ssbp-slot-chip{min-width:74px;height:30px;border:1px solid #d7dae3;border-radius:4px;background:#fff;color:#61656f;font-size:12px;font-weight:500;padding:0 10px;cursor:pointer}.ssbp-consult-note{font-size:12px;line-height:1.4;color:#a0a2a9;max-width:320px;margin-top:12px}.ssbp-form-grid.two-cols{grid-template-columns:1fr 1fr}.ssbp-phone-wrap{display:grid;grid-template-columns:104px 1fr;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;margin-top:12px;background:#fff}.ssbp-step-actions,.ssbp-step2-actions{justify-content:space-between;align-items:center;margin-top:16px}.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:#eef2ef;border-radius:12px;padding:18px;position:relative;min-height:220px;margin-bottom:14px}.ssbp-confirm-advisor{width:100px;justify-self:end}}

.ssbp-country-select{appearance:none;border:0;background:#fff;padding:0 26px 0 12px;font-size:12px;color:#444;outline:none;background-image:linear-gradient(45deg,transparent 50%, #999 50%),linear-gradient(135deg,#999 50%, transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.ssbp-phone-wrap input{border:0 !important}.ssbp-phone-wrap{align-items:center}.ssbp-phone-wrap select{width:100%}

@media (max-width: 767px){.ssbp-shell{grid-template-columns:1fr}.ssbp-left{padding:18px 16px;border-right:none;border-bottom:1px solid #efeff2;min-height:auto}.ssbp-logo{margin-bottom:18px}.ssbp-left h2{font-size:22px;max-width:none}.ssbp-left p{max-width:none}.ssbp-right{padding:16px}.ssbp-form-grid.two-cols{grid-template-columns:1fr}.ssbp-phone-wrap{grid-template-columns:120px 1fr}.ssbp-step2-form-wrap{max-width:none}}


/* ===== v11.2.1 step-2 visual refinement (preserves backend) ===== */
.ssbp-app{max-width:760px!important}
.ssbp-shell{grid-template-columns:36% 64%!important;min-height:540px!important}
.ssbp-left{padding:30px 22px 22px!important}
.ssbp-logo{max-width:92px;max-height:34px;margin-bottom:22px}
.ssbp-left-inner{max-width:200px!important}
.ssbp-left h2{
  font-size:24px!important;
  line-height:1.02!important;
  max-width:220px!important;
  letter-spacing:-.02em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.ssbp-left p{font-size:11px!important;line-height:1.45!important;max-width:190px!important}
.ssbp-left-note{font-size:12px!important;margin-top:18px!important}
.ssbp-selection-box{padding-top:18px!important;max-width:315px!important}
.ssbp-selection-card{padding:11px 12px!important}
.ssbp-selection-date{font-size:11px!important;max-width:185px!important}
.ssbp-selection-time{font-size:14px!important;padding:8px 12px!important}
.ssbp-edit-link{font-size:12px!important}

.ssbp-right{padding:20px 24px 18px!important}
.ssbp-progress{margin-bottom:12px!important}
.ssbp-step2-title{font-size:12px!important;line-height:1.35!important;margin-bottom:12px!important;color:#6b7280!important}
.ssbp-step2-form-wrap{max-width:520px!important}
.ssbp-form-grid.two-cols{grid-template-columns:1fr 1fr!important;gap:14px!important}
.ssbp-form input,
.ssbp-form textarea,
.ssbp-form select{
  font-size:12px!important;
  padding:11px 12px!important;
  border:1px solid #e0e0e0!important;
  border-radius:2px!important;
  background:#fff!important;
}
.ssbp-phone-wrap{
  grid-template-columns:118px 1fr!important;
  margin-top:14px!important;
  margin-bottom:0!important;
  align-items:stretch!important;
}
.ssbp-country-select{
  appearance:auto!important;
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  padding:0 8px 0 10px!important;
  background:none!important;
  text-overflow:clip!important;
  overflow:visible!important;
  white-space:nowrap!important;
  border:0!important;
  border-right:1px solid #e0e0e0!important;
}
.ssbp-phone-wrap input{padding-left:12px!important}
.ssbp-field-caption{
  display:block!important;
  width:100%!important;
  margin:12px 0 6px!important;
  font-size:12px!important;
  line-height:1.35!important;
  color:#666!important;
}
.ssbp-select-wrap{width:100%!important;margin-bottom:12px!important}
.ssbp-select-wrap:after{right:14px!important}
.ssbp-select-wrap select{padding-right:34px!important}
.ssbp-form textarea{
  display:block!important;
  width:100%!important;
  height:120px!important;
  margin-top:0!important;
  resize:none!important;
}
.ssbp-step2-actions{
  justify-content:space-between!important;
  align-items:center!important;
  margin-top:16px!important;
}
.ssbp-back-link{
  width:84px!important;
  height:38px!important;
  font-size:13px!important;
}
.ssbp-submit-btn{
  min-width:128px!important;
  height:42px!important;
  font-size:13px!important;
}
.ssbp-confirm-card{min-height:260px!important}
.ssbp-confirm-time-row{font-size:18px!important}

@media (max-width: 767px){
  .ssbp-shell{grid-template-columns:1fr!important}
  .ssbp-left{padding:18px 16px!important;min-height:auto!important;border-right:none!important;border-bottom:1px solid #efeff2!important}
  .ssbp-left-inner{max-width:none!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-form-grid.two-cols{grid-template-columns:1fr!important}
  .ssbp-phone-wrap{grid-template-columns:118px 1fr!important}
}


/* ===== v11.2.2 exact step-2 alignment pass ===== */
.ssbp-app{
  max-width:760px !important;
}
.ssbp-shell{
  grid-template-columns:34% 66% !important;
  min-height:540px !important;
}
.ssbp-left{
  padding:28px 22px 18px !important;
}
.ssbp-left h2{
  font-size:23px !important;
  line-height:0.98 !important;
  max-width:175px !important;
  margin:0 0 10px !important;
}
.ssbp-left p{
  max-width:180px !important;
  font-size:11px !important;
  line-height:1.42 !important;
}
.ssbp-left-note{
  font-size:12px !important;
  margin-top:18px !important;
}
.ssbp-selection-box{
  max-width:310px !important;
  margin-top:28px !important;
  padding-top:0 !important;
}
.ssbp-selection-prefix{
  display:block !important;
  font-size:11px !important;
  line-height:1.4 !important;
  margin-bottom:8px !important;
}
.ssbp-selection-card{
  max-width:310px !important;
  padding:11px 12px !important;
}
.ssbp-selection-date{
  font-size:11px !important;
  line-height:1.45 !important;
}
.ssbp-selection-time{
  font-size:13px !important;
  line-height:1 !important;
  padding:8px 12px !important;
}
.ssbp-edit-link{
  font-size:11px !important;
  top:10px !important;
  right:10px !important;
}

.ssbp-right{
  padding:22px 28px 18px !important;
}
.ssbp-progress{
  margin-bottom:14px !important;
}
.ssbp-step2-title{
  font-size:12px !important;
  line-height:1.35 !important;
  color:#6f6f74 !important;
  margin:0 0 14px !important;
}
.ssbp-step2-form-wrap{
  max-width:520px !important;
}
.ssbp-form-grid.two-cols{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
  margin-bottom:14px !important;
}
.ssbp-form input,
.ssbp-form textarea,
.ssbp-form select{
  width:100% !important;
  border:1px solid #e1e1e1 !important;
  border-radius:2px !important;
  background:#fff !important;
  box-shadow:none !important;
  padding:11px 12px !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#4b5563 !important;
}

.ssbp-phone-wrap{
  display:grid !important;
  grid-template-columns:92px 1fr !important;
  align-items:stretch !important;
  margin:0 0 14px !important;
  border:1px solid #e1e1e1 !important;
  border-radius:2px !important;
  overflow:hidden !important;
}
.ssbp-country-select{
  width:92px !important;
  min-width:92px !important;
  max-width:none;
  border:0 !important;
  border-right:1px solid #e1e1e1 !important;
  border-radius:0 !important;
  padding:0 26px 0 10px !important;
  font-size:12px !important;
  line-height:1 !important;
  appearance:auto !important;
  background:#fff !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.ssbp-phone-wrap input{
  border:0 !important;
  margin:0 !important;
  padding:11px 12px !important;
}

.ssbp-field-caption{
  display:block !important;
  width:100% !important;
  float:none !important;
  clear:both !important;
  margin:10px 0 6px !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#666 !important;
}
.ssbp-select-wrap{
  display:block !important;
  width:100% !important;
  margin:0 0 14px !important;
}
.ssbp-select-wrap:after{
  right:14px !important;
}
.ssbp-select-wrap select{
  width:100% !important;
  padding-right:34px !important;
}
.ssbp-form textarea{
  display:block !important;
  width:100% !important;
  height:120px !important;
  resize:none !important;
  margin:0 !important;
}
.ssbp-step2-actions{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin-top:16px !important;
}
.ssbp-back-link{
  width:84px !important;
  height:40px !important;
  font-size:12px !important;
}
.ssbp-submit-btn{
  min-width:128px !important;
  height:40px !important;
  font-size:13px !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 #efeff2 !important;
    min-height:auto !important;
  }
  .ssbp-left h2{
    max-width:none !important;
    font-size:20px !important;
  }
  .ssbp-left p{
    max-width:none !important;
  }
  .ssbp-right{
    padding:18px 16px !important;
  }
  .ssbp-form-grid.two-cols{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}


/* ===== FINAL STEP 2 PERFECT MATCH ===== */
.ssbp-shell{grid-template-columns:32% 68% !important;}
.ssbp-left h2{font-size:21px !important; max-width:160px !important;}
.ssbp-step2-title{font-size:11px !important; font-weight:400 !important;}
.ssbp-phone-wrap{grid-template-columns:80px 1fr !important;}
.ssbp-country-select{width:80px !important;}
.ssbp-form textarea{height:105px !important;}
.ssbp-selection-box{margin-top:18px !important;}
.ssbp-step2-actions{margin-top:10px !important;}
.ssbp-submit-btn{height:38px !important; font-size:12px !important;}
.ssbp-back-link{height:38px !important;}


/* ===== v11.2.4 dynamic country dropdown ===== */
.ssbp-country-select{
  width:96px !important;
  min-width:96px !important;
  max-width:96px !important;
  font-size:11px !important;
  padding-right:20px !important;
}
.ssbp-phone-wrap{
  grid-template-columns:96px 1fr !important;
}
@media (max-width: 767px){
  .ssbp-country-select{
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
  }
  .ssbp-phone-wrap{
    grid-template-columns:104px 1fr !important;
  }
}


/* ===== v11.2.4 dynamic country dropdown list ===== */
.ssbp-phone-wrap{grid-template-columns:92px 1fr !important}
.ssbp-country-select{
  width:92px !important;
  min-width:92px !important;
  max-width:none;
  font-size:11px !important;
  padding-right:20px !important;
}
@media (max-width:767px){
  .ssbp-phone-wrap{grid-template-columns:100px 1fr !important}
  .ssbp-country-select{
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
  }
}


/* ===== 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:#6b6b73 !important;
  margin-bottom:12px !important;
  font-weight:400 !important;
}
.ssbp-step2-form-wrap{max-width:515px !important}
.ssbp-form-grid.two-cols{
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  margin-bottom:14px !important;
}
.ssbp-form input,
.ssbp-form select,
.ssbp-form textarea{
  font-size:12px !important;
  padding:11px 12px !important;
  border:1px solid #e0e0e0 !important;
  border-radius:2px !important;
  background:#fff !important;
}
.ssbp-phone-wrap{
  display:grid !important;
  grid-template-columns:104px 1fr !important;
  margin-top:0 !important;
  margin-bottom:14px !important;
  border:1px solid #e0e0e0 !important;
  border-radius:2px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.ssbp-country-select,
.ssbp-phone-wrap select{
  width:104px !important;
  min-width:104px !important;
  max-width:104px !important;
  border:0 !important;
  border-right:1px solid #e0e0e0 !important;
  border-radius:0 !important;
  padding:0 22px 0 10px !important;
  font-size:12px !important;
  line-height:1 !important;
  background:#fff !important;
  appearance:auto !important;
  color:#444 !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
  background-image:none !important;
}
.ssbp-phone-wrap input{
  border:0 !important;
  padding:11px 12px !important;
  margin:0 !important;
}
.ssbp-field-caption{
  display:block !important;
  width:100% !important;
  clear:both !important;
  float:none !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#666 !important;
  margin:10px 0 6px !important;
}
.ssbp-select-wrap{
  display:block !important;
  width:100% !important;
  margin:0 0 12px !important;
}
.ssbp-select-wrap:after{
  right:14px !important;
  top:50% !important;
}
.ssbp-select-wrap select{
  width:100% !important;
  padding-right:34px !important;
}
.ssbp-form textarea{
  display:block !important;
  width:100% !important;
  height:112px !important;
  resize:none !important;
}
.ssbp-step2-actions{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin-top:16px !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 #efeff2 !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-form-grid.two-cols{grid-template-columns:1fr !important}
  .ssbp-phone-wrap{grid-template-columns:110px 1fr !important}
  .ssbp-country-select,
  .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 #e0e0e0!important;
  border-radius:2px!important;
  background:#fff!important;
  overflow:visible!important;
  position:relative!important;
  z-index:100!important;
  margin-bottom:12px!important;
}
.ssbp-phone-enterprise .ssbp-country-picker{
  position:relative!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  border-right:1px solid #e0e0e0!important;
  background:#fff!important;
  z-index:100000!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:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  cursor:pointer!important;
  font-size:12px!important;
  color:#222!important;
  padding:0 8px!important;
  box-shadow:none!important;
}
.ssbp-phone-enterprise .ssbp-country-caret{font-size:0!important;color:#777!important;line-height:1!important; position: relative }
.ssbp-phone-enterprise .ssbp-country-caret:before {
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  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:#fff!important;
  border:1px solid #e3e3e3!important;
  box-shadow:0 14px 32px rgba(15,23,42,.18)!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 #e5e7eb!important;
  border-radius:6px!important;
  padding:0 10px!important;
  margin:0 0 8px!important;
  font-size:12px!important;
  background:#fff!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:#fff!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:#222!important;
  box-shadow:none!important;
}
.ssbp-phone-enterprise .ssbp-country-item:hover,
.ssbp-phone-enterprise .ssbp-country-item.is-active{background:#f3f4ff!important}
.ssbp-phone-enterprise .ssbp-country-item strong{font-size:12px!important;font-weight:500!important;color:#222!important}
.ssbp-phone-enterprise .ssbp-country-item em{font-style:normal!important;font-size:12px!important;color:#6b7280!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 ===== */

.ssbp-left .ssbp-back,
.ssbp-left .ssbp-back-link,
.ssbp-left button[class*="back"],
.ssbp-selection-box .ssbp-back,
.ssbp-selection-box .ssbp-back-link,
.ssbp-selection-box button[class*="back"]{
  display:none !important;
}

.ssbp-select-wrap{
  position:relative !important;
  width:100% !important;
  display:block !important;
  margin:0 0 12px 0 !important;
}

.ssbp-select-wrap select{
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 40px 0 12px !important;
  border:1px solid #e1e1e1 !important;
  border-radius:3px !important;
  background:#fff !important;
  box-shadow:none !important;
  font-size:12px !important;
  color:#222 !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:13px !important;
  color:#777 !important;
  pointer-events:none !important;
  z-index:2 !important;
}

.ssbp-field-caption{
  display:block !important;
  width:100% !important;
  font-size:12px !important;
  margin:10px 0 6px !important;
  color:#666 !important;
  line-height:1.35 !important;
  clear:both !important;
}



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

/* Hide duplicate back button in left/sidebar summary only */
.ssbp-left .ssbp-back,
.ssbp-left .ssbp-back-link,
.ssbp-left button[class*="back"],
.ssbp-selection-box .ssbp-back,
.ssbp-selection-box .ssbp-back-link,
.ssbp-selection-box button[class*="back"]{
  display:none !important;
}

/* Phone/country alignment */
.ssbp-phone-wrap{
  display:grid !important;
  grid-template-columns:112px 1fr !important;
  align-items:center !important;
  border:1px solid #e1e1e1 !important;
  border-radius:3px !important;
  background:#fff !important;
  overflow:visible !important;
  position:relative !important;
  z-index:20 !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 #e1e1e1 !important;
  background:#fff !important;
  z-index:40 !important;
}

.ssbp-country-trigger{
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  border:0 !important;
  background:#fff !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:#222 !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:#222 !important;}
.ssbp-country-caret{
  font-size:12px !important;
  color:#777 !important;
  margin-left:2px !important;
  transform:translateY(-1px) !important;
}

/* fallback native select if present */
.ssbp-country-select,
.ssbp-phone-wrap select.ssbp-country-select{
  width:112px !important;
  min-width:112px !important;
  height:42px !important;
  border:0 !important;
  border-right:1px solid #e1e1e1 !important;
  background:#fff !important;
  padding:0 24px 0 10px !important;
  font-size:12px !important;
  line-height:42px !important;
  color:#222 !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
  cursor:pointer !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
}

.ssbp-phone-wrap input,
.ssbp-phone-enterprise > input{
  border:0 !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 12px !important;
  font-size:12px !important;
  outline:none !important;
  box-shadow:none !important;
  background:#fff !important;
}

/* Searchable country popup */
.ssbp-country-panel{
  position:absolute !important;
  top:calc(100% + 4px) !important;
  left:0 !important;
  width:260px !important;
  max-height:245px !important;
  background:#fff !important;
  border:1px solid #e3e3e3 !important;
  box-shadow:0 14px 32px rgba(15,23,42,.16) !important;
  border-radius:8px !important;
  padding:8px !important;
  z-index:999999 !important;
  overflow:hidden !important;
}

.ssbp-country-search{
  width:100% !important;
  height:34px !important;
  border:1px solid #e5e7eb !important;
  border-radius:6px !important;
  padding:0 10px !important;
  margin:0 0 8px !important;
  font-size:12px !important;
  background:#fff !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:#fff !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:#222 !important;
}

.ssbp-country-item:hover,
.ssbp-country-item.is-active{
  background:#f3f4ff !important;
}

.ssbp-country-item strong{
  font-size:12px !important;
  font-weight:500 !important;
  color:#222 !important;
}

.ssbp-country-item em{
  font-style:normal !important;
  font-size:12px !important;
  color:#6b7280 !important;
}

/* Full-width "We are looking for" dropdown like approved reference */
.ssbp-select-wrap{
  position:relative !important;
  width:100% !important;
  display:block !important;
  margin:0 0 12px 0 !important;
}

.ssbp-select-wrap select{
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 40px 0 12px !important;
  border:1px solid #e1e1e1 !important;
  border-radius:3px !important;
  background:#fff !important;
  box-shadow:none !important;
  font-size:12px !important;
  color:#333 !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:13px !important;
  color:#777 !important;
  pointer-events:none !important;
  z-index:2 !important;
}

.ssbp-field-caption{
  display:block !important;
  width:100% !important;
  font-size:12px !important;
  margin:10px 0 6px !important;
  color:#666 !important;
  line-height:1.35 !important;
  clear:both !important;
}

@media (max-width:767px){
  .ssbp-phone-wrap{grid-template-columns:112px 1fr !important;}
  .ssbp-country-picker,
  .ssbp-phone-enterprise .ssbp-country-picker,
  .ssbp-country-select,
  .ssbp-phone-wrap select.ssbp-country-select{
    width:112px !important;
    min-width:112px !important;
  }
  .ssbp-country-panel{width:250px !important;}
}


/* ===== v11.3.6 FINAL CSS FIXES ===== */
.ssbp-left .ssbp-back,.ssbp-left .ssbp-back-link,.ssbp-left button[class*="back"],.ssbp-selection-box .ssbp-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-grid.two-cols{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-bottom:14px!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:#374151!important;border:1px solid #e1e1e1!important;border-radius:3px!important;background:#fff!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 #e1e1e1!important;border-radius:3px!important;background:#fff!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 #e1e1e1!important;background:#fff!important;z-index:9999!important}
.ssbp-country-trigger{width:100%!important;height:40px!important;min-height:42px!important;border:0!important;background:#fff!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:#222!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:#222!important}.ssbp-country-caret{font-size:12px!important;color:#777!important;margin-left:2px!important;transform:translateY(-1px)!important}
.ssbp-country-select,.ssbp-phone-wrap select.ssbp-country-select{width:112px!important;min-width:112px!important;height:42px!important;border:0!important;border-right:1px solid #e1e1e1!important;background:#fff!important;padding:0 24px 0 10px!important;font-size:12px!important;line-height:42px!important;color:#222!important;appearance:auto!important;-webkit-appearance:auto!important;cursor:pointer!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!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:#fff!important}
.ssbp-country-panel{position:absolute!important;top:calc(100% + 4px)!important;left:0!important;width:260px!important;max-height:245px!important;background:#fff!important;border:1px solid #e3e3e3!important;box-shadow:0 14px 32px rgba(15,23,42,.16)!important;border-radius:8px!important;padding:8px!important;z-index:999999!important;overflow:hidden!important}
.ssbp-country-search{width:100%!important;height:34px!important;border:1px solid #e5e7eb!important;border-radius:6px!important;padding:0 10px!important;margin:0 0 8px!important;font-size:12px!important;background:#fff!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:#fff!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:#222!important}
.ssbp-country-item:hover,.ssbp-country-item.is-active{background:#f3f4ff!important}.ssbp-country-item strong{font-size:12px!important;font-weight:500!important;color:#222!important}.ssbp-country-item em{font-style:normal!important;font-size:12px!important;color:#6b7280!important}
.ssbp-field-caption{display:block!important;width:100%!important;font-size:12px!important;margin:10px 0 6px!important;color:#666!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 #e1e1e1!important;border-radius:3px!important;background:#fff!important;box-shadow:none!important;font-size:12px!important;color:#333!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:#777!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-form-grid.two-cols{grid-template-columns:1fr!important;gap:12px!important}.ssbp-phone-wrap{grid-template-columns:112px 1fr!important}.ssbp-country-picker,.ssbp-phone-enterprise .ssbp-country-picker,.ssbp-country-select,.ssbp-phone-wrap select.ssbp-country-select{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: #f3f3f3 !important;
  color: #aaa !important;
  border-color: #e0e0e0 !important;
}

/* 2. Dashicon in slot group titles */
.ssbp-slot-group-title {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.ssbp-slot-group-title .dashicons {
  font-size: 15px !important;
  width: 15px !important;
  height: 15px !important;
  line-height: 1 !important;
  color: #7b7b88 !important;
}

/* 3. Company/Brand dropdown arrow — replace ⌄ with clean CSS chevron */
.ssbp-select-wrap::after {
  content: '' !important;
  border: solid #9a9a9f !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: #8a8d96 !important;
  margin-bottom: 7px !important;
}
.ssbp-features-list .dashicons {
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
  color: var(--ssbp-primary, #6f5ef9) !important;
  flex-shrink: 0 !important;
}

/* Country panel — body-appended fixed positioning */
body > .ssbp-country-panel {
  display: none;
  position: fixed !important;
  background: #fff !important;
  border: 1px solid #e3e3e3 !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.18) !important;
  border-radius: 8px !important;
  padding: 8px !important;
  max-height: 260px !important;
  overflow: hidden !important;
  flex-direction: column !important;
  z-index: 9999999 !important;
}
body > .ssbp-country-panel.ssbp-cp-open {
  display: flex !important;
}
body > .ssbp-country-panel .ssbp-country-search {
  width: 100% !important;
  height: 34px !important;
  border: 1px solid #e5e7eb !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 {
  overflow-y: auto !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
body > .ssbp-country-panel .ssbp-country-item {
  width: 100% !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #fff !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: #222 !important;
}
body > .ssbp-country-panel .ssbp-country-item:hover,
body > .ssbp-country-panel .ssbp-country-item.is-active { background: #f3f4ff !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: #6b7280 !important; }

/* Exit intent overlay */
.ssbp-exit-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: #fff !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: #18152a !important;
  margin: 0 0 10px !important;
}
.ssbp-exit-subtitle {
  font-size: 14px !important;
  color: #6b7280 !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 #d1d5db !important;
}
.ssbp-exit-step span {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--ssbp-primary, #6f5ef9) !important;
  color: #fff !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: #e5e7eb !important;
  color: #6b7280 !important;
}
.ssbp-exit-step small {
  font-size: 11px !important;
  color: #6b7280 !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 #d1d5db !important;
  border-radius: 8px !important;
  background: #f9fafb !important;
  color: #18152a !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, #6f5ef9) !important;
  color: #fff !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: #f0fdf4 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  text-align: left !important;
}
.ssbp-exit-trust .dashicons {
  color: #16a34a !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}
.ssbp-exit-trust p {
  font-size: 13px !important;
  color: #374151 !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: #e8eaf0 !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #444 !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, #6f5ef9)) !important;
  border-color: var(--ssbp-datetime-hover-bg, var(--ssbp-primary, #6f5ef9)) !important;
  color: var(--ssbp-datetime-hover-text, #ffffff) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.10) !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{
  background: var(--ssbp-button-bg, #e2644f) !important;
  color: var(--ssbp-button-text, #ffffff) !important;
  border-color: var(--ssbp-button-bg, #e2644f) !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease !important;
}

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

.ssbp-app .ssbp-next-btn:disabled{
  opacity: .45 !important;
  cursor: not-allowed !important;
}

.ssbp-slot-group-title .ssbp-period-icon,
.ssbp-period-icon{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
  line-height: 1 !important;
  font-size: 16px !important;
  color: #7b7b88 !important;
  flex-shrink: 0 !important;
}
.ssbp-icon-sunrise::before{content:'🌅' !important;}
.ssbp-icon-sun-cloud::before{content:'⛅' !important;}
.ssbp-icon-sunset::before{content:'🌇' !important;}

.ssbp-country-panel.ssbp-cp-open{
  display: flex !important;
}
.ssbp-country-panel[hidden]{
  display: none !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:#7b7b88!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:#dc2626!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 #efeff2!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:#6258dc!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{
    display:block!important;
    width:100%!important;
    height:auto!important;
    border:0!important;
    background:transparent!important;
    margin:0 0 12px!important;
    padding:0!important;
    color:#ef6a54!important;
    font-size:16px!important;
    line-height:1.35!important;
    white-space:normal!important;
    box-sizing:border-box!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-selection-prefix:before{
    display:inline-block!important;
    margin-right:2px!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:#666b74!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-grid.two-cols{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:14px!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,
  .ssbp-country-select,
  .ssbp-phone-wrap select.ssbp-country-select{
    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,
  .ssbp-country-select,
  .ssbp-phone-wrap select.ssbp-country-select{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:#5f6368!important;
  }

  .ssbp-app.ssbp-is-step-2 .ssbp-form-grid.two-cols{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-bottom:16px!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,
  .ssbp-app.ssbp-is-step-2 .ssbp-country-select,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap select.ssbp-country-select{
    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:#5f6368!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,
  .ssbp-app.ssbp-is-step-2 .ssbp-country-select,
  .ssbp-app.ssbp-is-step-2 .ssbp-phone-wrap select.ssbp-country-select{
    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 #8b8f99!important;
    border-bottom:1.5px solid #8b8f99!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;
  }
}
