@charset "UTF-8";
/* Variables */
/* Fuentes */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&display=swap");
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Montserrat", "Roboto", sans-serif;
  overflow-x: hidden;
}

.oculto {
  display: none !important;
}

/* Colores (marca LPS) */
body {
  background-color: #f7f7f8;
}

/* Titulos */
h1,
h2,
h3,
h4,
h5 {
  font-weight: 500 !important;
}

h1 {
  font-size: 1.8rem !important;
  margin: 1rem 0rem !important;
}

/* Inputs */
input {
  width: 100%;
  height: 32px;
  border-radius: 8px !important;
  outline: none;
  border: 1px solid #E0E0E0;
  background-color: #FAFAFA;
  padding: 1rem;
  font-family: "Montserrat", "Roboto", sans-serif !important;
  transition: border-color 0.2s ease-out;
}
input:focus {
  border-color: #CF112F;
}

.input-vista {
  margin: 0.7rem 0rem;
}

input[type=checkbox] {
  width: 10% !important;
  margin-right: 5px;
  height: 15px;
}

select {
  width: 100% !important;
  outline: none !important;
  height: 32px !important;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  background-color: #FAFAFA;
  font-family: "Montserrat", "Roboto", sans-serif !important;
  padding-left: 1rem;
  transition: border-color 0.2s ease-out;
}
select:focus {
  border-color: #CF112F;
}

label {
  font-size: 0.9rem;
  display: flex;
  justify-content: flex-start;
}

.for-input {
  display: block;
  margin-bottom: 5px;
  color: #6c6969;
  font-weight: 600;
}

.btn {
  background-color: #CF112F;
  color: #FFFFFF;
  width: 100%;
  display: block;
  text-align: center;
  padding: 0.4rem 1rem;
  cursor: pointer;
  border-radius: 50px;
  transition: opacity 0.2s ease-out;
  /* Variante secundaria (ej. "Volver"): pill outline en vez de relleno sólido */
}
.btn:hover {
  opacity: 0.88;
}
.btn:active {
  transform: scale(1.02);
}
.btn.btn-outline {
  background-color: transparent;
  color: #CF112F;
  border: 2px solid #CF112F;
}
.btn.btn-outline:hover {
  background-color: #CF112F;
  color: #FFFFFF;
  opacity: 1;
}

