
.custom-carousel-container {
position: relative;
width: 100% !important;
max-width: 95%;
overflow: hidden;
border-radius: 15px;
margin: 8px;
}
.custom-carousel {
display: flex;
grid-template-rows: 100%;
transition: transform 0.5s ease-in-out;
}
.custom-carousel-item {
width: 100%;
flex-shrink: 0;
object-fit: cover;
}
.custom-prev,
.custom-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 5px;
font-size: 17px;
cursor: pointer;
z-index: 1;
}
.custom-prev {
left: 10px;
}
.custom-next {
right: 10px;
}
.custom-prev:hover,
.custom-next:hover {
background-color: rgba(0, 0, 0, 0.8);
}
.custom-indicators {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 10px;
}
.custom-indicator {
width: 10px;
height: 5px;
border-radius: 50px;
background-color: rgba(255, 255, 255, 0.8);
position: relative;
overflow: hidden;
transition: width 0.5s, border-radius 0.5s;
}
.custom-indicator.active {
width: 50px;
height: 5px;
border-radius: 5px;
}
.custom-indicator .custom-progress {
width: 0;
height: 100%;
background-color: limegreen;
transition: width 0.5s;
}
.custom-indicator.inactive .custom-progress {
width: 0;
background-color: transparent;
}
@media (min-width: 576px) and (max-width: 768px) {
.custom-carousel-container {
width: 100%;
height: 30%;
}
.custom-indicator {
bottom: 20px;
}
}
@media (min-width: 768px) {
.custom-carousel-container {
width: 40%;
margin: auto;
height: 60%;
}
.custom-carousel-item {
    flex-shrink: 0;
    object-fit: contain !important;
}
.custom-indicator {
bottom: 0;
background: black;
}
}