/* =========================================================
   SIMULADOR AMH - CSS COMPLETO LIMPIO v5
   Objetivo:
   - Labels homogÃƒÆ’Ã‚Â©neos
   - Inputs/selects 361x40 aprox. segÃƒÆ’Ã‚Âºn contenedor
   - Alto 40px, radio 8px, borde 1px
   - Espaciado compacto y parejo
   - Sin bloques duplicados de fixes
   ========================================================= */

/* =========================================================
   1. VARIABLES
   ========================================================= */
:root {
  --amh-primary: #BA0C2F;
  --amh-primary-dark: #980A26;
  --amh-primary-soft: #FFF2F5;

  --amh-text: #4B4F54;
  --amh-text-dark: #0F2B46;
  --amh-muted: #7B808A;

  --amh-purple: #A277A6;
  --amh-red: #EB3C46;
  --amh-error: #FF0000;
  --amh-success: #42A746;

  --amh-border: #D9D9DD;
  --amh-border-soft: #E1E1E1;
  --amh-field-bg: #FFFFFF;
  --amh-prefix-bg: #F8F8FD;
  --amh-upload-bg: #F8F8FD;

  --amh-max: 1140px;
  --amh-form: 980px;
  --amh-docs: 760px;

  --amh-field-height: 40px;
  --amh-field-radius: 8px;
  --amh-field-padding-x: 14px;

  --amh-label-size: 16px;
  --amh-label-weight: 700;
  --amh-label-gap: 4px;

  --amh-block-gap: 16px;
  --amh-grid-col-gap: 24px;
}

/* =========================================================
   2. RESET LOCAL
   ========================================================= */
.stepper-container,
.stepper-container * {
  box-sizing: border-box !important;
}

.stepper-container {
  width: min(calc(100% - 32px), var(--amh-max)) !important;
  margin: 0 auto !important;
  padding: 22px 0 48px !important;
  font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  color: var(--amh-text) !important;
}

.stepper-container .wpcf7,
.stepper-container .wpcf7-form,
.stepper-container .step-wrapper,
.stepper-container .step-panel {
  width: 100% !important;
  max-width: 100% !important;
}

.stepper-container br {
  display: none !important;
  line-height: 0 !important;
}

.stepper-container p {
  margin: 0 !important;
  padding: 0px !important;
}

.stepper-container img {
  max-width: 100% !important;
  height: auto !important;
}

.stepper-container .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stepper-container .stepper-btn-hidden,
.stepper-container.stepper-loading .step-wrapper,
.stepper-container .campo-oculto-api,
.stepper-container .campo-oculto-hipotecon,
#bloque-institucion-p4.campo-oculto-hipotecon,
#bloque-carrera-p4.campo-oculto-hipotecon,
#bloque-cargo-p4.campo-oculto-hipotecon,
#bloque-institucion-codeudor-p4.campo-oculto-hipotecon,
#bloque-carrera-codeudor-p4.campo-oculto-hipotecon,
#bloque-cargo-codeudor-p4.campo-oculto-hipotecon,
.stepper-container #agregar_codeudores,
.stepper-container #formulario-coudeudor,
.stepper-container #ficha-codeudor,
.stepper-container #botagregarc {
  display: none !important;
}

/* =========================================================
   3. WRAPPERS
   ========================================================= */
.stepper-container #wrapper-step-1,
.stepper-container #wrapper-step-2,
.stepper-container #wrapper-step-4 {
  width: 100% !important;
  max-width: var(--amh-form) !important;
  margin: 0 auto !important;
}

.stepper-container #wrapper-step-3 {
  width: 100% !important;
  max-width: var(--amh-max) !important;
  margin: 0 auto !important;
}

