/* =====================================================================
   lightbox.css — Lightbox compartilhado (zoom de miniatura para tela cheia)
   Usado em: index.html (Mural do Estúdio, Deck de Artistas), modulo.html (Galeria de referência)
   Preserva a proporção original de cada imagem (sem cropar): .lb-img usa
   width/height:auto com max-width/max-height, nunca object-fit:cover.
   ===================================================================== */

  /* ===== Lightbox (Mural do Estúdio + Artes dos alunos) ===== */
  .lb{position:fixed;inset:0;z-index:300;visibility:hidden;transition:visibility 0s .5s;}
  .lb.is-open{visibility:visible;transition:visibility 0s;}
  .lb-bg{position:absolute;inset:0;opacity:0;transition:opacity .4s;background:radial-gradient(70% 55% at 50% 100%,rgba(191,151,6,.22),transparent 70%),rgba(11,13,18,.93);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
  .lb.is-open .lb-bg{opacity:1;}
  .lb-fig{position:absolute;inset:0;margin:0;padding:76px 88px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none;}
  .lb-frame{pointer-events:auto;position:relative;border-radius:14px;overflow:hidden;background:var(--vibranium);touch-action:pan-y;
    box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1);}
  .lb-frame.is-loading{opacity:0;}
  .lb-img{display:block;width:auto;height:auto;max-width:calc(100vw - 176px);max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);border-radius:0;-webkit-user-drag:none;}
  .lb-miss{display:none;}
  .lb-frame.is-miss .lb-img{display:none;}
  .lb-frame.is-miss .lb-miss{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:min(calc(100vw - 176px),720px);aspect-ratio:4/3;max-height:calc(100dvh - 190px);
    color:rgba(233,198,75,.8);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:radial-gradient(120% 120% at 30% 20%,rgba(191,151,6,.3),transparent 60%),linear-gradient(160deg,#221c10,var(--noturna));}
  .lb-miss svg{width:54px;height:54px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
  .lb-fig figcaption{pointer-events:auto;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .4s .25s,transform .4s .25s;}
  .lb.is-open .lb-fig figcaption{opacity:1;transform:none;}
  .lb-fig figcaption strong{display:block;font-family:var(--font-display);font-size:1.1rem;color:var(--branco);}
  .lb-fig figcaption span{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mango-100);}
  .lb-count{position:absolute;top:34px;left:28px;z-index:2;font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.14em;color:var(--mango-100);}
  .lb-btn{position:absolute;z-index:2;width:48px;height:48px;padding:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--branco);
    border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    opacity:0;transition:opacity .4s .15s,background .2s,transform .2s;}
  .lb.is-open .lb-btn{opacity:1;}
  .lb-btn:hover{background:rgba(191,151,6,.55);transform:scale(1.08);}
  .lb-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .lb-close{top:20px;right:22px;} .lb-nav{top:50%;margin-top:-24px;} .lb-prev{left:22px;} .lb-next{right:22px;}
  .lb.is-single .lb-nav{display:none;}
  @media (max-width:720px){
    .lb-fig{padding:68px 16px 96px;}
    .lb-img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 250px);}
    .lb-frame.is-miss .lb-miss{width:calc(100vw - 32px);}
    .lb-nav{top:auto;bottom:24px;margin:0;} .lb-prev{left:22px;} .lb-next{right:22px;}
  }
