/* The enlarged viewer follows the ORIGINAL image ratio, not a tall fixed panel. */
html:has(.photo-dialog[open]),body:has(.photo-dialog[open]){
  overflow:hidden!important;
  overscroll-behavior:none;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog{
  --photo-available-height:calc(100vh - 40px);
  position:fixed!important;inset:0!important;margin:auto!important;
  padding:0!important;border:0!important;border-radius:20px!important;
  min-width:0!important;min-height:0!important;
  width:min(calc(100vw - 24px),calc(var(--photo-available-height) * var(--photo-ratio,1)),1040px)!important;
  height:min(var(--photo-available-height),calc((100vw - 24px) / var(--photo-ratio,1)),calc(1040px / var(--photo-ratio,1)))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--photo-available-height)!important;
  aspect-ratio:var(--photo-ratio,1)!important;
  background:#F4F4F4!important;color:#111!important;
  overflow:hidden!important;box-shadow:0 24px 90px #0007!important;
  transform:none!important;
}
@supports(height:100dvh){
  html body #fincan-store#fincan-store[data-route] .photo-dialog{--photo-available-height:calc(100dvh - 40px)}
}
html body #fincan-store#fincan-store[data-route] .photo-dialog:not([open]){display:none!important}
html body #fincan-store#fincan-store[data-route] .photo-dialog[open]{display:block!important}
html body #fincan-store#fincan-store[data-route] .photo-dialog::backdrop{
  background:rgba(0,0,0,.76);backdrop-filter:blur(5px);
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .lightbox-track{
  position:absolute!important;inset:0!important;
  display:block!important;width:100%!important;height:100%!important;
  min-height:0!important;max-width:100%!important;padding:0!important;margin:0!important;
  overflow:hidden!important;border-radius:inherit;scroll-snap-type:none!important;
  touch-action:pan-y pinch-zoom;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .lightbox-track>div{
  display:none!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;min-height:0!important;
  margin:0!important;padding:0!important;aspect-ratio:auto!important;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .lightbox-track>div.is-active{display:block!important}
html body #fincan-store#fincan-store[data-route] .photo-dialog .lightbox-track>div>img,
html body #fincan-store#fincan-store[data-route] .photo-dialog .lightbox-track .cup-cutout{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
  padding:0!important;margin:0!important;border-radius:inherit;
  transform:none!important;user-select:none;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .photo-controls{
  position:absolute!important;inset:0!important;display:block!important;
  height:100%!important;width:100%!important;margin:0!important;padding:0!important;
  pointer-events:none;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog :is(.photo-close,.previous-photo,.next-photo){
  display:grid!important;place-items:center!important;
  position:absolute!important;z-index:3!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:0!important;margin:0!important;border:1px solid #1112!important;border-radius:50%!important;
  background:#F4F4F4!important;background-image:none!important;color:#111!important;
  opacity:1!important;box-shadow:0 3px 14px #0003!important;
  line-height:1!important;cursor:pointer;pointer-events:auto;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .photo-close{
  top:12px!important;right:12px!important;bottom:auto!important;left:auto!important;transform:none!important;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog :is(.previous-photo,.next-photo){
  top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .previous-photo{left:12px!important;right:auto!important}
html body #fincan-store#fincan-store[data-route] .photo-dialog .next-photo{right:12px!important;left:auto!important}
html body #fincan-store#fincan-store[data-route] .photo-dialog :is(.photo-close,.previous-photo,.next-photo) svg{
  display:block!important;width:22px!important;height:22px!important;
  margin:0!important;transform:none!important;stroke:currentColor!important;stroke-width:2.25;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog :is(.photo-close,.previous-photo,.next-photo)::before,
html body #fincan-store#fincan-store[data-route] .photo-dialog :is(.photo-close,.previous-photo,.next-photo)::after{
  content:none!important;display:none!important;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog :is(.photo-close,.previous-photo,.next-photo):focus-visible{
  outline:2px solid #111;outline-offset:3px;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog .photo-position{
  position:absolute!important;z-index:2;bottom:12px!important;left:50%!important;
  transform:translateX(-50%)!important;width:max-content!important;
  margin:0!important;padding:6px 11px!important;border-radius:999px!important;
  background:rgba(17,18,20,.8)!important;color:#F4F4F4!important;
  font-size:12px!important;font-weight:650!important;line-height:1.3!important;
  pointer-events:none;
}
html body #fincan-store#fincan-store[data-route] .photo-dialog[data-single=true] .photo-controls,
html body #fincan-store#fincan-store[data-route] .photo-dialog[data-single=true] .photo-position{display:none!important}
