/*
 * slider.css - core styles for site_slider() (includes/functions/slider_functions.inc)
 *
 * Version 1.01.0  (10/11/2026)
 *
 * ChangeLog:
 * 1.01.0 10/11/2026 - <picture> round a slide image is a block (no gap
 *        under the image in natural-height sliders).
 * 1.00.0 10/11/2026 - New (slider rebuild Phase 1). Served to sites by
 *        /styles/slider.php; a skin's own styles/slider.css replaces it.
 *
 * Only what the slider needs to work - the look (overlay text, arrows, dots)
 * stays in the skin's CSS, which keeps targeting #slider .slides li ...
 */

.site-slider {
    position: relative;
}

.site-slider .slides {
    margin: 0;
    padding: 0;
}

.site-slider .slides li {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-slider .slides li > picture,
.site-slider .slides li > .ss-link > picture {
    display: block;
}

.site-slider .slides li img {
    display: block;
    width: 100%;
    height: auto;
}

/* Fixed height: every slide the same height, images cropped to fill */
.site-slider-fixed .slides li {
    height: var(--slider-h, 600px);
    overflow: hidden;
}

.site-slider-fixed .slides li > picture,
.site-slider-fixed .slides li > .ss-link,
.site-slider-fixed .slides li > .ss-link > picture {
    display: block;
    height: 100%;
}

.site-slider-fixed .slides li img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--ss-pos, 50% 50%);
}

@media (max-width: 767px) {
    .site-slider-fixed .slides li {
        height: var(--slider-h-m, 420px);
    }
    .site-slider-fixed .slides li img {
        object-position: var(--ss-pos-m, var(--ss-pos, 50% 50%));
    }
}

/* Whole-slide link: the overlay box doesn't block clicks, its own links still work */
.site-slider .ss-has-link .overlay {
    pointer-events: none;
}

.site-slider .ss-has-link .overlay a,
.site-slider .ss-has-link .overlay button {
    pointer-events: auto;
}

.site-slider .ss-link {
    display: block;
}

/* Template alignment */
.site-slider .slider-align-left   { text-align: left; }
.site-slider .slider-align-center { text-align: center; margin-left: auto; margin-right: auto; }
.site-slider .slider-align-right  { text-align: right; margin-left: auto; }

/* Pause / play button (accessibility setting) */
.site-slider .ss-pause {
    position: absolute;
    right: 15px;
    bottom: 15px;
    z-index: 5;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    cursor: pointer;
}

.site-slider .ss-pause span,
.site-slider .ss-pause span::before {
    position: absolute;
    top: 50%;
    left: 50%;
}

/* Pause icon: two bars */
.site-slider .ss-pause span {
    width: 10px;
    height: 12px;
    margin: -6px 0 0 -5px;
    border-left: 3px solid #fff;
    border-right: 3px solid #fff;
}

/* Play icon: a triangle */
.site-slider .ss-pause[aria-pressed="true"] span {
    width: 0;
    height: 0;
    margin: -7px 0 0 -4px;
    border-style: solid;
    border-width: 7px 0 7px 11px;
    border-color: transparent transparent transparent #fff;
}

.site-slider .ss-pause:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

/* Screen-reader-only text (works on Bootstrap 3 and 5 skins) */
.site-slider .ss-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
