:root{
  --ease-long:cubic-bezier(.16, 1, .3, 1);
  --dur-long-move:900ms;
  --dur-long-out:420ms;
  --dur-long-fade:620ms;
  --ease-appear:cubic-bezier(.45, 0, .55, 1);
  --dur-short-in:300ms;
}
@media (prefers-reduced-motion:reduce){
  :root{
    --dur-long-move:1ms;
    --dur-long-out:1ms;
    --dur-long-fade:1ms;
    --dur-short-in:1ms;
  }
}
.lupa{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  cursor:zoom-in;
  outline:2px solid transparent;
  outline-offset:4px;
}
@media (prefers-reduced-motion:no-preference){
  .lupa{transition:outline-color var(--dur-short-in) var(--ease-short)}
}
.lupa:hover{outline-color:var(--ink)}
.pantalla--filas .lupa:hover{outline-color:transparent}
.lupa:focus-visible{outline-color:var(--cinnabar)}
.pantalla--filas .lupa:focus-visible{outline-color:var(--cinnabar)}
.galeria{
  position:fixed;
  inset:0;
  width:100%;
  max-width:100%;
  height:100%;
  max-height:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  overflow:hidden;
  --pt-margen:var(--s-5);
  --pt-ancho:min(
    var(--pt-nat-w, 100%),
    calc(100% - var(--pt-margen) * 2),
    calc((100svh - var(--pt-margen) * 2 - var(--pt-pie, 0px)) * var(--pt-ratio, 1))
  );
}
.galeria[open]{display:flex;align-items:center;justify-content:center}
.galeria__caja{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--s-2);
}
.galeria::backdrop{
  background:var(--ink, #16150F);
  opacity:0;
}
.galeria[data-abierta]::backdrop{opacity:.82}
@media (prefers-reduced-motion:no-preference){
  .galeria::backdrop{transition:opacity var(--dur-long-fade) var(--ease-appear)}
  .galeria[data-cerrando]::backdrop{transition-duration:var(--dur-long-out)}
}
.galeria__img{
  display:block;
  aspect-ratio:var(--pt-ratio, 1);
  width:var(--pt-ancho);
  height:auto;
  background-repeat:no-repeat;
  background-size:100% 100%;
  cursor:zoom-out;
}
.galeria__pie{
  width:var(--pt-ancho);
  margin:0;
  font-family:var(--sans);
  font-size:var(--t--1);
  line-height:1.65;
  color:var(--paper);
  text-wrap:pretty;
  opacity:0;
}
.galeria[data-abierta] .galeria__pie{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .galeria__pie{transition:opacity var(--dur-long-fade) var(--ease-appear)}
  .galeria[data-cerrando] .galeria__pie{transition-duration:var(--dur-long-out)}
}
.galeria__cerrar{
  position:absolute;
  z-index:2;
  top:var(--s-3);
  right:var(--s-3);
  width:2.75rem;
  height:2.75rem;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:1px solid var(--guide);
  border-radius:50%;
  background:var(--paper);
  color:var(--ink);
  font:inherit;
  line-height:1;
  cursor:pointer;
}
.galeria__cerrar svg{width:1rem;height:1rem;display:block}
.galeria__cerrar:hover{background:var(--sheet)}
.galeria__cerrar:focus-visible{
  outline:2px solid var(--paper);
  outline-offset:3px;
  box-shadow:0 0 0 2px var(--ink);
}
@media (max-width:43.75em){
  .galeria{--pt-margen:var(--s-3)}
  .galeria__cerrar{top:var(--s-1);right:var(--s-1)}
}
