:root {
  --coop: #006358;
  --morado: #71479a;
  --morado-oscuro: #4d3169;
  --verde: #03c299;
  --verde-oscuro: #02876a;
  --azul: #3aa3ce;
  --azul-oscuro: #26728e;
  --amarillo: #fce8aa;
  --amarillo-oscuro: #d6b65b;
  --amarillo-alerta: #d69e2e;

  --borde: #e5e7eb;
  --fondo-blanco: #fff;
  --fondo-suave: #f9f9f9;
  --fondo-gris: #f1f1f1;

  --texto: #444;
  --texto-suave: #757575;
  --texto-claro: white;

  --scroll: #aaa;
  --scroll-fondo: rgba(161, 161, 161, 0.242);

  --rojo: #dc3545;
  --rojo-alerta: #fee2e2;
  --check: #28a745;
  --gradiente-cdat: #f7f1ff;
  --gradiente-ahorro: #edfff9;
  --gradiente-credito: #e7f3ff;
  --deshabilitado: #ccc;
  --alerta-ok: #e9f7ec;

  --bg-tooltip: #333333da;
  --bg-tarjeta-cdat: rgba(113, 71, 154, 0.08);
  --bg-tarjeta-opaca: rgba(255, 255, 255, 0.4);
  --fondo-oscuro: rgba(0, 0, 0, 0.6);
  --bg-spinner: rgba(255, 255, 255, 0.7);

  --sombra: 0 24px 80px rgba(0, 0, 0, 0.12);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  box-sizing: border-box;
  font-family: outfit, system-ui, -apple-system, Segoe UI, Roboto, Arial,
    sans-serif !important;
  color: var(--texto) !important;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background: var(--fondo-blanco);
}

.app {
  box-sizing: border-box;
  max-width: 1000px;
  height: calc(100dvh - 16px);
  width: 100dvw;
  display: flex;
  justify-content: center;
  transition: filter 0.5s ease-in-out;
  padding: 14px;
}

.marco {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--fondo-blanco);
  border: 1px solid var(--borde);
  border-radius: 16px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12);
}

.encabezado {
  flex: 0 0 15%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 10px 80px;
  border-bottom: 1px solid var(--borde);
  box-sizing: border-box;
  text-align: center;
  max-height: 90px;
  gap: 15px;

  /* Define este elemento como un contenedor de consulta */
  container-type: inline-size;
}

.encabezado h1 {
  margin: 0;
  color: var(--texto);
  font-weight: 700;

  /* El tamaño del texto ahora depende del ancho del .encabezado */
  font-size: clamp(16px, 6cqw, 30px);
}

.btn-volver {
  position: absolute;
  left: 15px;
  height: 70%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(35px, 8vw, 50px);
  height: clamp(35px, 8vw, 50px);
  font-size: clamp(1rem, 3vw, 1.5rem);
  font-weight: bold;
  background: var(--texto);
  color: var(--fondo-gris);
  border: none;
  border-radius: 50%;
  box-shadow: var(--sombra);
  cursor: pointer;
  transition: transform 0.2s ease;
}

.btn-volver:hover {
  transform: translateY(-5px);
}

.btn-volver:active {
  transform: scale(0.9);
  transition-duration: 0.1s; /* Opcional: hace que la animación de clic sea más rápida */
}

.cuerpo {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  align-items: stretch;
  position: relative;
}

/* =================================================================
   ESTILOS PERSONALIZADOS PARA LA BARRA DE SCROLL
   ================================================================= */

/* Para Firefox: Un scroll más delgado y con colores personalizados */

/* Para Chrome, Safari y Edge */

.pantalla {
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  display: none;
}

.pantalla.activa {
  display: flex;
  justify-content: flex-start;
}

.menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  max-width: 900px;
  margin: auto;
  padding: 30px;
}

.bloque {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: auto;
  padding: 0px 16px 16px 16px;
  width: 100%;
}

.tarjetas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  width: min(800px, 92%);
  margin: 20px auto;
}

.tarjeta {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: var(--sombra);
  border: 1px solid var(--borde);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: var(--fondo-suave);
  min-width: 240px;
  margin: 0 0;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 2. Efecto al pasar el mouse: la tarjeta se eleva y la sombra crece */
.tarjeta:hover {
  transform: translateY(-5px); /* La 'elevamos' un poco más que una fila */
  box-shadow: var(--sombra); /* Una sombra más pronunciada */
}

/* 3. Efecto al hacer clic: la tarjeta se 'hunde' */
.tarjeta:active {
  transform: scale(0.97); /* La encogemos para simular presión */
  transition-duration: 0.1s; /* Hacemos el 'clic' más rápido */
}
.cara-inferior {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  text-align: justify;
  color: var(--texto);
  width: 75%;
  min-height: 350px;
  margin: 0 auto;
}

.tarjeta.cdat .cara-inferior {
  background: linear-gradient(
    180deg,
    var(--gradiente-cdat),
    var(--fondo-blanco)
  );
}

.tarjeta.ahorro .cara-inferior {
  background: linear-gradient(
    180deg,
    var(--gradiente-ahorro),
    var(--fondo-blanco)
  );
}

.tarjeta.credito .cara-inferior {
  background: linear-gradient(
    180deg,
    var(--gradiente-credito),
    var(--fondo-blanco)
  );
}

.cara-inferior h3 {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 800;
  text-align: center;
}

.tarjeta.cdat .cara-inferior h3 {
  color: var(--morado);
}

.tarjeta.ahorro .cara-inferior h3 {
  color: var(--verde);
}

.cara-inferior p {
  margin: 0;
  color: var(--texto);
}

.cara-superior {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--fondo-blanco);
  text-align: center;
  padding: 15%;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.6s ease;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.tarjeta.cdat .cara-superior {
  background: linear-gradient(135deg, var(--morado), var(--morado-oscuro));
}

.tarjeta.ahorro .cara-superior {
  background: linear-gradient(135deg, var(--verde), var(--verde-oscuro));
}

.cara-superior h2 {
  margin: 0;
  font-size: 36px;
  line-height: 1.1;
}

.cara-superior .cta {
  margin-top: 4px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ico {
  font-size: 48px;
  margin-bottom: 10px;
}

.flecha {
  font-size: 22px;
}

.tarjeta:hover .cara-superior {
  transform: translateY(100%);
  opacity: 0;
}

.resumen {
  text-align: justify;
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 18px;
}

.nota {
  background: var(--amarillo);
  border-left: 4px solid var(--amarillo-alerta);
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.8rem;
  text-align: justify;
}

.formulario {
  text-align: left;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 14px;
}

.grupo label {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
}

.grupo .contenedor-entrada {
  position: relative;
}

#monto-cdat,
#monto-aporte,
#solicitud-aporte {
  padding-left: 36px;
  vertical-align: middle;
}

.grupo .simbolo-moneda {
  position: absolute;

  left: 14px;
  top: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--texto-suave);
  pointer-events: none;
  line-height: 1;
}