.stepper-container #wrapper-step-5 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.stepper-container .step-surface,
.stepper-container .step-surface--wide {
  max-width: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* =========================================================
   4. TITULOS GENERALES
   ========================================================= */
.stepper-container .subtil-f {
  margin: 0 0 12px !important;
  color: var(--amh-primary) !important;
  font-size: 16px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.stepper-container .step-section-title {
  margin: 0 0 24px !important;
  color: var(--amh-primary) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.stepper-container .step-section-title--small {
  margin: 0 0 18px !important;
  font-size: clamp(22px, 2.2vw, 28px) !important;
}

.stepper-container .summary-results,
.stepper-container .step5-intro,
.stepper-container .subtextp2 {
  max-width: 680px !important;
  margin: 0 auto 20px !important;
  color: var(--amh-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

.page-id-8235 #descprincipal p,
.page-id-4908 #descprincipal p {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  line-height: 120% !important;
  letter-spacing: 0 !important;
}

.page-id-8235 .template-page .entry-content-wrapper h1,
.page-id-8235 .template-page .entry-content-wrapper h2,
.page-id-4908 .template-page .entry-content-wrapper h1,
.page-id-4908 .template-page .entry-content-wrapper h2 {
  font-size: 32px !important;
  font-weight: 650 !important;
  text-transform: none !important;
  letter-spacing: inherit !important;
  font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  text-align: center !important;
}

/* =========================================================
   5. STEPPER
   ========================================================= */
.stepper-container .stepper-header.stepper-header-lineal {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto 36px !important;
  padding: 0 12px !important;
}

.stepper-container .stepper-progress-line {
  position: absolute !important;
  top: 20px !important;
  left: calc(10% + 8px) !important;
  right: calc(10% + 8px) !important;
  height: 6px !important;
  background: #D9DDE4 !important;
  border-radius: 999px !important;
  z-index: 0 !important;
}

.stepper-container .stepper-progress-fill {
  position: absolute !important;
  top: 20px !important;
  left: calc(10% + 8px) !important;
  right: auto !important;
  height: 6px !important;
  background: var(--amh-primary) !important;
  border-radius: 999px !important;
  z-index: 1 !important;
  transition: width .3s ease !important;
}

.stepper-container .stepper-item {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

.stepper-container .step-circle-wrap {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
}

.stepper-container .step-number {
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #C9D1DD !important;
  color: #FFF !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  font-family: 'Roboto', sans-serif !important;
  transition: all .25s ease !important;
}

.stepper-container .step-label {
  max-width: 170px !important;
  margin: 0 auto !important;
  color: var(--amh-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.stepper-container .stepper-item.active .step-number,
.stepper-container .stepper-item.completed .step-number {
  background: var(--amh-primary) !important;
  color: #FFF !important;
}

.stepper-container.step-1 .stepper-progress-fill {
  width: 0 !important;
}

.stepper-container.step-2 .stepper-progress-fill {
  width: calc(25% - 26px) !important;
}

.stepper-container.step-3 .stepper-progress-fill {
  width: calc(50% - 13px) !important;
}

.stepper-container.step-4 .stepper-progress-fill {
  width: 75% !important;
}

.stepper-container.step-5 .stepper-progress-fill {
  width: calc(100% - 215px) !important;
}

/* =========================================================
   6. GRID Y BLOQUES DE FORMULARIO
   ========================================================= */
.stepper-container .step-form-grid,
.stepper-container .grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  row-gap: var(--amh-block-gap) !important;
  column-gap: var(--amh-grid-col-gap) !important;
  align-items: start !important;
}

.stepper-container .step-form-grid--single {
  grid-template-columns: minmax(0, 1fr) !important;
}

.stepper-container .full-span,
.stepper-container .divisiones.full-span,
.stepper-container #bloque-campos-codeudor-step2.full-span {
  grid-column: 1 / -1 !important;
  /* padding: 0px 8px 16px 8px !important; */
}

.stepper-container .divisiones,
.stepper-container .combo-input,
.stepper-container .combo-valorp,
.stepper-container .combo-montoc,
.stepper-container .combo-renta,
.stepper-container .nivel-estudios-bloque,
.stepper-container .fecha-nacimiento-field,
.stepper-container .divopciones1 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0px 8px 16px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

.stepper-container .step-form-grid>*,
.stepper-container .grid-2>* {
  align-self: start !important;
}

/* =========================================================
   7. LABELS HOMOGENEOS
   ========================================================= */
.stepper-container label,
.stepper-container .nombdoc,
.stepper-container .divisiones>label,
.stepper-container .combo-input>label,
.stepper-container .combo-valorp>label,
.stepper-container .combo-montoc>label,
.stepper-container .combo-renta>label,
.stepper-container .nivel-estudios-bloque>label,
.stepper-container .fecha-nacimiento-field>label,
.stepper-container .label-ajustada,
.stepper-container .label-montoc,
.stepper-container .label-montoc-texto,
.stepper-container #texto-montoc {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 var(--amh-label-gap) 0 !important;
  padding: 0 !important;
  color: var(--amh-text) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: var(--amh-label-size) !important;
  font-weight: var(--amh-label-weight) !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

.stepper-container .required,
.stepper-container label .required,
.stepper-container #texto-montoc .required {
  color: var(--amh-primary) !important;
  font-weight: 700 !important;
}

.stepper-container .combo-montoc .tooltip-custom,
.stepper-container #texto-montoc .tooltip-custom {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 2px !important;
}

/* =========================================================
   8. INPUTS / SELECTS / SELECT2
   ========================================================= */
.stepper-container input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.stepper-container select,
.stepper-container textarea {
  width: 100% !important;
  min-width: 0 !important;
  height: var(--amh-field-height) !important;
  min-height: var(--amh-field-height) !important;
  margin: 0 !important;
  padding: 0 var(--amh-field-padding-x) !important;
  border: 1px solid var(--amh-border) !important;
  border-radius: var(--amh-field-radius) !important;
  background: var(--amh-field-bg) !important;
  color: var(--amh-text-dark) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  outline: none !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.stepper-container textarea {
  height: auto !important;
  min-height: 120px !important;
  padding: 12px var(--amh-field-padding-x) !important;
  resize: vertical !important;
}

.stepper-container input::placeholder,
.stepper-container textarea::placeholder {
  color: #D1D5DB !important;
  opacity: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.stepper-container input:focus:not(.field-invalid):not(.error-field),
.stepper-container select:focus:not(.field-invalid):not(.error-field),
.stepper-container textarea:focus:not(.field-invalid):not(.error-field) {
  border-color: var(--amh-purple) !important;
  box-shadow: 0 0 0 1px var(--amh-purple) !important;
}

.stepper-container input.field-invalid,
.stepper-container input.error-field,
.stepper-container select.field-invalid,
.stepper-container select.error-field,
.stepper-container textarea.field-invalid,
.stepper-container textarea.error-field {
  border-color: var(--amh-error) !important;
  box-shadow: 0 0 0 1px var(--amh-error) !important;
}

.stepper-container input:-webkit-autofill,
.stepper-container input:-webkit-autofill:hover,
.stepper-container input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--amh-text-dark) !important;
  -webkit-box-shadow: 0 0 0 1000px #FFF inset !important;
  box-shadow: 0 0 0 1000px #FFF inset !important;
}

/* Select nativo */
.stepper-container select {
  padding-right: 42px !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F54' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
}

/* Select2 */
.stepper-container .select2-container {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.stepper-container .select2-container--default .select2-selection--single {
  width: 100% !important;
  height: var(--amh-field-height) !important;
  min-height: var(--amh-field-height) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 42px 0 var(--amh-field-padding-x) !important;
  border: 1px solid var(--amh-border) !important;
  border-radius: var(--amh-field-radius) !important;
  background: #FFF !important;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.stepper-container .select2-container--default .select2-selection--single .select2-selection__rendered {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  color: var(--amh-text-dark) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.stepper-container .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #D1D5DB !important;
}

.stepper-container .select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 24px !important;
  height: 24px !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.stepper-container .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none !important;
}

.stepper-container .select2-container--default .select2-selection--single .select2-selection__arrow::before {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F54' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
}

.stepper-container .select2-container--default.select2-container--focus .select2-selection--single,
.stepper-container .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--amh-purple) !important;
  box-shadow: 0 0 0 1px var(--amh-purple) !important;
}

.stepper-container select.field-invalid+.select2-container .select2-selection--single,
.stepper-container select.error-field+.select2-container .select2-selection--single {
  border-color: var(--amh-error) !important;
  box-shadow: 0 0 0 1px var(--amh-error) !important;
}

/* =========================================================
   9. COMBOS UF / $ / TELEFONO
   ========================================================= */
.stepper-container .input-with-select,
.stepper-container .combo-input .input-with-select,
.stepper-container .combo-valorp .input-with-select,
.stepper-container .combo-montoc .input-with-select,
.stepper-container .combo-renta .input-with-select {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: var(--amh-field-height) !important;
  min-height: var(--amh-field-height) !important;
  max-height: var(--amh-field-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--amh-border) !important;
  border-radius: var(--amh-field-radius) !important;
  background: #FFF !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.stepper-container .input-with-select:focus-within,
.stepper-container .combo-valorp .input-with-select:focus-within,
.stepper-container .combo-montoc .input-with-select:focus-within,
.stepper-container .combo-renta .input-with-select:focus-within {
  border-color: var(--amh-purple) !important;
  box-shadow: 0 0 0 1px var(--amh-purple) !important;
}

.stepper-container .input-with-select>p,
.stepper-container .combo-input .input-with-select>p,
.stepper-container .combo-valorp .input-with-select>p,
.stepper-container .combo-montoc .input-with-select>p,
.stepper-container .combo-renta .input-with-select>p {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
}

.stepper-container .prefix-select,
.stepper-container .input-with-select>span:first-child,
.stepper-container .combo-input .prefix-select,
.stepper-container .combo-valorp .prefix-select,
.stepper-container .combo-montoc .prefix-select,
.stepper-container .combo-renta .prefix-select {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 76px !important;
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-right: 1px solid var(--amh-border) !important;
  border-radius: 0 !important;
  background: var(--amh-prefix-bg) !important;
  color: var(--amh-purple) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.stepper-container .combo-renta .prefix-select,
.stepper-container .combo-renta .prefix-select.prefix-peso,
.stepper-container .combo-renta .input-with-select>span:first-child {
  flex: 0 0 54px !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  font-size: 16px !important;
}

.stepper-container .prefix-select select,
.stepper-container .combo-input .prefix-select select,
.stepper-container .combo-valorp .prefix-select select,
.stepper-container .combo-montoc .prefix-select select {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 18px 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background-color: transparent !important;
  color: var(--amh-purple) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  line-height: 1 !important;
  text-align: center !important;
  text-align-last: center !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 12px 12px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F54' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
}

.stepper-container .combo-field,
.stepper-container .input-with-select>.combo-field,
.stepper-container .input-with-select>.wpcf7-form-control-wrap:last-child,
.stepper-container .input-with-select>.wpcf7-form-control-wrap:last-of-type,
.stepper-container .combo-input .combo-field,
.stepper-container .combo-input .input-with-select .wpcf7-form-control-wrap {
  display: flex !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #FFF !important;
  box-sizing: border-box !important;
}

.stepper-container .input-with-select input,
.stepper-container .combo-field input,
.stepper-container .combo-input .input-with-select input,
.stepper-container .combo-valorp input,
.stepper-container .combo-montoc input,
.stepper-container .combo-renta input,
.stepper-container #Valorp,
.stepper-container #Montoc,
.stepper-container #Renta,
.stepper-container #Renta_cliente,
.stepper-container #Rentac,
.stepper-container #Rentac_sim,
.stepper-container #tel_cliente_p4,
.stepper-container #tel_clientec {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 var(--amh-field-padding-x) !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: #FFF !important;
  color: var(--amh-text-dark) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

.stepper-container .input-with-select input:focus,
.stepper-container .combo-field input:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.stepper-container .input-with-select:has(input.field-invalid),
.stepper-container .input-with-select:has(input.error-field),
.stepper-container .combo-valorp:has(input.field-invalid) .input-with-select,
.stepper-container .combo-valorp:has(input.error-field) .input-with-select,
.stepper-container .combo-montoc:has(input.field-invalid) .input-with-select,
.stepper-container .combo-montoc:has(input.error-field) .input-with-select,
.stepper-container .combo-renta:has(input.field-invalid) .input-with-select,
.stepper-container .combo-renta:has(input.error-field) .input-with-select {
  border-color: var(--amh-error) !important;
  box-shadow: 0 0 0 1px var(--amh-error) !important;
}

/* =========================================================
   10. RADIO / CHECKBOX
   ========================================================= */
.stepper-container .wpcf7-radio,
.stepper-container .wpcf7-checkbox {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 24px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stepper-container .wpcf7-list-item {
  margin: 0 !important;
}

.stepper-container .wpcf7-list-item>label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--amh-text-dark) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

/* Radios visuales */
.stepper-container .divopciones1 input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.stepper-container .divopciones1 .wpcf7-list-item-label {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.stepper-container .divopciones1 .wpcf7-list-item-label::before {
  content: "" !important;
  display: inline-block !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 2px solid #D6D7DC !important;
  background: #FFF !important;
  box-sizing: border-box !important;
  flex: 0 0 30px !important;
}

.stepper-container .divopciones1 input[type="radio"]:checked+.wpcf7-list-item-label::before {
  border-color: #D6D7DC !important;
  background: radial-gradient(circle at center, #C9002B 0 64%, transparent 65%) !important;
}

.stepper-container .divopciones1 input[type="radio"]:checked+.wpcf7-list-item-label::after {
  content: "" !important;
  position: absolute !important;
  width: 13px !important;
  height: 7px !important;
  left: 8px !important;
  top: 10px !important;
  border-left: 2.5px solid #FFF !important;
  border-bottom: 2.5px solid #FFF !important;
  transform: rotate(-45deg) !important;
  box-sizing: border-box !important;
}

/* Checkbox circular general */
.stepper-container .wpcf7-checkbox:not(#tipo_trabajo):not(#tipo_trabajoc) input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  border-radius: 50% !important;
  border: 2.5px solid #C9D1DB !important;
  background: #FFF !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  outline: none !important;
}

.stepper-container .wpcf7-checkbox:not(#tipo_trabajo):not(#tipo_trabajoc) input[type="checkbox"]:checked {
  background: var(--amh-primary) !important;
  border-color: #C9D1DB !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 13px !important;
}

/* Tipo trabajador */
.stepper-container #tipo_trabajo,
.stepper-container #tipo_trabajoc {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stepper-container #tipo_trabajo .wpcf7-list-item,
.stepper-container #tipo_trabajoc .wpcf7-list-item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stepper-container #tipo_trabajo .wpcf7-list-item>label,
.stepper-container #tipo_trabajoc .wpcf7-list-item>label {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 0 50px !important;
  color: #5A6270 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.stepper-container #tipo_trabajo input[type="checkbox"],
.stepper-container #tipo_trabajoc input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.stepper-container #tipo_trabajo .wpcf7-list-item-label,
.stepper-container #tipo_trabajoc .wpcf7-list-item-label {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  color: #5A6270 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.stepper-container #tipo_trabajo .wpcf7-list-item-label::before,
.stepper-container #tipo_trabajoc .wpcf7-list-item-label::before {
  content: "" !important;
  position: absolute !important;
  left: -50px !important;
  top: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  border: 1px solid #C9CDD4 !important;
  background: #FFF !important;
  box-sizing: border-box !important;
}

.stepper-container #tipo_trabajo input[type="checkbox"]:checked+.wpcf7-list-item-label::before,
.stepper-container #tipo_trabajoc input[type="checkbox"]:checked+.wpcf7-list-item-label::before {
  background: #C9002B !important;
  border-color: #C9002B !important;
}

.stepper-container #tipo_trabajo input[type="checkbox"]:checked+.wpcf7-list-item-label::after,
.stepper-container #tipo_trabajoc input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
  content: "" !important;
  position: absolute !important;
  left: -40px !important;
  top: 9px !important;
  width: 14px !important;
  height: 8px !important;
  border-left: 2px solid #FFF !important;
  border-bottom: 2px solid #FFF !important;
  transform: rotate(-45deg) !important;
  box-sizing: border-box !important;
}

/* Helper especÃƒÆ’Ã‚Â­fico para tipo de trabajador dentro del grid */
.stepper-container .divisiones:has(#tipo_trabajo),
.stepper-container .divisiones:has(#tipo_trabajoc),
.stepper-container .full-span:has(#tipo_trabajo),
.stepper-container .full-span:has(#tipo_trabajoc) {
  align-items: flex-start !important;
}

/* =========================================================
   11. ERRORES
   ========================================================= */
.stepper-container .msjerror {
  margin: 10px 0 0 !important;
  color: var(--amh-error) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.stepper-container .field-error-msg,
.stepper-container .field-error-msg-telefono,
#msg-fecha,
#msg-fecha-cliente,
#msg-fechac,
#msg-fechac_sim {
  display: block !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  color: var(--amh-error) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  text-align: left !important;
  position: relative !important;
  top: 0 !important;
}

#mensaje-error-simulacion {
  display: none;
  width: 100%;
  margin: 12px 0 0;
}

#mensaje-error-simulacion .simulacion-error-box {
  background: #FDECEC;
  border: 1px solid var(--amh-primary);
  color: var(--amh-primary);
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

/* =========================================================
   12. BOTONES
   ========================================================= */
.stepper-container .stepper-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 24px !important;
  flex-wrap: wrap !important;
}

.stepper-container .cf7-submit-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 24px auto 0 !important;
  text-align: center !important;
}

.stepper-container .btn-stepper,
.stepper-container .btn-modal,
.stepper-container #nextBtn,
.stepper-container #prevBtn,
.stepper-container #enviarform,
.stepper-container #btnEnviar,
.stepper-container #btn-continuar-codeudor,
.stepper-container button,
.stepper-container input[type="submit"],
.stepper-container input[type="button"],
.stepper-container .wpcf7-submit,
.stepper-container .btn-select,
.stepper-container .boton-interes,
.stepper-container .boton-interes2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 195px !important;
  min-height: 48px !important;
  padding: 0 26px !important;
  border: 1.5px solid var(--amh-primary) !important;
  border-radius: 999px !important;
  background: var(--amh-primary) !important;
  color: #FFF !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: .2s ease !important;
  font-family: 'Inter', sans-serif !important;
  margin: 0 !important;
}

.stepper-container #prevBtn,
.stepper-container .btn-prev,
.stepper-container .btn-stepper.btn-prev {
  background: #FFF !important;
  color: var(--amh-primary) !important;
}

.stepper-container .btn-stepper:hover,
.stepper-container .btn-modal:hover,
.stepper-container #nextBtn:hover,
.stepper-container #enviarform:hover,
.stepper-container #btnEnviar:hover,
.stepper-container #btn-continuar-codeudor:hover,
.stepper-container button:hover,
.stepper-container input[type="submit"]:hover,
.stepper-container input[type="button"]:hover,
.stepper-container .wpcf7-submit:hover,
.stepper-container .btn-select:hover {
  background: var(--amh-primary-dark) !important;
  border-color: var(--amh-primary-dark) !important;
  color: #FFF !important;
}

.stepper-container #prevBtn:hover,
.stepper-container .btn-prev:hover {
  background: var(--amh-primary-soft) !important;
  color: var(--amh-primary) !important;
}



.stepper-container .btn-caso-sin-plazo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 168px !important;
  min-height: 48px !important;
  padding: 0 26px !important;
  border: 1.5px solid #999 !important;
  border-radius: 999px !important;
  background: #FFF !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.stepper-bottom-link {
  display: flex !important;
  justify-content: center !important;
  margin-top: 12px !important;
}

