body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
label {
  font-size: 17px !important;
  font-family: "Open Sans", sans-serif;
}

[type="text"],
[type="password"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="month"],
[type="week"],
[type="email"],
[type="number"],
[type="search"],
[type="tel"],
[type="time"],
[type="url"],
[type="color"],
textarea {
  font-family: "Open Sans", sans-serif;
}

.header-calculadora {
  z-index: 9999999999999;
  text-align: center;
  /* padding: 2rem 1rem 3rem 1rem; */
  background-color: #f2f5f7;
}

.titulo-principal {
  font-family: "Open Sans", sans-serif;
  font-size: 32px !important;
  color: #003865;
  font-weight: bold;
  margin-bottom: 1rem;
}

.subtitulo-principal {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  color: #003865;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

#preloder {
  display: block;
}

#calculos {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.img-carga {
  margin-top: 5rem;
  margin-bottom: 2rem;
  width: 25%;
}

.texto-preloader {
  font-family: "Open Sans", sans-serif;
  padding-top: 2rem;
  font-size: 21px;
  color: #003865;
  text-align: center;
  padding-bottom: 2rem;
}

.left {
  background-color: #f2f5f7;
  padding: 3rem 0rem;
  border-radius: 30px 0px 0px 30px;
}

.left h1 {
  font-size: 30px;
  color: #fff;
  font-weight: bold;
}

.left label {
  font-family: "Open Sans", sans-serif;
  color: #003865;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 8px;
}

.left .label-pregunta {
  display: block;
  margin-top: 1.5rem;
  margin-bottom: 0.8rem;
}

.left .requerido {
  color: #d35031;
}

.left .helper-text {
  display: block;
  color: #888787;
  font-size: 12px;
  margin-top: -11px;
  font-weight: normal;
}

.left select {
  color: #5c5c5c;
  font-family: "Open Sans", sans-serif;
}

.left p {
  font-family: "Open Sans", sans-serif;
  color: #003865;
  font-size: 12px;
}

.left2 {
  margin-top: 3rem;
}

.button {
  background-color: #003865;
  color: #fff;
  border-radius: 8px;
  margin-top: 2rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.button:hover,
.button:focus {
  background-color: #80E0E9 !important;
  color: #003865;
}

/* Botones Toggle */
.botones-toggle {
  display: flex;
  gap: 0;
  margin-bottom: 1rem;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  overflow: hidden;
  padding: 5px 5px;
}

.btn-toggle {
  font-size: 13px;
  flex: 1;
  padding: 20px 20px;
  background-color: transparent;
  border: none;
  color: #003865;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-toggle.active {
  background-color: #b2c3d1;
}

.btn-toggle:hover {
  background-color: #80E0E9;
}

.btn-toggle.active:hover {
  background-color: #b2c3d1;
}

/* Botones de pago - cuadrados y separados */
.botones-pago {
  display: flex;
  gap: 15px;
  margin-bottom: 1rem;
  justify-content: center;
}

.btn-pago {
  flex: 1;
  max-width: 120px;
  padding: 25px 20px;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
  color: #003865;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 100px;
}

.btn-pago.active {
  background-color: #003865;
  color: #fff;
  border-color: #003865;
}

.btn-pago:hover {
  background-color: #80E0E9;
}

.btn-pago.active:hover {
  background-color: #002850;
}

.btn-pago em {
  font-size: 24px !important;
}

.btn-pago span {
  font-size: 16px !important;
}

.form-error {
  background: #d3484800;
  text-align: right;
  color: #d35031;
  width: 100%;

  margin-top: -16px;
  padding-right: 10px;
  text-align: left;
}

.right {
  padding: 3rem;
}

.right h1 {
  color: #fff;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  padding: 2rem 20px;
}

.right p {
  color: #424141;
  font-size: 16px;
}

.right-fondo {
  padding: 2rem;
  background: #ffffff 0% 0% no-repeat padding-box;
  box-shadow: 0px 3px 6px #00000029;
  border-radius: 24px;
  opacity: 1;
}

.right-l p {
  text-align: left;
  margin-bottom: 8px;
  margin-top: 8px;
}

.right-r p {
  text-align: right;
  margin-bottom: 8px;
  margin-top: 8px;
}

.right-white {
  background-color: #fff;
}

.right-total {
  margin-top: 2rem;
}

.right-total p {
  text-align: center;
  color: #003865;
  font-size: 20px;
  font-weight: bold;
}

.right-total input[readonly].r3 {
  background: #2c8b9e !important;
  border-radius: 32px 0px;
  color: #fff !important;
  opacity: 1;
  width: 45%;
  height: 50%;
  margin: 0rem 8rem !important;
  font-size: 25px;
  padding: 15px 5px;
}

[type="text"],
[type="password"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="month"],
[type="week"],
[type="email"],
[type="number"],
[type="search"],
[type="tel"],
[type="time"],
[type="url"],
[type="color"],
textarea,
select {
  border-radius: 6px !important;
  background-color: #fff;
  border: 1px solid #003865;
}

[type="text"]:focus,
[type="password"]:focus,
[type="date"]:focus,
[type="datetime"]:focus,
[type="datetime-local"]:focus,
[type="month"]:focus,
[type="week"]:focus,
[type="email"]:focus,
[type="number"]:focus,
[type="search"]:focus,
[type="tel"]:focus,
[type="time"]:focus,
[type="url"]:focus,
[type="color"]:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border: 2px solid #00c1d4 !important;
  box-shadow: 0 0 0 3px rgba(0, 193, 212, 0.1) !important;
}

