/* Module Realisations */
.realisations__list { display: grid; gap: var(--space-5); }
.realisations__card {
  overflow: hidden; background: var(--c-white);
  border: 1px solid var(--c-sky-100); border-radius: var(--radius-lg); box-shadow: var(--shadow);
}
.realisations__media { position: relative; }
.realisations__media--compare { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.realisations__figure { position: relative; }
.realisations__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.realisations__label,
.realisations__illustration {
  position: absolute; padding: 0.15rem 0.6rem; border-radius: 999px;
  background: rgb(15 47 82 / 0.85); color: var(--c-white); font-size: 0.8125rem; font-weight: 600;
}
.realisations__label { top: var(--space-3); left: var(--space-3); }
.realisations__illustration { bottom: var(--space-3); right: var(--space-3); }
.realisations__body { padding: var(--space-5); }
.realisations__details { color: var(--c-text-muted); font-size: var(--fs-sm); margin-top: var(--space-1); }
.realisations__quote { position: relative; margin-top: var(--space-4); padding-left: var(--space-6); font-size: var(--fs-lg); font-style: italic; }
.realisations__quote-icon { position: absolute; left: 0; top: 0.2em; color: var(--c-sky-300); }
.realisations__author { margin-top: var(--space-3); font-weight: 700; color: var(--c-blue-900); }

@media (min-width: 640px) { .realisations__list { grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); } }

/* Galerie « Mes chantiers en images » */
.realisations__gallery-title { margin-top: var(--space-7); margin-bottom: var(--space-4); color: var(--c-blue-700); font-size: var(--fs-lg); }
.realisations__gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.realisations__gallery-item { position: relative; overflow: hidden; border-radius: var(--radius); }
.realisations__gallery-image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.realisations__gallery-caption {
  position: absolute; inset: auto 0 0; padding: var(--space-5) var(--space-3) var(--space-2);
  background: linear-gradient(transparent, rgb(15 47 82 / 0.85)); color: var(--c-white); font-size: 0.8125rem; font-weight: 600; line-height: 1.3;
}
/* Sur mobile, une dernière photo seule sur sa ligne prend toute la largeur */
.realisations__gallery > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.realisations__gallery > li:last-child:nth-child(odd) .realisations__gallery-image { aspect-ratio: 16 / 10; }
@media (min-width: 768px) {
  .realisations__gallery { grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
  .realisations__gallery > li:last-child:nth-child(odd) { grid-column: auto; }
  .realisations__gallery > li:last-child:nth-child(odd) .realisations__gallery-image { aspect-ratio: 4 / 5; }
}
