.eycs-slider {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.eycs-slider *,
.eycs-slider *::before,
.eycs-slider *::after {
    box-sizing: border-box;
}

.eycs-viewport {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.eycs-track {
    position: relative;
    width: 100%;
}

.eycs-slide {
    display: none;
    width: 100%;
}

.eycs-slide.is-active {
    display: block;
    animation: eycsFade .28s ease;
}

@keyframes eycsFade {
    from { opacity: .25; }
    to { opacity: 1; }
}

.eycs-slide-inner {
    position: relative;
    overflow: hidden;
    background: #000;
}

.eycs-video-frame {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    background: #000;
}

.eycs-video-frame iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.eycs-caption {
    width: 100%;
    background: #111;
    padding: 18px 20px;
}

.eycs-title {
    margin: 0 0 7px;
    color: #fff;
    font-size: 22px;
    line-height: 1.25;
}

.eycs-description {
    color: #e8e8e8;
    font-size: 15px;
    line-height: 1.55;
}

.eycs-description p {
    margin-top: 0;
    margin-bottom: .65em;
}

.eycs-description p:last-child {
    margin-bottom: 0;
}

.eycs-caption-overlay .eycs-caption {
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.58), rgba(0,0,0,0));
    padding-top: 58px;
    pointer-events: none;
}

.eycs-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: rgba(0,0,0,.55);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: transform .18s ease, opacity .18s ease;
}

.eycs-arrow:hover,
.eycs-arrow:focus-visible {
    transform: translateY(-50%) scale(1.06);
}

.eycs-prev { left: 14px; }
.eycs-next { right: 14px; }

.eycs-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 14px 0 0;
}

.eycs-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #b0b0b0;
    cursor: pointer;
    opacity: .72;
    transition: transform .18s ease, opacity .18s ease;
}

.eycs-dot.is-active {
    opacity: 1;
    transform: scale(1.3);
    background: #111;
}

.eycs-empty {
    padding: 16px;
    border: 1px dashed #bbb;
    background: #fafafa;
    color: #555;
}

@media (max-width: 767px) {
    .eycs-arrow {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }

    .eycs-prev { left: 8px; }
    .eycs-next { right: 8px; }

    .eycs-caption-overlay .eycs-caption {
        position: relative;
        background: #111;
        padding-top: 16px;
        pointer-events: auto;
    }
}
