/* ========================================
   CALENDARIO DE EVENTOS - Diseño Figma
   ======================================== */

body {
  padding: 0 !important;
  margin: 0 !important;
}



/* Contenedor del calendario */
.calendario {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  padding: 1.5rem;
}

.calendario table {
  width: 100%;
  border: none;
  border-collapse: separate;
  border-spacing: 0.5rem;
  background: #fff;
}

/* Encabezado días de la semana */
.dias-semana {
  background: transparent;
  color: var(--grisoscuro);
  font-size: 1.3rem;
  font-weight: 500;
}

.calendario .dias-semana th {
  text-align: center;
  font-weight: 500;
  padding: 1rem 0.5rem;
  color: var(--grisoscuro);
}

.calendario td {
  text-align: center;
  background: transparent;
  border: none;
  padding: 0.3rem;
}

/* Números de días */
.dia_numero span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.4rem;
  color: var(--negro);
}

/* Días con evento - círculo oscuro */
.dia_con_evento {
  background: var(--terciario) !important;
  color: var(--blanco) !important;
  font-weight: 600;
  border-radius: 50% !important;
}


/* Fines de semana - color naranja */
.calendario tr td:nth-child(6) span,
.calendario tr td:nth-child(7) span {
  color: var(--terciario);
}

/* Días con evento en fin de semana mantienen el verde */
.calendario tr td:nth-child(6) .dia_con_evento,
.calendario tr td:nth-child(7) .dia_con_evento {
  color: var(--blanco) !important;
}

.datos_evento {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  border: 0.1rem solid var(--grisclaro);
  padding: 1rem;
  border-radius: 0.5rem;
}

.fecha_evento {
  margin-right: 1rem;
  text-align: center;
  border-radius: 1.5rem;
}

.nombre_evento {
  flex: 1;
}

#calendario_eventos table a:hover {
  text-decoration: underline;
  color: #000;
}

#calendario_eventos table tr.menu_meses td {
  background-color: #ffffff;
}

#calendario_eventos td {
  margin: 0rem;
  font-size: 1.6rem;
}

#calendario_eventos td.dia_numero {
  color: #000;
  text-align: center;
  border: none;
}

.menu_meses {
  background: transparent;
  color: var(--negro);
  font-weight: 500;
  font-size: 1.8rem;
  border-radius: 0;
}

.mes_anio_flechas {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  margin-bottom: 1rem;
}

.mes_anio_flechas a i {
  color: var(--grisoscuro);
  font-size: 1.4rem;
}

#calendario_eventos table table {
  border-style: none;
  width: 100%;
}

.contenedor_mes_anio_flechas {
  padding: 0rem !important;
}

.contenedor_calendario_eventos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

@media (max-width: 768px) {
  .lista-eventos {
    margin-top: 2rem;
  }

  .listado {
    height: 27rem;
    /* Altura para mostrar 3 eventos inicialmente */
    overflow-y: auto;
    /* Scroll para ver el resto */
  }

  .iframe-calendar {
    min-height: 10rem;
  }
}

