html.catalog-lightbox-open, html.catalog-lightbox-open body { overflow: hidden !important; }
.catalog-lightbox { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; padding: 0; margin: 0; border: 0; background: rgb(17 17 20 / 82%); color: #fff; font-family: var(--main-font, sans-serif); overflow: hidden; }
.catalog-lightbox::backdrop { background: transparent; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.catalog-lightbox:not([open]), .catalog-lightbox [hidden] { display: none !important; }
.catalog-lightbox * { box-sizing: border-box; }
.catalog-lightbox button, .catalog-lightbox a { -webkit-tap-highlight-color: transparent; }
.catalog-lightbox button { font: inherit; cursor: pointer; }
.catalog-lightbox button:disabled { opacity: .35; cursor: default; }
.catalog-lightbox svg { width: 24px; height: 24px; flex-shrink: 0; }
.catalog-lightbox__stage { position: absolute; inset: 88px 76px 44px; display: flex; align-items: center; justify-content: center; touch-action: pan-y pinch-zoom; }
.catalog-lightbox__stage img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; }
.catalog-lightbox__heading { position: absolute; top: 22px; left: 24px; max-width: min(35%, 440px, calc(100% - 720px)); display: flex; flex-direction: column; gap: 6px; z-index: 1; line-height: 1.35; }
.catalog-lightbox__heading a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; color: #fff; text-decoration: none; }
.catalog-lightbox__heading strong { font-size: 16px; font-weight: 500; }
.catalog-lightbox__heading [data-price] { font-size: 14px; color: #f4a6d0; }
.catalog-lightbox__heading [data-counter] { font-size: 12px; color: #a6a4ad; }
.catalog-lightbox__close, .catalog-lightbox__prev, .catalog-lightbox__next { position: absolute; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #ffffff24; border-radius: 50%; background: #242429; color: #fff; z-index: 2; padding: 0; }
.catalog-lightbox__close { top: 18px; right: 18px; }
.catalog-lightbox__prev { top: calc(50% - 22px); left: 16px; }
.catalog-lightbox__next { top: calc(50% - 22px); right: 16px; }
.catalog-lightbox__actions { position: absolute; top: 18px; right: 76px; display: flex; gap: 8px; z-index: 2; }
.catalog-lightbox__actions button, .catalog-lightbox__actions a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 12px; border: 1px solid #ffffff24; border-radius: 12px; background: #242429; color: #fff; font-size: 12px; text-decoration: none; }
.catalog-lightbox__actions [data-product-page] { background: #168447; border-color: #168447; }
.catalog-lightbox__actions [data-product-page]:hover { background: #126d3a; border-color: #126d3a; }
.catalog-lightbox__actions [data-cart] { background: #ed1687; border-color: #ed1687; }
.catalog-lightbox__actions [aria-pressed="true"] { color: #ff5daf; }
.catalog-lightbox__actions [aria-pressed="true"] svg { fill: currentColor; }
.catalog-lightbox :is(button,a,select):focus-visible { outline: 2px solid #ff81c2; outline-offset: 3px; }
.catalog-lightbox__status { position: absolute; bottom: 8px; left: 76px; right: 76px; margin: 0; text-align: center; font-size: 13px; color: #fff; z-index: 2; }
.catalog-lightbox__variants { position: absolute; top: 76px; right: 76px; z-index: 3; display: flex; flex-direction: column; gap: 12px; padding: 20px; width: min(360px, calc(100% - 32px)); border-radius: 16px; background: #fff; color: #20232b; box-shadow: 0 15px 60px #0008; }
.catalog-lightbox__variants label { display: grid; gap: 8px; }
.catalog-lightbox__variants select, .catalog-lightbox__variants button { min-height: 44px; border: 1px solid #e4dae0; border-radius: 8px; padding: 8px; font-size: 16px; }
.catalog-lightbox__variants button[type="submit"] { background: #ed1687; color: #fff; border: 0; }
@media (max-width: 1000px) {
 .catalog-lightbox__actions { top: auto; bottom: 0; left: 0; right: 0; justify-content: center; gap: 6px; padding: 10px 12px max(12px, env(safe-area-inset-bottom)); background: rgb(25 25 30 / 75%); }
 .catalog-lightbox__actions button, .catalog-lightbox__actions a { flex: 1; max-width: 150px; min-width: 0; flex-direction: column; gap: 5px; padding: 10px 4px; font-size: 10px; }
 .catalog-lightbox__actions span { min-height: 24px; line-height: 1.2; text-align: center; }
 .catalog-lightbox__heading { top: max(16px, env(safe-area-inset-top)); left: 16px; right: 72px; max-width: none; }
 .catalog-lightbox__heading strong { font-size: 14px; }
 .catalog-lightbox__close { top: max(14px, env(safe-area-inset-top)); right: 12px; }
 .catalog-lightbox__stage { inset: calc(86px + env(safe-area-inset-top)) 0 calc(132px + env(safe-area-inset-bottom)); }
 .catalog-lightbox__prev, .catalog-lightbox__next { width: 36px; height: 44px; border-radius: 8px; background: #16161a99; }
 .catalog-lightbox__prev { left: 6px; } .catalog-lightbox__next { right: 6px; }
 .catalog-lightbox__status { bottom: calc(108px + env(safe-area-inset-bottom)); left: 12px; right: 12px; font-size: 12px; }
 .catalog-lightbox__variants { top: auto; bottom: calc(108px + env(safe-area-inset-bottom)); right: 16px; max-height: calc(100dvh - 180px); overflow: auto; }
}

.catalog-lightbox__neighbor { display: none; }
@media (min-width: 1001px) {
 .catalog-lightbox__stage > [data-image] { position: relative; z-index: 1; width: 54%; height: 90%; }
 .catalog-lightbox__neighbor { position: absolute; top: 15%; bottom: 15%; display: flex; align-items: center; justify-content: center; width: 24%; padding: 0; border: 0; background: transparent; opacity: .5; transition: opacity .2s ease, transform .2s ease; }
 .catalog-lightbox__neighbor--prev { left: 0; transform: perspective(900px) rotateY(12deg) scale(.94); }
 .catalog-lightbox__neighbor--next { right: 0; transform: perspective(900px) rotateY(-12deg) scale(.94); }
 .catalog-lightbox__neighbor img { width: 100%; height: 100%; object-fit: contain; filter: blur(5px); pointer-events: none; }
 .catalog-lightbox__neighbor:hover { opacity: .75; transform: scale(.98); }
}
@media (prefers-reduced-motion: reduce) {
 .catalog-lightbox__neighbor { transition: none; }
}

.catalog-lightbox__stage.is-carousel-animating > [data-image],
.catalog-lightbox__stage.is-carousel-animating > .catalog-lightbox__neighbor { visibility: hidden; }
.catalog-lightbox__stage > .catalog-lightbox__ghost { position: absolute; max-width: none; max-height: none; object-fit: contain; transform-origin: top left; pointer-events: none; z-index: 2; }