.stepper-container .link-volver-resultados {
  display: inline-block !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  color: var(--amh-primary) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.stepper-container.step-5 #prevBtn,
.stepper-container.step-5 .btn-prev,
.stepper-container.step-5 .stepper-actions #prevBtn {
  display: none !important;
}

/* =========================================================
   13. CODEUDOR
   ========================================================= */
.stepper-container #contenedor-codeudor-toggle {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

.stepper-container #contenedor-codeudor-toggle .step-section-title,
.stepper-container #contenedor-codeudor-toggle .step-section-title--small,
.stepper-container #contenedor-codeudor-toggle .subtil-f {
  width: 100% !important;
  text-align: center !important;
  margin: 16px 0 18px !important;
}

.stepper-container #btn-toggle-codeudor,
.stepper-container .toggle-codeudor-button {
  align-self: flex-start !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  gap: 16px !important;
  width: auto !important;
  min-width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--amh-text) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: left !important;
}

.stepper-container #btn-toggle-codeudor span,
.stepper-container .toggle-codeudor-button span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--amh-primary) !important;
  color: #FFF !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.stepper-container #bloque-campos-codeudor-step2,
.stepper-container #bloque-campos-codeudor {
  display: none;
  margin-top: 16px !important;
  padding: 22px !important;
  background: #F8FAFC !important;
  border: 1px solid rgba(142, 163, 192, .28) !important;
  border-radius: 18px !important;
}

.stepper-container #bloque-campos-codeudor .wpcf7-checkbox:not(#tipo_trabajoc) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 18px !important;
}

/* =========================================================
   14. PASO 3 RESULTADOS
   ========================================================= */
.stepper-container #step-3-content,
.stepper-container #step-panel-3 {
  text-align: center !important;
}

.stepper-container #text_re {
  max-width: 760px !important;
  margin: 0 auto 20px !important;
  padding: 0 16px !important;
  color: var(--amh-text) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.stepper-container .resultados-simulacion-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 664px !important;
  margin: 24px auto 0 !important;
}

.stepper-container .resultado-columna {
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 320px !important;
  max-width: 320px !important;
}

.stepper-container #carrusel1,
.stepper-container #carrusel2,
.stepper-container .swiper-uno,
.stepper-container .swiper-dos {
  width: 100% !important;
  margin: 0 auto !important;
}

.stepper-container #carrusel1,
.stepper-container .swiper-uno {
  max-width: 100% !important;
  overflow: hidden !important;
}

.stepper-container #carrusel2,
.stepper-container .swiper-dos {
  max-width: 320px !important;
  overflow: hidden !important;
}



/* Ocultar botÃ³n Anterior solo en el paso 1 */
#wrapper-step-1 .btn-anterior,
#wrapper-step-1 button.btn-anterior,
#wrapper-step-1 input.btn-anterior,
#wrapper-step-1 .anterior,
#wrapper-step-1 button[id*="anterior"],
#wrapper-step-1 input[id*="anterior"] {
  display: none !important;
}

/* Ocultar botÃ³n Volver / Anterior solo en el paso 1 */
#wrapper-step-1 .btn-volver,
#wrapper-step-1 .volver,
#wrapper-step-1 .btn-anterior,
#wrapper-step-1 .anterior,
#wrapper-step-1 button[id*="volver"],
#wrapper-step-1 button[id*="anterior"],
#wrapper-step-1 input[id*="volver"],
#wrapper-step-1 input[id*="anterior"] {
  display: none !important;
}

.stepper-container .swiper-wrapper {
  display: flex !important;
  align-items: stretch !important;
}

.stepper-container .swiper-slide {
  height: auto !important;
  box-sizing: border-box !important;
}

.stepper-container #carrusel1 .swiper-slide,
.stepper-container .swiper-uno .swiper-slide,
.stepper-container #carrusel2 .swiper-slide,
.stepper-container .swiper-dos .swiper-slide {
  width: 320px !important;
  max-width: 320px !important;
  flex: 0 0 320px !important;
}

.stepper-container .sim-card,
.stepper-container .card-tradicional,
.stepper-container .card-hipotecon {
  width: 100% !important;
  max-width: 320px !important;
  min-height: 500px !important;
  display: flex !important;
  flex-direction: column !important;
  background: #FFF !important;
  border: 1px solid #DADAE3 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  transition: none !important;
  margin: 0 auto !important;
}

.stepper-container .card-hipotecon {
  border: 2px solid #F53343 !important;
}

.stepper-container .card-top {
  padding: 0 !important;
  text-align: center !important;
}

.stepper-container .card-plazo {
  width: 100% !important;
  margin: 0 !important;
  padding: 15px 18px 16px !important;
  background: #F8F8FD !important;
  border-bottom: 1px solid #E7E7EE !important;
  color: var(--amh-text) !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.stepper-container .card-hipotecon .card-plazo {
  background: var(--amh-red) !important;
  color: #FFF !important;
  border-bottom: none !important;
  font-size: 24px !important;
  padding: 20px 18px 18px !important;
  letter-spacing: -.02em !important;
}

.stepper-container .card-pill {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: -3px auto 14px !important;
  padding: 8px 16px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  background: #F0F1F2 !important;
  color: var(--amh-text) !important;
}

.stepper-container .card-pill--destacado {
  background: var(--amh-primary) !important;
  color: #FFF !important;
}

.stepper-container .card-hipotecon .card-pill {
  background: var(--amh-red) !important;
  color: #FFF !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  transform: translateY(-9px) !important;
  position: relative !important;
  z-index: 2 !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 7px 18px !important;
}

.stepper-container .card-logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 0 10px !important;
}

.stepper-container .card-logo img {
  display: block !important;
  max-width: 118px !important;
  max-height: 28px !important;
  object-fit: contain !important;
}

.stepper-container .card-subtitle {
  margin: 10px 0 3px !important;
  color: var(--amh-text) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.stepper-container .card-subnote {
  margin: 0 0 16px !important;
  color: var(--amh-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.stepper-container .card-hipotecon .card-subnote {
  color: var(--amh-red) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: .03em !important;
}

.stepper-container .card-price {
  margin: 0 !important;
  text-align: center !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: var(--amh-text) !important;
}

.stepper-container .card-price-sub {
  margin: 7px 0 0 !important;
  text-align: center !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  color: var(--amh-purple) !important;
}

.stepper-container .card-hipotecon .card-price-sub {
  color: var(--amh-red) !important;
}

.stepper-container .grid-solo-principal .card-tradicional .card-price,
.stepper-container .grid-solo-principal .card-tradicional .card-price-sub {
  color: var(--amh-purple) !important;
}

.stepper-container .grid-con-secundaria .card-tradicional .card-price,
.stepper-container .grid-con-secundaria .card-tradicional .card-price-sub {
  color: var(--amh-text) !important;
}

.stepper-container .card-body {
  padding: 20px 26px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  background: #FFF !important;
}

.stepper-container .card-divider {
  width: 100% !important;
  margin: 0 0 16px !important;
  border: none !important;
  border-top: 1px solid #E8E8EF !important;
}

.stepper-container .card-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 10px 0 11px !important;
  border-bottom: 1px solid #ECECF2 !important;
}

.stepper-container .card-row:last-child {
  border-bottom: none !important;
}

.stepper-container .card-label {
  flex: 1 1 auto !important;
  color: var(--amh-text) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.stepper-container .card-value {
  flex: 0 0 auto !important;
  color: var(--amh-text) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: right !important;
}

.stepper-container .card-footer {
  margin-top: auto !important;
  padding: 22px 14px 26px !important;
}

.stepper-container .card-footer .btn-select,
.stepper-container .card-footer .btn-stepper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 200px !important;
  height: 45px !important;
  min-height: 45px !important;
  margin: 0 auto !important;
  border: none !important;
  border-radius: 999px !important;
  background: #C9002B !important;
  color: #FFF !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* Toggle moneda */
.stepper-container .toggle-moneda {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  margin: 14px auto 22px !important;
  padding: 0 !important;
}

.stepper-container .toggle-moneda__label {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 28px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #1F2937 !important;
  line-height: 1 !important;
  user-select: none !important;
}

.stepper-container .toggle-moneda.is-pesos .toggle-moneda__label.right,
.stepper-container .toggle-moneda.is-uf .toggle-moneda__label.left {
  opacity: .4 !important;
}

.stepper-container .switch-moneda {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  width: 56px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.stepper-container .switch-moneda input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 3 !important;
}

.stepper-container .switch-moneda__slider {
  position: absolute !important;
  inset: 0 !important;
  background: #FFF !important;
  border: 2px solid #D1D5DB !important;
  border-radius: 999px !important;
}

.stepper-container .switch-moneda__slider::before {
  content: "" !important;
  position: absolute !important;
  width: 20px !important;
  height: 20px !important;
  left: 3px !important;
  top: 2px !important;
  border-radius: 50% !important;
  background: var(--amh-primary) !important;
  transition: transform .3s ease !important;
}

.stepper-container .toggle-moneda.is-pesos .switch-moneda__slider::before {
  transform: translateX(0) !important;
}

.stepper-container .toggle-moneda.is-uf .switch-moneda__slider::before {
  transform: translateX(26px) !important;
}

.stepper-container #step-3-content .div-uf,
.stepper-container #step-3-content .div-pesos-sub {
  display: none !important;
}

.stepper-container #step-3-content .div-pesos,
.stepper-container #step-3-content .div-uf-sub {
  display: block !important;
}

.stepper-container #step-3-content.mostrar-uf .div-pesos,
.stepper-container #step-3-content.mostrar-uf .div-uf-sub {
  display: none !important;
}