.grupo input,
.grupo select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--borde);
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.2;
  box-sizing: border-box;
  transition: all 0.3s;
  display: flex;
  outline: none;
  color: var(--texto);
  background: var(--fondo-gris);
}

.grupo .ayuda {
  font-size: 0.8rem;
  color: var(--texto-suave);
  margin-top: 5px;
}

.acciones {
  grid-column: 1 / -1;
  display: flex;
  gap: 16px;
  padding-top: 20px;
  flex-wrap: wrap;
}

.acciones .btn {
  flex: 1 1 200px;
}

.btn {
  flex: 1;
  padding: 12px;
  font-size: 0.8rem;
  font-weight: 700;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid var(--borde);
  transition: transform 0.2s ease;
  color: var(--texto);
}

.btn:hover {
  transform: translateY(-5px);
}
.btn:active {
  transform: scale(0.9);
  transition-duration: 0.1s; /* Opcional: hace que la animación de clic sea más rápida */
}

.btn-primario.cdat,
.btn-primario.btn-solicitar {
  background: var(--morado);
  color: var(--texto-claro);
  border-color: var(--morado);
}

.btn-secundario.cdat,
.btn-secundario.btn-simular {
  background: transparent;
  color: var(--morado);
  border-color: var(--morado);
}

.btn-primario.ahorro {
  background: var(--verde);
  color: var(--texto-claro);
  border-color: var(--verde);
}

.btn-secundario.ahorro {
  background: transparent;
  color: var(--verde);
  border-color: var(--verde);
}

.btn[disabled] {
  background: var(--deshabilitado) !important;
  border-color: var(--deshabilitado) !important;
  cursor: not-allowed;
  transform: none;
}

.fila-resultados {
  text-align: center;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
}

.tarjeta-resultado {
  background: var(--fondo-suave);
  border: 1px solid var(--borde);
  border-radius: 8px;
  padding: 12px 14px;
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-height: 67px;
  min-width: 175px;
}

.tarjeta-resultado.visible {
  opacity: 1;
  transform: translateY(0);
}

.tarjeta-resultado .etq {
  font-size: 0.8rem;
  color: var(--texto);
}

.tarjeta-resultado .val {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--morado);
}

.val.verde {
  color: var(--check);
}

.val.rojo {
  color: var(--rojo);
}

.nota-mini {
  font-size: 0.7rem;
  color: var(--texto-suave);
  margin-top: 1px;
}

.fila-resultados .tarjeta-resultado:nth-last-child(-n + 2) {
  font-weight: bold;
  background: var(--bg-tarjeta-cdat);
  border: 1px solid var(--morado);
  box-shadow: 0 1.5px 3px var(--morado);
}

.tarjeta-resultado:hover {
  scale: 1.05;
  font-weight: bold;
  transition: transform 0.2s ease;
}

.mensaje-reco {
  margin-top: 10px;
  margin-bottom: 15px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
}

.mensaje-reco.ok {
  display: block;
  background: var(--alerta-ok);
  border-left: 4px solid var(--check);
}

.mensaje-reco.warn {
  display: block;
  background: var(--amarillo);
  border-left: 4px solid var(--amarillo-oscuro);
}

.alternativas {
  margin-top: 16px;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  align-items: center;
}

.carta-alt {
  flex: 1;
  position: relative;
  text-align: center;
  background: Var(--fondo-suave);
  border: 1px solid var(--borde);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: opacity 0.3s ease, transform 0.3s ease; /* Añadimos 'opacity' a la transición */
}

.carta-alt::before {
  content: "";
  position: absolute;
  inset: 0; /* Cubre toda la tarjeta (top: 0, right: 0, bottom: 0, left: 0) */

  /* Un blanco semitransparente que atenúa el contenido de abajo */
  background-color: var(--bg-tarjeta-opaca);

  z-index: 1; /* Se coloca por encima del contenido base */
  transition: opacity 0.3s ease;
}

.carta-alt h4 {
  margin: 6px 5px;
}

.mejor-opcion h4 {
  position: relative;
  z-index: 2;
}

.carta-alt ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.carta-alt li {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid var(--borde);
  white-space: nowrap;
  font-size: 0.8rem;
  padding: 2% 0;
}

.carta-alt.destacada::before,
.carta-alt:hover::before {
  opacity: 0; /* Hacemos la capa invisible */
  z-index: -1;
}