/* Grupo de opciones tipo pill (ej. medio de pago) */
.grupo-opciones {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.opcion-pill {
  background-color: transparent;
  color: #CF112F;
  border: 2px solid #CF112F;
  border-radius: 50px;
  padding: 8px 20px;
  font-family: "Montserrat", "Roboto", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.opcion-pill:hover {
  background-color: #CF112F;
  color: #FFFFFF;
}
.opcion-pill.selected {
  background-color: #CF112F;
  border-color: #CF112F;
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(207, 17, 47, 0.35);
}

.caja-accion {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  background-color: #FFFFFF;
  overflow: hidden;
  min-height: 300px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  /* Fila con info fija (cotización, mensajes de error/éxito): no scrollea */
  /* Contenedor de la tabla: se ajusta al contenido y solo scrollea si supera max-height */
  /* Fila de acciones (Volver/Siguiente): siempre fija al pie, nunca tapada por el scroll */
}
.caja-accion .titulo {
  padding-bottom: 1rem;
  background-color: #CF112F;
  color: #FFFFFF;
  flex: 0 0 auto;
}
.caja-accion .info-etapa {
  flex: 0 0 auto;
}
.caja-accion .tabla-etapa {
  flex: 0 1 auto;
  max-height: 55vh;
  overflow-y: auto;
}
.caja-accion .acciones-etapa {
  flex: 0 0 auto;
}

/* Tablas */
.tabla th {
  background-color: #CF112F;
  color: #FFFFFF;
  border-radius: 0px !important;
}
.tabla td,
.tabla th {
  padding: 5px 5px;
  border-radius: 0px !important;
  font-size: 13px !important;
}
.tabla tr {
  cursor: pointer !important;
}
.tabla tr:hover {
  background-color: #dfdfdf;
}

/* Despliegue de cuotas: entrada tipo acordeón (de arriba hacia abajo), rápida */
@keyframes fila-acordeon {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fila-acordeon {
  animation: fila-acordeon 0.18s ease-out;
}

.izquierda {
  text-align: right;
}

/* Iconos */
.icono {
  width: 20px;
  height: 20px;
  margin: 0px 5px;
  filter: invert(1);
}

/* preload */
.progress {
  display: none;
  background-color: #FFD600 !important;
}
.progress .indeterminate {
  background-color: #CF112F !important;
}

/* Mensaje */
.error,
.exito {
  display: none;
  padding: 5px;
  margin: 10px 0px;
  font-size: 0.8em;
}
.error label,
.exito label {
  font-size: 1em;
  margin: 5px 0px;
}

.error {
  border-left: 5px solid #CF112F;
  border-bottom: 1px solid #CF112F;
}

.exito {
  border-left: 5px solid #17A64E;
  border-bottom: 1px solid #17A64E;
}

.contenido-principal {
  padding-top: 1rem;
  padding-bottom: 1rem;
  box-sizing: border-box;
}

.icon {
  -webkit-filter: invert(100%);
  /* safari 6.0 - 9.0 */
  filter: invert(100%);
  height: 25px;
  width: 25px;
  margin-right: 10px;
}

/* Sweetalert */
.swal2-confirm,
.swal2-cancel,
.sweet-btn-denegar {
  color: white;
  padding: 8px 10px;
  border: none;
  border-radius: 15px;
  width: 100px;
  height: 32px;
  margin: 5px 5px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.14), 0 5px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  outline: none;
}

.swal2-confirm {
  background-color: #CF112F;
}

.swal2-cancel {
  background-color: "#f7f7f7";
  color: #CF112F;
}

.sweet-btn-denegar {
  background-color: "#f7f7f7";
  color: #CF112F;
}

#contenedor-preloader-parametrizado {
  display: none;
  text-align: center;
}
#contenedor-preloader-parametrizado #preloader-parametrizado {
  display: block !important;
}

#selector {
  display: none;
}
#selector .fila-cuota {
  background-color: #e0e0e0;
}
#selector .titulo-cuota {
  background-color: #616161;
}
#selector .para-pagar {
  background-color: rgba(207, 17, 47, 0.4);
  border-left: 5px solid #CF112F;
}

#revision {
  display: none;
}
#revision .revision-info {
  background-color: #CF112F;
  padding: 10px;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
}

.aprobado,
.rechazado,
.pendiente {
  color: #FFFFFF;
  font-weight: bold;
  padding: 20px !important;
}

.aprobado {
  background-color: #17A64E;
}

.pendiente {
  background-color: #fbc02d;
}

.rechazado {
  background-color: #CF112F;
}

#descargar-comprobante-cuotas {
  margin: 30px 0px;
}
#descargar-comprobante-cuotas .icono {
  float: right;
}

.contenedor-etapas #buscador,
.contenedor-etapas #revision,
.contenedor-etapas #selector,
.contenedor-etapas #qr-seleccion,
.contenedor-etapas #qr-revision,
.contenedor-etapas #qr-resultado {
  max-width: 1280px;
  width: 80%;
  position: absolute;
  top: 24px;
  left: 10%;
  right: 10%;
}
.en-iframe .contenedor-etapas #buscador,
.en-iframe .contenedor-etapas #revision,
.en-iframe .contenedor-etapas #selector,
.en-iframe .contenedor-etapas #qr-seleccion,
.en-iframe .contenedor-etapas #qr-revision,
.en-iframe .contenedor-etapas #qr-resultado {
  max-width: none;
  width: 100%;
  left: 0;
  right: 0;
}

body.en-iframe,
.en-iframe .contenedor-etapas {
  background-color: #fff !important;
}

.en-iframe .container {
  width: 100%;
  max-width: none;
}

