/* Generated by tools/build-photo-framing.mjs. Preserve source pixels and aspect ratios.
   Every complete vial occupies 72% of its photo frame, from 14% to 86%. */
:where(.vial-frame) { display: block; position: relative; width: 100%; height: 100%; overflow: hidden; background: #000; }
.d-plate > .vial-frame, .d-thumbs button > .vial-frame { position: absolute; inset: 0; width: 100%; height: 100%; }
.d-thumbs button > span:not(.vial-frame) { z-index: 2; }
.spec-stage .spec-frame { position: absolute; inset: 0; opacity: 0; transition: opacity .9s var(--ease); }
.spec-stage .spec-frame.on { opacity: 1; }
.vial-frame.vial-frame > img { display: block; position: absolute; inset: auto; left: 50%; top: var(--vial-photo-top, 0%); width: auto; height: var(--vial-photo-height, 100%); min-width: 0; max-width: none; max-height: none; margin: 0; object-fit: contain; opacity: 1; transform: translateX(-50%); }
.vial-frame.vial-frame > img.swap { opacity: 0; }
img[src$="drive-7AAC984D-black-cap.webp"] { --vial-photo-height: 105.4173%; --vial-photo-top: -0.7584%; }
img[src$="drive-506F4986-black-cap.webp"] { --vial-photo-height: 112.3245%; --vial-photo-top: -5.3198%; }
img[src$="retatrutide-60-vial-v2-black-cap.webp"] { --vial-photo-height: 111.9751%; --vial-photo-top: -5.2597%; }
img[src$="drive-9C82E21A-black-cap.webp"] { --vial-photo-height: 118.0328%; --vial-photo-top: -8.4262%; }
img[src$="drive-E2831984-black-cap.webp"] { --vial-photo-height: 122.0339%; --vial-photo-top: -11.9932%; }
img[src$="ghk-cu-100-vial-v2-black-cap.webp"] { --vial-photo-height: 121.4165%; --vial-photo-top: -11.6189%; }
img[src$="drive-9B2A1453-black-cap.webp"] { --vial-photo-height: 126.0946%; --vial-photo-top: -14.3713%; }
img[src$="drive-2D70ED4C-black-cap.webp"] { --vial-photo-height: 110.7692%; --vial-photo-top: -3.9446%; }
img[src$="drive-82C8F840-black-cap.webp"] { --vial-photo-height: 113.7441%; --vial-photo-top: -10.2275%; }
img[src$="ss-31-50mg-vial-black-cap.webp"] { --vial-photo-height: 119.4030%; --vial-photo-top: -9.1642%; }
img[src$="klow-80-vial-v2-black-cap.webp"] { --vial-photo-height: 105.7269%; --vial-photo-top: -0.8018%; }
img[src$="semax-10mg-vial.webp"] { --vial-photo-height: 166.2818%; --vial-photo-top: -48.1894%; }
img[src$="selank-10mg-vial-black-cap.webp"] { --vial-photo-height: 158.9404%; --vial-photo-top: -29.8675%; }
img[src$="tesamorelin-10mg-vial-black-cap.webp"] { --vial-photo-height: 177.3399%; --vial-photo-top: -56.7586%; }
img[src$="ipamorelin-10mg-vial-black-cap.webp"] { --vial-photo-height: 165.5172%; --vial-photo-top: -43.6000%; }
img[src$="kpv-30-vial.webp"] { --vial-photo-height: 156.8627%; --vial-photo-top: -20.9804%; }
img[src$="mt2-generated-vial-black-cap.webp"] { --vial-photo-height: 86.2275%; --vial-photo-top: 7.6192%; }
img[src$="cjc-ipa-generated-vial-black-cap.webp"] { --vial-photo-height: 86.4346%; --vial-photo-top: 7.4310%; }
img[src$="recon-solution-30ml-vial-black-cap.webp"] { --vial-photo-height: 105.2632%; --vial-photo-top: -0.5263%; }
img[src$="lp-rt-15mg-black-cap.webp"] { --vial-photo-height: 105.4173%; --vial-photo-top: -0.7584%; }
img[src$="lp-rt-20mg-black-cap.webp"] { --vial-photo-height: 105.4173%; --vial-photo-top: -0.7584%; }
img[src$="lp-rt-30mg-black-cap.webp"] { --vial-photo-height: 111.9751%; --vial-photo-top: -5.2597%; }
img[src$="lp-rt-60mg-black-cap.webp"] { --vial-photo-height: 111.9751%; --vial-photo-top: -5.2597%; }
