/* Picture Perfect Slider */
.pps-slider {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background: #000;
}

.pps-slides,
.pps-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.pps-slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease;
	z-index: 1;
	overflow: hidden;
}

.pps-slide.active {
	opacity: 1;
	visibility: visible;
	z-index: 2;
}

.pps-slide-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transform-origin: center center;
}

.pps-img-mobile { display: none; }

/* Ken Burns zoom — restarted per active slide via JS toggling the class */
.pps-slider[data-zoom="true"] .pps-slide.active .pps-slide-img.pps-zooming {
	animation: pps-zoom var(--pps-duration, 4000ms) linear forwards;
}

@keyframes pps-zoom {
	from { transform: scale(1); }
	to   { transform: scale(1.15); }
}

/* Caption */
.pps-caption {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	max-width: 480px;
	padding: 30px 40px;
	background-color: #eab308;
	z-index: 3;
}

.pps-caption h2 {
	margin: 0;
	font-size: 34px;
	line-height: 1.25;
	font-weight: 700;
	color: #1f2937;
	text-transform: uppercase;
}

.pps-caption-left  { left: 6%; }
.pps-caption-right { right: 6%; }

/* Arrows */
.pps-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid currentColor;
	background: transparent;
	color: #fff;
	cursor: pointer;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pps-arrow span {
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.pps-prev { left: 5%; }
.pps-prev span { transform: rotate(-135deg); margin-right: -2px; }

.pps-next { right: 5%; }
.pps-next span { transform: rotate(45deg); margin-left: -2px; }

/* Dots */
.pps-dots {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 4;
}

.pps-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background-color: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	padding: 0;
}

.pps-dot.active { background-color: #eab308; }

/* Bottom progress bar + spin icon */
.pps-bottom-bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
	display: flex;
	align-items: center;
}

.pps-progress-track {
	flex: 1 1 auto;
	height: 3px;
	background-color: rgba(255, 255, 255, 0.25);
}

.pps-progress-fill {
	height: 100%;
	width: 0%;
	background-color: #eab308;
}

.pps-spin-icon {
	position: absolute;
	right: 24px;
	bottom: 10px;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.pps-spin-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: rotate(0deg);
}

.pps-spin-icon.spin img {
	animation: pps-spin var(--pps-icon-duration, 1000ms) linear forwards;
}

@keyframes pps-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

/* Mobile */
@media (max-width: 767px) {
	.pps-img-desktop { display: none; }
	.pps-img-mobile  { display: block; }

	.pps-caption {
		left: 5% !important;
		right: 5% !important;
		max-width: none;
		padding: 20px 24px;
	}

	.pps-caption h2 { font-size: 22px; }

	.pps-arrow { display: none; }

	.pps-spin-icon { width: 40px; height: 40px; right: 14px; }
}
