/* ==========================================================================
   Eckard Vertical Marquee - Stylesheet
   ========================================================================== */

/* Main Marquee Container */
.eckard-vertical-marquee-container {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
}

/* Scroll Track */
.eckard-vertical-marquee-track {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
}

/* Infinite Vertical Scroll Animations */
@keyframes eckard-vertical-marquee-scroll-up {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(calc(-1 * var(--marquee-single-height, 100%)));
    }
}

@keyframes eckard-vertical-marquee-scroll-down {
    0% {
        transform: translateY(calc(-1 * var(--marquee-single-height, 100%)));
    }
    100% {
        transform: translateY(0);
    }
}

/* Trigger animation only when Javascript cloning is done and container is ready */
.eckard-vertical-marquee-container.is-ready.direction-up .eckard-vertical-marquee-track {
    animation: eckard-vertical-marquee-scroll-up var(--marquee-speed, 25s) linear infinite;
}

.eckard-vertical-marquee-container.is-ready.direction-down .eckard-vertical-marquee-track {
    animation: eckard-vertical-marquee-scroll-down var(--marquee-speed, 25s) linear infinite;
}

/* Pause on Hover */
.eckard-vertical-marquee-container.pause-on-hover:hover .eckard-vertical-marquee-track {
    animation-play-state: paused;
}

/* Fade Edges Overlays */
.eckard-vertical-marquee-fade-top,
.eckard-vertical-marquee-fade-bottom {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: var(--fade-height, 50px);
    pointer-events: none;
    z-index: 5;
}

.eckard-vertical-marquee-fade-top {
    top: 0;
    background: linear-gradient(to bottom, var(--fade-color, #ffffff) 0%, transparent 100%);
}

.eckard-vertical-marquee-fade-bottom {
    bottom: 0;
    background: linear-gradient(to top, var(--fade-color, #ffffff) 0%, transparent 100%);
}

/* Ensure child items in the track stack block-wise */
.eckard-vertical-marquee-track > * {
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
}

/* ==========================================================================
   Gutenberg Block Editor Specific Styles
   ========================================================================== */

.wp-block[data-type="eckard/vertical-marquee"] {
    width: 100%;
    max-width: 100%;
}

.eckard-vertical-marquee-editor {
    position: relative;
    border: 2px dashed #bbbbbb;
    border-radius: 8px;
    background: #f9f9f9;
    padding: 35px 15px 15px 15px;
    box-sizing: border-box;
    overflow-y: auto !important; /* Allow scroll in editor to manage items */
    transition: border-color 0.2s ease-in-out;
}

.eckard-vertical-marquee-editor:hover {
    border-color: #1768ea;
}

/* Editor block labels */
.eckard-vertical-marquee-editor-label {
    position: absolute;
    top: 0;
    left: 0;
    background: #1768ea;
    color: #ffffff;
    padding: 4px 10px;
    font-size: 11px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
    z-index: 10;
    border-bottom-right-radius: 6px;
    border-top-left-radius: 6px;
    pointer-events: none;
}

.eckard-vertical-marquee-editor-inner {
    width: 100%;
    min-height: 100px;
}

.eckard-color-palette-label {
    font-weight: 500;
    font-size: 13px;
    color: #1e1e1e;
}
