.elementor-11 .elementor-element.elementor-element-01035d3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-68c8ad9{padding:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-cb1084a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-68c8ad9 *//* =====================================================
   CORRECCIÓN FINAL — MODAL FLOTANTE STONE DOCTOR
   PEGAR AL FINAL DE TODO EL CSS
===================================================== */

/* Fondo visible alrededor del popup */
.sd-estimate-modal {
  padding: 24px !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ventana flotante en escritorio */
.sd-estimate-dialog {
  width: min(860px, calc(100% - 32px)) !important;
  height: auto !important;
  max-height: calc(100vh - 48px) !important;
  border: 1px solid rgba(7, 52, 95, 0.14) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow:
    0 28px 80px rgba(6, 28, 51, 0.30),
    0 4px 16px rgba(6, 28, 51, 0.10) !important;
}

/* Encabezado más compacto */
.sd-estimate-modal-header {
  padding: 20px 70px 17px 24px !important;
}

.sd-estimate-modal-header h2 {
  margin-bottom: 5px !important;
  font-size: 25px !important;
}

.sd-estimate-modal-header p {
  font-size: 12px !important;
}

/* Botón cerrar */
.sd-estimate-close,
.sd-estimate-close:hover,
.sd-estimate-close:focus,
.sd-estimate-close:active {
  top: 18px !important;
  right: 20px !important;
  width: 39px !important;
  height: 39px !important;
  border-radius: 6px !important;
}

/* Centrar correctamente la X */
.sd-estimate-close span {
  top: 18px !important;
  left: 9px !important;
  width: 20px !important;
}

/* Área desplazable del formulario */
.sd-estimate-modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 190px) !important;
  padding: 22px 24px 28px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

/* Evitar márgenes innecesarios de Contact Form 7 */
.sd-estimate-form-target .wpcf7,
.sd-estimate-form-target .wpcf7-form {
  width: 100% !important;
  margin: 0 !important;
}

/* =====================================================
   INDICADOR DE PASOS HORIZONTAL
===================================================== */

.sd-estimate-form .sd-form-progress {
  width: 100% !important;
  margin: 0 0 25px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0 !important;
}

.sd-estimate-form .sd-progress-item {
  width: auto !important;
  min-width: 48px !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  text-align: center !important;
}

.sd-estimate-form .sd-progress-item > span {
  width: 30px !important;
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #cfd7de !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #78838e !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

.sd-estimate-form .sd-progress-item > strong {
  display: block !important;
  color: #7a8690 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

.sd-estimate-form .sd-progress-item.is-active > span,
.sd-estimate-form .sd-progress-item.is-complete > span {
  border-color: #07345f !important;
  background: #07345f !important;
  color: #ffffff !important;
}

.sd-estimate-form .sd-progress-item.is-active > strong,
.sd-estimate-form .sd-progress-item.is-complete > strong {
  color: #07345f !important;
}

.sd-estimate-form .sd-progress-line {
  height: 1px !important;
  margin: 15px 7px 0 !important;
  flex: 1 1 auto !important;
  background: #d9e0e5 !important;
}

/* Encabezados internos más compactos */
.sd-estimate-form .sd-step-heading {
  margin-bottom: 22px !important;
  padding-bottom: 18px !important;
}

.sd-estimate-form .sd-step-heading h3 {
  margin: 0 0 6px !important;
  font-size: 23px !important;
}

.sd-estimate-form .sd-step-heading p {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* =====================================================
   TABLET Y TELÉFONO
===================================================== */

@media (max-width: 767px) {

  /* Dejar espacio visible alrededor del popup */
  .sd-estimate-modal {
    padding:
      max(14px, env(safe-area-inset-top))
      12px
      max(14px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
  }

  /* Ya no ocupa toda la pantalla */
  .sd-estimate-dialog {
    width: 100% !important;
    max-width: 470px !important;
    height: auto !important;
    max-height: calc(
      100dvh -
      max(28px, env(safe-area-inset-top)) -
      max(28px, env(safe-area-inset-bottom))
    ) !important;
    border: 1px solid rgba(7, 52, 95, 0.14) !important;
    border-radius: 13px !important;
    transform: translateY(15px) scale(0.985) !important;
  }

  .sd-estimate-modal.is-open .sd-estimate-dialog {
    transform: translateY(0) scale(1) !important;
  }

  .sd-estimate-modal-header {
    padding: 17px 60px 14px 16px !important;
  }

  .sd-estimate-modal-kicker {
    margin-bottom: 5px !important;
    font-size: 8px !important;
    letter-spacing: 1.35px !important;
  }

  .sd-estimate-modal-header h2 {
    font-size: 21px !important;
    line-height: 1.15 !important;
  }

  .sd-estimate-modal-header p {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .sd-estimate-close,
  .sd-estimate-close:hover,
  .sd-estimate-close:focus,
  .sd-estimate-close:active {
    top: 15px !important;
    right: 14px !important;
    width: 36px !important;
    height: 36px !important;
  }

  .sd-estimate-close span {
    top: 16px !important;
    left: 8px !important;
    width: 19px !important;
  }

  /* Scroll únicamente dentro del contenido */
  .sd-estimate-modal-body {
    max-height: calc(100dvh - 150px) !important;
    padding: 18px 15px 28px !important;
  }

  /* Pasos compactos y horizontales */
  .sd-estimate-form .sd-form-progress {
    margin-bottom: 21px !important;
  }

  .sd-estimate-form .sd-progress-item {
    min-width: 34px !important;
  }

  .sd-estimate-form .sd-progress-item > span {
    width: 27px !important;
    height: 27px !important;
    font-size: 10px !important;
  }

  .sd-estimate-form .sd-progress-item > strong {
    display: block !important;
    max-width: 48px !important;
    font-size: 7px !important;
  }

  .sd-estimate-form .sd-progress-line {
    margin: 13px 3px 0 !important;
  }

  .sd-estimate-form .sd-step-kicker {
    font-size: 8px !important;
  }

  .sd-estimate-form .sd-step-heading h3 {
    font-size: 21px !important;
  }

  .sd-estimate-form .sd-step-heading p {
    font-size: 11px !important;
  }

  /* Campos más bajos para reducir extensión */
  .sd-estimate-form input[type="text"],
  .sd-estimate-form input[type="email"],
  .sd-estimate-form input[type="tel"],
  .sd-estimate-form input[type="date"],
  .sd-estimate-form select {
    min-height: 46px !important;
    padding: 11px 12px !important;
    font-size: 13px !important;
  }

  .sd-estimate-form textarea {
    min-height: 105px !important;
    padding: 11px 12px !important;
    font-size: 13px !important;
  }

  .sd-estimate-form .sd-form-grid {
    gap: 16px !important;
  }

  .sd-estimate-form .sd-step-actions {
    position: sticky !important;
    bottom: -28px !important;
    z-index: 5 !important;
    margin-top: 24px !important;
    padding: 14px 0 2px !important;
    background: #ffffff !important;
  }

  .sd-estimate-modal-footer {
    display: none !important;
  }
}

/* Teléfonos pequeños */
@media (max-width: 390px) {

  .sd-estimate-modal {
    padding: 9px !important;
  }

  .sd-estimate-dialog {
    max-height: calc(100dvh - 18px) !important;
    border-radius: 11px !important;
  }

  .sd-estimate-modal-body {
    max-height: calc(100dvh - 135px) !important;
    padding-right: 13px !important;
    padding-left: 13px !important;
  }

  .sd-estimate-form .sd-progress-item > strong {
    display: none !important;
  }

  .sd-estimate-form .sd-progress-line {
    margin-top: 13px !important;
  }
}/* End custom CSS */