.usa-sl-wid-slider-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 20px 0;
}

.usa-sl-wid-slider-track {
    display: flex;
    gap: 20px;
    animation: usa-sl-wid-scroll 20s linear infinite;
    width: max-content;
}

.usa-sl-wid-slider-container:hover .usa-sl-wid-slider-track {
    animation-play-state: paused;
}

.usa-sl-wid-card {
    flex: 0 0 calc(25vw - 15px); /* 4 cards visible at a time roughly */
    min-width: 250px;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    overflow: hidden;
}

.usa-sl-wid-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
    transition: background-color 0.3s ease;
}

.usa-sl-wid-card-title {
    position: relative;
    z-index: 2;
    margin: 0;
    font-size: 1.2rem;
    font-weight: bold;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
}

@keyframes usa-sl-wid-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 10px)); } /* Scrolls half the track width (the duplicated items) */
}

@media (max-width: 1024px) {
    .usa-sl-wid-card {
        flex: 0 0 calc(33.333vw - 20px);
    }
}

@media (max-width: 768px) {
    .usa-sl-wid-card {
        flex: 0 0 calc(50vw - 20px);
    }
}

@media (max-width: 480px) {
    .usa-sl-wid-card {
        flex: 0 0 calc(100vw - 40px);
    }
}





/* 1. Gradient Overlay (Darker base with a smooth blend) */
.usa-sl-wid-card::before {
    background: linear-gradient(
        to top, 
        rgba(15, 85, 165, 0.95) 0%, 
        rgba(15, 85, 165, 0.6) 20%, 
        rgba(15, 85, 165, 0.2) 40%, 
        rgba(15, 85, 165, 0) 50%
    ) !important;
    z-index: 2; /* Keeps overlay above the scaling background */
}

/* 2. Hard-Fixed and Identical Card Widths */
.usa-sl-wid-card {
    width: 500px !important; 
    max-width: 500px !important;
    flex: 0 0 450px !important; 
    
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important; 
    box-sizing: border-box !important;
    
    /* Crucial for Zoom Effect */
    overflow: hidden !important; /* Prevents zoomed image from spilling out */
    transition: background-size 0.4s ease-in-out !important; /* Smooth transition speed */
    background-size: 100% auto !important; /* Base image scale */
}

/* 3. The Hover Zoom-In Trigger */
.usa-sl-wid-card-link:hover .usa-sl-wid-card {
    background-size: 115% auto !important; /* Zooms the background image in by 15% */
}

/* 4. Text Wrapping onto 2 Lines Without Distorting Card Size */
.usa-sl-wid-card-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 3; /* Keeps text layered cleanly on top */
    
    line-height: 1.3em !important; 
    height: calc(1.3em * 2) !important; 
    max-height: calc(1.3em * 2) !important;
    
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important; 
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important; 
    
    white-space: normal !important; 
    word-wrap: break-word !important;
}