/* Quiet, frameless product photography. Controls occupy reserved space outside the fitted image. */
.altx-photo-viewer {
    --pswp-bg: #0d1014;
    --pswp-placeholder-bg: transparent;
    --pswp-icon-color: #f7f8fa;
    --pswp-icon-stroke-width: 0;
    font-family: inherit;
    color: #f7f8fa;
}
html.altx-photo-viewer-open { overflow: hidden; }
.altx-photo-viewer-open body { position: fixed; top: var(--altx-viewer-scroll); left: 0; width: 100%; }
.altx-photo-viewer .pswp__top-bar {
    height: 72px;
    align-items: center;
    padding: 12px 24px;
    gap: 10px;
}
.altx-photo-viewer .pswp__product-name {
    min-width: 0;
    margin-right: auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 14px;
    line-height: 1.5;
    color: #d5dae2;
}
.altx-photo-viewer .pswp__counter {
    flex-shrink: 0;
    margin: 0 14px 0 0;
    height: auto;
    line-height: 24px;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    text-shadow: none;
    opacity: 1;
}
.altx-photo-viewer .pswp__button {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    margin: 0;
    border-radius: 50%;
    background: #222831;
    opacity: 1;
    transition: background-color 160ms ease;
}
.altx-photo-viewer .pswp__button:hover { background: #38414d; }
.altx-photo-viewer .pswp__button:focus-visible { outline: 2px solid #a3c9ff; outline-offset: 4px; }
.altx-photo-viewer .pswp__button:disabled { opacity: .35; }
.altx-photo-viewer .pswp__icn { width: 24px; height: 24px; top: 11px; left: 11px; }
.altx-photo-viewer .pswp__button--close .pswp__icn,
.altx-photo-viewer .pswp__button--zoom .pswp__icn,
.altx-photo-viewer .pswp__button--arrow .pswp__icn {
    fill: none;
    color: #f7f8fa;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.altx-photo-viewer .pswp__button--arrow {
    width: 56px;
    height: 56px;
    top: 50%;
    margin-top: -28px;
    visibility: visible;
}
.altx-photo-viewer .pswp__button--arrow--prev { left: 28px; }
.altx-photo-viewer .pswp__button--arrow--next { right: 28px; }
.altx-photo-viewer .pswp__button--arrow .pswp__icn { width: 28px; height: 28px; top: 14px; left: 14px; margin: 0; }
.altx-photo-viewer .pswp__button--arrow--next .pswp__icn { right: auto; }
.altx-photo-viewer .pswp__preloader { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; }
.altx-photo-viewer .pswp__hint {
    position: absolute;
    bottom: 22px;
    left: 112px;
    right: 112px;
    text-align: center;
    font-size: 12px;
    line-height: 20px;
    color: #b1bac8;
    pointer-events: none;
}
.altx-photo-viewer .pswp__img { border: 0; border-radius: 0; box-shadow: none; }
.altx-photo-viewer .pswp__error-msg { max-width: 32ch; padding: 20px; text-align: center; font-size: 16px; line-height: 1.6; }
@media (max-width: 767px) {
    .altx-photo-viewer .pswp__top-bar { height: 72px; padding: max(12px, env(safe-area-inset-top)) 12px 12px; gap: 8px; }
    .altx-photo-viewer .pswp__product-name { font-size: 12px; }
    .altx-photo-viewer .pswp__counter { margin-right: 0; font-size: 13px; }
    .altx-photo-viewer .pswp__button--arrow { top: auto; bottom: max(24px, env(safe-area-inset-bottom)); margin: 0; width: 48px; height: 48px; }
    .altx-photo-viewer .pswp__button--arrow--prev { left: calc(50% - 60px); }
    .altx-photo-viewer .pswp__button--arrow--next { right: calc(50% - 60px); }
    .altx-photo-viewer .pswp__button--arrow .pswp__icn { top: 10px; left: 10px; }
    .altx-photo-viewer .pswp__hint { display: none; }
}
@media (pointer: coarse) { .altx-photo-viewer .pswp__hint { display: none; } }
@media (prefers-reduced-motion: reduce) { .altx-photo-viewer .pswp__button { transition: none; } }
