/* Produkt-Medien aus dem CMS (inc/product_media.php) */
.pm { padding: 48px 0; }
.pm__title { font-size: 1.5rem; margin: 0 0 20px; }
.pm__gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.pm__figure, .pm__video { margin: 0; }
.pm__figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; background: #f2f2f2; }
.pm figcaption { font-size: .875rem; color: #555; margin-top: 6px; line-height: 1.4; }
.pm__videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; margin-top: 24px; }
.pm__gallery + .pm__videos { margin-top: 32px; }
.pm__video video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 6px; background: #111; }
.shop-detail__section .pm, .pm--detail { padding: 24px 0 0; }
.pm--detail .container { padding: 0; max-width: none; }
.pm--detail .pm__title { font-size: 1.125rem; }