.stepper-container #step-3-content.mostrar-uf .div-uf,
.stepper-container #step-3-content.mostrar-uf .div-pesos-sub {
  display: block !important;
}

.stepper-container .swiper-pagination,
.stepper-container .paginacion-uno,
.stepper-container .paginacion-dos,
.stepper-container #carruselp1,
.stepper-container #carruselp2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin-top: 14px !important;
  position: static !important;
}

.stepper-container .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #E7A0A0 !important;
  opacity: 1 !important;
}

.stepper-container .swiper-pagination-bullet-active {
  width: 22px !important;
  background: #D95C5C !important;
}

.stepper-container .resultado-texto-final,
.stepper-container .step-3-bottom-info,
.stepper-container .resultado-notas-info {
  text-align: center !important;
  max-width: 680px !important;
  margin: 24px auto 0 !important;
  padding: 0 16px !important;
}

.stepper-container .resultado-notas-info {
  margin-top: 32px !important;
  padding: 20px 24px !important;
}

.stepper-container .step-3-bottom-info .tilt2 {
  font-weight: 700 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  color: var(--amh-primary) !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
  text-align: center !important;
}

.stepper-container .step-3-bottom-info #msj_simulacion,
.stepper-container .step-3-bottom-info .subtilt2,
.stepper-container .step-3-resimular-texto,
.stepper-container .resultado-texto-final__principal {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--amh-text) !important;
  margin: 0 0 16px !important;
  text-align: center !important;
}

.stepper-container .resultado-texto-final__notas p,
.stepper-container .resultado-notas-info .subtitulop1,
.stepper-container .resultado-notas-info .subtitulop2 {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: var(--amh-muted) !important;
  margin: 4px 0 !important;
}

/* AcordeÃƒÆ’Ã‚Â³n */
.stepper-container .resultado-acordeon,
.stepper-container .accordion.resultado-acordeon {
  width: 100% !important;
  max-width: 746px !important;
  margin: 28px auto 26px !important;
  padding: 0 !important;
}

.stepper-container .resultado-acordeon .accordion-item {
  border: 1px solid rgba(120, 133, 139, .5) !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  background: #FFF !important;
}

.stepper-container .resultado-acordeon .accordion-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  color: var(--amh-text) !important;
  cursor: pointer !important;
  position: relative !important;
  background: #FFF !important;
}

.stepper-container .resultado-acordeon .accordion-header::after {
  content: '' !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 2px solid var(--amh-primary) !important;
  border-bottom: 2px solid var(--amh-primary) !important;
  transform: translateY(-50%) rotate(45deg) !important;
  transition: transform .25s ease !important;
}

.stepper-container .resultado-acordeon .accordion-header.active::after {
  transform: translateY(-25%) rotate(-135deg) !important;
}

.stepper-container .resultado-acordeon .accordion-content {
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 18px !important;
  background: #FFF !important;
  transition: max-height .3s ease, padding .3s ease !important;
}

.stepper-container .resultado-acordeon .accordion-content.open {
  max-height: 500px !important;
  padding: 12px 18px 18px !important;
}

.stepper-container .resultado-acordeon .accordion-content p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #64748B !important;
}

/* =========================================================
   15. PASO 4
   ========================================================= */
.stepper-container .step4-warning-copy {
  max-width: 680px !important;
  margin: -38px auto 2px !important;
  color: var(--amh-red) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.stepper-container .step4-evaluacion-copy {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: -4px auto 24px !important;
  padding-top: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.stepper-container .step4-evaluacion-copy__title {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto 4px !important;
  text-align: center !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.stepper-container .step4-evaluacion-copy__text {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  color: var(--amh-text) !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* =========================================================
   16. PASO 5 UPLOAD
   ========================================================= */
.stepper-container #wrapper-step-5 .step-5-container {
  width: 100% !important;
  max-width: var(--amh-docs) !important;
  margin: 0 auto !important;
  padding: 0 16px 40px !important;
}

.stepper-container #wrapper-step-5 .step-upload-intro {
  margin-bottom: 18px !important;
  text-align: center !important;
}

.stepper-container #wrapper-step-5 .step5-intro {
  max-width: 560px !important;
  margin: 8px auto 10px !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  color: var(--amh-text) !important;
  text-align: center !important;
}

.stepper-container #wrapper-step-5 .subtextp2 {
  max-width: 620px !important;
  margin: 0 auto 18px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #5F6773 !important;
  text-align: center !important;
}

.stepper-container #wrapper-step-5 .upload-party {
  margin: 0 0 28px !important;
  padding: 0 !important;
}

.stepper-container .persona-docs-header,
.stepper-container #wrapper-step-5 .persona-docs-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 14px 18px !important;
  background: #F5F3FA !important;
  border: 0 !important;
  border-radius: 16px !important;
  color: var(--amh-primary) !important;
  text-align: center !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.stepper-container #wrapper-step-5 .step-upload-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.stepper-container #wrapper-step-5 .step-upload-list>div {
  width: 100% !important;
}

.stepper-container #wrapper-step-5 .nombdoc {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--amh-text) !important;
}

.stepper-container #wrapper-step-5 .bloque-carga {
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 1px solid #E2E5EA !important;
  border-radius: 16px !important;
  background: #FFF !important;
  overflow: hidden !important;
}

.stepper-container #wrapper-step-5 .dropzone {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 140px !important;
  margin: 0 !important;
  padding: 18px 20px 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #FFF !important;
  text-align: center !important;
  cursor: pointer !important;
}

.stepper-container #wrapper-step-5 .dropzone:hover {
  background: #FAFAFA !important;
}

.stepper-container #wrapper-step-5 .dropzone-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 10px !important;
}

.stepper-container #wrapper-step-5 .dropzone-icon svg {
  width: 52px !important;
  height: 52px !important;
}

.stepper-container #wrapper-step-5 .dropzone-info {
  margin: 0 0 4px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: var(--amh-text) !important;
  text-align: center !important;
}

.stepper-container #wrapper-step-5 .dropzone-formatos {
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  color: #B3B7BF !important;
  text-align: center !important;
}

.stepper-container #wrapper-step-5 .dropzone input[type="file"] {
  display: none !important;
}

.stepper-container #wrapper-step-5 [id^="preview-"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #FFF !important;
}

.stepper-container #wrapper-step-5 .preview {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #D8DBE1 !important;
  border-radius: 12px !important;
  background: #FFF !important;
}

.stepper-container #wrapper-step-5 .preview .icono-estado {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.stepper-container #wrapper-step-5 .preview .espaciocol {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.stepper-container #wrapper-step-5 .preview .nombarch {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--amh-text) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.stepper-container #wrapper-step-5 .preview .progress-bar {
  width: 100% !important;
  height: 7px !important;
  margin: 0 0 6px !important;
  border-radius: 999px !important;
  background: #EBECEF !important;
  overflow: hidden !important;
}

.stepper-container #wrapper-step-5 .preview .progress-fill {
  height: 100% !important;
  width: 0;
  border-radius: 999px !important;
  background: var(--amh-success) !important;
  transition: width .2s linear !important;
}

.stepper-container #wrapper-step-5 .preview .status {
  display: block !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.stepper-container #wrapper-step-5 .preview .status.success {
  color: var(--amh-text) !important;
}

.stepper-container #wrapper-step-5 .preview .status.error {
  color: var(--amh-error) !important;
}

.stepper-container #wrapper-step-5 .preview .status.uploading {
  color: #7A6F8F !important;
}

.stepper-container #wrapper-step-5 .preview .acciones {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 4px !important;
  cursor: pointer !important;
}

.stepper-container #wrapper-step-5 .textfin {
  max-width: 720px !important;
  margin: 22px auto 18px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--amh-text) !important;
  text-align: left !important;
}

.stepper-container #wrapper-step-5 .cf7-submit-block,
.stepper-container #wrapper-step-5 .cf7-submit-block--final {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

.stepper-container #wrapper-step-5 .cf7-simple-turnstile,
.stepper-container #wrapper-step-5 .turnstile-container {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   17. MODALES
   ========================================================= */
.stepper-container .modal-custom {
  position: fixed !important;
  inset: 0 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: rgba(15, 23, 42, .48) !important;
  z-index: 9999 !important;
}

.stepper-container .modal-box {
  width: min(100%, 390px) !important;
  padding: 35px 24px !important;
  border-radius: 18px !important;
  background: #FFF !important;
  text-align: center !important;
}

.stepper-container .modal-box h2 {
  margin: 0 0 10px !important;
  color: #13294B !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}

.stepper-container .modal-box p {
  color: var(--amh-muted) !important;
  line-height: 1.6 !important;
}

/* =========================================================
   18. HELPERS ESPECIFICOS
   ========================================================= */
.persona-highlight-box {
  background: #F8F8FD !important;
  padding: 12px 16px !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: var(--amh-primary) !important;
  margin: 16px 0 !important;
  border-radius: 16px !important;
  text-align: center !important;
}

.card-informativa-plazo {
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto 24px !important;
  background: #FFF !important;
  border: 1px solid #DADAE3 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.card-informativa-plazo__header {
  width: 100% !important;
  background: #F8F8FD !important;
  border-bottom: 1px solid #E7E7EE !important;
  padding: 14px 16px !important;
  text-align: center !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: var(--amh-text) !important;
}

.card-informativa-plazo__body {
  padding: 18px 20px 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 108px !important;
}

.card-informativa-plazo__text {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: var(--amh-text) !important;
}

#informacionc2 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--amh-text) !important;
  box-sizing: border-box !important;
}

