.lb{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;
  gap:18px;padding:22px 22px 20px;
  background:radial-gradient(120% 120% at 50% 40%,rgba(40,38,30,.86) 0%,rgba(18,20,14,.97) 100%);
  backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px) saturate(1.05);
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.lb.open{opacity:1;visibility:visible;transition:opacity .4s ease}
body.lb-lock{overflow:hidden}

/* Info: licznik + nazwa zdjęcia w jednej linii (pod zdjęciem) */
.lb-info{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  max-width:min(1200px,94vw);min-height:20px}
.lb-info-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lb-sep{flex:0 0 auto;width:1px;height:15px;background:rgba(240,237,223,.22)}
.lb-counter{font-family:'Inter',sans-serif;font-weight:500;font-size:14px;letter-spacing:3px;color:#e9e5d7}
.lb-counter b{color:#AB8441;font-weight:600}
.lb-dot{color:#6f6a59}
/* Podpowiedź skrótów klawiaturowych */
.lb-keys{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  color:#8f8a78;font-family:'Inter',sans-serif;font-size:12.5px}
.lb-keys span{display:inline-flex;align-items:center;gap:6px}
.lb-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;
  border:1px solid rgba(240,237,223,.28);border-radius:6px;background:rgba(240,237,223,.06);
  font-family:'Inter',sans-serif;font-size:11px;line-height:1;color:#e9e5d7}

/* Scena (dwie warstwy obrazu -> crossfade) */
.lb-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);
  place-items:center;width:min(1200px,94vw);flex:1 1 auto;min-height:0}
.lb-img{grid-area:1/1;max-width:100%;max-height:100%;min-width:0;min-height:0;width:auto;height:auto;
  object-fit:contain;border-radius:18px;background:#2f3327;
  box-shadow:0 44px 120px rgba(0,0,0,.62),0 0 0 1px rgba(240,237,223,.06);
  opacity:0;transform:scale(.96);
  transition:opacity .5s ease,transform .6s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.lb-loader{position:absolute;width:42px;height:42px;border:3px solid rgba(240,237,223,.22);
  border-top-color:#AB8441;border-radius:50%;opacity:0;transition:opacity .2s ease;pointer-events:none;
  animation:lb-spin .8s linear infinite}
.lb.loading .lb-loader{opacity:1}
@keyframes lb-spin{to{transform:rotate(360deg)}}

/* Podpis (w jednej linii z licznikiem) */
.lb-caption{color:#cfc9b8;font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.2px;text-align:center}

/* Miniaturki (filmstrip) */
.lb-thumbs{flex:0 0 auto;display:flex;gap:10px;overflow-x:auto;max-width:min(1200px,94vw);
  padding:6px 2px;scrollbar-width:none;scroll-behavior:smooth}
.lb-thumbs::-webkit-scrollbar{display:none}
.lb-thumb{flex:0 0 auto;width:76px;height:52px;border-radius:9px;overflow:hidden;cursor:pointer;padding:0;
  border:2px solid transparent;background:#2f3327;opacity:.5;
  transition:opacity .25s ease,border-color .25s ease,transform .25s ease}
.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lb-thumb:hover{opacity:.9}
.lb-thumb.is-active{opacity:1;border-color:#AB8441;transform:translateY(-3px)}

/* Kontrolki (frosted glass) */
.lb-btn{position:fixed;z-index:2;width:54px;height:54px;border-radius:50%;border:1px solid rgba(240,237,223,.28);
  background:rgba(240,237,223,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:#f0eddf;display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .3s ease}
.lb-btn:hover{background:#AB8441;border-color:#AB8441;color:#fff}
.lb-btn:focus-visible{outline:2px solid #AB8441;outline-offset:3px}
.lb-btn svg{width:22px;height:22px}
.lb-close{top:24px;right:28px}
.lb-close:hover{transform:rotate(90deg)}
.lb-prev{left:28px;top:calc(50% - 40px);transform:translateY(-50%)}
.lb-next{right:28px;top:calc(50% - 40px);transform:translateY(-50%)}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.08)}

.gallery-grid a{cursor:zoom-in}

@media(max-width:640px){
  .lb{padding:14px 12px}
  .lb-btn{width:44px;height:44px}.lb-btn svg{width:18px;height:18px}
  .lb-close{top:12px;right:14px}
  .lb-prev{left:8px;top:calc(50% - 46px)}.lb-next{right:8px;top:calc(50% - 46px)}
  .lb-thumb{width:60px;height:42px}
  .lb-counter{font-size:13px;letter-spacing:3px}
  .lb-keys,.lb-sep{display:none}
  .lb-info{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .lb-img{transition:opacity .3s ease}
  .lb-close:hover{transform:none}
  .lb-prev:hover,.lb-next:hover{transform:translateY(-50%)}
}