.carta-alt.destacada {
  scale: 1.03;
  background: var(--bg-tarjeta-cdat);
  border: 1px solid var(--morado);
  box-shadow: 0 1.5px 3px var(--morado);

  font-weight: bold;
}
.carta-alt:not(.destacada):hover {
  transform: scale(1.02);
}

/* ------------------ BLOQUE AHORRO FUTURO ------------------ */

#ahorro-rendimiento,
#ahorro-final {
  border: 1px solid var(--verde);
  box-shadow: 0 1.5px 3px var(--verde);
}

.contenedor-visual-flexible {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 20px;
  width: 100%;
}

.contenedor-visual .h3 {
  text-align: center;
  color: var(--verde) !important;
  margin-top: 0;
  margin-bottom: 5px;
}

.modal-tablas {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  min-width: 364px;
}

.contenedor-grafico {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  min-width: 255px;
  position: relative;
  height: 290px;
}

#grafico-ahorro {
  height: 250px;
  border: 1px solid var(--borde);
  border-radius: 8px;
  box-shadow: var(--sombra);
  overflow: hidden;
}

.contenedor-tabla {
  height: 250px;
  overflow-y: auto;
  border: 1px solid var(--borde);
  border-radius: 8px;
  box-shadow: var(--sombra);
  overflow-x: hidden;
}

.contenedor-tabla table {
  border-collapse: collapse;
  width: 100%;
}

.contenedor-tabla td {
  border-bottom: 1px solid var(--borde);
  border-right: 1px solid var(--borde);
  padding: 4px 4px;
  font-size: 0.65rem;
  text-align: center;
  white-space: nowrap;
}

.contenedor-tabla tr {
  border-bottom: 1px solid var(--borde);
  border-right: 1px solid var(--borde);
  border-left: 1px solid var(--borde);
  font-size: 0.65rem;
  white-space: nowrap;
  text-align: center;
  padding: 10px 4px;
}

.contenedor-tabla thead th {
  background: var(--fondo-gris);
  position: sticky;
  text-align: center;
  top: 0;
  height: 25px;
  border-right: 1px solid var(--borde);
  border-left: 1px solid var(--borde);
}

@media (max-width: 815px) {
  .alternativas {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  }
}
/* ------------------ RESPONSIVE ------------------ */
@media (max-width: 900px) {
  .tarjetas {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
  }

  .formulario {
    grid-template-columns: 1fr;
  }

  .fila-resultados {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
  }

  .carta-alt li {
    font-size: 0.9rem;
  }

  .tarjeta-resultado {
    max-height: 70px;
  }
}

.tooltip-container {
  position: relative;
  display: flex;
  justify-content: space-between;
}

.tooltip-trigger {
  display: inline-block;
  font-weight: bold;
  color: var(--texto-claro);
  background-color: var(--morado);
  border-radius: 50%;
  cursor: help;
  text-align: center;

  /* --- AJUSTES DE TAMAÑO Y ESPACIO --- */
  width: 13px;
  /* Un poco más pequeño */
  height: 13px;
  /* Un poco más pequeño */
  line-height: 13px;
  /* Debe coincidir con la altura */
  font-size: 0.6rem;
  /* El '?' se hace más pequeño */
  margin-left: 3px;
  /* Más separación del texto a la izquierda */
  margin-right: 10px;
}

.tooltip {
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%);

  backdrop-filter: blur(2px);
  background-color: var(--bg-tooltip);
  color: var(--texto-claro);
  padding: 10px;
  border-radius: 8px;
  width: 220px;
  text-align: left;
  font-size: 0.85rem;
  line-height: 1.5;
  z-index: 10;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: var(--bg-tooltip) transparent transparent transparent;
  backdrop-filter: blur(2px);
}

.tooltip-container:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

/* =================================================================
   ESTILOS PARA EL SCROLLBAR GLOBAL DE LA PÁGINA
   ================================================================= */

/* Para Firefox */
/* Estiliza el scrollbar del elemento raíz (la página entera) */
::-webkit-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll) transparent;
}

/* Para Chrome/Edge */

/* Estilo para CUALQUIER scrollbar en la página */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--scroll-fondo);
  margin: 30px 2px;
  border-radius: 20px;
  /* El margen no se puede aplicar al track global,
     así que lo quitamos para evitar problemas. */
}

::-webkit-scrollbar-thumb {
  background-color: var(--scroll);
  border-radius: 20px;
}

/* Oculta las flechas de los extremos */
::-webkit-scrollbar-button {
  display: none;
}

/* Cambia el color del thumb al pasar el ratón */
::-webkit-scrollbar-thumb:hover {
  background: var(--scroll);
}

/* =================================================================
   ESTILOS PARA EL SCROLLBAR DE LA TABLA DE AMORTIZACIÓN
   ================================================================= */
.contenedor-tabla::-webkit-scrollbar {
  width: 8px;
}

.contenedor-tabla::-webkit-scrollbar-track {
  background: var(--scroll-fondo);
  margin: 30px 2px;
  border-radius: 20px;
}

.contenedor-tabla::-webkit-scrollbar-thumb {
  background-color: var(--scroll);
  border-radius: 20px;
}

/* Oculta las flechas de los extremos */
::-webkit-scrollbar-button {
  display: none;
}

/* Cambia el color del thumb al pasar el ratón */
::-webkit-scrollbar-thumb:hover {
  background: var(--scroll);
}