input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #f2f5f7;
}

input[readonly].r1 {
  background-color: #fff !important;
  margin: 0px 0px 0px 0px !important;
  text-align: left;
  color: #003865;
  font-size: 16px;
  border: none;
  box-shadow: none;
  padding-left: 0px;
  font-weight: bold;
}

[type="text"]:focus,
[type="password"]:focus,
[type="date"]:focus,
[type="datetime"]:focus,
[type="datetime-local"]:focus,
[type="month"]:focus,
[type="week"]:focus,
[type="email"]:focus,
[type="number"]:focus,
[type="search"]:focus,
[type="tel"]:focus,
[type="time"]:focus,
[type="url"]:focus,
[type="color"]:focus,
textarea:focus.r1 {
  border: none;
  box-shadow: none;
}

input[readonly].r2 {
  background-color: #fff !important;
  margin: 0px 0px 0px 0px !important;
  text-align: left;
  color: #003865;
  font-size: 16px;
  border: none;
  box-shadow: none;
  padding-left: 0px;
  font-weight: bold;
}

[type="text"]:focus,
[type="password"]:focus,
[type="date"]:focus,
[type="datetime"]:focus,
[type="datetime-local"]:focus,
[type="month"]:focus,
[type="week"]:focus,
[type="email"]:focus,
[type="number"]:focus,
[type="search"]:focus,
[type="tel"]:focus,
[type="time"]:focus,
[type="url"]:focus,
[type="color"]:focus,
textarea:focus.r2 {
  border: none;
  box-shadow: none;
}

