/* Icône — SVG Lucide inline (assets/icons), trait 2, extrémités arrondies, currentColor.
   Quatre tailles : 16, 20, 24, 32 (size/icon-*). Décoratives : aria-hidden="true" ; sinon role="img" + aria-label. */

.icon { display: inline-block; flex: 0 0 auto; width: var(--size-icon-24); height: var(--size-icon-24); color: currentColor; }
.icon--16 { width: var(--size-icon-16); height: var(--size-icon-16); }
.icon--20 { width: var(--size-icon-20); height: var(--size-icon-20); }
.icon--24 { width: var(--size-icon-24); height: var(--size-icon-24); }
.icon--32 { width: var(--size-icon-32); height: var(--size-icon-32); }
.icon--red { color: var(--brandt-red); }

/* Image 1:1 verrouillée (cartes, galerie) : photos en cover, packshots en contain sur fond blanc */
.img-square { aspect-ratio: 1 / 1; width: 100%; overflow: hidden; border-radius: var(--radius-12); background: var(--brandt-light); }
.img-square img { width: 100%; height: 100%; object-fit: cover; }
.img-square--packshot { background: var(--brandt-white); padding: var(--space-12); border-radius: var(--radius-20); }
.img-square--packshot img { object-fit: contain; }