/* =========================================================
   19. RESPONSIVE
   ========================================================= */
@media (min-width:756px) {
  .stepper-container .resultados-simulacion-grid.grid-solo-principal {
    display: block !important;
    max-width: 996px !important;
    width: 100% !important;
    margin: 24px auto 0 !important;
  }

  .stepper-container .resultados-simulacion-grid.grid-solo-principal .resultado-columna {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  .stepper-container #carrusel1.swiper-desktop-off {
    width: 100% !important;
    max-width: 1040px !important;
    overflow: visible !important;
    margin: 0 auto !important;
  }

  .stepper-container #carrusel1.swiper-desktop-off .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    transform: none !important;
  }

  .stepper-container #carrusel1.swiper-desktop-off .swiper-slide {
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
    flex: 0 0 320px !important;
    margin: 0 !important;
  }

  .stepper-container .resultados-simulacion-grid.grid-con-secundaria {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 12px !important;
    max-width: 664px !important;
    margin: 24px auto 0 !important;
  }

  .stepper-container .resultados-simulacion-grid.grid-con-secundaria .resultado-columna {
    flex: 0 0 320px !important;
    max-width: 320px !important;
    width: 320px !important;
  }

  .stepper-container #carrusel2.swiper-desktop-off {
    width: 100% !important;
    max-width: 320px !important;
    overflow: visible !important;
    margin: 0 auto !important;
  }

  .stepper-container #carrusel2.swiper-desktop-off .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 12px !important;
    transform: none !important;
    width: 100% !important;
  }

  .stepper-container #carrusel2.swiper-desktop-off .swiper-slide {
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
    flex: 0 0 320px !important;
    margin: 0 !important;
  }

  .stepper-container #carrusel1.swiper-desktop-off~.paginacion-uno,
  .stepper-container #carrusel2.swiper-desktop-off~.paginacion-dos {
    display: none !important;
  }
}

@media (max-width:1024px) {
  .stepper-container .step4-warning-copy {
    margin: -38px 0 2px !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width:767px) {
  :root {
    --amh-block-gap: 14px;
    --amh-grid-col-gap: 0;
  }

  .stepper-container {
    width: calc(100% - 18px) !important;
    padding-bottom: 16px !important;
  }

  .stepper-container .step-form-grid,
  .stepper-container .grid-2 {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 14px !important;
    column-gap: 0 !important;
  }

  .stepper-container .stepper-header.stepper-header-lineal {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 0 4px 18px !important;
    margin: 0 auto 18px !important;
    min-height: 88px !important;
  }

  .stepper-container .step-circle-wrap {
    margin-bottom: 8px !important;
  }

  .stepper-container .step-number {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    font-size: 12px !important;
  }

  .stepper-container .step-label {
    max-width: 62px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    word-break: break-word !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .stepper-container .stepper-progress-line,
  .stepper-container .stepper-progress-fill {
    top: 14px !important;
    left: 20px !important;
    right: 20px !important;
    height: 3px !important;
  }

  .stepper-container.step-1 .stepper-progress-fill {
    width: 0 !important;
  }

  .stepper-container.step-2 .stepper-progress-fill {
    width: calc(25% - 10px) !important;
  }

  .stepper-container.step-3 .stepper-progress-fill {
    width: calc(50% - 7px) !important;
  }

  .stepper-container.step-4 .stepper-progress-fill {
    width: calc(75% - 3px) !important;
  }

  .stepper-container.step-5 .stepper-progress-fill {
    width: calc(100% - 40px) !important;
  }

  .stepper-container .stepper-actions {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .stepper-container .stepper-actions .btn-stepper,
  .stepper-container #nextBtn,
  .stepper-container #prevBtn,
  .stepper-container .btn-stepper,
  .stepper-container .btn-modal,
  .stepper-container #enviarform,
  .stepper-container #btnEnviar,
  .stepper-container #btn-continuar-codeudor,
  .stepper-container button,
  .stepper-container input[type="submit"],
  .stepper-container input[type="button"],
  .stepper-container .wpcf7-submit,
  .stepper-container .btn-select,
  .stepper-container .boton-interes,
  .stepper-container .boton-interes2 {
    width: 100% !important;
    max-width: 320px !important;
    min-width: 0 !important;
  }

  .stepper-container .resultados-simulacion-grid,
  .stepper-container .resultados-simulacion-grid.grid-solo-principal,
  .stepper-container .resultados-simulacion-grid.grid-con-secundaria {
    flex-direction: column !important;
    align-items: center !important;
    max-width: 320px !important;
    gap: 18px !important;
    margin: 18px auto 0 !important;
  }

  .stepper-container .resultado-columna {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  .stepper-container #carrusel1,
  .stepper-container #carrusel2,
  .stepper-container .swiper-uno,
  .stepper-container .swiper-dos {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }

  .stepper-container #carrusel1 .swiper-wrapper,
  .stepper-container #carrusel2 .swiper-wrapper,
  .stepper-container .swiper-uno .swiper-wrapper,
  .stepper-container .swiper-dos .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  .stepper-container #carrusel1 .swiper-slide,
  .stepper-container #carrusel2 .swiper-slide,
  .stepper-container .swiper-uno .swiper-slide,
  .stepper-container .swiper-dos .swiper-slide {
    width: 100% !important;
    max-width: 320px !important;
    min-width: 320px !important;
    flex: 0 0 100% !important;
  }

  .stepper-container .sim-card,
  .stepper-container .card-tradicional,
  .stepper-container .card-hipotecon {
    max-width: 320px !important;
    min-height: 620px !important;
  }

  .stepper-container #wrapper-step-5 .step-5-container {
    max-width: 100% !important;
    padding: 0 14px 34px !important;
  }

  .stepper-container #wrapper-step-5 .step5-intro {
    font-size: 16px !important;
  }

  .stepper-container #wrapper-step-5 .step-section-title {
    font-size: 26px !important;
    line-height: 1.08 !important;
    margin-bottom: 16px !important;
  }

  .stepper-container #wrapper-step-5 .dropzone {
    min-height: 150px !important;
    padding: 20px 14px !important;
  }

  .stepper-container #wrapper-step-5 .textfin {
    max-width: 100% !important;
    margin: 24px auto 20px !important;
    padding: 0 2px !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  .stepper-container #tipo_trabajo,
  .stepper-container #tipo_trabajoc {
    max-width: 100% !important;
    gap: 14px !important;
  }

  .stepper-container #tipo_trabajo .wpcf7-list-item>label,
  .stepper-container #tipo_trabajoc .wpcf7-list-item>label {
    padding-left: 48px !important;
  }

  .stepper-container #tipo_trabajo .wpcf7-list-item-label,
  .stepper-container #tipo_trabajoc .wpcf7-list-item-label {
    font-size: 15px !important;
    line-height: 1.15 !important;
    padding-top: 1px !important;
  }

  .stepper-container #tipo_trabajo .wpcf7-list-item-label::before,
  .stepper-container #tipo_trabajoc .wpcf7-list-item-label::before {
    left: -48px !important;
    width: 28px !important;
    height: 28px !important;
  }

  .stepper-container #tipo_trabajo input[type="checkbox"]:checked+.wpcf7-list-item-label::after,
  .stepper-container #tipo_trabajoc input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
    left: -39px !important;
    top: 8px !important;
    width: 13px !important;
    height: 7px !important;
  }
}

@media (max-width:420px) {

  .stepper-container .stepper-header,
  .stepper-container .stepper-header.stepper-header-lineal {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 2px !important;
    padding: 0 4px !important;
  }

  .stepper-container .step-label {
    max-width: 60px !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    word-break: break-word !important;
  }
}

/* =========================================================
   20. AJUSTES FINALES v7
   - Tooltip monto del pie solo al hover
   - Ocultar navegaciÃƒÆ’Ã‚Â³n vieja en paso 3
   - Separar tÃƒÆ’Ã‚Â­tulo Tipo de trabajador
   - Paso 5: Continuar + Volver a resultados mÃƒÆ’Ã‚Â¡s juntos
   ========================================================= */

/* ---------------------------------------------------------
   MONTO DEL PIE: tooltip oculto por defecto
   --------------------------------------------------------- */
.stepper-container #texto-montoc,
.stepper-container .combo-montoc .label-montoc,
.stepper-container .combo-montoc .label-con-tooltip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  position: relative !important;
  width: auto !important;
}

