/* Pro-Spec hero slider: Group (.ps-slider) of Cover blocks */
.ps-slider { position: relative; overflow: hidden; margin-top: 0 !important; margin-bottom: 0 !important; }
.ps-slider .wp-block-cover { min-height: clamp(280px, 42vw, 570px) !important; margin: 0 !important; }
.ps-slider .wp-block-cover__inner-container { width: 100%; max-width: 1170px; margin: 0 auto; text-align: center; }

/* Slide text, styled like the old slides */
.ps-slider .ps-slide-title {
	display: inline-block; margin: 0; padding: .08em .45em; background: #f27a20; color: #fff;
	font-size: clamp(24px, 4vw, 56px); font-weight: 700; line-height: 1.2; letter-spacing: 0;
}
.ps-slider .ps-slide-subtitle {
	display: inline-block; margin: 0; padding: .2em .7em; background: #143d44; color: #fff;
	font-size: clamp(13px, 1.5vw, 20px); line-height: 1.4;
}
.ps-slider .ps-slide-cta { margin-top: clamp(10px, 2vw, 28px); }
.ps-slider .ps-slide-cta .wp-block-button__link {
	background: transparent; color: #fff; border: 0; border-radius: 0; padding: .4em .8em;
	font-size: clamp(12px, 1.2vw, 16px); font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}
.ps-slider .ps-slide-cta .wp-block-button__link:hover { color: #f27a20; }

/* Front end only: stack slides and fade between them (JS adds .is-ready) */
.ps-slider:not(.is-ready) .ps-slider-track > .wp-block-cover:not(:first-child) { display: none; }
.ps-slider.is-ready .ps-slider-track { display: grid; }
.ps-slider.is-ready .ps-slider-track > .wp-block-cover {
	grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility 0s linear .9s;
}
.ps-slider.is-ready .ps-slider-track > .wp-block-cover.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease; z-index: 1; }

.ps-slider.is-ready .is-active .ps-slide-title { animation: psFromTop .8s ease .35s both; }
.ps-slider.is-ready .is-active .ps-slide-subtitle { animation: psFromLeft .8s ease .7s both; }
.ps-slider.is-ready .is-active .ps-slide-cta { animation: psFromBottom .8s ease 1.05s both; }
@keyframes psFromTop { from { opacity: 0; transform: translateY(-40px); } to { opacity: 1; transform: none; } }
@keyframes psFromLeft { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: none; } }
@keyframes psFromBottom { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }

/* Controls */
.ps-slider-arrow {
	position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 0;
	background: rgba(0, 0, 0, .35); color: #fff; font-size: 22px; line-height: 44px; cursor: pointer; padding: 0;
}
.ps-slider-arrow:hover, .ps-slider-arrow:focus-visible { background: #f27a20; }
.ps-slider-prev { left: 0; }
.ps-slider-next { right: 0; }
.ps-slider-dots { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.ps-slider-dots button { width: 11px; height: 11px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.ps-slider-dots button.is-active { background: #fff; }

@media (prefers-reduced-motion: reduce) {
	.ps-slider.is-ready .ps-slider-track > .wp-block-cover { transition: none; }
	.ps-slider.is-ready .is-active .ps-slide-title,
	.ps-slider.is-ready .is-active .ps-slide-subtitle,
	.ps-slider.is-ready .is-active .ps-slide-cta { animation: none; }
}

/* Block editor: show each slide stacked with a small gap */
.editor-styles-wrapper .ps-slider .wp-block-cover { margin-bottom: 12px !important; }