.notificacion-flotante {
  position: fixed;
  top: 0; /* Empieza arriba y oculta */
  left: 50%;
  transform: translateX(-50%) translateY(-100%); /* Centrado y fuera de la pantalla */

  /* Apariencia mejorada */
  background: var(--amarillo);
  color: var(--texto);
  padding: 16px 40px; /* Más espaciado interno */
  border-radius: 12px; /* Bordes más redondeados */
  font-size: 1.1rem; /* Tamaño del texto del mensaje */
  box-shadow: var(--sombra);
  border: 1px solid var(--borde);

  /* Para alinear el ícono y el texto */
  display: flex;
  align-items: center;
  gap: 12px;

  z-index: 2000;

  /* Animación más suave */
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.5s;
  opacity: 0;
}

.notificacion-flotante.visible {
  transform: translateX(-50%) translateY(300%); /* Posición final */
  opacity: 1;
}

.contenido-desenfocado {
  filter: blur(4px); /* Ajusta el valor para más o menos desenfoque */
  pointer-events: none; /* Evita que se pueda hacer clic en el fondo borroso */
}

/* --- ESTILOS PARA LA VENTANA MODAL DE TASAS --- */

/* Estilo para el botón que abre el modal */
.btn-link {
  background: none;
  border: none;
  color: var(--morado);
  text-decoration: underline;
  cursor: pointer;
  padding: 5px 0;
  font-size: 0.8rem;

  transition: transform 0.2s ease;
}

.btn-link:hover {
  transform: translateY(-2px);
}

.btn-link:active {
  transform: scale(0.95);
  transition-duration: 0.1s; /* Opcional: hace que la animación de clic sea más rápida */
}

/* El fondo oscuro del modal (oculto por defecto) */
.modal {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100dvw;
  height: 100dvh;
  background-color: var(--fondo-oscuro);
  backdrop-filter: blur(3px);
  justify-content: center;
  align-items: center;
}

/* El contenido del modal (la caja blanca) */
.modal-contenido {
  background-color: var(--fondo-suave);
  margin: 1rem; /* 15% desde arriba y centrado */
  padding: 20px;
  border: 1px solid var(--borde);
  border-radius: 12px;
  width: 80%;
  max-width: 500px;
  position: relative;
  overflow-y: auto;
}

/* El botón para cerrar (X) */
.modal-cerrar {
  color: var(--scroll);
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;

  transition: transform 0.2s ease;
}

.modal-cerrar:hover,
.modal-cerrar:focus {
  color: var(--texto);
  text-decoration: none;
  cursor: pointer;
}

.modal-cerrar:active {
  transform: scale(0.9);
  transition-duration: 0.1s; /* Opcional: hace que la animación de clic sea más rápida */
}

/* --- ESTILOS MODERNOS PARA LA TABLA DE TASAS --- */

.tabla-tasas {
  width: 100%;
  border-collapse: collapse; /* Elimina el espacio entre bordes */
  /* Un poco más de tamaño de fuente base */
  text-align: center;
  border-radius: 8px;
  overflow: hidden;
  border-spacing: 0;

  white-space: nowrap;
}

/* Estilo para las celdas del encabezado (th) y del cuerpo (td) */
.tabla-tasas th,
.tabla-tasas td {
  padding: 12px 15px; /* Más espaciado interno para que "respire" */
  border-bottom: 1px solid var(--borde); /* Solo un borde sutil abajo */
}

/* Estilo específico para el encabezado de la tabla */
.tabla-tasas thead th {
  background-color: var(--morado); /* Usa tu color corporativo */
  color: white;
  font-weight: 600;
  text-transform: uppercase; /* Mayúsculas para un look más limpio */
  letter-spacing: 0.5px;
  border-bottom: 2px solid var(--morado);
}
/* 1. Preparamos la fila para que las animaciones sean suaves */
.tabla-tasas tbody tr {
  transition: background-color 0.2s ease, transform 0.2s ease,
    box-shadow 0.2s ease;
}

/* 2. Efecto al pasar el mouse: la fila se eleva */
.tabla-tasas tbody tr:hover {
  background-color: var(--fondo-gris);
  transform: translateY(-3px); /* La 'elevamos' un poco */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Añadimos una sombra para dar profundidad */
}

/* 3. Efecto al hacer clic: la fila se 'hunde' */
.tabla-tasas tbody tr:hover:active {
  background-color: transparent !important;
  transform: scale(0.98); /* La encogemos para simular presión */
  box-shadow: none; /* Quitamos la sombra para que se sienta 'hundida' */
  transition-duration: 0.1s; /* Hacemos el 'clic' más rápido */
}
/* --- Estilo para destacar la mejor tasa (¡mejora visual!) --- */
.tabla-tasas .tasa-destacada {
  background-color: var(--gradiente-cdat); /* Un fondo verde suave */
  font-weight: bold; /* Texto en negrita */
}

.tabla-tasas .tasa-destacada td {
  color: var(--morado); /* Resalta el número de la tasa */
}
/* Y ahora, nos aseguramos de que las celdas del encabezado también tengan el radio */
.tabla-tasas thead th:first-child {
  border-top-left-radius: 8px;
}

.tabla-tasas thead th:last-child {
  border-top-right-radius: 8px;
}

#modal-tasas .h3 {
  text-align: center;
  color: var(--morado) !important;
  margin-top: 0;
  margin-bottom: 5px;
}

/* --- ESTILOS PARA MODAL DE TABLA DE PROYECCIÓN --- */

/* Contenedor para alinear el título y el botón */
.header-tabla {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; /* Para posicionar el botón de ícono */
}

/* Estilo para el botón de expandir/contraer */
.btn-icono {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  color: var(--texto-suave);
  padding: 5px;

  transition: transform 0.2s ease;
}
.btn-icono:hover {
  color: var(--verde);
  scale: 1.25;
}

.btn-icono:active {
  transform: scale(0.8);
  transition-duration: 0.1s;
}

/* Fondo oscuro del modal (oculto por defecto) */