/* ÃƒÆ’Ã‚Âcono tooltip */
.stepper-container #texto-montoc .tooltip-custom,
.stepper-container .combo-montoc .tooltip-custom {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-left: 2px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

.stepper-container #texto-montoc .tooltip-custom i,
.stepper-container #texto-montoc .tooltip-custom svg,
.stepper-container .combo-montoc .tooltip-custom i,
.stepper-container .combo-montoc .tooltip-custom svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

/* Texto tooltip oculto: soporta varias clases posibles */
.stepper-container #texto-montoc .tooltip-custom .tooltip-text,
.stepper-container #texto-montoc .tooltip-custom .tooltip-content,
.stepper-container #texto-montoc .tooltip-custom .tooltip-message,
.stepper-container #texto-montoc .tooltip-custom span:not(:first-child),
.stepper-container .combo-montoc .tooltip-custom .tooltip-text,
.stepper-container .combo-montoc .tooltip-custom .tooltip-content,
.stepper-container .combo-montoc .tooltip-custom .tooltip-message,
.stepper-container .combo-montoc .tooltip-custom span:not(:first-child) {
  position: absolute !important;
  left: 26px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  min-width: 280px !important;
  max-width: 340px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  border: 1px solid #D9D9DD !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12) !important;
  color: #4B4F54 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 50 !important;
}

/* Mostrar tooltip en hover/focus */
.stepper-container #texto-montoc .tooltip-custom:hover .tooltip-text,
.stepper-container #texto-montoc .tooltip-custom:hover .tooltip-content,
.stepper-container #texto-montoc .tooltip-custom:hover .tooltip-message,
.stepper-container #texto-montoc .tooltip-custom:hover span:not(:first-child),
.stepper-container #texto-montoc .tooltip-custom:focus-within .tooltip-text,
.stepper-container #texto-montoc .tooltip-custom:focus-within .tooltip-content,
.stepper-container #texto-montoc .tooltip-custom:focus-within .tooltip-message,
.stepper-container #texto-montoc .tooltip-custom:focus-within span:not(:first-child),
.stepper-container .combo-montoc .tooltip-custom:hover .tooltip-text,
.stepper-container .combo-montoc .tooltip-custom:hover .tooltip-content,
.stepper-container .combo-montoc .tooltip-custom:hover .tooltip-message,
.stepper-container .combo-montoc .tooltip-custom:hover span:not(:first-child),
.stepper-container .combo-montoc .tooltip-custom:focus-within .tooltip-text,
.stepper-container .combo-montoc .tooltip-custom:focus-within .tooltip-content,
.stepper-container .combo-montoc .tooltip-custom:focus-within .tooltip-message,
.stepper-container .combo-montoc .tooltip-custom:focus-within span:not(:first-child) {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Si el texto quedÃƒÆ’Ã‚Â³ fuera del tooltip-custom pero dentro del label, lo ocultamos.
   IMPORTANTE: el texto visible "Monto del pie" debe estar en .label-montoc-texto si existe. */
.stepper-container .combo-montoc .label-montoc>.texto-ayuda-monto,
.stepper-container #texto-montoc>.texto-ayuda-monto {
  display: none !important;
}

/* Mobile: tooltip hacia abajo */
@media (max-width:767px) {

  .stepper-container #texto-montoc .tooltip-custom .tooltip-text,
  .stepper-container #texto-montoc .tooltip-custom .tooltip-content,
  .stepper-container #texto-montoc .tooltip-custom .tooltip-message,
  .stepper-container #texto-montoc .tooltip-custom span:not(:first-child),
  .stepper-container .combo-montoc .tooltip-custom .tooltip-text,
  .stepper-container .combo-montoc .tooltip-custom .tooltip-content,
  .stepper-container .combo-montoc .tooltip-custom .tooltip-message,
  .stepper-container .combo-montoc .tooltip-custom span:not(:first-child) {
    left: 0 !important;
    top: calc(100% + 8px) !important;
    transform: none !important;
    min-width: 220px !important;
    max-width: 280px !important;
  }
}

/* ---------------------------------------------------------
   PASO 3: ocultar botones de navegaciÃƒÆ’Ã‚Â³n que no van en resultados
   --------------------------------------------------------- */
.stepper-container.step-3 .stepper-actions,
.stepper-container #wrapper-step-3 .stepper-actions,
.stepper-container.step-3 #prevBtn,
.stepper-container.step-3 #nextBtn {
  display: none !important;
}

/* ---------------------------------------------------------
   TIPO DE TRABAJADOR: separar un poco tÃƒÆ’Ã‚Â­tulo de opciones
   --------------------------------------------------------- */
.stepper-container .divisiones:has(#tipo_trabajo)>label,
.stepper-container .divisiones:has(#tipo_trabajoc)>label,
.stepper-container .full-span:has(#tipo_trabajo)>label,
.stepper-container .full-span:has(#tipo_trabajoc)>label {
  margin-bottom: 12px !important;
}

.stepper-container #tipo_trabajo,
.stepper-container #tipo_trabajoc {
  gap: 14px !important;
}

/* ---------------------------------------------------------
   PASO 5: Continuar y Volver a resultados mÃƒÆ’Ã‚Â¡s juntos
   --------------------------------------------------------- */
.stepper-container.step-5 .cf7-submit-block,
.stepper-container.step-5 .cf7-submit-block--final,
.stepper-container #wrapper-step-5 .cf7-submit-block,
.stepper-container #wrapper-step-5 .cf7-submit-block--final {
  gap: 8px !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}

.stepper-container.step-5 .stepper-bottom-link,
.stepper-container #wrapper-step-5 .stepper-bottom-link {
  margin-top: 6px !important;
  display: flex !important;
  justify-content: center !important;
}

.stepper-container.step-5 .link-volver-resultados,
.stepper-container #wrapper-step-5 .link-volver-resultados {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

/* ocultar anterior viejo en paso 5 */
.stepper-container.step-5 .stepper-actions #prevBtn,
.stepper-container.step-5 .stepper-actions .btn-prev {
  display: none !important;
}

/* =========================================================
   21. PASO 5 - OCULTAR BOTÃƒÆ’Ã¢â‚¬Å“N CONTINUAR DEL STEPPER v8
   En paso 5 debe quedar:
   - GENERAR SOLICITUD
   - Volver a resultados
   ========================================================= */

/* Oculta el botÃƒÆ’Ã‚Â³n Continuar / Siguiente solo en paso 5 */
.stepper-container.step-5 #nextBtn,
.stepper-container.step-5 .stepper-actions #nextBtn,
.stepper-container.step-5 .stepper-actions .btn-next,
.stepper-container.step-5 button#nextBtn,
.stepper-container.step-5 input#nextBtn,
.stepper-container.step-5 .stepper-actions .btn-stepper:not(.btn-prev) {
  display: none !important;
}

/* Oculta toda la navegaciÃƒÆ’Ã‚Â³n vieja del stepper dentro del paso 5 */
.stepper-container.step-5 .stepper-actions,
.stepper-container #wrapper-step-5 .stepper-actions {
  display: none !important;
}

/* Por si el botÃƒÆ’Ã‚Â³n viene dentro del wrapper del paso 5 */
.stepper-container #wrapper-step-5 #nextBtn,
.stepper-container #wrapper-step-5 .btn-next,
.stepper-container #wrapper-step-5 button#nextBtn,
.stepper-container #wrapper-step-5 input#nextBtn {
  display: none !important;
}

/* Mantener el botÃƒÆ’Ã‚Â³n real de envÃƒÆ’Ã‚Â­o visible */
.stepper-container.step-5 #enviarform,
.stepper-container.step-5 #btnEnviar,
.stepper-container.step-5 input[type="submit"],
.stepper-container.step-5 .wpcf7-submit,
.stepper-container #wrapper-step-5 #enviarform,
.stepper-container #wrapper-step-5 #btnEnviar,
.stepper-container #wrapper-step-5 input[type="submit"],
.stepper-container #wrapper-step-5 .wpcf7-submit {
  display: inline-flex !important;
  margin: 16px !important;
}

/* Mantener Volver a resultados cerca de Generar solicitud */
.stepper-container.step-5 .stepper-bottom-link,
.stepper-container #wrapper-step-5 .stepper-bottom-link {
  margin-top: 8px !important;
  display: flex !important;
  justify-content: center !important;
}

.stepper-container.step-5 .link-volver-resultados,
.stepper-container #wrapper-step-5 .link-volver-resultados {
  margin: -104px !important;
  padding: 0 !important;
}

/* =========================================================
   22. AVISO FIJO PLAZO / NO FINANCIAMOS v9
   - Separa error de validaciÃƒÆ’Ã‚Â³n del aviso fijo
   - Deja el aviso centrado y con aire
   - Ajusta comentarios adicionales
   ========================================================= */

/* Mensaje de error bajo el select */
.stepper-container #msg-plazo,
.stepper-container .msg-plazo,
.stepper-container .plazo-error,
.stepper-container .field-error-msg {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
  color: #FF0000 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* Aviso fijo: No financiamos terrenos ni locales comerciales */
.stepper-container #mensaje-no-financia,
.stepper-container .mensaje-no-financia,
.stepper-container .no-financia,
.stepper-container .texto-no-financia,
.stepper-container #no-financia-terrenos,
.stepper-container .no-financia-terrenos {
  display: block !important;
  width: 100% !important;
  margin: 16px 0 26px 0 !important;
  padding: 0 !important;
  color: #EB3C46 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  position: relative !important;
  clear: both !important;
}

/* Si el aviso estÃƒÆ’Ã‚Â¡ dentro del mismo bloque del plazo, igual debe bajar */
.stepper-container .combo-plazo .mensaje-no-financia,
.stepper-container .combo-plazo .no-financia,
.stepper-container .combo-plazo .texto-no-financia,
.stepper-container .combo-plazo .no-financia-terrenos,
.stepper-container .divisiones .mensaje-no-financia,
.stepper-container .divisiones .no-financia,
.stepper-container .divisiones .texto-no-financia,
.stepper-container .divisiones .no-financia-terrenos {
  margin-top: 16px !important;
  margin-bottom: 26px !important;
}

/* Texto autorizaciÃƒÆ’Ã‚Â³n / aceptaciÃƒÆ’Ã‚Â³n: separado del aviso */
.stepper-container .texto-autorizacion,
.stepper-container #texto-autorizacion,
.stepper-container .check-container,
.stepper-container .aceptacion-datos,
.stepper-container .autorizacion-datos,
.stepper-container .texto-legal {
  margin-top: 28px !important;
}

/* Comentarios adicionales: label y textarea ordenados */
.stepper-container .divisiones:has(textarea),
.stepper-container .combo-input:has(textarea) {
  margin-top: 0 !important;
}

.stepper-container .divisiones:has(textarea)>label,
.stepper-container .combo-input:has(textarea)>label {
  margin-bottom: 8px !important;
}

.stepper-container textarea {
  margin-top: 0 !important;
  min-height: 120px !important;
  padding-top: 12px !important;
}

/* =========================================================
   23. FIX DEFINITIVO AVISO PLAZO v10
   El aviso "No financiamos terrenos ni locales comerciales."
   debe ser fijo y NO verse como validaciÃƒÆ’Ã‚Â³n.
   Soporta HTML actual:
   <p class="step4-warning-copy" style="color:red;">...</p>
   y HTML recomendado:
   <div class="mensaje-no-financia full-span">...</div>
   ========================================================= */

/* En paso 2, step4-warning-copy se usa como aviso fijo, NO como warning de paso 4 */
.stepper-container #wrapper-step-2 .step4-warning-copy,
.stepper-container #wrapper-step-2 .mensaje-no-financia,
.stepper-container #wrapper-step-2 .no-financia,
.stepper-container #wrapper-step-2 .texto-no-financia,
.stepper-container #wrapper-step-2 .no-financia-terrenos {
  display: block !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 2px 0 20px 0 !important;
  padding: 0 !important;
  color: #EB3C46 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  clear: both !important;
}

/* Evita que el aviso fijo herede mÃƒÆ’Ã‚Â¡rgenes negativos del bloque de paso 4 */
.stepper-container #wrapper-step-2 p.step4-warning-copy {
  margin-top: 2px !important;
  margin-bottom: 20px !important;
}

/* Error real del plazo: solo queda bajo el select, alineado a la izquierda */
.stepper-container #wrapper-step-2 #msg-plazo,
.stepper-container #wrapper-step-2 .msg-plazo,
.stepper-container #wrapper-step-2 .plazo-error,
.stepper-container #wrapper-step-2 .divisiones:has(#plazo) .field-error-msg {
  display: block !important;
  width: 100% !important;
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  color: #FF0000 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* El bloque del plazo no debe arrastrar el aviso al lado del error */
.stepper-container #wrapper-step-2 .divisiones:has(#plazo) {
  margin-bottom: 0 !important;
}

