/* ProSa – roterande kundreferenser (se prosa-ny-rot.js). */

.prosa-ny .pn-rot { position: relative; }
.prosa-ny .pn-rot__view { border-bottom: 1px solid #C9D5BC; }
.prosa-ny .pn-rot__slide { margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prosa-ny .pn-rot__slide li { margin: 0; padding: 22px 0; font-size: clamp(18px, 1.9vw, 22px); font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; }

/* Med JavaScript: stegen ligger i ett band som scrollar i sidled. */
.prosa-ny .pn-rot.is-ready .pn-rot__view { overflow: hidden; }
.prosa-ny .pn-rot.is-ready .pn-rot__track { display: flex; transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1); will-change: transform; }
.prosa-ny .pn-rot.is-ready .pn-rot__slide { flex: 0 0 100%; min-width: 0; }

/* Kontroller: förloppsstreck per steg. */
.prosa-ny .pn-rot__ctl { display: flex; align-items: center; gap: 2px; margin-top: 18px; }
.prosa-ny .pn-rot__dot { position: relative; display: block; width: 44px; height: 24px; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer; -webkit-appearance: none; appearance: none; }
.prosa-ny .pn-rot__dot::before { content: ""; position: absolute; left: 4px; right: 4px; top: 50%; height: 4px; margin-top: -2px; border-radius: 2px; background: #DCE3D3; transition: background 0.2s; }
.prosa-ny .pn-rot__dot:hover::before { background: #C9D5BC; }
.prosa-ny .pn-rot__dot.is-active::before { background: #C9D5BC; }
.prosa-ny .pn-rot__fill { position: absolute; left: 4px; right: 4px; top: 50%; height: 4px; margin-top: -2px; border-radius: 2px; background: #3D6A0E; transform: scaleX(0); transform-origin: left center; }
.prosa-ny .pn-rot__dot.is-active .pn-rot__fill { animation: pn-rot-fill var(--pn-int, 5000ms) linear forwards; }
.prosa-ny .pn-rot.is-paused .pn-rot__dot.is-active .pn-rot__fill { animation-play-state: paused; }
@keyframes pn-rot-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.prosa-ny .pn-rot__dot:focus-visible { outline: 2px solid #3D6A0E; outline-offset: 2px; }

@media (max-width: 699px) {
	.prosa-ny .pn-rot__slide { grid-template-columns: minmax(0, 1fr); }
	.prosa-ny .pn-rot__slide li { padding: 16px 0; }
}

@media (prefers-reduced-motion: reduce) {
	.prosa-ny .pn-rot.is-ready .pn-rot__track { transition: none; }
}
