/* Local adaptations. Original archive layout is retained in the page styles. */
html { scroll-behavior: smooth; }
body { margin: 0; }
.elementor-menu-anchor { scroll-margin-top: 20px; }
.elementor-invisible { visibility: visible !important; }
.original-360-placeholder { margin: 0 auto; max-width: 800px; }
.original-360-placeholder img { width:100%; height: auto; display:block; }
.gallery a:focus-visible, a:focus-visible { outline: 3px solid #26a18f; outline-offset: 4px; }
.photo-viewer { position:fixed; inset:0; box-sizing:border-box; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:56px 70px 30px; border:0; background:rgba(0,0,0,.94); color:#fff; }
.photo-viewer::backdrop { background:rgba(0,0,0,.8); }
.photo-viewer[open] { display:flex; align-items:center; justify-content:center; }
.photo-viewer figure { display:flex; flex-direction:column; align-items:center; margin:0; max-width:100%; }
.photo-viewer figure img { max-width:100%; max-height:calc(100dvh - 140px); width:auto; height:auto; object-fit:contain; }
.photo-viewer figcaption { padding:14px 0 0; font:400 16px/1.4 'Titillium Web',sans-serif; text-align:center; color:#fff; }
.photo-viewer button { position:absolute; border:0; padding:8px 14px; background:transparent; color:#fff; font:300 48px/1 Arial,sans-serif; cursor:pointer; box-shadow:none; }
.photo-viewer button:hover,.photo-viewer button:focus-visible { background:rgba(255,255,255,.15); color:#fff; }
.photo-close { top:8px; right:12px; }
.photo-prev { left:8px; top:calc(50% - 30px); }
.photo-next { right:8px; top:calc(50% - 30px); }
@media(max-width:767px) {
  .photo-viewer { padding:55px 38px 24px; }
  .photo-viewer button { font-size:36px; padding:8px; }
  .photo-viewer figcaption { font-size:14px; }
  .elementor footer.elementor-section { display:block; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .scroll { animation:none!important; } }
