.service-shortcuts { max-width:1200px; margin:1.25rem auto 0; padding:0 1.25rem; display:flex; flex-wrap:wrap; gap:.5rem; }
.service-shortcuts a { min-height:44px; display:inline-flex; align-items:center; padding:.65rem 1rem; border:1px solid #d0dce5; border-radius:10px; background:#fff; color:#09243c; text-decoration:none; font-size:.88rem; font-weight:600; }
.service-shortcuts a:hover { background:#fff0e4; border-color:#d9a882; }
.service-shortcuts a:focus-visible { outline:3px solid #bd5000; outline-offset:3px; }
.realisations-section .filter-bar { display:flex; flex-wrap:wrap; justify-content:center; max-width:1200px; overflow:visible; margin-inline:auto; }
.gallery-result-count { text-align:center; color:#526477; font-size:.9rem; margin:1rem 0 1.5rem; }
.realisation-card { aspect-ratio:auto; background:#fff; }
.realisation-card .gallery-link { display:block; height:auto; text-decoration:none; }
.realisation-card img { aspect-ratio:4/3; height:auto; }
.realisation-caption { padding:1.1rem 1.2rem; border-top:1px solid #e3e9ef; }
.realisation-caption .realisation-meta { flex-wrap:wrap; gap:.5rem; }
.realisation-caption .realisation-location { color:#526477; font-size:.75rem; }
.realisation-caption .realisation-service { margin-bottom:0; text-transform:none; letter-spacing:0; border-radius:6px; }
.realisation-caption .realisation-title { color:#09243c; font-family:Manrope,Arial,sans-serif; font-size:1rem; line-height:1.5; margin:.6rem 0 0; }
.realisation-card:hover .realisation-title { color:#914000; }
.gallery-service figcaption { color:#233e55; font-size:.9rem; line-height:1.6; padding:1rem; }
#lightbox { background:#041628f2; gap:1rem; padding:4.5rem 5rem 2rem; }
#lightbox .lightbox-figure { display:flex; flex-direction:column; align-items:center; gap:1rem; margin:0; max-width:100%; min-width:0; }
#lightbox #lightbox-img { max-height:calc(100dvh - 160px); max-width:100%; border-radius:10px; object-fit:contain; }
#lightbox-caption { color:#fff; font-size:.95rem; text-align:center; line-height:1.6; max-width:800px; }
#lightbox button { display:grid; place-items:center; width:48px; height:48px; border:1px solid #6d8499; border-radius:12px; background:#173650; color:#fff; cursor:pointer; font-size:2rem; line-height:1; }
#lightbox-close { position:absolute; right:1rem; top:1rem; }
#lightbox-prev { position:absolute; left:1rem; top:calc(50% - 24px); }
#lightbox-next { position:absolute; right:1rem; top:calc(50% - 24px); }
#lightbox button:hover { background:#ff963e; color:#09243c; }
#lightbox button:focus-visible { outline:3px solid #ffac70; outline-offset:4px; }
#lightbox button:disabled { opacity:.4; cursor:default; background:#173650; color:#fff; }
@media(max-width:600px) { #lightbox { padding:4.5rem 1rem 5rem; } #lightbox-prev,#lightbox-next { top:auto; bottom:1rem; } .realisations-section .filter-bar { justify-content:flex-start; } }
#lightbox #lightbox-img { opacity:1 !important; transform:none !important; transition:none !important; }

/* Les légendes restent lisibles, indépendamment des animations au défilement. */
.realisation-card { margin:0; }
.realisation-caption, .realisation-caption .realisation-title, .gallery figcaption { opacity:1 !important; transform:none !important; }
