/* ═════════ Galería 3D de fotos (efecto carrusel de portadas) ═════════ */
.galeria{--ancho:min(64vw,900px);position:relative}
.gal-escena{position:relative;perspective:1600px;perspective-origin:50% 40%}
.gal-pista{padding:34px calc((100vw - var(--ancho)) / 2) 46px;gap:0;perspective:1400px;perspective-origin:50% 45%}
.gal-foto{flex:0 0 var(--ancho);aspect-ratio:16/10;margin:0 -2.5%;border-radius:28px;
  transform:translateZ(-260px) rotateY(0) scale(.9);opacity:.7;filter:saturate(.7) brightness(.75);z-index:1;
  transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s,filter .9s,box-shadow .9s;
  box-shadow:0 30px 60px -30px rgba(20,24,30,.6);-webkit-box-reflect:below 14px linear-gradient(transparent 75%,rgba(255,255,255,.18))}
.gal-foto.izq{transform:translateZ(-220px) rotateY(32deg) scale(.88);transform-origin:100% 50%}
.gal-foto.der{transform:translateZ(-220px) rotateY(-32deg) scale(.88);transform-origin:0 50%}
.gal-foto.lejos{opacity:.3}
.gal-foto.activa{transform:translateZ(0) rotateY(0) scale(1);opacity:1;filter:none;z-index:3;
  box-shadow:0 50px 90px -34px rgba(20,24,30,.65),0 0 0 1px rgba(255,255,255,.85),0 0 80px -12px rgba(155,224,106,.6)}
.gal-foto.activa img{animation:acerca 7s ease-out forwards}
.gal-brillo{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .6s;
  background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.45) 45%,rgba(255,255,255,0) 60%);background-size:250% 100%;background-position:120% 0}
.gal-foto.activa .gal-brillo{opacity:1;animation:barre 1.6s .25s ease-out both}
@keyframes barre{to{background-position:-60% 0}}
/* marco de luz animado en la foto activa */
.gal-foto:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;z-index:2;pointer-events:none;opacity:0;transition:opacity .6s;
  background:conic-gradient(from var(--giro,0deg),var(--verde-luz),transparent 25%,transparent 50%,var(--verde-luz) 75%,transparent);animation:gira 5s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.gal-foto.activa:before{opacity:1}
.gal-btn.prev{left:calc((100vw - var(--ancho))/2 - 34px)}
.gal-btn.next{right:calc((100vw - var(--ancho))/2 - 34px)}
.gal-btn{width:64px;height:64px;top:calc(50% - 36px);background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #fff}
.gal-pie{width:var(--ancho);margin:6px auto 0}
.gal-pausa{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:4px;background:#fff;box-shadow:var(--luz)}
.gal-pausa i{width:3px;height:12px;border-radius:2px;background:var(--grafito)}
.gal-pausa.parada i:first-child{width:0;height:0;border-left:11px solid var(--grafito);border-top:7px solid transparent;border-bottom:7px solid transparent;background:none;border-radius:0}
.gal-pausa.parada i:last-child{display:none}
.gal-minis{display:flex;gap:10px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;width:var(--ancho);margin:18px auto 0;padding:6px 4px 10px}
.gal-minis::-webkit-scrollbar{display:none}
.gal-mini{flex:0 0 92px;height:62px;border-radius:12px;overflow:hidden;opacity:.5;filter:grayscale(.6);transition:opacity .3s,filter .3s,transform .3s,box-shadow .3s;box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.gal-mini img{width:100%;height:100%;object-fit:cover}
.gal-mini.activa{opacity:1;filter:none;transform:translateY(-3px);box-shadow:0 0 0 2px var(--verde),0 0 20px rgba(155,224,106,.7)}
@media (hover:hover){.gal-mini:hover{opacity:1;filter:none}.gal-pausa:hover{box-shadow:0 0 0 3px rgba(155,224,106,.35),0 0 20px rgba(155,224,106,.7)}}
@media (max-width:760px){
  .galeria{--ancho:84vw}
  .gal-pista{padding:22px 8vw 34px}
  .gal-foto{margin:0 -3%;aspect-ratio:4/3;border-radius:20px;-webkit-box-reflect:unset}
  .gal-foto.izq,.gal-foto.der{transform:translateZ(-160px) scale(.86)}
  .gal-mini{flex-basis:70px;height:50px}
}
@media (prefers-reduced-motion:reduce){.gal-foto,.gal-foto.izq,.gal-foto.der{transform:none}}