/* Si el select tiene error, el borde rojo sigue siendo solo del campo */
.stepper-container #wrapper-step-2 #plazo.field-invalid,
.stepper-container #wrapper-step-2 #plazo.error-field {
  border-color: #FF0000 !important;
  box-shadow: 0 0 0 1px #FF0000 !important;
}

/* La autorizaciÃƒÆ’Ã‚Â³n debe bajar separada del aviso fijo */
.stepper-container #wrapper-step-2 #informacionc2 {
  margin-top: 8px !important;
}

/* Si cambias el HTML a .mensaje-no-financia full-span, tambiÃƒÆ’Ã‚Â©n queda correcto */
.stepper-container .mensaje-no-financia.full-span {
  grid-column: 1 / -1 !important;
}

/* X del modal arriba a la derecha */
.stepper-container #modal-error .modal-box-error {
  position: relative !important;
}

.stepper-container #modal-error .modal-close-x,
.stepper-container #modal-error button.modal-close-x {
  position: absolute !important;
  top: 10px !important;
  right: 14px !important;
  left: auto !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #777 !important;
  font-family: Arial, sans-serif !important;
  font-size: 30px !important;
  line-height: 20px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  z-index: 999 !important;
}

.stepper-container #modal-error .modal-close-x:hover,
.stepper-container #modal-error button.modal-close-x:hover {
  background: transparent !important;
  border: 0 !important;
  color: #333 !important;
}

.stepper-container #modal-error .modal-close-x:focus,
.stepper-container #modal-error button.modal-close-x:focus {
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.flujo-desde-correo #linkVolverResultados,
body.flujo-desde-correo #btn-volver-resultados,
body.flujo-desde-correo .stepper-bottom-link {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* =====================================================
   PASO 3 - RESULTADO FINAL LIMPIO
   SOLO CSS - BLOQUE ÚNICO
   ===================================================== */

/* Texto: Si alguna alternativa te conviene... */
.stepper-container #wrapper-step-3 p.mensaje-alternativa-info,
html body .stepper-container #wrapper-step-3 p.mensaje-alternativa-info {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0px auto -30px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  font-style: normal !important;
  margin-top: 45px !important;
}

/* Tasa referencial + Valor UF */
.stepper-container #wrapper-step-3 .subtitulop1,
.stepper-container #wrapper-step-3 .subtitulop2,
html body .stepper-container #wrapper-step-3 .subtitulop1,
html body .stepper-container #wrapper-step-3 .subtitulop2 {
  display: block !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 120% !important;
  text-align: center !important;
  margin-bottom: 12px !important;
}

.stepper-container #wrapper-step-3 .subtitulop1 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

.stepper-container #wrapper-step-3 .subtitulop2 {
  margin-top: 0 !important;
  margin-bottom: 36px !important;
}

/* Contenedor información final */
.stepper-container #wrapper-step-3 .resultado-final-info,
html body .stepper-container #wrapper-step-3 .resultado-final-info {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 16px 42px !important;
  box-sizing: border-box !important;
  font-family: "Inter", sans-serif !important;
  color: #4B4F54 !important;
}

/* Orden visual sin tocar HTML */
.stepper-container #wrapper-step-3 .resultado-final-info .resultado-final-bajada__texto {
  order: 1 !important;
}

.stepper-container #wrapper-step-3 .resultado-final-info #btn-volver-simular-interno {
  order: 2 !important;
}

.stepper-container #wrapper-step-3 .resultado-final-info .tilt2 {
  order: 3 !important;
}

.stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion,
.stepper-container #wrapper-step-3 .resultado-final-info>p:not(.resultado-final-bajada__texto),
.stepper-container #wrapper-step-3 .resultado-final-info>ul,
.stepper-container #wrapper-step-3 .resultado-final-info>ol {
  order: 4 !important;
}

/* Texto: Si quieres cambiar algún dato... */
.stepper-container #wrapper-step-3 .resultado-final-info .resultado-final-bajada__texto,
html body .stepper-container #wrapper-step-3 .resultado-final-info .resultado-final-bajada__texto {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;

  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 120% !important;
  text-align: center !important;
}

.stepper-container #wrapper-step-3 button#btn-volver-simular-card,
html body .stepper-container #wrapper-step-3 button#btn-volver-simular-card,
html body .stepper-container #wrapper-step-3 .btn-volver-simular-card#btn-volver-simular-card,
.stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno,
html body .stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno,
html body .stepper-container #wrapper-step-3 .resultado-final-info .boton-interes2#btn-volver-simular-interno {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;

  width: 245px !important;
  min-width: 245px !important;
  max-width: 245px !important;
  height: 46px !important;
  min-height: 46px !important;

  margin: 0 auto 28px !important;
  padding: 0 22px !important;

  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;

  border: 2px solid #C8002D !important;
  border-radius: 999px !important;

  color: #C8002D !important;
  font-family: "Inter", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 100% !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;
  outline: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

.stepper-container #wrapper-step-3 button#btn-volver-simular-card,
html body .stepper-container #wrapper-step-3 button#btn-volver-simular-card,
html body .stepper-container #wrapper-step-3 .btn-volver-simular-card#btn-volver-simular-card,
.stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno:hover,
.stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno:focus,
.stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno:active,
html body .stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno:hover,
html body .stepper-container #wrapper-step-3 .resultado-final-info .boton-interes2#btn-volver-simular-interno:hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border-color: #C8002D !important;
  color: #C8002D !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Título: Información sobre tu simulación */
.stepper-container #wrapper-step-3 .resultado-final-info .tilt2,
.stepper-container #wrapper-step-3 .resultado-final-info h2.tilt2,
html body .stepper-container #wrapper-step-3 .resultado-final-info h2.tilt2 {
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #C8002D !important;
  font-family: "Inter", sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 110% !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-transform: none !important;
}

/* Texto del mensaje */
.stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion,
.stepper-container #wrapper-step-3 .resultado-final-info p#msj_simulacion,
.stepper-container #wrapper-step-3 .resultado-final-info .subtilt2#msj_simulacion,
.stepper-container #wrapper-step-3 .resultado-final-info>p:not(.resultado-final-bajada__texto),
html body .stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 128% !important;
  text-align: left !important;
}

/* Si el mensaje trae br */
.stepper-container #wrapper-step-3 .resultado-final-info br {
  display: block !important;
}

/* Lista de seguros */
.stepper-container #wrapper-step-3 .resultado-final-info>ul,
.stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion ul {
  width: 100% !important;
  max-width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 0 0 0 22px !important;

  list-style: disc outside !important;
  text-align: left !important;
}

.stepper-container #wrapper-step-3 .resultado-final-info>ul li,
.stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion li {
  margin: 0 0 5px !important;
  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 125% !important;
  text-align: left !important;
}

/* Evita centrado heredado */
.stepper-container #wrapper-step-3 .resultado-final-info p,
.stepper-container #wrapper-step-3 .resultado-final-info ul,
.stepper-container #wrapper-step-3 .resultado-final-info li {
  text-align: left !important;
}

.stepper-container #wrapper-step-3 .resultado-final-info .resultado-final-bajada__texto {
  text-align: center !important;
}

/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 755px) {

  .stepper-container #wrapper-step-3 p.mensaje-alternativa-info,
  html body .stepper-container #wrapper-step-3 p.mensaje-alternativa-info {
    max-width: 250px !important;
    margin: 19px auto -35px !important;
    padding: 0 !important;
    color: #4B4F54 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 105% !important;
    text-align: center !important;
  }

  .stepper-container #wrapper-step-3 .subtitulop1,
  .stepper-container #wrapper-step-3 .subtitulop2 {
    color: #4B4F54 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 115% !important;
    text-align: center !important;
  }

  .stepper-container #wrapper-step-3 .subtitulop1 {
    margin: 0 auto 6px !important;
  }

  .stepper-container #wrapper-step-3 .subtitulop2 {
    margin: 0 auto 22px !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info,
  html body .stepper-container #wrapper-step-3 .resultado-final-info {
    max-width: 305px !important;
    margin: 0 auto !important;
    padding: 0 0 34px !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info .resultado-final-bajada__texto,
  html body .stepper-container #wrapper-step-3 .resultado-final-info .resultado-final-bajada__texto {
    max-width: 250px !important;
    margin: 0 auto 12px !important;

    color: #4B4F54 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    text-align: center !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno,
  html body .stepper-container #wrapper-step-3 .resultado-final-info button#btn-volver-simular-interno,
  html body .stepper-container #wrapper-step-3 .resultado-final-info .boton-interes2#btn-volver-simular-interno {
    width: 172px !important;
    min-width: 172px !important;
    max-width: 172px !important;
    height: 34px !important;
    min-height: 34px !important;

    margin: 0 auto 18px !important;
    padding: 0 16px !important;

    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    border: 2px solid #C8002D !important;
    border-radius: 999px !important;

    color: #C8002D !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 100% !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info .tilt2,
  .stepper-container #wrapper-step-3 .resultado-final-info h2.tilt2,
  html body .stepper-container #wrapper-step-3 .resultado-final-info h2.tilt2 {
    margin: 0 0 14px !important;
    color: #C8002D !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 108% !important;
    text-align: left !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion,
  .stepper-container #wrapper-step-3 .resultado-final-info p#msj_simulacion,
  .stepper-container #wrapper-step-3 .resultado-final-info .subtilt2#msj_simulacion,
  .stepper-container #wrapper-step-3 .resultado-final-info>p:not(.resultado-final-bajada__texto) {
    margin: 0 0 10px !important;
    color: #333B48 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 118% !important;
    text-align: left !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info>ul,
  .stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion ul {
    margin: 2px 0 0 !important;
    padding-left: 18px !important;
  }

  .stepper-container #wrapper-step-3 .resultado-final-info>ul li,
  .stepper-container #wrapper-step-3 .resultado-final-info #msj_simulacion li {
    margin: 0 0 2px !important;
    font-size: 12px !important;
    line-height: 115% !important;
  }
}

/* Texto: Si quieres cambiar algún dato del crédito... */
.stepper-container #wrapper-step-3 p.subtilt2.resultado-final-bajada__texto,
html body .stepper-container #wrapper-step-3 p.subtilt2.resultado-final-bajada__texto {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: -9px auto 16px !important;
  padding: 0 !important;
  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 120% !important;
  text-align: center !important;
}

