/****************************************************************************
* Slider
*****************************************************************************/
.typo_slider.typo_slider_active {
    position: relative;
    overflow: hidden;
    width: 100%;
    user-select: none;
    touch-action: pan-y;
}

/****************************************************************************
* Track
*****************************************************************************/
.typo_slider.typo_slider_active .typo_slider_track  {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    transition: transform 0.4s ease;
    will-change: transform;
}
.typo_marquee_slider.typo_slider.typo_slider_active .typo_slider_track {
    transition: transform var(--typo-slider-autoplay-delay,3s) linear;
    will-change: transform;
    pointer-events: none;
}

/****************************************************************************
* Items
*****************************************************************************/
.typo_slider.typo_slider_active .typo_slider_track > * {
    max-width: none;
    display: block;
}

/****************************************************************************
* A & Image Tags im Item
*****************************************************************************/
.typo_slider *:focus {
    scroll-margin: 0 !important;
    scroll-behavior: auto !important;
}
.typo_slider, .typo_slider a, .typo_slider img {
    -webkit-user-drag: none;
    user-select: none;        /* optional, falls du keine Textselektion willst */
    touch-action: pan-y;      /* erlaubt vertikales Scrollen, blockt horizontales UA-Panning */
}
.typo_slider img {
    pointer-events: none;
}

/****************************************************************************
* Controls
*****************************************************************************/
.typo_slider_prev,
.typo_slider_next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.4);
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 10;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: none;;
}
.typo_slider_prev { left: 1rem; }
.typo_slider_next { right: 1rem; }

.typo_slider_active .typo_slider_prev,
.typo_slider_active .typo_slider_next {
    display: inline-block;
}

/* Pagination */
.typo_slider_pagination {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    gap: 0.5rem;
}
.typo_slider_active .typo_slider_pagination {
    display: flex;
}
.typo_slider_pagination button {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
}
.typo_slider_pagination button.active {
    background: white;
}



/****************************************************************************
* Modus: Fade
*****************************************************************************/
.typo_slider.typo_slider_active.typo_slider_fade .typo_slider_track {
    display: block;
    position: relative;
}

.typo_slider.typo_slider_active.typo_slider_fade .typo_slider_track > *{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.typo_slider.typo_slider_active.typo_slider_fade .typo_slider_track > *.typo_slide_active {
    opacity: 1;
    position: relative;
    z-index: 1;
}

