/* Photo slider only; no selectors shared with the homepage hero. */
.nps-slider { isolation: isolate; padding: clamp(36px, 5vw, 72px) 0; background: var(--bg-default, #f6f6f6); }
.nps-slider__item + .nps-slider__item { margin-top: 40px; }
.nps-slider__admin { margin-bottom: 16px; }
.nps-slider__panel { min-width: 0; }
.nps-slider__viewport { position: relative; z-index: 0; width: 100%; min-width: 0; height: auto; overflow: hidden; border-radius: var(--rounded-1, 16px); }
.nps-slider__viewport > .swiper-wrapper { height: auto; align-items: flex-start; }
.nps-slider__viewport > .swiper-wrapper > .swiper-slide { height: auto; background: transparent; }
.nps-slider__image { display: block; width: 100%; height: auto; }
.nps-slider__viewport:not(.swiper-initialized) > .swiper-wrapper { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.nps-slider__viewport:not(.swiper-initialized) .swiper-slide { scroll-snap-align: start; }
.nps-slider__controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; }
.nps-slider__controls[hidden] { display: none; }
.nps-slider__previous, .nps-slider__next { flex: 0 0 46px; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: #caa05c; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; transition: background-color .2s ease; }
.nps-slider__previous:hover, .nps-slider__next:hover { background: #a77f3f; }
.nps-slider__previous svg, .nps-slider__next svg { display: block; flex: none; }
.nps-slider__pagination { flex: 1; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; min-width: 0; padding: 10px 0; }
.nps-slider__pagination .swiper-pagination-bullet { display: block; width: 10px; height: 10px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #c9c3b8; opacity: 1; cursor: pointer; }
.nps-slider__pagination .swiper-pagination-bullet-active { background: #a77f3f; }
.nps-slider__viewport:focus-visible, .nps-slider__controls button:focus-visible { outline: 2px solid #a77f3f; outline-offset: 4px; }
@media (max-width: 575px) {
    .nps-slider__item + .nps-slider__item { margin-top: 28px; }
    .nps-slider__controls { gap: 12px; margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .nps-slider__previous, .nps-slider__next { transition: none; }
}
