.pk-product-photo-link { display: block; position: relative; border-radius: 6px; cursor: zoom-in; }
.pk-product-photo-link > .pk-cat-img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; background: #F8FAF8; border-radius: 6px; }
.pk-photo-zoom { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: #292B2C; box-shadow: 0 2px 12px #0002; }
.pk-product-photo-link:hover .pk-photo-zoom { background: #147D42; color: #fff; }
.pk-product-photo-link:focus-visible, .pk-product-thumbnail-link:focus-visible { outline: 3px solid #147D42; outline-offset: 4px; }
.pk-site .pk-photo-viewer:not([open]) { display: none; }
.pk-site .pk-photo-viewer[open] { display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 12px; position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; border-radius: 0; padding: max(72px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); box-sizing: border-box; overflow: hidden; background: transparent; color: #fff; }
.pk-photo-viewer::backdrop { background: rgb(12 16 14 / 94%); }
.pk-photo-viewer [hidden] { display: none !important; }
.pk-photo-stage { min-width: 0; min-height: 0; display: flex; align-items: center; justify-content: center; }
.pk-photo-viewer .pk-photo-full { display: block; width: auto; height: auto; max-width: min(1600px,100%); max-height: 100%; object-fit: contain; border: 0; border-radius: 0; }
.pk-photo-viewer .pk-photo-control { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; min-height: 48px; margin: 0; padding: 0; border: 1px solid #ffffff80; border-radius: 50%; color: #fff; background: #292B2C; cursor: pointer; box-shadow: none; line-height: 1; }
.pk-photo-viewer .pk-photo-control:hover { background: #147D42; color: #fff; }
.pk-photo-viewer .pk-photo-control:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.pk-photo-viewer .pk-photo-close { position: absolute; top: max(12px,env(safe-area-inset-top)); right: max(16px,env(safe-area-inset-right)); z-index: 1; }
.pk-photo-footer { display: flex; align-items: center; justify-content: center; gap: 16px; min-width: 0; }
.pk-photo-viewer .pk-photo-caption { min-width: 0; margin: 0; color: #fff; font-size: 14px; line-height: 1.5; text-align: center; overflow-wrap: anywhere; max-height: 4.5em; overflow-y: auto; }
.pk-photo-viewer .pk-photo-error { color: #fff; text-align: center; }
html.pk-photo-open, html.pk-photo-open body { overflow: hidden; }
@media (max-width: 979px) { .pk-product-photo-link > .pk-cat-img { max-height: 520px; } }
@media (max-width: 600px) { .pk-site .pk-photo-viewer[open] { padding-inline: 12px; } .pk-photo-footer { gap: 10px; } .pk-photo-zoom { right: 10px; bottom: 10px; } }
