/* Grille responsive */
.swimrun-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

/* Lien global (enlève le soulignement par défaut) */
a.swimrun-card-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
    transition: transform 0.3s ease;
}

a.swimrun-card-link:hover {
    transform: translateY(-5px);
}

/* La carte */
.swimrun-card {
    display: flex;
    flex-direction: column;
    background: transparent;
}

/* Partie Image */
.swimrun-card-image {
    width: 100%;
    padding-top: 125%; /* Ratio carré (1:1) comme sur l'image exemple */
    background-size: cover;
    background-position: center;
    border-radius: 30px; /* Gros arrondi comme sur la maquette */
    position: relative;
    margin-bottom: 20px;
}

/* Pastille Jaune */
.swimrun-card-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: #fedd02; /* Jaune Swimrun */
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #000;
    font-family: 'Antonio', sans-serif; /* Ta police titre */
    line-height: 1;
}

.swimrun-card-badge .badge-dist {
   font-size: 20px;
    font-weight: 800;
    letter-spacing: -1.3px;
    line-height: 1.3em;
}

.swimrun-card-badge .badge-unit {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Titre (FORMAT M) */
.swimrun-card-title {
    font-family: 'Antonio', sans-serif; /* Ta police titre */
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 5px 0;
    line-height: 1.1;
    color: #000;
}

/* Sous-titre (Entre Neiz Vran...) */
.swimrun-card-subtitle {
    font-family: 'Antonio', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin: 0 0 15px 0;
}

/* Détails (Pictos + Texte) */
.swimrun-card-details {
    font-family: 'Roboto', sans-serif; /* Police corps */
    font-size: 14px;
    color: #333;
}

.swimrun-detail-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.swimrun-icon {
    width: 24px;
    height: auto;
    display: block;
    /* Si les SVGs sont noirs par défaut, pas besoin de filtre. 
       Sinon ajoute filter: brightness(0); pour forcer le noir */
}

/* Responsive Mobile */
@media (max-width: 600px) {
    .swimrun-cards-grid {
        grid-template-columns: 1fr; /* Une seule colonne sur mobile */
        gap: 40px;
    }
    
    .swimrun-card-image {
        border-radius: 20px;
    }
}