.carousel {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
}
.carousel-inner {
    display: flex;
    transition: transform 0.5s ease;
}
.carousel-item {
    min-width: 100%;
    height: 400px;
}
.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(20, 103, 220, 0.7);
    color: white;
    border: none;
    padding: 15px;
    cursor: pointer;
    z-index: 1;
}
.carousel-button.prev { left: 10px; }
.carousel-button.next { right: 10px; }

.carousel-container {
    overflow: hidden;
    position: relative;
}
.carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
}
.carousel-slide {
    flex: 0 0 25%;
    max-width: 25%;
}
@media (max-width: 1024px) {
    .carousel-slide {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}
@media (max-width: 768px) {
    .carousel-slide {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media (max-width: 640px) {
    .carousel-slide {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@keyframes slideIn {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}
@keyframes slideOut {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}
.slide-in {
    animation: slideIn 0.3s forwards;
}
.slide-out {
    animation: slideOut 0.3s forwards;
}