.angie-carousel-wrapper-d392092d {
    position: relative;
    width: 100%;
    height: var(--carousel-height, 400px);
    overflow: var(--overflow, hidden);
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    touch-action: pan-y;
}

.angie-carousel-track-d392092d {
    position: relative;
    width: 100%;
    height: 100%;
}

.angie-carousel-slide-d392092d {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: calc(-0.5 * var(--slide-width, 300px));
    margin-top: calc(-0.5 * var(--slide-height, 400px));
    width: var(--slide-width, 300px);
    height: var(--slide-height, 400px);
    border-radius: var(--border-radius, 0);
    overflow: hidden;
    /* CSS variables injected via JS for position difference */
    transform: translateX(calc(var(--diff, 0) * (100% + var(--gap, 20px)))) scale(var(--inactive-scale, 0.8));
    opacity: var(--inactive-opacity, 0.5);
    z-index: calc(10 - abs(var(--diff, 0)));
    transition: transform var(--transition-duration, 500ms) var(--transition-easing, ease), 
                opacity var(--transition-duration, 500ms) var(--transition-easing, ease), 
                box-shadow var(--transition-duration, 500ms) var(--transition-easing, ease);
    cursor: grab;
    display: block;
}

.angie-carousel-wrapper-d392092d.is-dragging .angie-carousel-slide-d392092d {
    cursor: grabbing;
}

.angie-carousel-slide-d392092d img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none; /* Prevent drag image default behavior */
}

.angie-carousel-slide-d392092d.is-active {
    transform: translateX(0) scale(var(--active-scale, 1));
    opacity: var(--active-opacity, 1);
    z-index: 20;
    cursor: default;
}

.angie-carousel-nav-d392092d {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 30;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: rgba(0,0,0,0.5);
    color: #fff;
    border-radius: 50%;
    border: none;
    transition: all 0.3s ease;
    padding: 0;
}

.angie-carousel-nav-d392092d.prev {
    left: 20px;
}

.angie-carousel-nav-d392092d.next {
    right: 20px;
}

.angie-carousel-nav-d392092d:hover {
    background-color: rgba(0,0,0,0.8);
    color: #fff;
    transform: translateY(-50%) scale(1.1); /* Smooth hover scaling */
}

.angie-carousel-nav-d392092d:active {
    transform: translateY(-50%) scale(0.95); /* Smooth click animation */
}

/* Ensure hover animation class doesn't override base transform */
.angie-carousel-nav-d392092d[class*="elementor-animation-"]:hover {
	transform: translateY(-50%);
}

.angie-carousel-nav-d392092d svg {
    width: 40%;
    height: 40%;
    fill: currentColor;
    transition: fill 0.3s ease;
}

.angie-carousel-nav-d392092d i {
    font-size: 50%;
    transition: color 0.3s ease;
}