[data-holiday-photo] { display: block; width: 100%; height: 100%; cursor: zoom-in; }
[data-holiday-photo][hidden] { display: none; }
.catalog-item-galery [data-holiday-photo] { height: auto; }
[data-holiday-photo]:focus-visible { outline: 3px solid #ff7a18; outline-offset: -4px; }
.holiday-lightbox {
    position: fixed; inset: 0 auto auto 0; box-sizing: border-box; margin: 0 !important;
    transform: none; translate: none; zoom: 1;
    width: 100vw; min-width: 0; height: 100vh; height: 100dvh; max-width: none; max-height: none;
    padding: 80px 88px 72px; border: 0; color: #fff; background: #101318;
    overflow: hidden; color-scheme: dark; resize: none; font: 16px/1.5 sans-serif;
}
.holiday-lightbox::backdrop { background: rgba(0, 0, 0, .9); }
.holiday-lightbox[open] { display: flex; flex-direction: column; }
.holiday-lightbox__toolbar {
    position: absolute; top: max(16px, env(safe-area-inset-top)); left: 24px; right: 24px;
    display: flex; align-items: center; justify-content: space-between;
}
.holiday-lightbox__counter { font: 500 16px/1.5 sans-serif; color: #d2d6dd; }
.holiday-lightbox button {
    display: flex; align-items: center; justify-content: center; width: 48px; height: 48px;
    padding: 0; border: 1px solid #ffffff30; border-radius: 50%; background: #ffffff12;
    color: #fff; font: 32px/1 sans-serif; cursor: pointer; touch-action: manipulation;
}
.holiday-lightbox button:hover { background: #ffffff28; }
.holiday-lightbox button:focus-visible { outline: 3px solid #ff7a18; outline-offset: 4px; }
.holiday-lightbox button[hidden], .holiday-lightbox__photo[hidden] { display: none; }
.holiday-lightbox__stage { display: flex; align-items: center; justify-content: center; flex: 1; min-width: 0; min-height: 0; position: relative; }
.holiday-lightbox__photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; }
.holiday-lightbox__status { position: absolute; text-align: center; color: #d2d6dd; font: 16px/1.5 sans-serif; pointer-events: none; }
.holiday-lightbox__previous, .holiday-lightbox__next { position: absolute; top: 50%; transform: translateY(-50%); }
.holiday-lightbox__previous { left: 20px; }
.holiday-lightbox__next { right: 20px; }
.holiday-lightbox__caption { position: absolute; bottom: max(16px, env(safe-area-inset-bottom)); left: 80px; right: 80px; margin: 0; text-align: center; font: 15px/1.5 sans-serif; max-height: 44px; overflow: auto; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .holiday-lightbox {
        padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    }
    .holiday-lightbox[open] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: 48px minmax(0, 1fr) auto 48px;
        gap: 12px;
    }
    .holiday-lightbox__toolbar { position: static; grid-column: 1 / -1; grid-row: 1; min-width: 0; }
    .holiday-lightbox__stage { grid-column: 1 / -1; grid-row: 2; }
    .holiday-lightbox__caption {
        position: static; grid-column: 1 / -1; grid-row: 3;
        min-width: 0; max-height: 4.5em; font-size: 14px;
    }
    .holiday-lightbox__previous, .holiday-lightbox__next { position: static; grid-row: 4; transform: none; }
    .holiday-lightbox__previous { grid-column: 1; justify-self: start; }
    .holiday-lightbox__next { grid-column: 2; justify-self: end; }
}
