.elementor-172 .elementor-element.elementor-element-d07e47d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-172 .elementor-element.elementor-element-471060b{--display:flex;}/* Start custom CSS for html, class: .elementor-element-8bdcf8d *//* Container & Root Variables */
.sh-testimonial-widget {
    /* Using modern color syntax for better legibility */
    --primary-blue: #1e3a8a;
    --text-dark: #1f2937;
    --text-muted: #6b7280;
    --star-gold: #fbbf24;
    --bg-light: #f8fafc;
    --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    
    background-color: var(--bg-light);
    padding: 80px 20px;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; /* Added system fonts for better fallbacks */
    overflow: hidden;
}

/* Header Section */
.sh-header {
    text-align: center;
    margin-bottom: 60px;
}

.sh-header h4 { 
    color: var(--primary-blue); 
    text-transform: uppercase; 
    letter-spacing: 0.15em; 
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.sh-header h1 { 
    font-size: clamp(1.8rem, 5vw, 2.5rem); /* Responsive typography */
    color: var(--text-dark);
    margin-bottom: 20px;
    font-weight: 800;
    line-height: 1.2;
}

.sh-header p { 
    color: var(--text-muted); 
    max-width: 600px; 
    margin: 0 auto;
    line-height: 1.7;
}

/* Main Scroll Area */
.sh-scroll-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    height: 700px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    /* Improved Masking for a smoother fade effect */
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
}

/* Column Logic */
.sh-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
    will-change: transform; /* Performance optimization for animations */
}

/* IMPORTANT: For these animations to feel "infinite," 
   your HTML must duplicate the card list inside each column.
*/
.sh-anim-up { animation: shScrollUp 30s linear infinite; }
.sh-anim-down { animation: shScrollDown 30s linear infinite; }

/* Pause on Hover for Accessibility (WCAG guideline) */
@media (prefers-reduced-motion: no-preference) {
    .sh-scroll-container:hover .sh-column { 
        animation-play-state: paused; 
    }
}

@keyframes shScrollUp {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

@keyframes shScrollDown {
    from { transform: translateY(-50%); }
    to { transform: translateY(0); }
}

/* Card Visuals */
.sh-card {
    background: #ffffff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: var(--card-shadow);
    border: 1px solid rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease;
}

/* Featured Card (Blue Background) */
.sh-card.sh-featured {
    background: var(--primary-blue);
    color: #ffffff;
}

.sh-card-header { 
    display: flex; 
    align-items: center; 
    margin-bottom: 20px; 
}

.sh-card-header img { 
    width: 70px; 
    height: 70px; 
    border-radius: 50%; 
    object-fit: cover; 
    margin-right: 12px;
    border: 2px solid #fff;
}

.sh-user h3 { font-size: rem; margin: 0; font-weight: 900; }
.sh-user span { font-size: 0.8rem; color: var(--text-muted); display: block; }
.sh-featured .sh-user span { color: rgba(255, 255, 255, 0.7); }

.sh-stars { color: var(--star-gold); margin: 12px 0; font-size: 0.9rem; letter-spacing: 2px; }
.sh-card p { font-size: 0.95rem; line-height: 1.6; color: inherit; }

/* Tablet & Mobile Responsiveness */
@media (max-width: 992px) {
    .sh-scroll-container { grid-template-columns: repeat(2, 1fr); height: 600px; }
    .sh-col-3 { display: none; } /* Ensure this class is on your 3rd column div */
}

@media (max-width: 640px) {
    .sh-scroll-container { grid-template-columns: 1fr; height: 500px; }
    .sh-col-2 { display: none; }
    .sh-header { padding: 0 10px; }
}/* End custom CSS */