.live-product-media.product-gallery { display: flex; flex-direction: column; min-width: 0; gap: 12px; min-height: 0; }
.product-gallery-main { position: relative; display: block; width: 100%; aspect-ratio: 1; min-width: 0; cursor: zoom-in; }
.product-gallery-main img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: 100%; min-height: 0; object-fit: contain; }
.product-gallery-navigation { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; }
.product-gallery-navigation button { width: 36px; height: 36px; border: 1px solid #cfd9cd; border-radius: 6px; background: #fff; color: #204f2b; cursor: pointer; font-size: 20px; }
.product-gallery-thumbnails { display: flex; gap: 8px; width: 100%; overflow-x: auto; padding: 4px; box-sizing: border-box; }
.product-gallery-thumbnails button { flex: 0 0 64px; width: 64px; height: 64px; padding: 3px; border: 1px solid #cfd9cd; border-radius: 6px; background: #fff; cursor: pointer; }
.product-gallery-thumbnails button[aria-pressed="true"] { border: 2px solid #28763b; }
.product-gallery-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery button:focus-visible, .product-gallery-main:focus-visible { outline: 3px solid #28763b; outline-offset: 2px; }
.product-gallery-dialog { width: min(1100px, calc(100% - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 12px; border: 1px solid #cfd9cd; border-radius: 8px; box-sizing: border-box; }
.product-gallery-dialog::backdrop { background: rgb(0 0 0 / 70%); }
.product-gallery-dialog img { display: block; width: 100%; height: min(75dvh, 850px); object-fit: contain; }
.product-gallery-dialog .product-gallery-navigation { justify-content: space-between; }
.product-gallery-dialog button { min-width: 40px; }
.product-gallery-dialog [data-gallery-close] { margin-left: auto; }
.product-photo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
