/* Slider konténer: mindig a tartalmazó elem szélességét veszi fel. */
.ffsb-slider {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--ffsb-height, 60vh);
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
    z-index: var(--ffsb-z-index, 1);
    background: #000;
}

/* A blokk saját wrapper eleme se kényszerítsen viewport-szélességet. */
.wp-block-tiszta-fullwidth-fade-slider {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

.wp-block-tiszta-fullwidth-fade-slider.alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}


/* Egy-egy slide */
.ffsb-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transition: opacity 0.7s ease-in-out;
    pointer-events: none;
}

/* Aktív slide */
.ffsb-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

/* Kép: teljes szélesség, egységes magasság, arányos kitöltés/vágás */
.ffsb-slide img {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 100%;
    max-width: none;
    height: 100% !important;
    min-height: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: var(--ffsb-object-fit, cover);
    object-position: var(--ffsb-object-position-x, 50%) var(--ffsb-object-position-y, 50%);
}

/* Felirat */
.ffsb-slide figcaption {
    position: absolute;
    left: 50%;
    bottom: 1rem;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    padding: 0.3rem 0.7rem;
    font-size: 0.9rem;
    border-radius: 0.3rem;
    max-width: 90%;
    text-align: center;
}

/* Navigációs nyilak */
.ffsb-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: calc(var(--ffsb-arrow-size, 42px) + 0.25rem);
    min-height: calc(var(--ffsb-arrow-size, 42px) + 0.25rem);
    border: none;
    border-radius: 999px;
    background: var(--ffsb-arrow-bg, rgba(0, 0, 0, 0.35));
    color: var(--ffsb-arrow-color, #fff);
    font-size: var(--ffsb-arrow-size, 42px);
    padding: 0.2rem 0.55rem;
    cursor: pointer;
    z-index: 2;
    line-height: 1;
    text-decoration: none;
    overflow: hidden;
}


.ffsb-nav-icon {
    display: block;
    line-height: 1;
    transform: translateY(var(--ffsb-arrow-vertical-offset, -2px));
    pointer-events: none;
}

.ffsb-nav:hover,
.ffsb-nav:focus {
    background: rgba(0, 0, 0, 0.55);
}

.ffsb-nav-prev {
    left: var(--ffsb-arrow-offset, 16px);
}

.ffsb-nav-next {
    right: var(--ffsb-arrow-offset, 16px);
}

@media (max-width: 781px) {
    .ffsb-slider {
        height: var(--ffsb-mobile-height, var(--ffsb-height, 60vh));
    }

    .ffsb-slide img {
        object-position: var(--ffsb-mobile-object-position-x, var(--ffsb-object-position-x, 50%)) var(--ffsb-mobile-object-position-y, var(--ffsb-object-position-y, 50%));
    }

    .ffsb-nav {
        font-size: clamp(18px, var(--ffsb-arrow-size, 42px), 72px);
        min-width: calc(clamp(18px, var(--ffsb-arrow-size, 42px), 72px) + 0.25rem);
        min-height: calc(clamp(18px, var(--ffsb-arrow-size, 42px), 72px) + 0.25rem);
        padding: 0.15rem 0.45rem;
    }

    .ffsb-nav-prev {
        left: max(8px, calc(var(--ffsb-arrow-offset, 16px) * 0.5));
    }

    .ffsb-nav-next {
        right: max(8px, calc(var(--ffsb-arrow-offset, 16px) * 0.5));
    }

    .ffsb-slide figcaption {
        bottom: 0.75rem;
        font-size: 0.8rem;
    }
}

/* Editor preview */
.ffsb-editor-wrapper {
    border: 1px dashed #ccc;
    padding: 1rem;
}

.ffsb-editor-hero-preview {
    height: min(var(--ffsb-height, 60vh), 420px);
    margin-top: 0.75rem;
    overflow: hidden;
    background: #000;
}

.ffsb-editor-hero-preview {
    position: relative;
}

.ffsb-editor-hero-preview img {
    display: block;
    width: 100% !important;
    min-width: 100%;
    max-width: none;
    height: 100% !important;
    min-height: 100%;
    max-height: none;
    object-fit: var(--ffsb-object-fit, cover);
    object-position: var(--ffsb-object-position-x, 50%) var(--ffsb-object-position-y, 50%);
}

.ffsb-editor-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.ffsb-editor-thumb img {
    display: block;
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
}
