/* === RESET: anular estilos de Divi dentro del formulario === */
#suscribete-form,
#suscribete-form * {
  box-sizing: border-box !important;
}

/* === Barra de búsqueda === */
#suscribete-form .sf-search-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  max-width: 500px !important;
  margin: 40px auto !important;
  position: relative !important;
}

#suscribete-form #searchQueryInput {
  width: 100% !important;
  height: 45px !important;
  background: #f5f5f5 !important;
  outline: none !important;
  border: none !important;
  border-radius: 26px !important;
  padding: 0 55px 0 20px !important;
  font-size: 16px !important;
  color: #333 !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
  margin: 0 !important;
}

#suscribete-form #searchQueryInput::-webkit-outer-spin-button,
#suscribete-form #searchQueryInput::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

#suscribete-form button[name="searchQuerySubmit"] {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 55px !important;
  height: 45px !important;
  background: none !important;
  border: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* === Campos del formulario === */
#suscribete-form .sf-field-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  margin: 0 auto 15px auto !important;
  max-width: 600px !important;
  padding: 8px 0 !important;
  gap: 12px !important;
}

#suscribete-form .sf-label {
  display: inline-block !important;
  width: 180px !important;
  min-width: 180px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #333 !important;
  background-color: #EBEBEB !important;
  padding: 10px 12px !important;
  border-radius: 4px !important;
  text-align: left !important;
  margin: 0 !important;
}

#suscribete-form .sf-input {
  flex: 1 !important;
  height: 42px !important;
  font-size: 16px !important;
  padding: 8px 12px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #333 !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  width: auto !important;
}

#suscribete-form .sf-input:focus {
  border-color: #2596be !important;
}

#suscribete-form .sf-validation {
  display: inline-block !important;
  min-width: 24px !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

/* === Botón Enviar === */
#suscribete-form .sf-submit-btn {
  display: inline-block !important;
  font-size: 18px !important;
  background-color: #006c81 !important;
  padding: 12px 35px !important;
  border-radius: 5px !important;
  letter-spacing: 1px !important;
  border: none !important;
  color: #fff !important;
  cursor: pointer !important;
  box-shadow: none !important;
  margin: 20px 0 !important;
  text-transform: none !important;
  line-height: normal !important;
}

#suscribete-form .sf-submit-btn:hover {
  background-color: #005566 !important;
}

#suscribete-form #mensajeBoton {
  margin-top: 10px !important;
  font-size: 14px !important;
}

/* === Iconos de estado búsqueda === */
#suscribete-form .gcircle {
  position: relative !important;
  background: #8cc63e !important;
  border-radius: 50% !important;
  width: 24px !important;
  height: 24px !important;
  display: inline-block !important;
}

#suscribete-form .checkmark {
  position: absolute !important;
  transform: rotate(45deg) translate(-50%, -50%) !important;
  left: 35% !important;
  top: 45% !important;
  height: 8px !important;
  width: 4px !important;
  border-bottom: 3px solid white !important;
  border-right: 3px solid white !important;
}

#suscribete-form .error-circle {
  position: relative !important;
  width: 24px !important;
  height: 24px !important;
  background-color: #da1515 !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

#suscribete-form .error-circle > div {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-weight: bold !important;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* === Responsive === */
@media (max-width: 600px) {
  #suscribete-form .sf-field-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #suscribete-form .sf-label {
    width: 100% !important;
    min-width: 100% !important;
    margin-bottom: 4px !important;
  }
}
