/*
 * 05-gallery.css - Carrusel 3D 'Vivir sin limites': stage, tarjetas, captions y controles.
 * Origen: index.html, <style> #1 (lineas 31-41). Contenido identico al original.
 */
.gallery-wrap{position:relative;padding:34px;border-radius:var(--radius);overflow:hidden}
.gallery-wrap:before{content:"";position:absolute;width:480px;height:280px;left:50%;top:15%;transform:translateX(-50%);background:radial-gradient(circle,rgba(139,113,255,.23),transparent 70%);filter:blur(20px);pointer-events:none}
.gallery-stage{height:610px;position:relative;perspective:1300px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card{position:absolute;width:285px;height:465px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 70px rgba(0,0,0,.42);transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .7s,filter .7s;will-change:transform;cursor:pointer;background:#171925}
.card img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform 1s}.card:hover img{transform:scale(1.05)}
.card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62));pointer-events:none}
.card-info{position:absolute;z-index:2;left:20px;right:20px;bottom:19px;display:flex;justify-content:space-between;align-items:end}
.card-index{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.65)}.card-name{font-family:"Bodoni Moda",serif;font-size:24px}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}
.circle-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);display:grid;place-items:center;cursor:pointer;transition:.35s}.circle-btn:hover{background:rgba(255,255,255,.13);transform:translateY(-2px)}
.progress{display:flex;gap:7px;margin:0 10px}.progress i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.25);transition:.35s}.progress i.active{background:#fff;box-shadow:0 0 14px rgba(255,255,255,.8);transform:scale(1.3)}
