/* BRV Slideshow: isolated from custom theme styles. */
.brv-slideshow {
    display: block;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--brv-desktop-w) / var(--brv-desktop-h);
    background: var(--brv-bg, #000);
}
.brv-slideshow--fixed { aspect-ratio: auto; height: var(--brv-fixed-height); }
.brv-slideshow__slides { position: absolute; inset: 0; overflow: hidden; }
.brv-slideshow__slide {
    display: block;
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(0);
    pointer-events: none;
    z-index: 0;
}
.brv-slideshow__slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; z-index: 2; }
.brv-slideshow__slide.is-entering { visibility: visible; opacity: 0; z-index: 2; }
.brv-slideshow__slide.is-leaving { visibility: visible; opacity: 0; z-index: 1; }
.brv-slideshow[data-effect="fade"] .brv-slideshow__slide {
    transition: opacity var(--brv-duration, 600ms) ease;
}
.brv-slideshow[data-effect="slide-left"] .brv-slideshow__slide,
.brv-slideshow[data-effect="slide-right"] .brv-slideshow__slide {
    transition: transform var(--brv-duration, 600ms) ease;
}
.brv-slideshow[data-effect="slide-left"] .brv-slideshow__slide.is-entering { opacity: 1; transform: translateX(100%); }
.brv-slideshow[data-effect="slide-left"] .brv-slideshow__slide.is-active { opacity: 1; transform: translateX(0); }
.brv-slideshow[data-effect="slide-left"] .brv-slideshow__slide.is-leaving { opacity: 1; transform: translateX(-100%); }
.brv-slideshow[data-effect="slide-right"] .brv-slideshow__slide.is-entering { opacity: 1; transform: translateX(-100%); }
.brv-slideshow[data-effect="slide-right"] .brv-slideshow__slide.is-active { opacity: 1; transform: translateX(0); }
.brv-slideshow[data-effect="slide-right"] .brv-slideshow__slide.is-leaving { opacity: 1; transform: translateX(100%); }
.brv-slideshow__media {
    position: absolute;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.brv-slideshow__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: var(--brv-fit, cover);
    object-position: var(--brv-position-x, 50%) var(--brv-position-y, 50%);
    border: 0;
    margin: 0;
    padding: 0;
}
.brv-slideshow__toggle {
    position: absolute;
    z-index: 5;
    right: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(0,0,0,.58);
    color: #fff;
    font: 700 12px/1 Arial, sans-serif;
    cursor: pointer;
}
.brv-slideshow__toggle[hidden] { display: none !important; }
.brv-slideshow__toggle:hover { background: rgba(0,0,0,.83); }
.brv-slideshow__toggle:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.brv-slideshow__toggle .brv-slideshow__play-icon { display: none; }
.brv-slideshow__toggle.is-paused .brv-slideshow__pause-icon { display: none; }
.brv-slideshow__toggle.is-paused .brv-slideshow__play-icon { display: inline; }
@media (max-width: 767px) {
    .brv-slideshow:not(.brv-slideshow--responsive),
    .brv-slideshow--fixed:not(.brv-slideshow--responsive) {
        height: auto;
        aspect-ratio: var(--brv-mobile-w) / var(--brv-desktop-h);
    }
    .brv-slideshow:not(.brv-slideshow--responsive) .brv-slideshow__image {
        left: 50%;
        right: auto;
        width: calc(100% / var(--brv-mobile-crop));
        height: 100%;
        transform: translateX(-50%);
        object-fit: cover;
        object-position: center center;
    }
    .brv-slideshow__toggle { width: 34px; height: 34px; right: 8px; bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .brv-slideshow__slide { transition: none !important; }
}

/* Explicit expansion overrides constrained theme widths without changing other blocks. */
.brv-slideshow-block.brv-slideshow-block--expanded {
    box-sizing: border-box;
    width: min(var(--brv-viewport-width, 100vw), var(--brv-max-width, 3840px)) !important;
    max-width: min(var(--brv-viewport-width, 100vw), var(--brv-max-width, 3840px)) !important;
    margin-left: calc(50% - min(var(--brv-viewport-width, 100vw), var(--brv-max-width, 3840px)) / 2) !important;
    margin-right: calc(50% - min(var(--brv-viewport-width, 100vw), var(--brv-max-width, 3840px)) / 2) !important;
}

/* One responsive sizing profile for blocks and shortcodes; the v1.0.2 profile above is preserved. */
.brv-slideshow-block--responsive:not(.brv-slideshow-block--expanded) {
    width: min(100%, var(--brv-max-width, 3840px));

    margin-left: auto;
    margin-right: auto;
}
.brv-slideshow-block--responsive { container-type: inline-size; }
.brv-slideshow-block--responsive.brv-slideshow-block--expanded {
    margin-left: calc(50% - min(var(--brv-viewport-width, 100vw), var(--brv-max-width, 3840px)) / 2 + var(--brv-breakout-shift, 0px)) !important;
    margin-right: calc(50% - min(var(--brv-viewport-width, 100vw), var(--brv-max-width, 3840px)) / 2 - var(--brv-breakout-shift, 0px)) !important;
}
.brv-slideshow--responsive { --brv-visible-source: 1; --brv-measure: 100vw; }
@supports (width: 100cqw) {
    .brv-slideshow-block--responsive:not(.brv-slideshow-block--expanded) > .brv-slideshow--responsive { --brv-measure: 100cqw; }
}
@supports (aspect-ratio: calc(tan(atan2(1px, 1px)))) {
    .brv-slideshow--progressive {
        /* tan(atan2(length,length)) safely yields the unitless interpolation factor. */
        --brv-visible-source: clamp(var(--brv-visible-min, .55), calc(var(--brv-visible-min, .55) + (1 - var(--brv-visible-min, .55)) * tan(atan2(calc(var(--brv-measure) - var(--brv-crop-end, 767px)), calc(var(--brv-crop-start, 1920px) - var(--brv-crop-end, 767px))))), 1);
    }
}
.brv-slideshow--progressive {
    height: auto;
    aspect-ratio: calc(var(--brv-desktop-w) * var(--brv-visible-source)) / var(--brv-desktop-h);
}
.brv-slideshow--progressive .brv-slideshow__image {
    left: 50%;
    right: auto;
    width: calc(100% / var(--brv-visible-source));
    height: 100%;
    transform: translateX(-50%);
    object-fit: cover;
    object-position: center center;
}
