/* ============================================
   GALLERY.CSS — Galería + lightbox (estilo final)
   ============================================ */

.gallery{background:var(--paper);padding:64px 0 72px}

/* Carrusel */
.gallery-carousel{position:relative}
.gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 26px;-ms-overflow-style:none;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}

.gallery-placeholder{flex:1 1 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:70px 20px;background:#fff;border:2px dashed var(--line);border-radius:18px;color:#7a93ad;font-weight:700}
.gallery-placeholder svg{width:46px;height:46px;color:var(--azure);opacity:.6}

.gallery-carousel-nav{display:flex;justify-content:center;gap:14px;margin-top:6px}
.gallery-nav-btn{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--azure);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(8,28,51,.08);transition:.2s}
.gallery-nav-btn:hover{background:var(--azure);color:#fff;border-color:var(--azure)}
.gallery-nav-btn svg{width:20px;height:20px}
.gallery-nav-btn:disabled{opacity:.35;pointer-events:none}

.gallery-item{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;position:relative;border-radius:18px;overflow:hidden;cursor:pointer;aspect-ratio:16/9;background:#dce8f3;box-shadow:0 2px 10px rgba(8,28,51,.06);transition:.25s}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(8,28,51,.14)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item-overlay{position:absolute;inset:0;background:rgba(8,28,51,.4);opacity:0;transition:.25s;display:flex;align-items:center;justify-content:center;color:#fff}
.gallery-item-overlay svg{width:22px;height:22px}
.gallery-item:hover .gallery-item-overlay{opacity:1}

/* ── Lightbox ── */
.lightbox{position:fixed;inset:0;background:rgba(5,15,29,.92);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.active{display:flex}
.lightbox-img{max-width:88vw;max-height:85vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox button{position:absolute;color:#fff;background:rgba(47,127,212,.25);border:1px solid rgba(159,208,245,.35);border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;transition:.2s}
.lightbox button:hover{background:var(--azure)}
.lightbox button svg{width:22px;height:22px}
.lightbox-close{top:22px;right:22px}
.lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:22px;top:50%;transform:translateY(-50%)}