/* Caja blanca del modal */
#modal-tabla .modal-contenido {
  background-color: var(--fondo-suave);
  padding: 20px;
  border-radius: 12px;
  width: 100%;
  max-width: 500px;
  max-height: auto !important; /* Ocupa hasta el 85% del alto de la pantalla */
  display: flex; /* Usamos flexbox para organizar el contenido */
  flex-direction: column;
  position: relative;
}

/* Botón de cerrar (X) */
.modal-cerrar {
  color: var(--scroll);
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}
.modal-cerrar:hover {
  color: var(--texto);
}

/* Contenedor de la tabla dentro del modal, para el scroll */
.modal .contenedor-tabla {
  flex-grow: 1; /* Ocupa el espacio vertical disponible */
  overflow-y: auto; /* El scroll ahora está aquí */
  margin-top: 15px;
}

.modal-contenido .h3 {
  text-align: center;
  color: var(--verde) !important;
  margin-top: 0;
  margin-bottom: 5px;
}
/* --- Estilos para la nueva tarjeta de CRÉDITO --- */

/* Color del título en la cara inferior */
.tarjeta.credito .cara-inferior h3 {
  color: var(--azul); /* Un azul como ejemplo, puedes cambiarlo */
}

/* Color de fondo para la cara superior */
.tarjeta.credito .cara-superior {
  background: linear-gradient(
    135deg,
    var(--azul),
    var(--azul-oscuro)
  ); /* Un degradado azul */
}

/* Color para los botones del formulario de crédito */
.btn-primario.credito {
  background: var(--azul);
  color: var(--texto-claro);
  border-color: var(--azul);
}

.btn-secundario.credito {
  background: transparent;
  color: var(--azul);
  border-color: var(--azul);
}

.tarjetas .tarjeta.credito {
  display: none;
}

/* --- ESTILOS PARA EL SPINNER DE CARGA --- */

.spinner-overlay {
  display: none; /* Oculto por defecto */
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  background-color: var(--bg-spinner);
  backdrop-filter: blur(2px);
  z-index: 3000;
  justify-content: center;
  align-items: center;
}

.spinner {
  width: 60px;
  height: 60px;
  border: 7px solid var(--borde);
  border-top-color: var(--scroll); /* Usa tu color corporativo */
  border-radius: 50%;
  animation: spin 0.6s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* --- ESTILOS PARA EL FORMULARIO DEL MODAL DE SOLICITUD --- */

.formulario .grupo label {
  font-weight: 600;
  margin-bottom: 5px;
  display: block;
}

.formulario .grupo input,
.formulario .grupo select {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--borde);
  border-radius: 6px;
  font-size: 1rem;
}

/* Estilo para el campo deshabilitado */
.formulario .grupo input:disabled {
  background-color: var(--deshabilitado);
  cursor: not-allowed;
}

.full-width {
  grid-column: 1 / -1; /* Ocupa desde la primera hasta la última columna */
}

#solicitud-fecha {
  padding-left: 35%;
  text-align: center;
  font-family: "Arial", sans-serif; /* 1. Cambia el tipo de letra */
}

/* =================================================================
   TEMA OSCURO (DARK MODE)
   ================================================================= */

body.dark-mode {
  /* Fondos y Superficies */
  --fondo-app: #121212; /* Un negro profundo, no puro */
  --fondo-blanco: #1e1e1e; /* El fondo de .marco y modales */
  --fondo-suave: #2a2a2a; /* Para las tarjetas y elementos "elevados" */
  --fondo-gris: #383838; /* Para hovers de tabla y fondos sutiles */

  /* Textos */
  --texto: #e1e1e1; /* Un blanco suave, no puro, para mejor lectura */
  --texto-suave: #aaaaaa; /* Para etiquetas y notas */
  --texto-claro: #1e1e1e; /* Texto oscuro para usar sobre botones claros */

  /* Colores de Marca (más vibrantes para resaltar) */
  --coop: #13f8b9; /* Un verde neón sutil */
  --verde: #13f8b9;
  --morado: #c099e0; /* Un lavanda brillante */
  --azul: #74c0e3; /* Un celeste más claro */

  /* Tonos Oscuros de Marca (para gradientes) */
  --morado-oscuro: #71479a;
  --verde-oscuro: #03c299;
  --azul-oscuro: #3aa3ce;

  /* Bordes y Separadores */
  --borde: #3a3a3a;
  --deshabilitado: #555;

  /* Scrollbar */
  --scroll: #555;
  --scroll-fondo: rgba(0, 0, 0, 0.2);

  /* Colores de Estado (más visibles en fondo oscuro) */
  --rojo: #cf6679;
  --check: #52d184;
  --amarillo-alerta: #d69e2e; /* Se mantiene bien */
  --amarillo: #917c51; /* El fondo de la caja de 'Nota importante' */
  --alerta-ok: rgba(82, 209, 132, 0.1);

  /* Fondos Especiales y Transparencias */
  --gradiente-cdat: rgba(192, 153, 224, 0.05); /* Un brillo morado muy sutil */
  --gradiente-ahorro: rgba(19, 248, 185, 0.05); /* Un brillo verde muy sutil */
  --gradiente-credito: rgba(116, 192, 227, 0.05); /* Un brillo azul muy sutil */

  --bg-tooltip: #eee;
  --bg-tarjeta-cdat: rgba(
    192,
    153,
    224,
    0.1
  ); /* Resalte para tarjetas destacadas */
  --bg-tarjeta-opaca: rgba(0, 0, 0, 0.4);
  --fondo-oscuro: rgba(0, 0, 0, 0.8);
  --bg-spinner: rgba(0, 0, 0, 0.5);

  /* Sombra más intensa para fondos oscuros */
  --sombra: 0 10px 40px rgba(0, 0, 0, 0.5);
}