#qr-seleccion {
  display: none;
}
#qr-seleccion .fila-cuota {
  background-color: #e0e0e0;
}
#qr-seleccion .titulo-cuota {
  background-color: #616161;
}
#qr-seleccion .para-pagar {
  background-color: rgba(207, 17, 47, 0.4);
  border-left: 5px solid #CF112F;
}

#qr-revision {
  display: none;
}
#qr-revision .revision-info {
  background-color: #CF112F;
  padding: 10px;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
}

#qr-resultado {
  display: none;
}
#qr-resultado .qr-card {
  text-align: center;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 1rem;
}
#qr-resultado .qr-card canvas.qr-canvas {
  max-width: 220px;
  width: 100%;
  height: auto;
}
#qr-resultado .qr-card-info {
  text-align: left;
}
#qr-resultado .revision-info {
  background-color: #CF112F;
  padding: 10px;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
  margin-bottom: 0.7rem;
}

#mensajes-comprobante-payway {
  width: 96%;
  margin: auto;
  max-width: 600px;
}

#contenedor-resultado-pago {
  width: 96%;
  margin: auto;
  max-width: 600px;
  background-color: #FFFFFF;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  margin-top: 40px;
  margin-bottom: 80px;
}
#contenedor-resultado-pago .aceptado {
  background-color: #17A64E;
}
#contenedor-resultado-pago .rechazado {
  background-color: #CF112F;
}
#contenedor-resultado-pago .header {
  height: 220px;
  border-radius: 15px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#contenedor-resultado-pago .header h2 {
  font-weight: bold;
  color: white;
  font-size: 1.5em;
  padding: 0px;
  margin: 5px;
  text-align: center;
}
#contenedor-resultado-pago .header h3 {
  font-weight: bold;
  color: white;
  font-size: 1.3em;
  padding: 0px;
  margin: 0px;
  text-align: center;
}
#contenedor-resultado-pago .header .icono-estado-pago {
  height: 80px;
  width: 80px;
  background-color: #FFFFFF;
  border-radius: 100%;
  position: absolute;
  top: 80%;
  left: calc((100% - 80px)/2);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 5px;
}
#contenedor-resultado-pago .body {
  padding-top: 50px;
  padding-bottom: 50px;
  display: flex;
  flex-direction: column;
}
#contenedor-resultado-pago .body .fila-informacion {
  width: 80%;
  margin: 5px auto;
}
#contenedor-resultado-pago .body .fila-informacion .etiqueta {
  font-weight: bold;
}
#contenedor-resultado-pago .footer {
  height: 110px;
  border-radius: 15px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#contenedor-resultado-pago .footer .btn-border-comprobante {
  color: white;
  border: 2px solid white;
  border-radius: 50px;
  padding: 10px 24px;
  font-weight: 500;
  transition: transform 0.2s ease-out;
  cursor: pointer;
}
#contenedor-resultado-pago .footer .btn-border-comprobante:hover {
  transform: scale(1.03);
}
#contenedor-resultado-pago .footer .contenedor-loader {
  width: 40%;
}

#mensajes-comprobante-payway {
  width: 96%;
  margin: auto;
  max-width: 600px;
}

