.ProductPage{display:flex;flex-direction:column;align-items:center;gap:30px;padding:40px 20px}.ProductPageImageGallery{width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:12px}.ProductPageImageMain{width:100%;max-width:450px;aspect-ratio:1;position:relative;border-width:4px;border-style:groove;border-color:var(--accent-2)}.ProductPageImageMain img{width:100%;height:100%;object-fit:contain;display:block}.ProductPageImageMain:hover .GalleryControls,.ProductPageImageMain .GalleryControls:focus-within{opacity:1}.ProductPageImageMain .GalleryControls{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;pointer-events:none;opacity:0;transition:opacity .2s}.ProductPageImageMain .GalleryControls .GalleryNav{pointer-events:auto;background:var(--primary);border:2px groove var(--accent-2);color:var(--fg);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;opacity:.7}.ProductPageImageMain .GalleryControls .GalleryNav:hover{opacity:1}.ProductPageImageMain .GalleryControls .GalleryCounter{color:var(--fg);font-size:1rem;background:color-mix(in srgb,var(--black) 50%,transparent);padding:4px 10px;border:1px groove var(--accent-2);pointer-events:auto;-webkit-user-select:none;user-select:none}.ProductPageThumbnails{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ProductPageThumbnails .Thumbnail{width:fit-content;height:60px;border:2px groove var(--accent-2);cursor:pointer;padding:0;opacity:.5;transition:opacity .2s}.ProductPageThumbnails .Thumbnail:hover{opacity:.8}.ProductPageThumbnails .Thumbnail.active{opacity:1;border-color:var(--accent-1)}.ProductPageThumbnails .Thumbnail img{width:100%;height:100%;object-fit:contain;display:block}.ProductPageDetails{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:600px}.ProductPageInfo{text-align:center;display:flex;flex-direction:column;gap:12px}.ProductPageCategory{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;color:var(--accent-1);border-bottom:2px groove var(--accent-2);padding-bottom:6px;width:fit-content;margin:0 auto}.ProductPageInfo h1{font-size:2rem;margin:0}.ProductPageInfo p{font-size:1.1rem;margin:0;max-width:450px}.ProductPageButtons{display:flex;flex-direction:row;gap:12px;padding:10px;width:100%;max-width:400px;justify-content:center}
