/* Scoped interaction styles; recovered typography, layout and colours stay intact. */
.finpap-slider { touch-action: pan-y; }
.finpap-slider .swiper-wrapper { will-change: transform; }
.finpap-slider .swiper-slide { flex-shrink: 0; }
.swiper-logo-pagination button.swiper-pagination-bullet { padding: 0; border: 0; cursor: pointer; }
.finpap-map { display: block; width: 100%; height: 530px; border: 0; }
body.finpap-gallery-open { overflow: hidden; }
.finpap-lightbox { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(30,30,30,.97); color: #ccc; }
.finpap-lightbox::backdrop { background: rgba(30,30,30,.9); }
.finpap-lightbox-toolbar { position: absolute; top: 0; right: 0; display: flex; z-index: 3; }
.finpap-lightbox-button { width: 44px; height: 44px; border: 0; padding: 10px; color: #ccc; background: rgba(30,30,30,.6); font-size: 20px; cursor: pointer; }
.finpap-lightbox-button:hover, .finpap-lightbox-button:focus-visible { color: #fff; background: #444; }
.finpap-lightbox-button:focus-visible, .finpap-lightbox-thumbs button:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
.finpap-lightbox-counter { position: absolute; top: 12px; left: 16px; font-size: 14px; z-index: 2; }
.finpap-lightbox-stage { position: absolute; inset: 44px 44px 24px; display: flex; align-items: center; justify-content: center; overflow: auto; touch-action: pan-y; }
.finpap-lightbox-image { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; cursor: zoom-in; }
.finpap-lightbox-stage.is-zoomed { display: block; }
.finpap-lightbox-stage.is-zoomed .finpap-lightbox-image { max-width: none; max-height: none; margin: auto; cursor: zoom-out; }
.finpap-lightbox-previous, .finpap-lightbox-next { position: absolute; top: calc(50% - 22px); font-size: 36px; line-height: 20px; z-index: 2; }
.finpap-lightbox-previous { left: 0; }
.finpap-lightbox-next { right: 0; }
.finpap-lightbox-thumbs { position: absolute; top: 44px; bottom: 0; right: 0; width: 212px; overflow: auto; padding: 6px; background: #ddd; }
.finpap-lightbox-thumbs button { border: 3px solid transparent; padding: 0; width: 50%; height: 80px; background: none; cursor: pointer; }
.finpap-lightbox-thumbs button[aria-current="true"] { border-color: #751301; }
.finpap-lightbox-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.finpap-lightbox.has-thumbs .finpap-lightbox-stage { right: 256px; }
.finpap-lightbox.has-thumbs .finpap-lightbox-next { right: 212px; }
@media (max-width: 575px) {
  .finpap-lightbox-stage { inset: 44px 30px 20px; }
  .finpap-lightbox-thumbs { top: auto; left: 0; width: 100%; height: 92px; white-space: nowrap; }
  .finpap-lightbox-thumbs button { width: 90px; }
  .finpap-lightbox.has-thumbs .finpap-lightbox-stage { right: 30px; bottom: 110px; }
  .finpap-lightbox.has-thumbs .finpap-lightbox-next { right: 0; }
}
@media (prefers-reduced-motion: reduce) { .finpap-slider .swiper-wrapper, .wow { animation: none !important; transition: none !important; } }
