:root {
--jsd-orange: #3B945E;
--jsd-orange-barre: #57BA98;
--jsd-orange-barre-2: #65CCB8;
--jsd-terre: #65CCB8;
--jsd-orange-vif: #65CCB8;
--jsd-sur-orange: #182628;
--jsd-clair-accent: #2B6D45;
--jsd-clair-accent-fort: #22573A;
--jsd-noir: #0F1B1D;
--jsd-surface: #182628;
--jsd-surface-2: #1E2F31;
--jsd-surface-3: #25393B;
--jsd-surface-4: #122022;
--jsd-surface-5: #142224;
--jsd-surface-6: #213436;
--jsd-texte: #F2F2F2;
--jsd-texte-2: #9DB0B1;
--jsd-texte-3: #A3B3B4;
--jsd-texte-4: #97A8A9;
--jsd-texte-5: #8FA0A1;
--jsd-texte-6: #C8D3D3;
--jsd-logo-clair: #F2F2F2;
--jsd-halo: #182628;
--jsd-halo-2: #3E5557;
--background: var(--jsd-halo);
--jsd-clair: #F2F2F2;
--jsd-clair-2: #F8F8F8;
--jsd-clair-surface: #FFFFFF;
--jsd-clair-bord: #DDE3E2;
--jsd-clair-texte: #182628;
--jsd-clair-texte-2: #4B5B5D;
--jsd-police-titre: "League Spartan","League Spartan Fallback";
--jsd-police-texte: "Inter","Inter Fallback";
}
.btn-orange { background: var(--jsd-terre); box-shadow: 0 4px 20px rgb(from var(--jsd-terre) r g b / .3); }
.btn-orange:hover { background: var(--jsd-orange-barre); }
main > section:nth-of-type(n+2) .btn-orange { color: var(--jsd-sur-orange); }
.badge-pill { background: var(--jsd-terre); color: var(--jsd-sur-orange); }
.pagination .page-numbers.current { background: var(--jsd-terre); border-color: var(--jsd-terre); color: var(--jsd-sur-orange); }
.article-corps ol li::marker { color: var(--orange-vif); }
.nav-cta-pill { background: radial-gradient(circle, var(--jsd-clair-2) 0%, var(--jsd-orange-barre-2) 100%); color: var(--jsd-clair-texte); }
.nav-cta-dot { background-color: var(--jsd-clair-texte); }
.menu-mobile-panneau a { color: var(--jsd-clair-texte); }
.menu-mobile-panneau a:hover { background: rgb(from var(--jsd-orange-barre) r g b / .16); }
.menu-mobile-panneau .titre { color: var(--jsd-clair-texte-2); }
.tuile.a-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.tuile.a-photo:hover img { transform: scale(1.04); }
main > section:nth-of-type(n+2) .tuile.a-photo::after { background: linear-gradient(to top, rgb(from var(--jsd-noir) r g b / .88) 0%, rgb(from var(--jsd-noir) r g b / .55) 45%, transparent 78%); }
@media (prefers-reduced-motion: reduce) { .tuile.a-photo img { transition: none; } .tuile.a-photo:hover img { transform: none; } }
.index-grille-4 { grid-template-columns: repeat(4, 1fr); }
.index-marque h3 a { color: inherit; text-decoration: none; }
.index-marque .a-venir { color: var(--texte-2); font-size: 0.94rem; }
@media (max-width: 1000px) { .index-grille-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .index-grille-4 { grid-template-columns: 1fr; } }