/* Mobile */
@media (max-width: 755px) {

  .stepper-container #wrapper-step-3 p.subtilt2.resultado-final-bajada__texto,
  html body .stepper-container #wrapper-step-3 p.subtilt2.resultado-final-bajada__texto {
    max-width: 250px !important;
    margin: 0 auto 12px !important;

    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    text-align: center !important;
  }
}

/* =====================================================
   BOTÓN VOLVER A SIMULAR - ID ÚNICO
   ===================================================== */

button#btn-volver-simular-interno {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 189px !important;
  height: 34px !important;
  min-height: 37px !important;
  margin: 0 auto 18px !important;
  padding: 0 18px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 2px solid #c8002d !important;
  border-radius: 999px !important;
  color: #c8002d !important;
  font-family: "Inter", "Segoe UI", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 1 !important;
}

button#btn-volver-simular-interno:hover,
button#btn-volver-simular-interno:focus,
button#btn-volver-simular-interno:active {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: #c8002d !important;
  color: #c8002d !important;
  box-shadow: none !important;
  outline: none !important;
}

/* =====================================================
   FIX FINAL DESKTOP: DIVIDENDO CON BENEFICIOS + SWITCH AL LADO
   ===================================================== */

/* Línea del texto */
html body .stepper-container #wrapper-step-3 .texto-bot {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;

  margin: 0 auto 26px !important;
  padding: 0 !important;

  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 120% !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* Número 2 superior */
html body .stepper-container #wrapper-step-3 .texto-bot sup {
  position: relative !important;
  top: -0.35em !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* Switch: lo subimos y lo movemos al lado derecho del texto */
html body .stepper-container #wrapper-step-3 label.switch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  vertical-align: middle !important;

  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;

  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;

  margin: 0 !important;
  padding: 0 !important;

  top: -26px !important;
  left: 12px !important;

  border: 1px solid #D9D9DD !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;

  box-shadow: none !important;
  cursor: pointer !important;
}

/* Compensa el espacio que quedaba abajo por mover el switch */
html body .stepper-container #wrapper-step-3 label.switch+*,
html body .stepper-container #wrapper-step-3 .resultado-acordeon {
  margin-top: -18px !important;
}

/* Oculta checkbox real */
html body .stepper-container #wrapper-step-3 label.switch input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

/* Fondo switch */
html body .stepper-container #wrapper-step-3 label.switch .slider,
html body .stepper-container #wrapper-step-3 label.switch span {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  border-radius: 999px !important;
  background: #FFFFFF !important;
  border: none !important;
}

/* Bolita */
html body .stepper-container #wrapper-step-3 label.switch .slider::before,
html body .stepper-container #wrapper-step-3 label.switch span::before {
  content: "" !important;
  position: absolute !important;

  width: 18px !important;
  height: 18px !important;

  top: 3px !important;
  left: 4px !important;

  border-radius: 50% !important;
  background: #A277A6 !important;

  transition: transform 0.2s ease !important;
}

/* Activo */
html body .stepper-container #wrapper-step-3 label.switch input:checked+.slider::before,
html body .stepper-container #wrapper-step-3 label.switch input:checked+span::before {
  transform: translateX(20px) !important;
}

/* =====================================================
   FIX DEFINITIVO: DIVIDENDO CON BENEFICIOS + SWITCH AL LADO
   ===================================================== */

/* Texto */
html body .stepper-container #wrapper-step-3 .texto-bot {
  display: block !important;
  width: fit-content !important;
  max-width: none !important;

  margin: 0 auto 0 !important;
  padding: 0 !important;

  color: #4B4F54 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 120% !important;
  text-align: center !important;
}

html body .stepper-container #wrapper-step-3 .texto-bot sup {
  position: relative !important;
  top: -0.35em !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* Switch: subirlo y dejarlo al lado derecho del texto */
html body .stepper-container #wrapper-step-3 label.switch {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;

  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;

  margin: 0 auto 0 !important;
  padding: 0 !important;

  position: relative !important;
  transform: translate(145px, -26px) !important;

  border: 1px solid #D9D9DD !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* Para que el acordeón no quede tan separado por el espacio del switch */
html body .stepper-container #wrapper-step-3 .resultado-acordeon {
  margin-top: -10px !important;
}

/* Ocultar checkbox real */
html body .stepper-container #wrapper-step-3 label.switch input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

/* Fondo del switch */
html body .stepper-container #wrapper-step-3 label.switch .slider,
html body .stepper-container #wrapper-step-3 label.switch span {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  border-radius: 999px !important;
  background: #FFFFFF !important;
  border: none !important;
}

/* Bolita */
html body .stepper-container #wrapper-step-3 label.switch .slider::before,
html body .stepper-container #wrapper-step-3 label.switch span::before {
  content: "" !important;
  position: absolute !important;

  width: 18px !important;
  height: 18px !important;

  top: 3px !important;
  left: 4px !important;

  border-radius: 50% !important;
  background: #A277A6 !important;

  transition: transform 0.2s ease !important;
}

/* Checked */
html body .stepper-container #wrapper-step-3 label.switch input:checked+.slider::before,
html body .stepper-container #wrapper-step-3 label.switch input:checked+span::before {
  transform: translateX(20px) !important;
}

/* bajar switch dividendo */
html body .stepper-container #wrapper-step-3 label.switch {
  transform: translate(145px, 2px) !important;
}

.stepper-container #wrapper-step-4 #tipo_trabajo.tipotrb,
.stepper-container #wrapper-step-4 #tipo_trabajoc.tipotrb {
  margin-top: 10px !important;
  margin-bottom: 22px !important;
  gap: 14px !important;
}

/* Bloque completo de comentarios adicionales */
.stepper-container #wrapper-step-4 .divisiones.full-span:has(#observacion) {
  margin-top: 24px !important;
}

/* Label Comentarios adicionales */
.stepper-container #wrapper-step-4 .divisiones.full-span:has(#observacion)>label {
  margin-bottom: 10px !important;
}

/* Textarea Comentarios adicionales */
.stepper-container #wrapper-step-4 #observacion {
  min-height: 120px !important;
}

.ocultar-info-sin-oferta {
  display: none !important;
}

/* =====================================================
   MOBILE FINAL LIMPIO - PASO 3 CARRUSEL
   Card centrada, separada y sin tanto espacio a la derecha
   ===================================================== */
@media (max-width: 755px) {

  /* Contenedor paso 3 */
  .stepper-container #wrapper-step-3 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Grid */
  .stepper-container #wrapper-step-3 .resultados-simulacion-grid,
  .stepper-container #wrapper-step-3 .resultados-simulacion-grid.grid-solo-principal,
  .stepper-container #wrapper-step-3 .resultados-simulacion-grid.grid-con-secundaria {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    display: block !important;
  }

  /* Columna */
  .stepper-container #wrapper-step-3 .resultado-columna {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Carrusel: corre un poco la card a la derecha */
  .stepper-container #wrapper-step-3 #carrusel1,
  .stepper-container #wrapper-step-3 #carrusel2,
  .stepper-container #wrapper-step-3 .swiper-uno,
  .stepper-container #wrapper-step-3 .swiper-dos {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;

    /* ajusta posición horizontal */
    padding-left: 34px !important;
    padding-right: 0 !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Wrapper interno */
  .stepper-container #wrapper-step-3 #carrusel1 .swiper-wrapper,
  .stepper-container #wrapper-step-3 #carrusel2 .swiper-wrapper,
  .stepper-container #wrapper-step-3 .swiper-uno .swiper-wrapper,
  .stepper-container #wrapper-step-3 .swiper-dos .swiper-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0 !important;
    height: auto !important;
  }

  /* Slide */
  .stepper-container #wrapper-step-3 #carrusel1 .swiper-slide,
  .stepper-container #wrapper-step-3 #carrusel2 .swiper-slide,
  .stepper-container #wrapper-step-3 .swiper-uno .swiper-slide,
  .stepper-container #wrapper-step-3 .swiper-dos .swiper-slide {
    width: calc(100vw - 104px) !important;
    max-width: 320px !important;
    min-width: calc(100vw - 104px) !important;
    flex: 0 0 calc(100vw - 104px) !important;

    /* separación entre cards */
    margin-right: 18px !important;
    margin-left: 0 !important;

    padding: 0 !important;
    height: auto !important;
    align-self: flex-start !important;
    box-sizing: border-box !important;
  }

  /* Card general */
  .stepper-container #wrapper-step-3 .sim-card,
  .stepper-container #wrapper-step-3 .card-tradicional,
  .stepper-container #wrapper-step-3 .card-hipotecon {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Tradicional: menos larga */
  .stepper-container #wrapper-step-3 .card-tradicional {
    min-height: 455px !important;
    border: 1px solid #DADAE3 !important;
  }

  /* Hipotecón sí necesita más alto */
  .stepper-container #wrapper-step-3 .card-hipotecon {
    min-height: 590px !important;
    border: 2px solid #F53343 !important;
  }

  /* Tradicional: no estirar body */
  .stepper-container #wrapper-step-3 .card-tradicional .card-body {
    flex: 0 0 auto !important;
    padding: 20px 26px 0 !important;
  }

  /* Tradicional: botón más cerca */
  .stepper-container #wrapper-step-3 .card-tradicional .card-footer {
    margin-top: 55px !important;
    padding: 0 14px 22px !important;
  }

  /* Hipotecón: conserva distribución */
  .stepper-container #wrapper-step-3 .card-hipotecon .card-body {
    flex: 1 1 auto !important;
    padding: 20px 26px 0 !important;
  }

  .stepper-container #wrapper-step-3 .card-hipotecon .card-footer {
    margin-top: auto !important;
    padding: 18px 14px 24px !important;
  }

  .stepper-container #wrapper-step-3 .card-footer .btn-select,
  .stepper-container #wrapper-step-3 .card-footer .btn-stepper {
    width: 100% !important;
    max-width: 200px !important;
    height: 45px !important;
    min-height: 45px !important;
    margin: 0 auto !important;
  }

  /* Paginación */
  .stepper-container #wrapper-step-3 .swiper-pagination,
  .stepper-container #wrapper-step-3 .paginacion-uno,
  .stepper-container #wrapper-step-3 .paginacion-dos,
  .stepper-container #wrapper-step-3 #carruselp1,
  .stepper-container #wrapper-step-3 #carruselp2 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 14px !important;
    position: static !important;
  }
}
/* =====================================================
   FIX SOLO TERCERA CARD MOBILE - CARRUSEL PASO 3
   ===================================================== */
@media (max-width: 755px) {

  .stepper-container #wrapper-step-3 #carrusel1 .swiper-slide:nth-child(3),
  .stepper-container #wrapper-step-3 .swiper-uno .swiper-slide:nth-child(3) {
    transform: translateX(20px) !important;
  }
}