/* Maschinenverleih Kraus - SVG Absperrband v9
   Material flattert per SVG-Displacement; Typografie bleibt als echter Vektortext
   und folgt einer sanft animierten SVG-Kurve. */

.public-body .ed-barrier-marquee {
    position: relative;
    z-index: 21;
    width: 100%;
    max-width: 100vw;
    height: clamp(154px, 14vw, 188px);
    padding: 0;
    margin: 0;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(180deg, rgba(8,10,13,.98), rgba(16,18,22,.94));
    contain: paint;
}

.public-body .ed-barrier-stage {
    position: absolute;
    inset: 0;
    overflow: hidden;
    perspective: 900px;
}

.public-body .ed-barrier-lane {
    position: absolute;
    left: -2vw;
    right: -2vw;
    overflow: visible;
    transform-origin: 50% 50%;
    pointer-events: none;
}

.public-body .ed-barrier-lane--back {
    top: 11px;
    z-index: 1;
    opacity: .66;
    filter: saturate(.86) brightness(.88) drop-shadow(0 13px 18px rgba(0,0,0,.32));
    transform: rotate(-2.1deg) translateY(2px) scale(1.025);
    animation: mvkBarrierFloatBack 8.4s ease-in-out infinite;
}

.public-body .ed-barrier-lane--front {
    top: 48px;
    z-index: 3;
    filter: drop-shadow(0 17px 22px rgba(0,0,0,.38));
    transform: rotate(.8deg) scale(1.012);
    animation: mvkBarrierFloatFront 6.8s ease-in-out infinite;
}

.public-body .ed-barrier-flow {
    display: flex;
    width: max-content;
    min-width: max-content;
    will-change: transform;
    transform: translate3d(0,0,0);
}

.public-body .ed-barrier-flow--front {
    animation: mvkBarrierScrollFront 27s linear infinite;
}

.public-body .ed-barrier-flow--back {
    animation: mvkBarrierScrollBack 36s linear infinite;
}

.public-body .ed-barrier-svg {
    display: block;
    flex: 0 0 auto;
    width: clamp(2100px, 170vw, 2650px);
    height: auto;
    overflow: visible;
    shape-rendering: geometricPrecision;
    text-rendering: geometricPrecision;
}

/* IMPORTANT: text is intentionally NOT inside the displacement filter. */
.public-body .ed-barrier-copy {
    fill: #0a0a0a;
    font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    font-stretch: condensed;
    font-kerning: normal;
    letter-spacing: 1.15px;
    text-rendering: geometricPrecision;
}

.public-body .ed-barrier-copy--front {
    font-size: 30px;
}

.public-body .ed-barrier-copy--back {
    font-size: 27px;
    letter-spacing: 1.05px;
}

.public-body .ed-barrier-copy text {
    paint-order: fill;
    stroke: none;
}

@keyframes mvkBarrierScrollFront {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(-50%,0,0); }
}

@keyframes mvkBarrierScrollBack {
    from { transform: translate3d(-50%,0,0); }
    to { transform: translate3d(0,0,0); }
}

@keyframes mvkBarrierFloatFront {
    0%,100% { translate: 0 0; rotate: 0deg; }
    28% { translate: 0 -1.5px; rotate: .12deg; }
    63% { translate: 0 1.6px; rotate: -.08deg; }
}

@keyframes mvkBarrierFloatBack {
    0%,100% { translate: 0 0; rotate: 0deg; }
    36% { translate: 0 1.6px; rotate: -.11deg; }
    72% { translate: 0 -1.5px; rotate: .09deg; }
}

/* Legacy straight ticker remains disabled. */
.public-body .ed-barrier-marquee .ed-marquee-track,
.public-body .ed-barrier-marquee .ed-marquee-group {
    display: none !important;
}

@media (hover:hover) and (pointer:fine) {
    .public-body .ed-barrier-marquee:hover .ed-barrier-flow {
        animation-play-state: paused;
    }
}

@media (max-width: 900px), (hover:none) and (pointer:coarse) {
    .public-body .ed-barrier-marquee {
        height: 104px;
        contain: paint;
    }

    .public-body .ed-barrier-lane--back {
        display: none !important;
    }

    .public-body .ed-barrier-lane--front {
        top: 10px;
        left: -4vw;
        right: -4vw;
        transform: rotate(.45deg) scale(1.006);
        filter: drop-shadow(0 10px 14px rgba(0,0,0,.3));
        animation-duration: 8.2s;
    }

    .public-body .ed-barrier-flow--front {
        animation-duration: 33s;
    }

    .public-body .ed-barrier-svg {
        width: 1900px;
        text-rendering: geometricPrecision;
    }

    .public-body .ed-barrier-copy--front {
        font-size: 31px;
        font-weight: 700;
        letter-spacing: 1px;
    }
}

@media (max-width: 430px) {
    .public-body .ed-barrier-marquee { height: 96px; }
    .public-body .ed-barrier-lane--front { top: 8px; }
    .public-body .ed-barrier-svg { width: 1740px; }
    .public-body .ed-barrier-copy--front {
        font-size: 31.5px;
        letter-spacing: .9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-body .ed-barrier-flow,
    .public-body .ed-barrier-lane {
        animation: none !important;
    }
    .public-body .ed-barrier-flow--front { transform: translate3d(-12%,0,0); }
    .public-body .ed-barrier-flow--back { transform: translate3d(-28%,0,0); }
}

/* Backend-configurable band visibility: if the front/mobile band is disabled,
   remove the marquee on touch devices instead of leaving an empty gap. */
@media (max-width: 900px), (hover:none) and (pointer:coarse) {
    .public-body .ed-barrier-marquee.ed-barrier-marquee--no-mobile {
        display: none !important;
    }
}
