/* Cartes événements uniformes */
.event-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.event-card img {
  height: 200px;
  object-fit: cover;
}

/* Forcer une hauteur uniforme des colonnes */
.row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

/* S'assurer que les cartes remplissent la colonne */
.event-card {
  flex: 1;
}

/* Fixer une hauteur minimale sur les titres et paragraphes */
.card-title {
  min-height: 3rem; /* ajuste selon longueur moyenne du titre */
}

.card-text {
  min-height: 4rem; /* ajuste selon contenu moyen */
}
/* Calendrier container */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 8px 12px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  user-select: none;
}

/* En-tête : jours de la semaine */
thead th {
  background-color: #e50b0b;
  color: white;
  padding: 14px 0;
  font-weight: 700;
  font-size: 1.15rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 3px 8px rgba(229, 11, 11, 0.7);
}

/* Cellules des jours */
tbody td {
  background-color: #fff0f0;
  color: #e50b0b;
  font-weight: 600;
  font-size: 1.05rem;
  padding: 18px 12px;
  vertical-align: middle;
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(229, 11, 11, 0.2);
  cursor: default;
  position: relative;
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Cellules vides (hors mois) */
tbody td:empty {
  background-color: transparent;
  box-shadow: none;
  cursor: default;
}

/* Jour actuel */
.today {
  border: 3px solid #ffd54f;
  background-color: #fffbe6;
  font-weight: 700;
  color: #e50b0b;
  box-shadow: 0 0 12px #ffd54f;
}

/* Cellules avec événements */
.event-day {
  cursor: pointer;
  box-shadow: 0 0 10px rgba(229, 11, 11, 0.8);
  background-color: #fff0f0;
  font-weight: 700;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.event-day:hover {
  background-color: #fcdede;
  box-shadow: 0 0 20px rgba(229, 11, 11, 1);
}

/* Petit point rouge en bas pour les événements */
.event-day::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 9px;
  height: 9px;
  background-color: #e50b0b;
  border-radius: 50%;
}

/* Événements passés (gris clair, désactivé) */
.past-event {
  background-color: #f4f4f4 !important;
  color: #a0a0a0 !important;
  cursor: default !important;
  font-weight: 600;
  box-shadow: none !important;
  opacity: 0.5;
  user-select: none;
}

/* Boutons de navigation mois */
#prevMonth, #nextMonth {
  min-width: 120px;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 30px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

#prevMonth:hover, #nextMonth:hover {
  background-color: #e50b0b;
  color: white;
  border-color: #e50b0b;
}

/* Mois et année (titre calendrier) */
#monthYear {
  font-weight: 700;
  font-size: 1.7rem;
  color: #e50b0b;
  user-select: none;
}

/* Légende sous calendrier */
.calendar-legend {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 30px;
  font-size: 1rem;
  font-weight: 600;
  color: #444;
}

.calendar-legend div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.legend-box {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid #ccc;
  box-sizing: border-box;
}

.legend-event {
  background-color: #e50b0b;
  border: none;
  box-shadow: 0 0 8px rgba(229, 11, 11, 0.8);
}

.legend-past {
  background-color: #f4f4f4;
  border: none;
}

.legend-today {
  background-color: transparent;
  border: 3px solid #ffd54f;
}
