#galeria .piece { display:block; cursor:zoom-in; color:white; text-decoration:none; }
#galeria .piece::after { pointer-events:none; }
#galeria .piece img { transition:transform .3s ease; }
#galeria .piece:hover img,#galeria .piece:focus-visible img { transform:scale(1.055); }
#galeria .piece:focus-visible { outline:4px solid #d81ac1; outline-offset:4px; }
#galeria .piece span::after { content:' · Ampliar ↗'; font-size:.75rem; font-weight:400; }
.gallery-lightbox { width:min(1100px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:14px; border:0; border-radius:18px; background:#151922; color:white; overflow:auto; box-shadow:0 20px 90px #0006; }
.gallery-lightbox::backdrop { background:#10141de6; backdrop-filter:blur(5px); }
.gallery-lightbox .gallery-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 0 12px; }
.gallery-lightbox h2 { margin:0; font-size:clamp(1rem,3vw,1.4rem)!important; line-height:1.3; }
.gallery-lightbox button { display:inline-grid; place-items:center; flex-shrink:0; min-width:44px; height:44px; border:1px solid #ffffff70; border-radius:50%; color:white; background:transparent; font:24px Arial,sans-serif; cursor:pointer; }
.gallery-lightbox button:hover { background:#253785; }
.gallery-lightbox button:focus-visible { outline:3px solid #4ad508; outline-offset:3px; }
.gallery-lightbox .gallery-full-image { display:block; width:100%; height:min(70dvh,700px); object-fit:contain; background:#10131a; border-radius:8px; }
.gallery-lightbox .gallery-navigation { display:flex; align-items:center; justify-content:center; gap:18px; padding-top:12px; }
.gallery-lightbox .gallery-counter { min-width:60px; text-align:center; font-size:.85rem; }
@media(prefers-reduced-motion:reduce) { #galeria .piece img { transition:none; } }
