.horizontal-scroll-container {
    position: relative;
    overflow: hidden;
}

.horizontal-scroll-container > .e-con,
.horizontal-scroll-container > .e-container {
    display: flex;
    height: var(--min-height, 100vh);
    will-change: transform;
    transition: none !important;
}

.horizontal-scroll-container > .e-con > *,
.horizontal-scroll-container > .e-container > * {
    flex-shrink: 0;
    height: var(--min-height, 100vh);
}

/* Mobiler Fallback: normale vertikale Stapelung statt horizontalem Scroll */
.horizontal-scroll-container.hs-disabled {
    height: auto !important;
}

.horizontal-scroll-container.hs-disabled > .e-con,
.horizontal-scroll-container.hs-disabled > .e-container {
    flex-direction: column;
    height: auto;
    transform: none !important;
}

.horizontal-scroll-container.hs-disabled > .e-con > *,
.horizontal-scroll-container.hs-disabled > .e-container > * {
    height: auto;
}

/* Fortschrittsbalken am unteren Bildschirmrand */
.horizontal-scroll-progress {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: var(--progress-bar-height, 4px);
    background: var(--progress-bar-track-color, rgba(0, 0, 0, 0.08));
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s linear;
}

.horizontal-scroll-progress.is-active {
    opacity: 1;
}

.horizontal-scroll-progress__bar {
    height: 100%;
    width: 100%;
    background: var(--progress-bar-color, #ff0000);
    transform: scaleX(0);
    transform-origin: left;
}

/* Standard-Scrollbar optional ausblenden, gesteuert ueber body { --hide-default-scrollbar: true; } */
html.hide-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
