.wsmpp-autofill-decoys{position:absolute !important;left:-10000px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important;}
.wsmpp-input-group{display:flex;align-items:stretch;width:100%;position:relative;}
.wsmpp-input-group > input{flex:1 1 auto;min-width:0;}
.wsmpp-input-group-append{display:flex;align-items:center;justify-content:center;min-width:44px;padding:0 .75rem;border:1px solid #ced4da;border-left:0;background:#fff;color:#6c757d;border-radius:0 .375rem .375rem 0;}
.wsmpp-input-group > input{border-top-right-radius:0;border-bottom-right-radius:0;}
.wsmpp-input-group-icon{display:inline-flex;align-items:center;justify-content:center;}
.wsmpp-address-icon{width:1rem;height:1rem;display:block;}
.wsmpp-autocomplete-wrap{position:relative;overflow:visible;}
.wsmpp-menu.dropdown-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;transform:none !important;inset:auto 0 auto 0 !important;width:100%;max-height:240px;overflow-y:auto;padding:.25rem;z-index:1080;}
.wsmpp-item.dropdown-item{white-space:normal;padding:.65rem .875rem;border-radius:.35rem;}
.wsmpp-item.dropdown-item:hover,.wsmpp-item.dropdown-item:focus,.wsmpp-item.dropdown-item.is-active{background:rgba(0,0,0,.05);outline:none;}

.wsmpp-inline-wrap {
  width: 100%;
  flex: 0 0 100%;
  max-width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 1.75rem;
}

.wsmpp-custom-stops {
  width: 100%;
}

.wsmpp-custom-stops__head {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:.5rem 1rem;
  margin-bottom:1rem;
}

.wsmpp-label {
  display:block;
  font-size:1rem;
  line-height:1.25;
  font-weight:600;
  margin:0;
}

.wsmpp-help {
  color:#6c757d;
  font-size:.9375rem;
  line-height:1.4;
  text-align:right;
}

.wsmpp-help strong {
  color:inherit;
  font-weight:600;
}

.wsmpp-stop-rows {
  display:grid;
  gap:1rem;
}

.wsmpp-stop-row {
  display:grid;
  grid-template-columns:minmax(0,10fr) minmax(120px,2fr);
  gap:1rem;
  align-items:start;
  width:100%;
}

.wsmpp-stop-row__field,
.wsmpp-stop-row__action {
  width:100%;
}

.wsmpp-stop-row__field .wsmpp-custom-stop-input {
  width:100%;
  min-height:58px;
}

.wsmpp-custom-stops__footer {
  display:flex;
  justify-content:flex-start;
  margin-top:1rem;
}

.wsmpp-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:.75rem 1.25rem;
  border:1px solid #e5e7eb;
  border-radius:.5rem;
  background:#f1f1f4;
  color:#111827;
  font:inherit;
  line-height:1.2;
  text-align:center;
  box-shadow:none;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}

.wsmpp-btn:hover,
.wsmpp-btn:focus {
  background:#e9e9ee;
  border-color:#dddfe4;
  color:#111827;
  outline:none;
}

.wsmpp-btn:disabled {
  opacity:.55;
  cursor:not-allowed;
}

.wsmpp-btn--add {
  width:auto;
  min-width:220px;
}

.wsmpp-btn--remove {
  width:100%;
  min-width:0;
}

@media (max-width: 991.98px) {
  .wsmpp-help {
    text-align:left;
  }
}

@media (max-width: 767.98px) {
  .wsmpp-stop-row {
    grid-template-columns:1fr;
  }

  .wsmpp-custom-stops__footer {
    justify-content:flex-start;
  }

  .wsmpp-btn--add {
    width:100%;
    min-width:0;
  }
}


.wsmpp-title-wrap {
  display:flex;
  align-items:center;
  gap:.875rem;
  flex-wrap:wrap;
}

.wsmpp-switch {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  cursor:pointer;
  user-select:none;
}

.wsmpp-switch input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.wsmpp-switch__slider {
  position:relative;
  width:46px;
  height:26px;
  border-radius:999px;
  background:#d0d5dd;
  transition:background-color .2s ease;
  flex:0 0 auto;
}

.wsmpp-switch__slider::before {
  content:'';
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform .2s ease;
}

.wsmpp-switch input:checked + .wsmpp-switch__slider {
  background:#6b6fd6;
}

.wsmpp-switch input:checked + .wsmpp-switch__slider::before {
  transform:translateX(20px);
}

.wsmpp-switch__text {
  font-size:.9375rem;
  line-height:1.2;
  color:#6c757d;
}