#contenedor-link-propio {
  width: 96%;
  margin: auto;
  max-width: 600px;
  margin-top: 40px;
  margin-bottom: 80px;
  /*.card__front:after,
  .card__back:after {
      content: "";
      position: absolute;
      border: 16px solid #ffd600;
      border-radius: 100%;
      width: 300px;
      top: 55%;
      left: -200px;
      height: 300px;
      filter: blur(3px);
  }*/
  /*input:focus,
  select:focus {
      border: 1px solid #000;
      outline: 4px solid rgba(0, 0, 0, .1);
  }*/
}
#contenedor-link-propio .contenedor-fila {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#contenedor-link-propio .contenedor-fila .contenedor-tipo-documento-titular {
  width: 25%;
}
#contenedor-link-propio .contenedor-fila .contenedor-documento-titular {
  width: 70%;
}
#contenedor-link-propio .contenedor-dato button {
  width: 100%;
  border-radius: 50px;
  background-color: #CF112F;
  height: 40px;
  display: flex;
  justify-content: center;
  color: white;
  align-items: center;
  font-weight: 500;
  margin: 20px 0px;
  border: 0px;
  outline: none;
  cursor: pointer;
  transition: opacity 0.2s ease-out;
}
#contenedor-link-propio .contenedor-dato button:hover {
  opacity: 0.88;
}
#contenedor-link-propio .contenedor-dato #pagar-preloader {
  width: 40%;
  margin: 20px auto;
}
#contenedor-link-propio .card {
  position: relative;
  max-width: 420px;
  margin: 0 auto;
  transform-style: preserve-3d;
  transition: 1s;
}
#contenedor-link-propio .card:hover,
#contenedor-link-propio .card.flip {
  transform: rotateY(180deg);
}
#contenedor-link-propio .card:hover #highlight {
  display: none;
}
#contenedor-link-propio .card__front,
#contenedor-link-propio .card__back {
  width: 100%;
  max-width: 420px;
  height: 233px;
  border-radius: 20px;
  padding: 24px 30px 30px;
  background-color: #000;
  box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.14), 0 5px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  color: #fff;
  overflow: hidden;
  margin: 0 auto;
  backface-visibility: hidden;
  font-weight: bold;
}
#contenedor-link-propio .card__front::first-letter {
  display: block;
  font-size: 24px;
  font-weight: bold;
  margin-left: -2em;
}
@media (max-width: 450px) {
  #contenedor-link-propio .card__front,
#contenedor-link-propio .card__back {
    padding: 8px 12px 16px;
    height: 206px;
  }
}
#contenedor-link-propio .card__back {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotateY(180deg);
  padding: 24px 0 0;
}
#contenedor-link-propio .card__front {
  position: relative;
}
#contenedor-link-propio .card__front:before,
#contenedor-link-propio .card__back:before {
  content: "";
  position: absolute;
  border-radius: 100%;
  left: 60%;
  top: -25%;
  height: 300px;
  width: 300px;
  background-image: url("../../public/assets/logo.svg");
  opacity: 0.2;
}
#contenedor-link-propio .card__hide_line {
  height: 40px;
  width: 100%;
  background-color: #6b7280;
  position: relative;
  z-index: 1;
}
#contenedor-link-propio .card_cvv {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  align-items: end;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
#contenedor-link-propio .card_cvv_field {
  margin-top: 6px;
  background-color: #fff;
  border-radius: 12px;
  height: 44px;
  width: 100%;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 0 12px;
  font-size: 25px;
  line-height: 21px;
}
#contenedor-link-propio .card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
#contenedor-link-propio .card__number {
  /* word-spacing: 10px; */
  font-size: 22px;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
  display: flex;
  height: 33px;
  overflow: hidden;
  line-height: 33px;
}
#contenedor-link-propio .card__number span {
  display: flex;
  flex-direction: column;
  transition: 0.2s;
}
#contenedor-link-propio .card__number span.filed {
  transform: translateY(-33px);
}
#contenedor-link-propio .card__number span:nth-child(4n) {
  margin-right: 10px;
}
#contenedor-link-propio .card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
#contenedor-link-propio .card__holder {
  text-transform: uppercase;
}
#contenedor-link-propio .card__section__title {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
#contenedor-link-propio .form {
  border-radius: 15px;
  background-color: #ededed;
  max-width: 600px;
  margin: -130px auto 0;
  padding: 180px 32px 32px;
  border: 1px solid #f1f1f1;
  box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.14), 0 5px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  display: grid;
  gap: 12px;
}
#contenedor-link-propio label {
  display: block;
  margin: 14px 0 4px;
  color: #0d0c22;
  font-weight: 500;
}
#contenedor-link-propio input,
#contenedor-link-propio select {
  height: 33px;
  display: block;
  width: 100%;
  border-radius: 15px !important;
  outline: none;
  background-color: #fff;
  color: #0d0c22;
  font-size: 1rem;
}
#contenedor-link-propio .filed__group {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
}
#contenedor-link-propio .filed__date {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
