/* kinodom.live — cast cards (v3.1)
   Isolated styles so the existing site design stays untouched. */

.kd-cast-section{
    max-width:1280px;
    margin:0 auto;
    padding:10px 20px 48px;
}
.kd-cast-head{
    margin-bottom:18px;
}
.kd-cast-head>span{
    color:var(--cyan,#17d5ff);
    font-size:12px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
}
.kd-cast-head h2{
    margin:5px 0 0;
    font-size:clamp(24px,3vw,32px);
    letter-spacing:-.6px;
}
.kd-cast-row{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding:2px 2px 14px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
    scroll-snap-type:x proximity;
}
.kd-cast-row::-webkit-scrollbar{height:6px}
.kd-cast-row::-webkit-scrollbar-track{background:transparent}
.kd-cast-row::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.18);
    border-radius:999px;
}
.kd-cast-card{
    flex:0 0 104px;
    min-width:0;
    scroll-snap-align:start;
    display:block;
    color:inherit;
    text-decoration:none;
}
.kd-cast-photo{
    width:104px;
    height:142px;
    display:block;
    overflow:hidden;
    border-radius:13px;
    background:linear-gradient(145deg,#151c2a,#0b1019);
    border:1px solid rgba(255,255,255,.11);
    box-shadow:0 10px 28px rgba(0,0,0,.24);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.kd-cast-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}
.kd-cast-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 50% 25%,rgba(82,99,135,.18),transparent 38%),
        linear-gradient(160deg,#151b29,#0c111a);
}
.kd-cast-placeholder svg{
    width:64%;
    height:auto;
    fill:#3c4559;
}
.kd-cast-name{
    display:block;
    margin-top:9px;
    padding:0 2px;
    font-size:12px;
    line-height:1.25;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.kd-cast-card:hover .kd-cast-photo{
    transform:translateY(-3px);
    border-color:rgba(23,213,255,.42);
    box-shadow:0 15px 34px rgba(0,0,0,.34),0 0 0 1px rgba(23,213,255,.08);
}
.kd-cast-card:hover .kd-cast-name{
    color:var(--cyan,#17d5ff);
}

@media(max-width:640px){
    .kd-cast-section{padding:4px 16px 36px}
    .kd-cast-row{gap:13px}
    .kd-cast-card{flex-basis:86px}
    .kd-cast-photo{width:86px;height:118px;border-radius:11px}
    .kd-cast-name{font-size:11px}
}
