/* Container */
.cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px; /* un peu plus d'air entre les cards */
    align-items: stretch;
}

/* Card */
.competition-card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(3, 106, 175, 0.5);
    padding: 24px; /* + d'air intérieur */
    transition: transform 0.2s, box-shadow 0.2s;
    justify-content: space-between;
    padding: 1rem;
    min-height: 225px;
}


/* Hover */
.competition-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 18px rgba(0,0,0,0.2);
}

/* Zones */
.card-title,
.card-deadline,
.card-description,
.card-actions {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px; /* espace entre les sections */
}

/* Titre */
.card-title-text {
    font-size: clamp(1.3rem, 0.4vw + 1rem, 1.7rem);
    font-weight: bold;
    color: var(--bleu);
    ;
    margin: 0 0 8px 0;
    margin-bottom: 0.3rem; /* réduit l'espace après le titre */
    text-align: center;
}
.card-title{
    margin-bottom: 1px !important
}

/* Deadline */
.card-deadline {
    font-weight: bold;
    color: #d63384;
    font-size: clamp(1rem, 0.3vw + 0.8rem, 1.3rem);
    margin-top: 0; /* supprime l'espace haut inutile */
    margin-bottom: 0.8rem; /* petit espace avant la description */
    text-align: center; /* centré sous le titre */
}

/* Description tronquée */
.card-description {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: clamp(1rem, 0.3vw + 0.8rem, 1.3rem);
}

/* Actions alignées en bas */
.card-actions {
    margin-top: auto;
    gap: 8px;
    display: flex;
    flex-direction: row;
}

/* Boutons */
.competition-card button,
.competition-card a {
    border-radius: 6px;
    padding: 10px 14px;
    text-align: center;
    text-decoration: none;
    font-size: clamp(1rem, 0.3vw + 0.8rem, 1.2rem); /* adaptatif */
}

.card-actions a:only-child {
    margin: 0 auto; /* centre le lien unique */
}

/* Focus visible */
.competition-card button:focus,
.competition-card a:focus {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}
