.stades_grille {
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:clamp(16px, 2.5vw, 28px)
}

.stades_grille > * { min-width:0 }

.card_stade {
position:relative;
background:var(--blanc);
border-radius:var(--rayon);
box-shadow:var(--ombre);
transition:transform var(--transition), box-shadow var(--transition)
}

.card_stade:hover {
box-shadow:var(--ombreHaut);
transform:translateY(-5px)
}

.card_lien {
display:block;
overflow:hidden;
border-radius:var(--rayon);
text-decoration:none;
color:inherit
}

.card_photoWrap {
position:relative;
overflow:hidden;
aspect-ratio:16/10;
background:var(--marineProfond)
}

.card_photo {
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .45s cubic-bezier(.4,0,.2,1)
}

.card_stade:hover .card_photo { transform:scale(1.05) }

.card_photoWrap::after {
position:absolute;
display:block;
content:"";
width:100%;
height:44%;
background:linear-gradient(180deg, transparent 0%, rgba(20,21,46,.55) 100%);
bottom:0;
left:0
}

.card_corps {
position:relative;
border-top:2px dashed var(--ligne);
padding:16px 20px 18px
}

.card_nom {
text-transform:uppercase;
font-size:21px;
font-weight:700;
color:var(--marine);
line-height:1.1;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
margin:0 0 6px
}

.card_lieu {
display:flex;
align-items:baseline;
gap:7px;
font-size:14px;
color:var(--gris);
margin:0 0 12px
}

.card_lieu span { min-width:0 }

.card_lieu i { color:var(--or) }

.card_lieu strong { color:var(--encre) }

.card_infos {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:8px 16px
}

.card_capacite {
display:inline-flex;
align-items:center;
gap:7px;
background:var(--marine);
border-radius:6px;
font-family:var(--fonteTitre);
font-size:17px;
font-weight:600;
letter-spacing:.06em;
color:var(--or);
font-variant-numeric:tabular-nums;
padding:3px 10px
}

.card_capacite i {
font-size:12px;
color:rgba(255,255,255,.6)
}

.card_inauguration {
text-transform:uppercase;
font-size:11px;
letter-spacing:.07em;
color:var(--gris)
}

@media (max-width:900px) {
.stades_grille {
	grid-template-columns:repeat(2, minmax(0, 1fr))
}
}

@media (max-width:560px) {
.stades_grille {
	grid-template-columns:1fr
}
}
