.card-info span {
  background: #f2f4f6;
  border-radius: 12px;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  color: #444;
}

.card-info a {
  color: #0077cc;
  text-decoration: none;
}

.card-text {
  display: -webkit-box; /* Modello di layout flessibile di WebKit necessario per il line clamp */
  -webkit-box-orient: vertical; /* Definisce la direzione del layout (verticale, quindi per righe del testo) */
  -webkit-line-clamp: 6; /* Indica il numero massimo di linee da mostrare */
  line-clamp: 6;
  overflow: hidden;
  text-overflow: ellipsis;  /* Mostrano i … */
  /* Serve per far sì che l’altezza massima del contenitore corrisponda esattamente a 6 righe, 
    anche se -webkit-line-clamp non fosse supportato. */
  line-height: 1.5;
  max-height: calc(1.5em * 6);
}

.expanded {
  display: block;
  -webkit-line-clamp: none;
  line-clamp: none;
  max-height: none;
  overflow: visible;
}

.imminent-event {
  animation: pulse 3s infinite;
  border: 3px solid #ff6b35;
  box-shadow: 0 4px 20px rgba(255, 107, 53, 0.4);
}

@keyframes pulse {
  0% {
    transform: scale(1);
    border: 3px solid #ff6b35;
  }
  50% {
    transform: scale(1.05);
    border: 3px solid #ff6b35;
  }
  100% {
    transform: scale(1);
    border: 3px solid #ff6b35;
  }
}