.th-mediaslider-container {
    display: grid;
    grid-template-areas: "slide";
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #000;
    /* Prevent white flashes during transition */
}

.th-mediaslider-item {
    grid-area: slide;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    /* When hiding: fade out opacity over 1s, keep visibility visible for 1s so it doesn't vanish immediately */
    transition: opacity 1000ms ease-in-out, visibility 1000ms step-end;
}

.th-mediaslider-item.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    /* When showing: fade in opacity over 1s, make visible immediately */
    transition: opacity 1000ms ease-in-out, visibility 0ms linear;
}

.th-mediaslider-image,
.th-mediaslider-video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Responsiveness adjustments */
@media (max-width: 767px) {
    /* Mobile styles if specific overrides needed */
}

@media (min-width: 768px) {
    /* Desktop styles */
}