input[readonly].total {
  background-color: #f2f2f2;
  margin: 0px 0px 0px 0px !important;
  border: none;
  box-shadow: none;
  color: #021c70;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

[type="text"]:focus,
[type="password"]:focus,
[type="date"]:focus,
[type="datetime"]:focus,
[type="datetime-local"]:focus,
[type="month"]:focus,
[type="week"]:focus,
[type="email"]:focus,
[type="number"]:focus,
[type="search"]:focus,
[type="tel"]:focus,
[type="time"]:focus,
[type="url"]:focus,
[type="color"]:focus,
textarea:focus.total {
  border: none;
  box-shadow: none;
}

@media (max-width: 1023px) {
  .left2 {
    margin-top: 1rem;
  }
}

@media (max-width: 639px) {
  .right {
    padding: 0rem;
  }

  .right-total input[readonly].r3 {
    background: #2c8b9e !important;
    border-radius: 32px 0px;
    color: #fff !important;
    opacity: 1;
    width: 80%;
    height: 50%;
    margin: 0rem 6rem !important;
    font-size: 25px;
    padding: 15px 5px;
  }
}

.notaretencion {
  margin-top: 0.3rem;
  padding: 0px 35px;
}

.notaretencion p {
  margin-bottom: 0px;
  font-size: 12px;
  color: #666666;
}

/**NUEVO ESTILO*/
.interno {
  background: #f2f5f7 0% 0% no-repeat padding-box;
  box-shadow: -6px 0px 15px #e8e8e8;
  border-radius: 30px;
  opacity: 1;
}

.is-invalid-input:not(:focus) {
  border-color: #d35031;
  background-color: #f8e6e7;
}

.separador {
  padding-top: 2rem;
}

@media only screen and (max-width: 768px) {
  .left {
    border-radius: 0px 0px 0px 0px;
  }

  .left {
    padding: 2rem 2rem 7rem 2rem;
  }

  .interno {
    width: 100%;
    margin-top: 0rem !important;
    margin-left: 0rem !important;
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
  }

  .right-total input[readonly].r3 {
    margin: 0rem 2rem !important;
  }
}

/* Estilos para card flotante de resultados */
.resultado-card {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
  position: relative;
  min-height: 500px;
  display: flex;
  flex-direction: column;
}

.resultados-calculadora-resumen {
  padding: 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.resultado-titulo {
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  color: #003865;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.resultado-subtitulo {
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  color: #003865 !important;
  margin-bottom: 2rem;
}

#preloder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 500px;
  background-color: rgba(255, 255, 255, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  z-index: 10;
  padding: 3rem 2rem;
}

.img-carga {
  width: 80px;
  height: 80px;
  margin-bottom: 1rem;
}

.texto-preloader {
  color: #003865;
  font-size: 16px;
  font-weight: 600;
}

#calculos {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.resultado-item {
  margin-bottom: 1.5rem;
}

.resultado-label {
  font-size: 13px;
  color: #666666;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.info-icon {
  color: #9ca3af;
}

.info-icon:hover {
  color: #00c1d4 !important;
}

.resultado-valor {
  background-color: #f2f5f7;
  border: none;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  font-size: 16px;
  color: #003865;
  font-weight: 600;
  cursor: default;
}

.resultado-valor.valor-negativo {
  color: #d35031;
}

.resultado-total-card {
  padding: 1.5rem;
  text-align: center;
  background-color: #e8edf1;
  border-radius: 0 0 12px 12px;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.total-label {
  font-size: 18px !important;
  color: #003865 !important;
  font-weight: 700;
  margin-bottom: 0rem;
  text-align: center;
}

.total-valor {
  background-color: #003865;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 1rem;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  cursor: default;
}

.total-valor-display {
  font-weight: bold;
  color: #0f850f !important;
  margin: 0 !important;
  text-align: center;
  line-height: normal !important;
  font-size: clamp(1rem, 2.2vw, 2.5rem) !important;
}

/* Estilos para diseño en columna (una fila por item) */
.resultado-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #e5e7eb;
}

.resultado-label-inline {
  font-size: 14px;
  color: #666666;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
}

.resultado-valor-inline {
  background-color: transparent;
  border: none;
  font-size: clamp(1rem, 1.1vw, 1rem) !important;
  color: #003865;
  font-weight: 600;
  text-align: right;
  cursor: default;
  width: auto;
  min-width: 150px;
  display: inline-block;
}

.resultado-valor-inline.valor-negativo {
  color: #d35031;
}



.contenedor_calculadora_bi_venta {
  padding: 0px 13px !important;
  margin-top: -33px;
  display: flex;
  justify-content: center;
  background-color: #f2f5f7;
  width: 100%;
  justify-items: center;
  align-content: center;
  align-items: center;
}

.formulario-calculadora {
  width: 30%;
}

.resultados-calculadora {
  width: 40%;
}

@media only screen and (max-width: 768px) {
  .poup-retencion {
    width: 10rem !important;
    height: 8rem !important;
  }

  .contenedor_calculadora_bi_venta {
    margin-top: 0em !important;
    flex-direction: column;
    padding: 15px;
  }

  .sub_contenedor_calculadora_bi_venta {
    flex-direction: column;
    width: 100%;
  }

  .formulario-calculadora {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .resultados-calculadora {
    width: 100%;
    max-width: 100%;
  }

  .left {
    border-radius: 30px 30px 0 0;
  }

  .right {
    border-radius: 0 0 30px 30px;
  }

  .resultado-card {
    margin-top: 2rem;
    border-radius: 16px;
  }

  .resultado-titulo {
    font-size: 20px;
  }

  .total-valor {
    font-size: 20px;
  }

  .total-valor-display {
    font-size: 24px;
  }

  .resultado-item-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .resultado-valor-inline {
    text-align: left;
    width: 100%;
  }

}

/* Contenedor principal del select */
.select2-container {
  width: 100% !important;
}

.select2-container--default .select2-selection--single {
  background-color: #fff !important;
  border: 2px solid #00c1d4 !important;
  border-radius: 8px !important;
  height: 48px !important;
  padding: 8px 15px !important;
  transition: all 0.3s ease !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 30px !important;
  color: #333 !important;
  padding: 0 !important;
  font-size: 16px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 10px !important;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
  outline: none !important;
  border: 2px solid #00c1d4 !important;
  border-radius: 8px !important;
  box-shadow: 0 0 0 3px rgba(0, 193, 212, 0.1) !important;
}

.select2-dropdown {
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  margin-top: 4px !important;
}

.select2-results {
  padding: 0 !important;
}

.select2-container--default .select2-results__option {
  padding: 12px 15px !important;
  font-size: 16px !important;
  color: #333 !important;
  background-color: #fff !important;
}

.select2-container--default .select2-results__option.select2-results__option--highlighted {
  background-color: #e6f7f9 !important;
  color: #003865 !important;
}

.select2-container--default .select2-results__option.select2-results__option--selected {
  background-color: #00c1d4 !important;
  color: #fff !important;
}

.select2-container--default .select2-results__option.select2-results__option--highlighted.select2-results__option--selected {
  background-color: #00c1d4 !important;
  color: #fff !important;
}

/* Scrollbar personalizado para el dropdown de Select2 */

.select2-results__options::-webkit-scrollbar {
  width: 8px !important;
  border-radius: 10px !important;
}

.select2-results__options::-webkit-scrollbar-track {
  background: #fff !important;
  border-radius: 10px !important;
}

.select2-results__options::-webkit-scrollbar-thumb {
  background: #00c1d4 !important;
  border-radius: 10px !important;
}

.select2-results__options::-webkit-scrollbar-thumb:hover {
  background: #00a8bb !important;
  border-radius: 10px !important;
}

.select2-results__options {
  scrollbar-width: thin !important;
  scrollbar-color: #00c1d4 #fff !important;
  border-radius: 10px !important;
}


.button.expanded {
  display: flex;
  gap: 1em;
}


.bi-icons::before,
[class^="bi-icons-"]:before,
[class*=" bi-icons-"]:before {
  font-size: 2em !important;
}

.resultado-label-inline {
  color: #424141;
  font-size: 16px;
}

.info-icon {
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin-left: 5px;
  margin-top: 5px;
}

.tooltip {
  position: absolute;
  bottom: 125%;
  /* arriba del ícono */
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 13px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 10;
  height: 3rem;
  max-width: 25rem !important;
}

.poup-retencion {
  width: 17rem;
  height: 4.5rem;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

.poup-primera {
  width: 14rem;
  height: 4.5rem;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Triángulo superior */
.tooltip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #333 transparent;
}

/* Mostrar al pasar el mouse */
.info-icon:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 360px) {
  .poup-primera {
    width: 10rem !important;
    height: 8rem !important;
  }
}


@media (max-width: 320px) {
  .poup-primera {
    width: 7.6rem !important;
    height: 9.5rem !important;
  }
}



@media (min-width: 800px) and (orientation: portrait) {
  .resultados-calculadora {
    width: 60% !important;
  }
}