.vdh-recommend{
    margin:0 0 22px;
}

.vdh-recommend__frame{
    position:relative;
    padding:16px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:
        linear-gradient(180deg,rgba(28,35,46,.96),rgba(15,20,28,.98));
    box-shadow:0 10px 28px rgba(0,0,0,.18);
}

.vdh-recommend__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 14px;
}

.vdh-recommend__heading{
    min-width:0;
    padding-left:12px;
    border-left:3px solid #e83c47;
}

.vdh-recommend__heading h2{
    margin:0;
    color:#fff;
    font-size:20px;
    line-height:1.25;
}

.vdh-recommend__heading p{
    margin:5px 0 0;
    color:#aeb8c6;
    font-size:13px;
    line-height:1.5;
}

.vdh-recommend__actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex-shrink:0;
}

.vdh-recommend__nav{
    width:33px;
    height:33px;
    padding:0;
    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;
    background:#252e39;
    color:#fff;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease;
}

.vdh-recommend__nav:hover,
.vdh-recommend__nav:focus{
    background:#e83c47;
    transform:translateY(-1px);
}

.vdh-recommend__more{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:33px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    color:#fff !important;
    font-size:12px;
    font-weight:600;
    text-decoration:none !important;
    white-space:nowrap;
}

.vdh-recommend__more:hover,
.vdh-recommend__more:focus{
    border-color:#e83c47;
    color:#fff !important;
}

.vdh-recommend__viewport{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    outline:none;
}

.vdh-recommend__viewport::-webkit-scrollbar{
    display:none;
}

.vdh-recommend__track{
    display:flex;
    gap:12px;
    min-width:max-content;
    padding:1px;
}

.vdh-recommend__track .vdh-card{
    flex:0 0 calc((100vw - 355px) / 5);
    width:calc((100vw - 355px) / 5) !important;
    min-width:146px;
    max-width:220px;
    margin:0 !important;
}

.vdh-recommend__track .vdh-card__link{
    display:block;
    height:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    background:#161d26;
    color:#fff;
    text-decoration:none !important;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.vdh-recommend__track .vdh-card__link:hover,
.vdh-recommend__track .vdh-card__link:focus{
    border-color:rgba(232,60,71,.82);
    box-shadow:0 8px 22px rgba(0,0,0,.32);
    transform:translateY(-3px);
}

.vdh-recommend__track .vdh-card__poster{
    position:relative;
    aspect-ratio:2 / 3;
    overflow:hidden;
    background:#0f141b;
}

.vdh-recommend__track .vdh-card__img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.vdh-recommend__track .vdh-card__badge{
    position:absolute;
    top:7px;
    left:7px;
    padding:3px 6px;
    border-radius:7px;
    background:#df3541;
    color:#fff;
    font-size:10px;
    font-weight:700;
    line-height:1;
}

.vdh-recommend__track .vdh-card__body{
    min-height:67px;
    padding:8px;
}

.vdh-recommend__track .vdh-card__title{
    display:-webkit-box;
    margin:0;
    overflow:hidden;
    color:#fff;
    font-size:12px;
    font-weight:600;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.vdh-recommend__track .vdh-card__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    margin-top:6px;
    color:#95a4b5;
    font-size:11px;
}

.vdh-recommend__track .vdh-card__rating{
    color:#f8c55b;
    white-space:nowrap;
}

@media (max-width:1300px){
    .vdh-recommend__track .vdh-card{
        flex-basis:calc((100vw - 330px) / 4);
        width:calc((100vw - 330px) / 4) !important;
    }
}

@media (max-width:1040px){
    .vdh-recommend__track .vdh-card{
        flex-basis:calc((100vw - 100px) / 4);
        width:calc((100vw - 100px) / 4) !important;
    }
}

@media (max-width:780px){
    .vdh-recommend__frame{
        padding:13px;
        border-radius:13px;
    }

    .vdh-recommend__head{
        align-items:flex-start;
    }

    .vdh-recommend__heading h2{
        font-size:18px;
    }

    .vdh-recommend__heading p{
        display:none;
    }

    .vdh-recommend__more{
        display:none;
    }

    .vdh-recommend__track .vdh-card{
        flex-basis:calc((100vw - 66px) / 3);
        width:calc((100vw - 66px) / 3) !important;
    }
}

@media (max-width:560px){
    .vdh-recommend__track{
        gap:10px;
    }

    .vdh-recommend__track .vdh-card{
        flex-basis:calc((100vw - 54px) / 2.12);
        width:calc((100vw - 54px) / 2.12) !important;
        min-width:138px;
    }

    .vdh-recommend__nav{
        width:30px;
        height:30px;
    }
}

/* VDH Home Recommend: container-based compact cards */
@supports (width: 1cqw) {

    .vdh-recommend__viewport {
        container-type: inline-size;
    }

    /* ค่าเริ่มต้น: 4 การ์ดในพื้นที่แคบ */
    .vdh-recommend__track .vdh-card {
        flex: 0 0 calc((100cqw - 36px) / 4);
        width: calc((100cqw - 36px) / 4) !important;
        min-width: 0;
        max-width: none;
    }

    /* พื้นที่กลาง: 5 การ์ด */
    @container (min-width: 680px) {
        .vdh-recommend__track .vdh-card {
            flex-basis: calc((100cqw - 48px) / 5);
            width: calc((100cqw - 48px) / 5) !important;
        }
    }

    /* Desktop: 6 การ์ด */
    @container (min-width: 900px) {
        .vdh-recommend__track .vdh-card {
            flex-basis: calc((100cqw - 60px) / 6);
            width: calc((100cqw - 60px) / 6) !important;
        }

        .vdh-recommend__track .vdh-card__body {
            min-height: 60px;
            padding: 7px;
        }

        .vdh-recommend__track .vdh-card__title {
            font-size: 11px;
        }
    }

    /* Full HD: 7 การ์ด */
    @container (min-width: 1150px) {
        .vdh-recommend__track .vdh-card {
            flex-basis: calc((100cqw - 72px) / 7);
            width: calc((100cqw - 72px) / 7) !important;
        }
    }

    /* มือถือ: เห็น 2 การ์ดกว่าเล็กน้อย */
    @container (max-width: 559px) {
        .vdh-recommend__track .vdh-card {
            flex-basis: calc((100cqw - 10px) / 2.12);
            width: calc((100cqw - 10px) / 2.12) !important;
        }
    }
}