/* assets/re/re-galerie.css
   Mozaika fotogalerie (převzato z fotogalerie.php beze změny rozvržení).
   R-012: písmo a barvy sjednoceny s webem RE (Manrope, --night, --red). */

.re-galerie{background:var(--night);color:#fff;padding:0 0 60px}
.re-galerie .gallery-page-wrapper{max-width:none;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.re-galerie .re-page-intro{padding-bottom:40px}
.re-galerie .re-page-intro .re-eyebrow{color:var(--red)}
.re-galerie .back-to-overview{display:inline-flex;margin-bottom:26px;color:#fff;border-bottom-color:#ffffff55}
.re-galerie .back-to-overview:hover{color:var(--red)}
.re-galerie .gallery-sub-head{padding:40px var(--gutter) 10px;border-top:1px solid #ffffff1f;margin-top:40px}
.re-galerie .gallery-sub-head .re-eyebrow{margin:0;color:var(--red)}

/* ---------- ALBA: justified mozaika ---------- */
.alb-fullbleed{width:100vw;margin-left:calc(50% - 50vw)}
.alb-masonry{--gap:20px;--row-h:338px;--row-h-mobile:260px;--radius:0px;background:var(--night);padding:0 5vw 28px;overflow-x:hidden}
.alb-masonry .alb-stage{position:relative;width:100%;margin:0 auto}
.alb-masonry .alb-item{position:absolute;left:0;top:0;border-radius:var(--radius);overflow:hidden;background:#242424;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px rgba(0,0,0,.55);transition:transform .18s var(--ease),border-color .18s var(--ease)}
.alb-masonry .alb-item:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.3)}
.alb-masonry .alb-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .32s cubic-bezier(.22,.61,.36,1),filter .32s ease;filter:brightness(.85)}
.alb-masonry .alb-item:hover img{transform:scale(1.05);filter:saturate(1.1) brightness(1.1)}
.alb-masonry .alb-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.85) 80%);color:#fff;padding:15px;font-family:inherit;font-weight:800;font-size:calc(13px + 13*var(--fzd));text-transform:uppercase;letter-spacing:.12em;text-shadow:0 1px 4px rgba(0,0,0,.8)}
@media (max-width:768px){.alb-masonry{--gap:14px;--row-h:var(--row-h-mobile);padding:0 16px 28px}}

/* ---------- FOTKY: justified mozaika + lightbox ---------- */
.egb-fullbleed{width:100vw;margin-left:calc(50% - 50vw)}
.egb-masonry{--gap:20px;--top-gap:0px;--row-h:260px;--row-h-mobile:200px;--radius:0px;--overlay:.9;--safeTop:0px;--vpad:12px;--barH:40px;background:var(--night);padding:0 5vw 28px;overflow-x:hidden}
.egb-masonry .egb-stage{position:relative;width:100%;margin:0 auto;will-change:height}
.egb-masonry .egb-item{position:absolute;left:0;top:0;border-radius:var(--radius);overflow:hidden;background:#242424;border:1px solid rgba(255,255,255,.12);transform:translateZ(0);will-change:transform,width,height;transition:border-color .2s ease;cursor:pointer}
.egb-masonry .egb-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.85);transition:transform .32s cubic-bezier(.22,.61,.36,1),filter .32s ease}
.egb-masonry .egb-item:hover img{transform:scale(1.035) rotate(.6deg);filter:saturate(1.1) brightness(1.1)}
.egb-masonry .egb-item:hover{border-color:rgba(255,255,255,.3)}
.egb-masonry .lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,var(--overlay));z-index:99999;justify-content:flex-start;align-items:center;flex-direction:column;padding:calc(var(--safeTop) + var(--vpad)) 0 var(--vpad);box-sizing:border-box;cursor:zoom-out}
.egb-masonry .lightbox__content{position:relative;width:calc(100vw - 30px);height:calc(100vh - 30px - var(--safeTop) - (2 * var(--vpad)) - var(--barH));display:flex;justify-content:center;align-items:center;margin:0 auto;cursor:auto}
.egb-masonry .lightbox__img{width:100%;height:100%;object-fit:contain;border-radius:0;transition:opacity .25s ease}
.egb-masonry .lightbox__shade{position:absolute;inset:0;background:rgba(0,0,0,.9);pointer-events:none;opacity:0;transition:opacity .35s ease;border-radius:0}
.egb-masonry .lightbox__close{position:fixed;top:calc(10px + var(--safeTop));right:20px;color:var(--red);font-size:42px;line-height:1;cursor:pointer;user-select:none}
.egb-masonry .lightbox__nav{position:fixed;top:calc(50% + var(--safeTop)/2);transform:translateY(-50%);color:#fff;font-size:42px;padding:10px;cursor:pointer;user-select:none}
.egb-masonry .lightbox__nav--prev{left:20px}
.egb-masonry .lightbox__nav--next{right:20px}
.egb-masonry .lightbox__nav:hover{color:var(--red)}
.egb-masonry .lightbox__bar{width:calc(100vw - 30px);max-width:calc(100vw - 30px);display:flex;align-items:center;justify-content:space-between;color:#fff;font-family:inherit;font-size:15px;margin-top:8px;padding:0 4px}
.egb-masonry .lightbox__cap{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:22px;font-family:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.egb-masonry .lightbox__controls{display:flex;align-items:center;gap:10px}
.egb-masonry .lb-btn,.egb-masonry .lb-select{background:#242424;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:0;padding:6px 10px;cursor:pointer;font-family:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.egb-masonry .lb-btn:hover,.egb-masonry .lb-select:focus{border-color:var(--red);outline:none}
@media (max-width:768px){
  .egb-masonry{--gap:14px;--row-h:var(--row-h-mobile);--vpad:10px;padding:0 16px 28px}
  .egb-masonry .lightbox__nav,.egb-masonry .lightbox__close{font-size:36px}
}