/* Ajuste adicional para las tarjetas destacadas en modo oscuro */
body.dark-mode .carta-alt.destacada,
body.dark-mode .fila-resultados .tarjeta-resultado:nth-last-child(-n + 2) {
  border-color: var(--morado);

  box-shadow: 0 1px 3px var(--morado); /* Un brillo sutil del color morado */
}

/* --- ESTILOS PARA EL INTERRUPTOR DE TEMA (TOGGLE SWITCH) --- */

.theme-switch {
  z-index: 50;
  position: absolute;
  right: 20px;
  display: block;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

/* Ocultamos el checkbox real, solo nos interesa su estado */
.theme-switch input[type="checkbox"] {
  display: none;
}

/* El fondo del interruptor (el riel) */
.switch-track {
  width: 50px;
  height: 26px;
  background-color: var(--amarillo-alerta);
  border-radius: 15px;
  position: relative;
  transition: background-color 0.3s ease;
}

/* El círculo que se desliza (el pulgar) */
.switch-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  background-color: var(--fondo-gris);
  border-radius: 50%;
  transition: transform 0.3s ease;
  /* Contenedor flex para los íconos */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Estilo de los íconos dentro del círculo */
.switch-thumb i {
  position: absolute;
  font-size: 10px;
  transition: opacity 0.3s, transform 0.3s;
}

.switch-thumb .fa-sun {
  color: var(--amarillo-alerta); /* Color sol */
  opacity: 0; /* Oculto en tema oscuro (inicial) */
  transform: translateY(10px);
}

.switch-thumb .fa-moon {
  color: var(--amarillo-alerta); /* Color luna */
  opacity: 1; /* Visible en tema oscuro (inicial) */
  transform: translateY(0);
}

/* --- LÓGICA DE LA ANIMACIÓN AL CAMBIAR DE ESTADO --- */

/* Cuando el checkbox está ':checked' (modo claro) */
.theme-switch input:checked + .switch-track {
  background-color: var(--amarillo-alerta);
}

.theme-switch input:checked + .switch-track .switch-thumb {
  transform: translateX(24px); /* Desliza el círculo a la derecha */
}

.theme-switch input:checked + .switch-track .fa-sun {
  opacity: 1; /* Muestra el sol */
  transform: translateY(0);
}

.theme-switch input:checked + .switch-track .fa-moon {
  opacity: 0; /* Oculta la luna */
  transform: translateY(-10px);
}

/* Estilo para los enlaces dentro de las notas y resúmenes */
.nota a {
  color: var(--coop); /* O el color que prefieras, como --morado */
  font-weight: 600; /* Un poco más de grosor para que destaque */
  text-decoration: underline;
  transition: color 0.2s ease;
}

/* Efecto al pasar el mouse */
.nota a:hover {
  color: var(--verde-oscuro); /* Un tono más oscuro del mismo color */
  text-decoration: none; /* Opcional: quita el subrayado al pasar el mouse */
}

.grupo.invalido input {
  background-color: var(--rojo-alerta);
  border: 2px solid var(--rojo);
  color: #444;
}

.grupo.invalido .ayuda {
  color: var(--rojo);
}

/* --- ESTILOS PARA LA GAMIFICACIÓN DE LA PLANTA --- */

#gamificacion-animacion {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--borde);
  border-radius: 8px;
  background: var(--fondo-suave);
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
  box-sizing: border-box;
}

/* 3. Clase para ocultar la animación suavemente */
#gamificacion-animacion.oculto {
  opacity: 0;
  pointer-events: none; /* Evita que se pueda interactuar con ella cuando está oculta */
}

/* 4. Clase para ocultar el gráfico de forma instantánea */
#grafico-ahorro.oculto {
  display: none;
}

.planta-contenedor {
  position: relative;
  width: 100px;
  height: 200px; /* Altura total para que la planta crezca */
  display: flex;
  justify-content: center;
  align-items: flex-end; /* Alineamos todo en la base */
}

.maceta {
  width: 80px;
  height: 60px;
  background: #c19a6b; /* Un color terracota para la maceta */
  border-radius: 0 0 12px 12px;
  position: absolute;
  bottom: 0;
  z-index: 2;
}

.tallo {
  width: 8px;
  background-color: var(--verde);
  border-radius: 4px;
  position: relative;
  z-index: 1;

  /* ESTADO INICIAL: El tallo no ha crecido */
  height: 0;

  transition: height 2s cubic-bezier(0.65, 0, 0.35, 1); /* DURACIÓN AJUSTADA */
}

/* ESTADO FINAL: Clase que añadiremos con JS para que crezca */
.tallo.crecido {
  height: 180px;
}

/* ============================================================= */
/* === BLOQUE DE ESTILOS DE HOJA (CON ESPEJO HORIZONTAL) === */
/* ============================================================= */

/* Estilo base común a todas las hojas */
.hoja {
  position: absolute;
  color: var(--verde);
  opacity: 0;
  /* La transición se aplica a la opacidad y a la transformación */
  transition: transform 0.6s cubic-bezier(0.18, 0.89, 0.32, 1.28),
    opacity 0.4s ease-out;
}

/* -- ESTILO PARA TODAS LAS HOJAS DE LA IZQUIERDA -- */
.hoja-izquierda {
  transform-origin: bottom right;
  transform: scaleX(-1) rotate(45deg) scale(0);
}

/* -- ESTILO PARA TODAS LAS HOJAS DE LA DERECHA -- */
.hoja-derecha {
  transform-origin: bottom left;
  transform: rotate(55deg) scale(0);
}

.hoja-1 {
  font-size: 30px;
  top: 90px;
  right: 22px;
}

