.mui-carousel {
position: relative;
width: 100%;
max-width: 24rem;
}
@media (max-width: 640px) {
.mui-carousel {
max-width: 100%;
}
}
.mui-carousel__viewport {
overflow: hidden;
border-radius: var(--mui-radius-lg);
}
.mui-carousel__container {
display: flex;
transition: transform 0.3s ease-out;
}
.mui-carousel__slide {
flex: 0 0 100%;
min-width: 0;
}
.mui-carousel__prev,
.mui-carousel__next {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 2rem;
height: 2rem;
display: inline-flex;
align-items: center;
justify-content: center;
border: none;
border-radius: var(--mui-radius-full);
background: transparent;
color: var(--mui-text);
font-size: 1.25rem;
line-height: 1;
cursor: pointer;
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
color 150ms cubic-bezier(0.4, 0, 0.2, 1),
opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
z-index: 1;
padding: 0;
font-family: inherit;
opacity: 0.7;
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
}
.mui-carousel__prev {
left: 0.75rem;
}
.mui-carousel__next {
right: 0.75rem;
}
.mui-carousel__prev:hover,
.mui-carousel__next:hover {
background: var(--mui-bg-input);
opacity: 1;
}
.mui-carousel__prev:active,
.mui-carousel__next:active {
transform: translateY(-50%) scale(0.95);
}
.mui-carousel__prev:disabled,
.mui-carousel__next:disabled {
opacity: 0.25;
cursor: not-allowed;
pointer-events: none;
}
.mui-carousel__prev:focus-visible,
.mui-carousel__next:focus-visible {
outline: 2px solid var(--mui-border-focus);
outline-offset: 2px;
}
.mui-carousel__dots {
display: flex;
justify-content: center;
gap: 0.5rem;
padding-top: 0.75rem;
}
.mui-carousel__dot {
width: 24px;
height: 24px;
background: transparent;
border: none;
padding: 0;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
}
.mui-carousel__dot::before {
content: "";
width: 0.5rem;
height: 0.5rem;
border-radius: var(--mui-radius-full);
background: var(--mui-border);
transition: background-color 200ms ease-out, width 200ms ease-out;
}
.mui-carousel__dot:hover::before {
background: var(--mui-text-muted);
}
.mui-carousel__dot--active::before,
.mui-carousel__dot[aria-selected="true"]::before {
background: var(--mui-accent);
width: 1.25rem;
}
.mui-carousel__dot:focus-visible {
outline: 2px solid var(--mui-border-focus);
outline-offset: 2px;
}