/* Galería Princessfrog: adaptación visual fiel del ejemplo Prueba-26-AV-main. */
#galeria .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
#galeria .gallery-item{position:relative;display:block;overflow:hidden;border-radius:16px;aspect-ratio:4/3;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.23);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}
#galeria .gallery-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 48px rgba(0,0,0,.3)}
#galeria .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transition:filter .3s}
#galeria .gallery-item:hover img,#galeria .gallery-item:focus-visible img{filter:grayscale(0) brightness(1.1) saturate(1.15)}
#galeria .gallery-item .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65),transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:16px}
#galeria .gallery-item:hover .overlay,#galeria .gallery-item:focus-visible .overlay{opacity:1}
#galeria .overlay-text{color:#fff;font:600 .88rem system-ui,sans-serif;display:flex;align-items:center;gap:6px}
#galeria .overlay-text svg{width:16px;height:16px}
#galeria .gallery-item.slide{opacity:0;transform:translateX(90px) rotateY(14deg) scale(1.1);filter:blur(9px)}
#galeria .gallery-item.slide.slide-visible{animation:cinderella-slide-in-elliptic .65s cubic-bezier(.25,.46,.45,.94) both;animation-delay:var(--slide-delay,0ms)}
@keyframes cinderella-slide-in-elliptic{from{opacity:0;transform:translateX(90px) rotateY(14deg) scale(1.1);filter:blur(9px)}to{opacity:1;transform:translateX(0) rotateY(0) scale(1);filter:blur(0)}}
@media(max-width:620px){#galeria .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#galeria .gallery-item{border-radius:12px}}
@media(prefers-reduced-motion:reduce){#galeria .gallery-item.slide{opacity:1;filter:none;transform:none}#galeria .gallery-item.slide.slide-visible{animation:none}}

#galeria .container{max-width:1100px;margin:0 auto}#galeria .section-heading{margin-bottom:36px}#galeria .gallery-grid{text-align:left}#galeria .gallery-item:first-child img{object-position:center 60%}
