/* =========================
GRID POSTS (Vélo / listing)
Neutre Astra
Couleur UNIQUEMENT sur les blocs images remplacés
========================= */
:root{
–wrap: 1100px;
–gap: 22px;
–radius: 14px;
–border: 1px solid rgba(0,0,0,.10);
–shadow: 0 10px 30px rgba(0,0,0,.08);
}
.velo-wrap{
max-width: var(–wrap);
margin: 0 auto;
padding: clamp(18px, 3vw, 34px);
}
.velo-grid{
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(–gap);
}
@media (max-width: 980px){
.velo-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
.velo-grid{ grid-template-columns: 1fr; }
}
.velo-card{
border: var(–border);
border-radius: var(–radius);
overflow: hidden;
box-shadow: 0 8px 22px rgba(0,0,0,.06);
text-decoration: none !important;
display: grid;
background: transparent;
}
.velo-thumb{
aspect-ratio: 16/10;
border-bottom: var(–border);
}
/* =========================
PLACEHOLDERS THUMB : SEUL endroit avec couleur
Palette évocatrice assurance (sécurité / assistance / sérénité)
========================= */
.velo-ph{
width: 100%;
height: 100%;
display: grid;
place-items: center;
position: relative;
isolation: isolate;
}
.velo-ph::before{
content: » »;
position:absolute;
inset:0;
background:
linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,0) 55%),
linear-gradient(180deg, rgba(0,0,0,.07), rgba(0,0,0,0));
z-index: 1;
}
.velo-ph::after{
content: » »;
position:absolute;
width: 48%;
height: 48%;
border-radius: 26%;
transform: rotate(10deg);
background: rgba(255,255,255,.20);
z-index: 2;
}
.velo-ph–secure{
background: linear-gradient(135deg, #0B3D91, #4AA3FF);
}
.velo-ph–assist{
background: linear-gradient(135deg, #0A7C66, #7AE7C7);
}
.velo-ph–calm{
background: linear-gradient(135deg, #1F2937, #93C5FD);
}
.velo-ph–eco{
background: linear-gradient(135deg, #166534, #86EFAC);
}
.velo-ph__label{
position: relative;
z-index: 3;
padding: 10px 12px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.35);
background: rgba(255,255,255,.12);
font-weight: 700;
letter-spacing: .2px;
text-transform: uppercase;
font-size: .82rem;
}
.velo-body{
padding: 14px 16px 16px;
}
.velo-body h4{
margin: 0;
font-size: 1.02rem;
line-height: 1.25;
}
.velo-body a{
text-decoration: none !important;
}
.velo-body h4 a:hover{
text-decoration: underline !important;
}