.wsmpp-custom-stops:not(.is-enabled) .wsmpp-custom-stops__body,
.wsmpp-custom-stops:not(.is-enabled) .wsmpp-custom-stops__footer {
  display:none;
}


.wsmpp-stop-row { align-items:center; }
.wsmpp-stop-row__action { display:flex; align-items:center; }
.wsmpp-stop-row__field .wsmpp-custom-stop-input {
  min-height: 56px;
  height: 56px;
}
.wsmpp-btn {
  min-height: 56px;
  height: 56px;
  padding: .75rem 1rem;
  border-radius: .5rem;
}
.wsmpp-btn--remove {
  max-width: 180px;
  margin-left: auto;
}
.wsmpp-btn--add {
  min-width: 210px;
}
.wsmpp-help strong:empty { display:none; }
@media (max-width: 767.98px) {
  .wsmpp-stop-row__field .wsmpp-custom-stop-input,
  .wsmpp-btn { height: 54px; min-height: 54px; }
  .wsmpp-btn--remove { max-width: none; }
}


/* v1.3.0 overrides */
.wsmpp-stop-row__field .wsmpp-custom-stop-input {
  min-height: 0;
  height: auto;
}
.wsmpp-btn,
.wsmpp-btn.wsf-button {
  min-height: 0 !important;
  height: auto !important;
  padding: .75rem 1rem !important;
  line-height: 1.2;
}
.wsmpp-btn--remove,
.wsmpp-btn--remove.wsf-button {
  width: 100%;
  max-width: 150px;
  margin-left: auto;
}
.wsmpp-btn--add,
.wsmpp-btn--add.wsf-button {
  min-width: 180px;
}
.wsmpp-stop-row__action {
  align-items: stretch;
}
@media (max-width: 767.98px) {
  .wsmpp-btn--remove,
  .wsmpp-btn--remove.wsf-button,
  .wsmpp-btn--add,
  .wsmpp-btn--add.wsf-button {
    max-width: none;
    min-width: 0;
  }
}


