.store-product-gallery { min-width:0; }
.store-gallery-viewport { display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; border:1px solid var(--store-border); border-radius:var(--store-radius); background:#fff; overflow:hidden; touch-action:pan-y; }
.store-gallery-main { display:flex; align-items:center; justify-content:center; width:100%; height:100%; cursor:zoom-in; }
.store-gallery-main img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.store-gallery-navigation { display:flex; justify-content:center; align-items:center; gap:16px; margin:16px 0; }
.store-gallery-navigation button,.store-gallery-close { min-width:44px; min-height:44px; border:1px solid var(--store-border); border-radius:10px; color:var(--store-green-dark); background:#fff; font:inherit; font-weight:800; cursor:pointer; }
.store-gallery-thumbnails { display:flex; gap:10px; padding:4px 2px 12px; overflow-x:auto; }
.store-gallery-thumbnail { display:flex; align-items:center; justify-content:center; width:76px; height:76px; flex:0 0 76px; padding:5px; border:2px solid var(--store-border); border-radius:10px; background:#fff; cursor:pointer; }
.store-gallery-thumbnail img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.store-gallery-thumbnail[aria-pressed=true] { border-color:var(--store-green); box-shadow:0 0 0 2px #dceee3; }
.store-product-gallery button:focus-visible,.store-gallery-main:focus-visible { outline:3px solid var(--store-green); outline-offset:3px; }
.store-gallery-lightbox { max-width:94vw; width:1000px; max-height:94dvh; padding:24px; border:0; border-radius:16px; background:#fff; box-sizing:border-box; }
.store-gallery-lightbox::backdrop { background:rgba(0,18,12,.85); }
.store-gallery-lightbox-image { display:flex; align-items:center; justify-content:center; min-height:200px; }
.store-gallery-lightbox-image img { max-width:100%; max-height:72dvh; width:auto; height:auto; object-fit:contain; }
.store-gallery-close { display:block; margin:0 0 10px auto; font-size:1.5rem; }
.store-product-gallery [hidden] { display:none !important; }
@media(max-width:1024px) { .store-product-detail__grid { gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
@media(max-width:767px) { .store-product-detail__grid { grid-template-columns:minmax(0,1fr); } .store-gallery-lightbox { padding:12px; } .store-gallery-thumbnail { width:64px; height:64px; flex-basis:64px; } }