.hoja-2 {
  font-size: 29px;
  top: 55px;
  left: 4px;
}

.hoja-3 {
  font-size: 28px;
  top: 65px;
  right: 22px;
}

.hoja-4 {
  font-size: 27px;
  top: 35px;
  left: 4px;
}

.hoja-5 {
  font-size: 26px;
  top: 40px;
  right: 22px;
}
.hoja-6 {
  font-size: 25px;
  top: 10px;
  left: 4px;
}
.hoja-7 {
  font-size: 24px;
  top: 15px;
  right: 22px;
}

.hoja.visible {
  opacity: 1;
}

.hoja-izquierda.visible {
  transform: scaleX(-1) rotate(45deg) scale(1);
}

.hoja-derecha.visible {
  transform: rotate(45deg) scale(1);
}

/* Barra de progreso */
.progreso-contenedor {
  width: 80%;
  max-width: 300px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.progreso-barra {
  flex-grow: 1;
  height: 10px;
  background: var(--fondo-gris);
  border-radius: 5px;
  overflow: hidden;
}

.progreso-barra-fill {
  height: 100%;
  background: var(--verde);
  border-radius: 5px;

  /* ESTADO INICIAL: La barra está vacía */
  width: 0%;
  transition: width 3s ease-in-out;
}

.progreso-texto {
  font-weight: 700;
  color: var(--verde);
}

/* ============================================================= */
/* ===           ESTILOS PERSONALIZADOS PARA EL SLIDER         === */
/* ============================================================= */

/* 1. Reset de apariencia básica para asegurar consistencia */
.slider-input {
  -webkit-appearance: none; /* Quita el estilo por defecto de WebKit/Blink */
  appearance: none;
  width: 100%;
  height: 18px; /* Altura total del área del slider */
  background: transparent; /* El fondo del input es transparente */
  outline: none;
  margin-top: 10px;
  cursor: pointer;
  margin: 7px 0 !important;
}

/* --- 2. Estilo del Círculo (Thumb) --- */

/* Para Chrome, Safari, Edge, Opera */
.slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%; /* Lo hace un círculo perfecto */
  background: var(--verde); /* ¡AQUÍ ESTÁ EL COLOR! */
  border: 2px solid var(--fondo-blanco);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  margin-top: -7px; /* Centra el círculo verticalmente sobre el riel */
}

/* Para Firefox */
.slider-input::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--verde); /* ¡AQUÍ ESTÁ EL COLOR! */
  border: 2px solid var(--fondo-blanco);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

/* --- 3. Estilo del Riel (Track) --- */

/* Para Chrome, Safari, Edge, Opera */
.slider-input::-webkit-slider-runnable-track {
  width: 100%;
  height: 4px;
  background: var(--borde); /* Color del riel o barra */
  border-radius: 2px;
}

/* Para Firefox */
.slider-input::-moz-range-track {
  width: 100%;
  height: 4px;
  background: var(--borde); /* Color del riel o barra */
  border-radius: 2px;
}

/* ============================================================= */
/* ===    COLOR MORADO EXCLUSIVO PARA EL SLIDER DEL CDAT     === */
/* ============================================================= */

/* Para Chrome, Safari, Edge, Opera */
#slider-monto-cdat::-webkit-slider-thumb {
  background: var(--morado); /* ¡Color morado para el círculo! */
}

/* Para Firefox */
#slider-monto-cdat::-moz-range-thumb {
  background: var(--morado); /* ¡Color morado para el círculo! */
}

/* En ahorro.css (puedes añadirlo al final) */

/* Contenedor para los botones de plazo */
.contenedor-plazos-botones {
  display: flex;
  justify-content: center;
  gap: 2px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 5px 10px;
  margin-top: 5px !important;
  margin-left: -10px;
  margin-right: -10px;
}

/* Estilo de cada botón de plazo */
.btn-plazo {
  flex-grow: 1;
  background-color: transparent;
  text-align: center;
  border: 1px solid var(--borde);
  color: var(--texto-suave);
  padding: 8px auto;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: clamp(0.4rem, 7cqw, 0.9rem);
  position: relative; /* Para la marca de la opción inicial */
}

/* ============================================================= */
/* ===     ESTILO PARA RESALTAR MEJORES TASAS EN BOTONES     === */
/* ============================================================= */

/* Primero, nos aseguramos que el botón pueda contener la etiqueta posicionada */
.btn-plazo.mejor-tasa {
  position: relative;
}

/* Ahora, creamos la etiqueta "MEJOR TASA" */
.btn-plazo.mejor-tasa::before {
  content: "TASA ★"; /* El texto de la etiqueta */
  position: absolute;
  top: -10px; /* La posicionamos justo arriba del botón */
  left: 50%;
  transform: translateX(-50%); /* La centramos horizontalmente */

  /* Estilos de la etiqueta */
  background-color: var(--amarillo-alerta);
  color: var(--texto-claro);
  font-size: clamp(0.3rem, 7cqw, 0.5rem);
  font-weight: 700;
  padding: 1px 3px;
  border-radius: 4px;
  white-space: nowrap; /* Evita que el texto se parta en dos líneas */
}

.btn-plazo.inicial {
  border: 2px dashed var(--morado);
  color: var(--texto);
  font-weight: 700;
}

/* Estilo del botón SELECCIONADO */
.btn-plazo.activo {
  background-color: var(--bg-tarjeta-cdat);
  color: var(--texto);
  border: 2px solid var(--morado);
  transform: scale(1.01);
  box-shadow: var(--sombra);
}

#modal-contenido-tabla {
  height: 70dvh;
}

/* === ESTILO FINAL PARA TABLA RESPONSIVA EN MODO TARJETA === */
/* ============================================================= */

