/* ============================================================
   Centro Oftalmológico de Divinópolis · galeria.css
   CSS específico da página Galeria. Extraído de _original/index_1.html
   (seção .gallery + .lightbox) SEM alterações visuais, mais o bloco de
   CTA final desta página. NÃO duplica nada de css/base.css.
   ============================================================ */

/* ===== GALERIA HORIZONTAL (scroll-snap) ===== */
.gallery{background:var(--paper);overflow:hidden}
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.gal-hint{font-size:.85rem;color:var(--muted);letter-spacing:.04em;display:flex;align-items:center;gap:.5rem}
.gal-rail{display:flex;gap:1.4rem;margin-top:3rem;padding:0 2rem 2rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;cursor:grab}
.gal-rail::-webkit-scrollbar{display:none}
.gal-rail.drag{cursor:grabbing;scroll-snap-type:none}
.gal-card{flex:0 0 clamp(260px,32vw,400px);aspect-ratio:3/4;scroll-snap-align:center;border-radius:10px;overflow:hidden;
  position:relative;background:var(--ink-2);background-size:cover;background-position:center;transition:transform .5s var(--ease);cursor:pointer}
.gal-card:first-child{margin-left:max(2rem,calc((100vw - 1300px)/2 + 2rem))}
.gal-card:hover{transform:translateY(-6px)}
.gal-card .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(242,235,220,.25);font-size:.72rem;letter-spacing:.2em;text-align:center;line-height:2}
.gal-card::after{content:attr(data-label);position:absolute;inset:0;display:flex;align-items:flex-end;padding:1.4rem;color:var(--paper);
  background:linear-gradient(transparent 55%,rgba(10,29,32,.85));font-size:1.05rem;font-family:'Fraunces',serif;opacity:0;transform:translateY(10px);transition:.4s var(--ease)}
.gal-card:hover::after{opacity:1;transform:none}

/* ===== LIGHTBOX ===== */
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(8,20,22,.94);backdrop-filter:blur(8px);display:none;place-items:center;padding:4vw;opacity:0;transition:opacity .35s ease}
.lightbox.open{display:grid;opacity:1}
.lightbox-img{width:70vw;height:80vh;max-width:90vw;max-height:85vh;border-radius:8px;background-size:cover;background-position:center;background-color:var(--ink-2);box-shadow:0 40px 80px -20px rgba(0,0,0,.6);transform:scale(.94);transition:transform .4s var(--ease);display:grid;place-items:center;color:rgba(242,235,220,.3);letter-spacing:.2em}
.lightbox.open .lightbox-img{transform:scale(1)}
.lb-close{position:absolute;top:2rem;right:2rem;width:46px;height:46px;border-radius:50%;border:1px solid rgba(242,235,220,.3);background:none;color:var(--paper);font-size:1.4rem;cursor:pointer;transition:.3s}
.lb-close:hover{background:var(--paper);color:var(--ink);transform:rotate(90deg)}

/* ===== CTA FINAL (específico desta página) ===== */
.gallery-cta{background:var(--cream)}
.gallery-cta-inner{text-align:center;max-width:640px;margin:0 auto}
.gallery-cta-inner .sec-sub{margin:0 auto 2rem;max-width:48ch}
.gallery-cta-inner .btn{margin:0 auto}

/* ===== RESPONSIVO (específico da galeria) ===== */
@media(max-width:680px){
  .gal-card:first-child{margin-left:1.4rem}
}
