.fera-image-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f2f1f5;
    touch-action: pan-y pinch-zoom;
}

body.admin-bar { --fera-admin-bar-height: 32px; }
@media (max-width: 782px) { body.admin-bar { --fera-admin-bar-height: 46px; } }
.fera-image-slider__track {
    position: relative;
    height: calc(100vh - var(--fera-header-height, 89px) - var(--fera-admin-bar-height, 0px));
    height: calc(100dvh - var(--fera-header-height, 89px) - var(--fera-admin-bar-height, 0px));
}
/* Bridge nests full-width rows in .full_section_inner and adds column gutters. */
.wpb-content-wrapper > .vc_row:has(.fera-image-slider) { padding-top: 0 !important; }
.vc_row .vc_column-inner:has(> .wpb_wrapper > .fera-image-slider) {
    padding: 0;
    margin-top: 0 !important;
}
.fera-image-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease, visibility .6s;
}
.fera-image-slider__slide.is-active { opacity: 1; visibility: visible; }
.fera-image-slider .fera-image-slider__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}
.fera-image-slider .fera-image-slider__slide:first-child .fera-image-slider__image {
    object-position: center bottom;
}
.fera-image-slider__overlay {
    position: absolute;
    z-index: 1;
    inset: clamp(20px, 5vh, 60px) clamp(20px, 5vw, 72px) 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.fera-image-slider__overlay-panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 720px;
    max-height: 100%;
    overflow: auto;
    overflow-wrap: anywhere;
    padding: clamp(20px, 3vw, 40px);
    border-radius: 16px;
    background: rgba(255, 255, 255, .88);
    color: #303b4b;
    box-shadow: 0 8px 28px rgba(27, 55, 119, .12);
    pointer-events: auto;
}
.fera-image-slider__overlay-panel > :first-child { margin-top: 0; }
.fera-image-slider__overlay-panel > :last-child { margin-bottom: 0; }
.fera-image-slider__overlay-panel :is(ul, ol) { padding-left: 1.4em; margin-bottom: 1em; }
.fera-image-slider__overlay-panel a { text-decoration: underline; text-underline-offset: .2em; }
.fera-image-slider__overlay-panel img { max-width: 100%; height: auto; }
.fera-image-slider__controls {
    position: absolute;
    z-index: 2;
    bottom: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border-radius: 30px;
    background: #fff;
    color: #1b3777;
    box-shadow: 0 2px 12px #0002;
}
.fera-image-slider__controls[hidden] { display: none; }
.fera-image-slider__toggle .fera-image-slider__pause-icon,
.fera-image-slider[data-playing="true"] .fera-image-slider__toggle .fera-image-slider__play-icon { display: none; }
.fera-image-slider[data-playing="true"] .fera-image-slider__toggle .fera-image-slider__pause-icon { display: block; }
.fera-image-slider__progress {
    position: absolute;
    z-index: 3;
    inset: auto 0 0;
    height: 5px;
    background: rgba(255, 255, 255, .65);
    pointer-events: none;
}
.fera-image-slider__progress-fill {
    display: block;
    width: 100%;
    height: 100%;
    background: #1b3777;
    transform: scaleX(0);
    transform-origin: left center;
}
.fera-image-slider__controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #1b3777;
    border-radius: 24px;
    background: #fff;
    color: #1b3777;
    font: 600 14px/1.2 system-ui, sans-serif;
    cursor: pointer;
}
.fera-image-slider__controls button span { font: 32px/1 sans-serif; }
.fera-image-slider__controls button:hover { background: #1b3777; color: #fff; }
.fera-image-slider__controls button:focus-visible { outline: 3px solid #1b3777; outline-offset: 3px; }
.fera-image-slider__counter { min-width: 40px; text-align: center; font: 500 14px/1.2 system-ui, sans-serif; }
.fera-image-slider .fera-image-slider__scroll {
    position: absolute;
    z-index: 2;
    bottom: max(20px, env(safe-area-inset-bottom));
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 20px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    color: #1b3777;
    box-shadow: 0 2px 12px #0002;
    font: 600 14px/1.5 system-ui, sans-serif;
    text-decoration: none;
}
.fera-image-slider .fera-image-slider__scroll:hover { background: #fff; }
.fera-image-slider__chevron { animation: fera-scroll-hint 1.6s ease-in-out infinite; }
.fera-image-slider__end { position: absolute; bottom: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }
@keyframes fera-scroll-hint {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(6px); }
}
@media (min-width: 1001px) {
    .fera-image-slider__overlay {
        inset: 24px 32px;
        align-items: flex-end;
        justify-content: flex-start;
    }
    .fera-image-slider__overlay-panel {
        max-width: min(480px, calc(50% - 84px));
        padding: 24px;
        font-size: 16px;
        line-height: 1.65;
    }
    .fera-image-slider__overlay-panel :is(p, li) { font-size: inherit; line-height: inherit; }
    .fera-image-slider .fera-image-slider__overlay-panel :is(h1, h2) { font-size: clamp(28px, 2.2vw, 32px); }
}
@media (max-width: 900px) {
    .fera-image-slider__controls { bottom: 112px; right: 12px; }
    .fera-image-slider__overlay { top: 20px; bottom: 190px; }
}
@media (prefers-reduced-motion: reduce) {
    .fera-image-slider__slide { transition: none; }
    .fera-image-slider__chevron { animation: none; }
}
