/* Pasta House – lightbox (galéria + étlapfotók) */
html{scrollbar-gutter:stable}
body.lb-open{overflow:hidden}
.lb{position:fixed;inset:0;z-index:1000;display:grid;color:#EFE7DC;
  grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto auto;
  font-family:"DM Sans",system-ui,sans-serif;--lb-fade:1}
.lb[hidden]{display:none}
.lb__backdrop{position:absolute;inset:0;background:rgba(17,13,14,.9);opacity:0;transition:opacity .35s ease;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lb__ambient{position:absolute;inset:-12%;background:center/cover no-repeat;filter:blur(70px) saturate(1.5);
  opacity:0;transform:scale(1.1);transition:opacity .6s ease,background-image .4s ease;pointer-events:none}
.lb.is-on .lb__backdrop{opacity:calc(1 * var(--lb-fade))}
.lb.is-on .lb__ambient{opacity:calc(.42 * var(--lb-fade))}
.lb__top,.lb__stage,.lb__caption,.lb__strip,.lb__nav{position:relative;z-index:1}
.lb__top,.lb__caption,.lb__strip,.lb__nav{opacity:0;transition:opacity .3s ease .12s}
.lb.is-on .lb__top,.lb.is-on .lb__caption,.lb.is-on .lb__strip,.lb.is-on .lb__nav{opacity:calc(1 * var(--lb-fade))}

.lb__top{display:flex;justify-content:space-between;align-items:center;padding:max(.9rem,env(safe-area-inset-top)) 1.1rem .4rem}
.lb__count{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.8rem;letter-spacing:.08em;opacity:.75}
.lb__actions{display:flex;gap:.5rem}
.lb__btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#EFE7DC;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .2s,transform .2s,border-color .2s}
.lb__btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
.lb__btn:active{transform:scale(.94)}
.lb__btn svg{width:22px;height:22px}
.lb__btn:focus-visible,.lb__thumb:focus-visible,.lb__link:focus-visible{outline:3px solid #F4D257;outline-offset:3px}
.lb__zoom[aria-pressed=true]{background:#F4D257;color:#231F20;border-color:#F4D257}

.lb__stage{display:flex;align-items:center;justify-content:center;padding:.4rem clamp(1rem,7vw,6.5rem);
  min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.lb__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06);
  transition:transform .35s cubic-bezier(.16,1,.3,1);cursor:zoom-in;will-change:transform;background:#2a2325}
.lb.is-zoomed .lb__img{cursor:grab;transition:none}
.lb.is-zoomed .lb__stage{overflow:visible}

.lb__nav{position:absolute;top:50%;transform:translateY(-50%)}
.lb__nav--prev{left:clamp(.6rem,2vw,1.6rem)}
.lb__nav--next{right:clamp(.6rem,2vw,1.6rem)}
.lb__nav:active{transform:translateY(-50%) scale(.94)}
.lb.is-zoomed .lb__nav{opacity:0;pointer-events:none}

.lb__caption{text-align:center;padding:.9rem 1.2rem .3rem;max-width:760px;margin-inline:auto;width:100%}
.lb__kicker{display:block;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:#F4D257;margin-bottom:.35rem}
.lb__title{font-family:"Fraunces",Georgia,serif;font-weight:800;font-size:clamp(1.35rem,1.1rem + 1.2vw,2.1rem);
  line-height:1.1;letter-spacing:-.01em;color:#fff;margin:0}
.lb__sub{margin:.45rem auto 0;font-size:.92rem;opacity:.78;max-width:60ch}
.lb__link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.82rem;font-weight:700;
  color:#F4D257;text-decoration:none;border-bottom:1px solid rgba(244,210,87,.4);padding-bottom:1px}
.lb__link:hover{border-bottom-color:#F4D257}
.lb__link::after{content:"→"}
.lb__kicker[hidden],.lb__sub[hidden],.lb__link[hidden],.lb__strip[hidden],.lb__nav[hidden]{display:none}

.lb__strip{display:flex;gap:.5rem;overflow-x:auto;padding:.8rem 1rem max(1rem,env(safe-area-inset-bottom));
  justify-content:safe center;scrollbar-width:none}
.lb__strip::-webkit-scrollbar{display:none}
.lb__thumb{flex:none;width:58px;height:58px;border-radius:12px;overflow:hidden;padding:0;cursor:pointer;
  border:2px solid transparent;opacity:.5;transition:opacity .2s,border-color .2s,transform .2s;background:#2a2325}
.lb__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lb__thumb:hover{opacity:.85}
.lb__thumb.is-active{opacity:1;border-color:#F4D257;transform:translateY(-2px)}

@media (max-width:640px){
  .lb__stage{padding:.2rem .5rem}
  .lb__nav{display:none}
  .lb__btn{width:42px;height:42px}
  .lb__thumb{width:46px;height:46px;border-radius:10px}
  .lb__img{border-radius:10px}
}
@media (prefers-reduced-motion:reduce){
  .lb__backdrop,.lb__ambient,.lb__top,.lb__caption,.lb__strip,.lb__nav,.lb__img,.lb__thumb{transition:none}
}
