/* Normal-speed departure, continuous acceleration as travel remains shorter. */
#photo.overlay { background:#080b10; overflow:hidden; overscroll-behavior:contain; transition:opacity 120ms; }
#photo .phpopup { box-sizing:border-box; width:100%; height:100%; background:#080b10; padding:calc(56px + env(safe-area-inset-top)) 0 calc(20px + env(safe-area-inset-bottom)) !important; }
#photo .mySwiper, #photo .swiper-zoom-container { height:100% !important; }
#photo .mySwiper > .swiper-wrapper, #photo .mySwiper > .swiper-wrapper > .swiper-slide { height:100% !important; }
#photo .swiper-zoom-container img { width:100% !important; height:100% !important; max-height:100% !important; object-fit:contain !important; }
#photo #btn_close_photo { top:calc(6px + env(safe-area-inset-top)); right:12px; width:44px; height:44px; line-height:44px; text-align:center; color:white; z-index:4; }
.dia-motion-count { position:absolute; top:calc(20px + env(safe-area-inset-top)); left:50%; transform:translateX(-50%); color:#e8edf4; font:600 14px system-ui,sans-serif; }
.dia-photo-motion > .swiper-wrapper {
  transition-timing-function: cubic-bezier(.4, .36, .8, .72) !important;
}
.dia-motion-error { position:absolute; left:16px; right:16px; bottom:24px; z-index:5; padding:12px; border-radius:12px; background:#fff; color:#293b42; text-align:center; font-size:14px; }
@media (prefers-reduced-motion: reduce) {
  .dia-photo-motion > .swiper-wrapper { transition-duration:0ms !important; }
}

.sp-surface { overflow:hidden; }