/* v1.3.4 validation feedback */
.wsmpp-stop-row__field {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.wsmpp-stop-row__field .wsmpp-custom-stop-input {
  margin-bottom: 0;
}
.wsmpp-invalid-feedback {
  display: none !important;
  width: 100%;
  margin-top: .35rem;
  font-size: .875rem;
  line-height: 1.35;
  color: #dc3545 !important;
}
.wsmpp-invalid-feedback.is-visible {
  display: block !important;
}
.wsmpp-custom-stop-input.wsmpp-invalid {
  border-color: #dc3545 !important;
}

/* v1.3.5 feedback and button fixes */
.wsmpp-stop-row__field{overflow:visible;}
.wsmpp-invalid-feedback{display:none;color:#dc3545 !important;font-size:.875rem;line-height:1.35;margin-top:.35rem;position:static !important;visibility:visible !important;opacity:1 !important;}
.wsmpp-invalid-feedback.is-visible{display:block !important;}
.wsmpp-btn.wsf-button,.wsmpp-btn{padding:.5rem 1rem !important;height:auto !important;min-height:0 !important;line-height:1.2 !important;}
.wsmpp-stop-row__action .wsmpp-remove-stop{height:auto !important;min-height:0 !important;align-self:stretch;}

.wsmpp-stop-row__field .wsmpp-input-group{width:100%;}
.wsmpp-stop-row__field .wsmpp-input-group > .wsmpp-custom-stop-input{height:auto;min-height:0;}

/* v1.4.3 fixes */
.wsmpp-stop-row__field .input-group.wsf-input-group-has-append,.wsmpp-stop-row__field .wsmpp-input-group.wsf-input-group-has-append{display:flex !important;flex-wrap:nowrap !important;align-items:stretch !important;width:100% !important;}
.wsmpp-stop-row__field .input-group.wsf-input-group-has-append > input,.wsmpp-stop-row__field .wsmpp-input-group.wsf-input-group-has-append > input{flex:1 1 auto !important;min-width:0 !important;width:auto !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}
.wsmpp-stop-row__field .wsmpp-input-group-append{display:flex !important;flex:0 0 56px !important;min-width:56px !important;max-width:56px !important;align-items:center !important;justify-content:center !important;padding:0 .75rem !important;border-left:0 !important;margin:0 !important;}
.wsmpp-stop-row__field .wsmpp-input-group-icon,.wsmpp-stop-row__field .wsmpp-address-icon{display:inline-flex !important;align-items:center !important;justify-content:center !important;}
.wsmpp-stop-row__field .wsmpp-address-icon{width:1rem !important;height:1rem !important;}
.wsmpp-stop-row__field{overflow:visible;}
.wsmpp-stop-row{align-items:start !important;}
.wsmpp-stop-row__action{display:flex !important;align-items:stretch !important;}
.wsmpp-stop-row__field .wsmpp-invalid-feedback{display:block;color:#dc3545;font-size:.875rem;line-height:1.35;margin-top:.35rem;}

.wsmpp-place-feedback{display:none;color:#dc3545;font-size:.875rem;line-height:1.4;margin-top:.35rem;}
.wsmpp-place-feedback.is-visible{display:block !important;visibility:visible !important;opacity:1 !important;}

.wsmpp-hidden-duplicate-feedback{display:none !important;}
.wsmpp-autocomplete-wrap > .invalid-feedback.is-visible, .wsmpp-autocomplete-wrap > .invalid-feedback.d-block{display:block !important;}

.wsmpp-input-group > .wsmpp-main-invalid-feedback{display:none;width:100%;flex:0 0 100%;order:99;margin-top:.35rem;color:#dc3545 !important;font-size:.875rem;line-height:1.35;}
.wsmpp-input-group > .wsmpp-main-invalid-feedback.d-block,.wsmpp-input-group > .wsmpp-main-invalid-feedback.is-visible{display:block !important;}
.wsmpp-autocomplete-wrap .invalid-feedback.wsmpp-native-feedback-suppressed{display:none !important;}

.wsmpp-main-place-wrap > .invalid-feedback{display:none !important;}
.wsmpp-main-place-wrap > input.wsmpp-place-proxy + .invalid-feedback{display:none !important;}
.wsmpp-main-place-wrap .wsmpp-input-group > .wsmpp-main-invalid-feedback{display:none;width:100%;flex:0 0 100%;order:99;margin-top:.35rem;color:#dc3545 !important;font-size:.875rem;line-height:1.35;}
.wsmpp-main-place-wrap .wsmpp-input-group > .wsmpp-main-invalid-feedback.d-block,.wsmpp-main-place-wrap .wsmpp-input-group > .wsmpp-main-invalid-feedback.is-visible{display:block !important;}

.wsmpp-map-trigger{
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.wsmpp-map-trigger:focus{
  outline:2px solid rgba(13,110,253,.35);
  outline-offset:-2px;
  color:#0d6efd;
}
.wsmpp-map-trigger .wsmpp-address-icon,
.wsmpp-map-trigger .wsmpp-input-group-icon{
  pointer-events:none;
}


.wsmpp-map-overlay{
  --wsmpp-map-width:300px;
  --wsmpp-map-height:300px;
  position:fixed;
  inset:0;
  z-index:2000;
  background:rgba(15,23,42,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
}
.wsmpp-map-overlay[hidden]{
  display:none !important;
}
.wsmpp-map-panel{
  position:relative;
  width:var(--wsmpp-map-width);
  max-width:calc(100vw - 2rem);
  background:#fff;
  border-radius:1rem;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(15,23,42,.28);
  border:1px solid rgba(15,23,42,.08);
}
.wsmpp-map-canvas{
  width:var(--wsmpp-map-width);
  height:var(--wsmpp-map-height);
  max-width:100%;
}
.wsmpp-map-confirm{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.5rem;
  padding:.8rem 1rem .9rem;
  background:rgba(255,255,255,.98);
  border-top:1px solid rgba(15,23,42,.1);
  box-shadow:0 -10px 28px rgba(15,23,42,.08);
  backdrop-filter:blur(8px);
}
.wsmpp-map-confirm[hidden]{
  display:none !important;
}
.wsmpp-map-confirm-title{
  font-size:.72rem;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#64748b;
}
.wsmpp-map-confirm-text{
  min-width:0;
  font-size:.93rem;
  line-height:1.45;
  color:#0f172a;
  word-break:break-word;
}
.wsmpp-map-confirm-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  flex-wrap:wrap;
  padding-top:.15rem;
}
.wsmpp-map-confirm-btn{
  min-height:2.35rem;
  padding:.5rem .85rem;
  min-width:6rem;
  border:1px solid rgba(15,23,42,.12);
  border-radius:.7rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  font-size:.875rem;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  background:#fff;
  color:#0f172a;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.wsmpp-map-confirm-btn:hover{
  background:#f8fafc;
  border-color:rgba(15,23,42,.2);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.wsmpp-map-confirm-btn:active{
  transform:translateY(1px);
}
.wsmpp-map-confirm-btn.is-apply{
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
}
.wsmpp-map-confirm-btn.is-apply:hover{
  background:#1e293b;
  border-color:#1e293b;
}
.wsmpp-map-confirm-btn.is-cancel{
  background:transparent;
  color:#334155;
}
.wsmpp-map-confirm-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1rem;
  height:1rem;
  font-size:.95rem;
  line-height:1;
}
.wsmpp-map-confirm-label{
  display:inline-block;
}
.wsmpp-map-confirm-btn:focus{
  outline:2px solid rgba(59,130,246,.28);
  outline-offset:2px;
}
.wsmpp-map-help{
  position:absolute;
  top:.95rem;
  left:1rem;
  right:11rem;
  z-index:2;
  padding:0;
  font-size:.9rem;
  line-height:1.4;
  color:#fff;
  background:transparent;
  border:0;
  text-shadow:0 1px 2px rgba(15,23,42,.45), 0 6px 20px rgba(15,23,42,.28);
  pointer-events:none;
}
.wsmpp-map-help.is-error{
  color:#fff3f3;
}

.wsmpp-map-fullscreen-toggle{
  position:absolute;
  top:.65rem;
  right:3.35rem;
  z-index:2;
  min-height:2.15rem;
  padding:.45rem .72rem;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#0f172a;
  font-size:.82rem;
  font-weight:600;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,.14);
}
.wsmpp-map-fullscreen-toggle:hover{
  background:#fff;
}
.wsmpp-map-fullscreen-toggle:focus{
  outline:2px solid rgba(59,130,246,.28);
  outline-offset:2px;
}
.wsmpp-map-fullscreen-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:.95rem;
  height:.95rem;
  font-size:.9rem;
  line-height:1;
}
.wsmpp-map-fullscreen-label{
  display:inline-block;
}

.wsmpp-map-close{
  position:absolute;
  top:.65rem;
  right:.65rem;
  z-index:2;
  width:2.15rem;
  height:2.15rem;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#0f172a;
  font-size:1.45rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,.14);
}
body.wsmpp-map-open{
  overflow:hidden;
}
.wsmpp-map-overlay.is-desktop-fullscreen{
  padding:0;
}
.wsmpp-map-overlay.is-desktop-fullscreen .wsmpp-map-panel{
  width:100vw;
  height:100dvh;
  max-width:none;
  border-radius:0;
  border-left:0;
  border-right:0;
}
.wsmpp-map-overlay.is-desktop-fullscreen .wsmpp-map-canvas{
  width:100%;
  height:100dvh;
}
.wsmpp-map-overlay.is-desktop-fullscreen .wsmpp-map-confirm{
  border-radius:0;
}
@media (max-width: 767.98px){
  .wsmpp-map-fullscreen-toggle{
    display:none !important;
  }
  .wsmpp-map-overlay.is-mobile-fullscreen{
    padding:0;
  }
  .wsmpp-map-overlay.is-mobile-fullscreen .wsmpp-map-panel{
    width:100vw;
    height:100dvh;
    max-width:none;
    border-radius:0;
    border-left:0;
    border-right:0;
  }
  .wsmpp-map-overlay.is-mobile-fullscreen .wsmpp-map-canvas{
    width:100%;
    height:100dvh;
  }
  .wsmpp-map-overlay.is-mobile-fullscreen .wsmpp-map-confirm{
    border-radius:0;
  }
  .wsmpp-map-help{
    top:.9rem;
    left:.95rem;
    right:4rem;
    font-size:.875rem;
  }
}


/* v1.6.11 form border visibility refinements */
.wsf-form input:not([type="checkbox"]):not([type="radio"]),
.wsf-form select,
.wsf-form textarea,
.wsf-form .form-control,
.wsf-form .form-select,
.wsf-form .input-group-text,
.wsf-form .wsf-input-group-append,
.wsf-form .wsmpp-input-group-append {
  border-color: #98a2b3;
}

.wsf-form input:not([type="checkbox"]):not([type="radio"]):focus,
.wsf-form select:focus,
.wsf-form textarea:focus,
.wsf-form .form-control:focus,
.wsf-form .form-select:focus {
  border-color: #667085;
}

.wsf-form .wsmpp-gdpr-consent input[type="checkbox"],
.wsf-form .wsmpp-gdpr-consent .form-check-input,
.wsf-form .wsmpp-gdpr-consent .wsf-field-checkbox input[type="checkbox"],
.wsf-form .wsmpp-gdpr-consent input[type="radio"] {
  border: 1.5px solid #667085 !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
  background-color: #fff;
}

.wsf-form .wsmpp-gdpr-consent input[type="checkbox"]:focus,
.wsf-form .wsmpp-gdpr-consent .form-check-input:focus,
.wsf-form .wsmpp-gdpr-consent .wsf-field-checkbox input[type="checkbox"]:focus {
  border-color: #475467 !important;
  box-shadow: 0 0 0 0.2rem rgba(71, 84, 103, 0.15);
}
