.isolani-product-photos { position: relative; }
.isolani-photo-filters { position: absolute; }
.isolani-photo-frame { display: block; position: relative; aspect-ratio: 1.9; overflow: hidden; background: #fff; }
.isolani-photo-frame > img { position: absolute; width: var(--photo-width); max-width: none; height: auto; left: var(--photo-x); top: var(--photo-y); filter: var(--photo-filter, none); }
.isolani-photo-zoom, .isolani-photo-actions button { display: inline-grid; place-items: center; width: 44px; height: 44px; color: #172b35; background: #fff; border: 1px solid #697782; font-size: 20px; }
.isolani-photo-zoom { position: absolute; right: 6px; bottom: 6px; }
.isolani-photo-thumbs { display: flex; gap: 8px; margin-top: 8px; }
.isolani-photo-thumbs button { flex: 0 1 116px; min-height: 44px; border: 1px solid #d6dcdf; padding: 0; }
.isolani-photo-thumbs button[aria-pressed="true"] { border-color: #172b35; }
.isolani-product-photos :focus-visible { outline: 2px solid #172b35; outline-offset: 2px; }
.isolani-photo-dialog { margin: auto; padding: 12px; width: min(94vw, 940px); max-width: none; border: 1px solid #697782; }
.isolani-photo-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.isolani-photo-actions { display: flex; gap: 8px; justify-content: end; margin-bottom: 6px; }
.isolani-photo-viewport { overflow: auto; max-height: min(74vh, 540px); background: #fff; }
.isolani-photo-viewport > .isolani-photo-frame { margin-inline: auto; }
