/* La grille déborde légèrement le conteneur, comme sur la référence
   (contenu 1290px -> grille 1350px, colonnes de 315px, gouttière 30px). */
.shops__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.875rem;
}

/* Le léger débordement de la référence n'est possible que si la fenêtre
   laisse la place à gauche et à droite du conteneur. */
@media (min-width: 84.375em) {
  .shops__grid { margin-inline: -1.875rem; }
}

.shop { background: var(--gl-bg-alt); }

.shop__media { aspect-ratio: 315 / 221; overflow: hidden; }
.shop__media img { width: 100%; height: 100%; object-fit: cover; }

.shop__body { padding: 0.5rem 1.25rem 1.5rem; }

.shop__title { margin-bottom: 0.35em; font-size: var(--gl-fs-h5); line-height: 1.2; }

.shop__list { margin: 0; padding-left: 1.25rem; list-style: disc; }
.shop__list li { margin-bottom: 0.15em; }

@media (max-width: 61.99em) {
  .shops__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 35.99em) {
  .shops__grid { grid-template-columns: 1fr; }
}
