.ast-container-cc7ef86d {
    --slides-to-show: 3;
    --scroll-speed: 20s;
    --scroll-direction: normal;
    --gap: 20px;
    
    overflow: hidden;
    position: relative;
    width: 100%;
}

/* Horizontal scrolling */
.ast-scroll-horizontal .ast-container-cc7ef86d {
    display: flex;
}

.ast-scroll-horizontal .ast-track-cc7ef86d {
    display: flex;
    flex-direction: row;
    gap: var(--gap);
    width: max-content;
    animation: scroll_horizontal_cc7ef86d var(--scroll-speed) linear infinite var(--scroll-direction);
}

.ast-scroll-horizontal .ast-item-cc7ef86d {
    width: calc((100vw / var(--slides-to-show)) - var(--gap)); /* Fallback approx */
    flex-shrink: 0;
}

/* Vertical scrolling */
.ast-scroll-vertical .ast-container-cc7ef86d {
    display: block;
    /* Height is typically set via Elementor control for vertical marquees */
}

.ast-scroll-vertical .ast-track-cc7ef86d {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    height: max-content;
    animation: scroll_vertical_cc7ef86d var(--scroll-speed) linear infinite var(--scroll-direction);
}

.ast-scroll-vertical .ast-item-cc7ef86d {
    width: 100%;
    height: calc((100% / var(--slides-to-show)) - var(--gap));
    flex-shrink: 0;
}

/* General Item styling */
.ast-item-cc7ef86d {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    .ast-scroll-horizontal .ast-item-cc7ef86d {
        width: 300px; 
    }
}

.ast-header-cc7ef86d {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px; /* Spacing below the header row */
}

.ast-stars-cc7ef86d {
    display: flex;
}

.ast-stars-cc7ef86d i {
    color: #ffb800;
}

.ast-source-icon-cc7ef86d {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.ast-source-icon-cc7ef86d i {
    color: #3b5998; /* Fallback default icon color */
    font-size: 16px;
}

.ast-source-icon-cc7ef86d svg {
    width: 16px;
    height: 16px;
    fill: #3b5998;
    transition: fill 0.3s ease;
}

.ast-review-cc7ef86d {
    margin-bottom: 15px; /* Default margin */
}

.ast-client-cc7ef86d {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: auto; /* Pushes to bottom */
}

.ast-image-cc7ef86d {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.ast-name-cc7ef86d {
    font-weight: bold;
}

.ast-designation-cc7ef86d {
    font-size: 0.9em;
    opacity: 0.8;
}

@keyframes scroll_horizontal_cc7ef86d {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - (var(--gap) / 2))); }
}

@keyframes scroll_vertical_cc7ef86d {
    0% { transform: translateY(0); }
    100% { transform: translateY(calc(-50% - (var(--gap) / 2))); }
}
