/* ==========================================================
   LANDING LIGHTBOX – společná galerie pro statické landing pages
   ========================================================== */
.lb-zoom { cursor: zoom-in; }
.lb-zoom:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

.lb {
    position: fixed; inset: 0; z-index: 1000;
    display: grid; place-items: center;
    background: rgba(10, 9, 8, .94);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    color: #f4efe6;
    opacity: 0; transition: opacity .35s ease;
    overscroll-behavior: contain; touch-action: none;
    -webkit-tap-highlight-color: transparent;
}
.lb[hidden] { display: none; }
.lb.is-open { opacity: 1; }

.lb__stage {
    margin: 0; width: 100%; height: 100%;
    display: grid; place-items: center;
    padding: 64px 88px 96px; box-sizing: border-box;
}
.lb__img {
    display: block; width: auto; height: auto; object-fit: contain;
    max-width: calc(100vw - 176px); max-height: calc(100vh - 160px); max-height: calc(100dvh - 160px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
    user-select: none; -webkit-user-drag: none;
    transform: scale(.97); transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .4s ease;
}
.lb.is-open .lb__img { transform: none; }
.lb__img.is-loading { filter: blur(2px); }
.lb.is-next .lb__img { animation: lbNext .45s cubic-bezier(.2, .7, .2, 1); }
.lb.is-prev .lb__img { animation: lbPrev .45s cubic-bezier(.2, .7, .2, 1); }
@keyframes lbNext { from { opacity: 0; translate: 28px 0; } }
@keyframes lbPrev { from { opacity: 0; translate: -28px 0; } }

.lb__btn {
    position: absolute; display: grid; place-items: center;
    width: 52px; height: 52px; padding: 0;
    border: 1px solid rgba(244, 239, 230, .28); border-radius: 50%;
    background: rgba(10, 9, 8, .35); color: inherit; cursor: pointer;
    transition: background .25s, border-color .25s, color .25s;
}
.lb__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lb__btn:hover { background: #f4efe6; border-color: #f4efe6; color: #0a0908; }
.lb__btn:focus-visible { outline: 2px solid #f4efe6; outline-offset: 3px; }
.lb__btn[hidden] { display: none; }
.lb__close { top: 18px; right: 18px; }
.lb__prev { left: 22px; top: 50%; margin-top: -26px; }
.lb__next { right: 22px; top: 50%; margin-top: -26px; }

.lb__bar {
    position: absolute; left: 0; right: 0; bottom: 0;
    display: flex; align-items: baseline; gap: 20px;
    padding: 20px 28px 26px;
    font-family: "JetBrains Mono", ui-monospace, Consolas, monospace;
    font-size: 12px; letter-spacing: .08em; line-height: 1.5;
}
.lb__count { flex: none; opacity: .6; font-variant-numeric: tabular-nums; }
.lb__cap { margin: 0; text-transform: uppercase; }

/* vlastní kurzory stránek pod galerií nepatří */
html.lb-open .vh-cursor, html.lb-open .ub-cursor, html.lb-open .sf-cursor, html.lb-open .fa-cursor { opacity: 0 !important; }

@media (max-width: 700px) {
    .lb__stage { padding: 64px 0 112px; }
    .lb__btn { width: 44px; height: 44px; }
    .lb__close { top: 12px; right: 12px; }
    .lb__prev, .lb__next { top: auto; bottom: 18px; margin-top: 0; }
    .lb__prev { left: auto; right: 72px; }
    .lb__next { right: 16px; }
    .lb__bar { flex-direction: column; gap: 4px; padding: 0 140px 20px 16px; font-size: 11px; }
    .lb__img { box-shadow: none; max-width: 100vw; max-height: calc(100vh - 176px); max-height: calc(100dvh - 176px); }
}

@media (prefers-reduced-motion: reduce) {
    .lb, .lb__img { transition: none; }
    .lb .lb__img { transform: none; animation: none !important; }
}