@media (min-width: 768px) {
  .listado {
    height: 100%;
    max-height: 40rem;
  }

  .iframe-calendar {
    min-height: 10rem;
  }

  /* Igualar altura de calendario y lista de eventos */
  .seccion-agenda .row {
    display: flex;
    align-items: stretch;
  }

  .seccion-agenda .col-12.col-md-6 {
    display: flex;
    flex-direction: column;
  }

  .seccion-agenda .lista-eventos {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .seccion-agenda .listado {
    flex: 1;
    height: auto;
    max-height: none;
  }
}

.listado {
  overflow-y: auto;
  /* Habilita el scroll vertical si es necesario */
  border: none;
  /* Añade un borde opcional para visualizar el contenedor */
  padding-right: 1rem;
  /* Añade padding para espaciar el contenido dentro del contenedor */
}

/* Estilos para la barra de desplazamiento */
.listado::-webkit-scrollbar {
  width: 1.2rem;
  /* Ancho de la barra de desplazamiento */
}

.listado::-webkit-scrollbar-track {
  background: #f1f1f1;
  /* Color del fondo de la barra de desplazamiento */
  border-radius: 1rem;
  /* Radio del borde del track */
}

.listado::-webkit-scrollbar-thumb {
  background: #888;
  /* Color del pulgar de la barra de desplazamiento */
  border-radius: 1rem;
  /* Radio del borde del pulgar */
  border: 0.3rem solid #f1f1f1;
  /* Espacio entre el pulgar y el track */
}

.listado::-webkit-scrollbar-thumb:hover {
  background: #555;
  /* Color del pulgar cuando se pasa el ratón por encima */
}

.lista-eventos .datos_evento {
  padding-bottom: 1rem;
}

.hovered {
  background: var(--secundario);
  /* Cambia esto por el color que prefieras */
}

#calendario_eventos .datos_evento {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
  border-radius: 1rem;
}

#calendario_eventos .datos_evento {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
}

a .datos_evento {
  color: var(--negro);
}

a:hover .datos_evento {
  background: var(--terciario);
  color: var(--blanco);
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 1rem;
}

.datos_evento {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
}

.texto_principal_evento {
  font-size: 1.8rem;
  font-weight: 500;
}

.texto_secundario_evento {
  font-size: 1.5rem;
  font-weight: 400;
}

.fecha_evento {
  border-radius: 1.5rem;
  background-color: var(--terciario);
  color: var(--blanco);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 5.5rem;
  height: 5.5rem;
  flex-shrink: 0;
}

.dia_evento {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.8rem;
}

.mes_evento {
  font-size: 1.3rem;
  text-transform: uppercase;
}

/* Estilos para la barra de desplazamiento */
.listado::-webkit-scrollbar {
  width: 1.2rem;
  /* Ancho de la barra de desplazamiento */
}

.listado::-webkit-scrollbar-track {
  background: #f1f1f1;
  /* Color del fondo de la barra de desplazamiento */
  border-radius: 1rem;
  /* Radio del borde del track */
}

.listado::-webkit-scrollbar-thumb {
  background: #888;
  /* Color del pulgar de la barra de desplazamiento */
  border-radius: 1rem;
  /* Radio del borde del pulgar */
  border: 0.3rem solid #f1f1f1;
  /* Espacio entre el pulgar y el track */
}

.listado::-webkit-scrollbar-thumb:hover {
  background: #555;
  /* Color del pulgar cuando se pasa el ratÃ³n por encima */
}

.lista-eventos .datos_evento {
  padding-bottom: 1rem;
}

.hovered {
  background: var(--secundario);
  /* Cambia esto por el color que prefieras */
}

#calendario_eventos .datos_evento {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
  border-radius: 1rem;
}

#calendario_eventos .datos_evento {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
}

a .datos_evento {
  color: var(--negro);
}

a:hover .datos_evento {
  background: var(--terciario);
  color: var(--blanco);
}


.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 1rem;
}

.alert p {
  font-size: 1.4rem;
}

.proximos-eventos {
  margin: 5rem 0rem 0rem 0rem;
}

/* Leyenda días con eventos */
.leyenda-calendario {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  font-size: 1.3rem;
  color: var(--grisoscuro);
}

.leyenda-calendario .punto-evento {
  width: 1rem;
  height: 1rem;
  background-color: var(--terciario);
  border-radius: 50%;
}

.texto_secundario_evento i {
  color: var(--primario);
  margin-right: 0.3rem;
}

@media (max-width: 768px) {
  .lista-eventos {
    margin-top: 2rem;
  }

  .listado {
    height: 27rem;
    /* Altura para mostrar 3 eventos inicialmente */
    overflow-y: auto;
    /* Scroll para ver el resto */
  }

  .iframe-calendar {
    min-height: 10rem;
  }
}