/* Public-site slider. Progressive: the first slide renders without JavaScript; slider.js adds navigation. */
/* clip, not just hidden: a focused or scrolled-to element must not scroll the slides sideways inside the frame. */
.cms-slider { position: relative; overflow: hidden; overflow: clip; height: var(--cms-slider-height, 60vh); min-height: 16rem; max-height: 90vh; background: #111; border-radius: var(--rz-border-radius, 6px); outline: none; }
.cms-slider:focus-visible { box-shadow: 0 0 0 3px var(--rz-primary, #3f51b5); }
.cms-slider-track { height: 100%; }
.cms-slider-slide .cms-slider-track { display: flex; transition: transform .6s ease; transform: translateX(calc(-100% * var(--cms-slide-index, 0))); }
.cms-slider-slide .cms-slide { flex: 0 0 100%; position: relative; height: 100%; }
.cms-slider-fade .cms-slider-track { position: relative; }
.cms-slider-fade .cms-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; }
.cms-slider-fade .cms-slide.is-active { opacity: 1; }
.cms-slide-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cms-slide-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .6), rgba(0, 0, 0, .15)); }
.cms-slide-content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: clamp(1.5rem, 5vw, 4rem); color: #fff; gap: .75rem; }
.cms-slide[data-align="left"] .cms-slide-content { align-items: flex-start; text-align: left; }
.cms-slide[data-align="right"] .cms-slide-content { align-items: flex-end; text-align: right; }
.cms-slide-heading { margin: 0; font-size: clamp(1.6rem, 4vw, 3rem); line-height: 1.1; text-shadow: 0 2px 12px rgba(0, 0, 0, .4); text-wrap: balance; max-width: 40ch; }
.cms-slide-text { margin: 0; font-size: clamp(1rem, 1.8vw, 1.25rem); max-width: 60ch; text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.cms-slide-button { display: inline-block; margin-top: .5rem; padding: .7rem 1.4rem; background: var(--rz-primary, #3f51b5); color: var(--rz-on-primary, #fff); text-decoration: none; border-radius: var(--rz-border-radius, 6px); font-weight: 600; }
.cms-slide-button:hover { filter: brightness(1.1); }
.cms-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .85); color: #222; font-size: 1.8rem; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0 0 .2rem; z-index: 2; }
.cms-slider-arrow:hover { background: #fff; }
.cms-slider-prev { left: 1rem; }
.cms-slider-next { right: 1rem; }
.cms-slider-dots { position: absolute; left: 0; right: 0; bottom: .9rem; display: flex; justify-content: center; gap: .5rem; z-index: 2; }
.cms-slider-dot { width: .7rem; height: .7rem; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .5); cursor: pointer; padding: 0; }
.cms-slider-dot.is-active { background: #fff; }
.content-hero { margin-block: 1.5rem 0; }
.content-body .cms-slider { margin-block: 1.5rem; }
@media (prefers-reduced-motion: reduce) { .cms-slider-track, .cms-slide { transition: none; } }
