.tmdb-cast-container {
    --tmdb-primary: #1a1e2a;
    --tmdb-secondary: #2a3142;
    --tmdb-text: #e9e9e9;
    --tmdb-text-secondary: #b0b0b0;
    --card-width: 120px;
    --card-gap: 10px;
    
    position: relative;
    margin: 20px 0;
    overflow: hidden;
}

.tmdb-cast-scroller {
    display: flex;
    gap: var(--card-gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 10px;
    margin: -10px;
    scrollbar-width: none;
}

.tmdb-cast-scroller::-webkit-scrollbar {
    display: none;
}

.tmdb-cast-card {
    scroll-snap-align: start;
    flex: 0 0 var(--card-width);
    background: var(--tmdb-primary);
    border: 1px solid var(--tmdb-secondary);
    border-radius: 8px;
    overflow: hidden;
}

.tmdb-cast-imgwrap {
    padding: 10px;
}

.tmdb-cast-imgwrap img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.tmdb-default-profile {
    height: 120px;
    background: var(--tmdb-secondary);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tmdb-default-profile svg {
    width: 50px;
    height: 50px;
    fill: var(--tmdb-text-secondary);
}

.tmdb-cast-name {
    color: var(--tmdb-text);
    font-size: 13px;
    padding: 6px 8px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.tmdb-cast-char {
    color: var(--tmdb-text-secondary);
    font-size: 11px;
    padding: 0 8px 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

@media (max-width: 767px) {
    .tmdb-cast-container {
        --card-width: 100px;
        --card-gap: 8px;
    }
    
    .tmdb-cast-imgwrap {
        padding: 8px;
    }
    
    .tmdb-cast-imgwrap img,
    .tmdb-default-profile {
        height: 100px;
    }
    
    .tmdb-cast-name {
        font-size: 12px;
    }
    
    .tmdb-cast-char {
        font-size: 10px;
    }
}