@media screen and (max-width: 600px) {
  .menu {
    padding: 0 !important;
  }
  .modal-tablas {
    min-width: 255px;
  }

  .contenedor-tabla {
    width: 100%;
  }
  .contenedor-tabla table {
    border: 0;
    margin: 30px auto;
    width: 80%;
  }

  .encabezado {
    gap: 5px;
  }

  .contenedor-tabla thead {
    /* Ocultamos los encabezados de la tabla original */
    display: none;
  }

  .contenedor-tabla tr {
    /* Cada fila es una tarjeta con sombra y bordes redondeados */
    display: block;
    margin-bottom: 1rem; /* Espacio entre tarjetas */
    border-radius: 12px;
    border: 1px solid var(--borde);
    box-shadow: var(--sombra);
    background: var(--fondo-blanco);
    padding: 0.25rem 1rem; /* Espaciado interno */
  }

  .contenedor-tabla td {
    /* Usamos Flexbox para alinear la etiqueta y el valor */
    display: flex;
    justify-content: space-between; /* Empuja los elementos a los extremos */
    align-items: center;

    /* Espaciado y limpieza */
    padding: 1px 1px; /* Espacio vertical entre cada línea de datos */
    border-bottom: none; /* Quitamos las líneas internas que teníamos antes */
    font-size: 0.8rem;
    border-right: none;
  }

  .contenedor-tabla td:last-child {
    padding-bottom: 0.4rem; /* Reducimos un poco el espaciado del último elemento */
  }

  .contenedor-tabla td::before {
    /* Esta es la etiqueta (ej: "APORTE:") */
    content: attr(data-label);

    /* Le damos el color corporativo y estilo */
    color: var(--verde);
    font-weight: 700;
    text-transform: uppercase;
    padding-right: 1rem; /* Espacio para que no se pegue al valor */
  }
  .tabla-tasas th,
  .tabla-tasas td {
    /* Reducimos el espaciado interno en celulares */
    padding: 8px 6px;

    /* Hacemos la letra un poco más pequeña */
    font-size: 0.7rem;
  }
  .contenedor-tabla td:first-child {
    color: var(--verde);
    text-transform: uppercase;
    justify-content: left;
    font-weight: 800;
    font-size: 1.1rem;
  }

  #modal-contenido-tabla {
    width: 80dvh !important;
    height: 90dvh !important;
  }
  #solicitud-fecha {
    padding-left: 0;
  }

  .pantalla.activa {
    padding: 3px 5px;
  }
}

@media screen and (max-width: 460px) {
  .btn-plazo {
    font-size: 0.35rem;
  }
  .btn-plazo.mejor-tasa::before {
    font-size: 0.25rem;
    top: -7px;
  }
  .contenedor-tabla {
    /* Aumentamos la altura de la tabla de 250px a 450px solo en pantallas pequeñas */
    height: 450px;
  }
}
/* AJUSTE PARA QUITAR EL ESTILO DE ENLACE A LAS TARJETAS DEL MENÚ */

a.tarjeta {
  text-decoration: none; /* Quita el subrayado */
  color: inherit; /* Hace que el texto herede el color de su contenedor (blanco) */
}
/* En tu archivo ahorro.css (puedes añadirlo al final) */

/* ============================================================= */
/* === ESTILO MEJORADO PARA DROPDOWN DE TASAS EN VISTA MÓVIL === */
/* ============================================================= */

.contenedor-plazos-dropdown {
  display: none; /* Sigue oculto por defecto en pantallas grandes */
  margin-bottom: 20px;
  position: relative; /* Necesario para el ícono */
}

.select-plazos {
  /* Apariencia General */
  width: 100%;
  border: 2px solid var(--morado); /* Borde más grueso y con color corporativo */
  border-radius: 12px; /* Bordes más redondeados */
  font-size: 1.1rem; /* Letra más grande y legible */
  font-weight: 700;
  color: var(--morado);
  background-color: var(--fondo-blanco);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* Sombra sutil */
  cursor: pointer;

  /* Quitar apariencia nativa */
  -webkit-appearance: none;
  appearance: none;

  /* Espaciado interno (padding) con espacio para íconos */
  padding: 14px 40px 14px 45px;

  /* Íconos (un calendario a la izquierda y la flecha a la derecha) */
  background-repeat: no-repeat;
  background-position: right 0.7rem center, left 0.9rem center;
  background-size: 1.5em 1.5em, 1.4em 1.4em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2371479a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"),
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%2371479a'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0h18'/%3e%3c/svg%3e");
}

/* Lógica de visibilidad responsiva para los selectores de plazo */

/* Por defecto, en pantallas grandes, mostramos los botones y ocultamos el dropdown */
#pantalla-cdat-result .contenedor-plazos-botones {
  display: flex;
}
#pantalla-cdat-result .contenedor-plazos-dropdown {
  display: none;
}

/* Solo en pantallas pequeñas (menos de 600px)... */
@media screen and (max-width: 600px) {
  /* ...hacemos lo contrario: ocultamos los botones */
  #pantalla-cdat-result .contenedor-plazos-botones {
    display: none;
  }
  /* ...y mostramos el dropdown */
  #pantalla-cdat-result .contenedor-plazos-dropdown {
    display: block;
  }
}
.logo-encabezado {
  height: 40px; /* Ajusta este valor según el tamaño de tu logo */
  width: auto;
}
.vista-grafico-fija {
  background-image: url("Claro.png");
  background-repeat: no-repeat; /* 'repeat' si es un patrón, 'no-repeat' si es una sola imagen */

  background-size: 100%;
}

.vista-grafico-fija.dark-mode {
  /* Cuando el modo oscuro está activo, usamos la otra imagen */
  background-image: url("Oscuro.png");
}
