/* =========================================================
   RoPhim VIP - Authentic Detail, Watch Player & Auth Modal Styles
   Matches rophim1.vip layout, typography, colors and transitions
   ========================================================= */

/* --- Modal Base & Overlay --- */
.rophim-overlay-view {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #11141d;
    z-index: 10000;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    display: none;
    animation: roFadeIn 0.25s ease forwards;
}

.rophim-overlay-view.active {
    display: block;
}


@keyframes roFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- Floating Close / Back Button --- */
.ro-back-floating {
    position: fixed;
    top: 86px;
    right: 32px;
    z-index: 10020;
    background: rgba(25, 27, 36, 0.88);
    border: 1.5px solid rgba(255, 216, 117, 0.4);
    color: #ffd875;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    backdrop-filter: blur(10px);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.75);
    transition: all 0.25s ease;
}

.ro-back-floating:hover {
    background: #ffd875;
    color: #11141d;
    transform: scale(1.08) rotate(90deg);
}

/* --- Top Detail Wrap (RoPhim authentic banner backdrop) --- */
.top-detail-wrap {
    position: relative;
    width: 100%;
    height: 560px;
    background-color: #11141d;
    overflow: hidden;
}

.top-detail-wrap .background-fade {
    position: absolute;
    inset: -30px;
    background-size: cover;
    background-position: center;
    filter: blur(28px);
    opacity: 0.38;
    transform: scale(1.1);
}

.top-detail-wrap .cover-fade {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: flex-end;
}

.top-detail-wrap .cover-image {
    width: 68%;
    height: 100%;
    background-size: cover;
    background-position: center 20%;
    mask-image: linear-gradient(to left, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
}

.top-detail-wrap:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 260px;
    z-index: 2;
    background: linear-gradient(0deg, #11141d 15%, rgba(17, 20, 29, 0) 100%);
}

/* --- Detail Container (Two Columns) --- */
.detail-container {
    width: 100%;
    max-width: 1560px;
    padding: 0 30px;
    margin: -240px auto 60px;
    position: relative;
    z-index: 5;
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* Left Column: Poster & Quick Meta */
.dc-side {
    width: 360px;
    flex-shrink: 0;
    background: rgba(25, 29, 43, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1.5rem;
    padding: 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(16px);
}

.dc-side .v-thumb-l {
    position: relative;
    width: 100%;
    padding-top: 145%;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 216, 117, 0.2);
}

.dc-side .v-thumb-l img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dc-side .media-name {
    font-size: 1.55rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 6px;
}

.dc-side .alias-name {
    font-size: 0.95rem;
    color: #ffd875;
    margin-bottom: 16px;
    font-style: italic;
    opacity: 0.9;
}

.dc-side .hl-tags,
.hl-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 8px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.hl-tags.genres-tags {
    margin-top: 4px !important;
    margin-bottom: 18px !important;
}

.tag-imdb {
    background: transparent !important;
    border: 1px solid #f0d25c !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-weight: 600 !important;
    cursor: default !important;
    height: auto !important;
    min-height: 24px !important;
    line-height: 22px !important;
    font-size: 12px !important;
    padding: 0 8px !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.tag-classic {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    height: auto !important;
    min-height: 24px !important;
    padding: 2px 8px !important;
    color: #cbd5e1 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.tag-topic {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    height: auto !important;
    min-height: 24px !important;
    padding: 3px 9px !important;
    color: #cbd5e1 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    line-height: 1.3 !important;
}

.tag-topic:hover {
    background-color: rgba(255, 216, 117, 0.15) !important;
    border-color: rgba(255, 216, 117, 0.35) !important;
    color: #ffd875 !important;
}

.dc-side .desc-box {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.dc-side .desc-title {
    font-size: 13px;
    font-weight: 700;
    color: #cbd5e1;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.dc-side .desc-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #94a3b8;
    max-height: 180px;
    overflow-y: auto;
}

/* Right Column: Actions, Player, Servers & Episodes */
.dc-main {
    flex-grow: 1;
    background: rgba(25, 29, 43, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1.5rem;
    padding: 32px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(16px);
}

.dm-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ro-btn-play-large {
    background: linear-gradient(135deg, #ffd875 0%, #f6bd38 100%) !important;
    color: #11141d !important;
    font-weight: 800 !important;
    font-size: 1.15rem !important;
    padding: 14px 34px !important;
    border-radius: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    border: none !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    min-height: 52px !important;
    min-width: 180px !important;
    box-shadow: 0 10px 25px rgba(246, 189, 56, 0.4) !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.ro-btn-play-large:hover {
    transform: translateY(-2px) scale(1.03) !important;
    box-shadow: 0 14px 32px rgba(246, 189, 56, 0.55) !important;
}

.dm-secondary-actions {
    display: flex;
    gap: 12px;
}

.btn-action-round {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #e2e8f0;
    padding: 10px 18px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.btn-action-round:hover {
    background: rgba(255, 216, 117, 0.15);
    color: #ffd875;
    border-color: rgba(255, 216, 117, 0.4);
}

/* Episodes Selection Area */
.ro-episodes-wrap {
    margin-top: 24px;
}

.ro-servers-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.ro-server-pill {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #cbd5e1;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ro-server-pill.active, .ro-server-pill:hover {
    background: rgba(255, 216, 117, 0.2);
    color: #ffd875;
    border-color: #ffd875;
}

.ro-episodes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
    gap: 10px;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 6px;
}

.ro-ep-btn {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 12px 6px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease;
}

.ro-ep-btn:hover {
    background: rgba(255, 216, 117, 0.2);
    color: #ffd875;
    border-color: rgba(255, 216, 117, 0.5);
    transform: translateY(-2px);
}

.ro-ep-btn.active {
    background: #ffd875;
    color: #11141d;
    border-color: #ffd875;
    box-shadow: 0 4px 12px rgba(255, 216, 117, 0.35);
}

/* Authentic RoPhim Casts / Actors Section */
.child-actors {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.child-header {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.child-actors-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    column-gap: 0.75rem !important;
    row-gap: 1.25rem !important;
    align-items: start !important;
}

.child-actors-list .v-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0.5rem !important;
}

.v-actor {
    border-radius: 50% !important;
    overflow: hidden !important;
    display: block !important;
    position: relative !important;
    background-color: #1e2230 !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.v-actor:hover {
    transform: scale(1.06) !important;
    box-shadow: 0 8px 24px rgba(255, 216, 117, 0.35) !important;
}

.v-actor-medium {
    width: 76px !important;
    height: 76px !important;
    border: 2px solid rgba(255, 216, 117, 0.35) !important;
}

.v-actor img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 50% !important;
}

.child-actors-list .item-title {
    color: #e2e8f0 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    max-width: 110px !important;
    word-break: break-word !important;
}

.child-actors-list .item-title a {
    color: #e2e8f0 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.child-actors-list .item-title a:hover {
    color: #ffd875 !important;
}

/* --- Authentic RoPhim In-Page Watch View (.makeup.wrapper-watch) --- */
.wrapper-watch {
    width: 100% !important;
    max-width: 1260px !important;
    margin: 0 auto 60px !important;
    padding: 72px 16px 40px !important;
}

.watch-player {
    position: relative !important;
    width: 100% !important;
    max-width: 1060px !important;
    margin: 0 auto 16px !important;
}

.wp-bread {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.wp-bread .btn-circle {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffd875 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.wp-bread .btn-circle:hover {
    background: #ffd875 !important;
    color: #11141d !important;
    transform: scale(1.08) !important;
}

.wp-bread .page-name {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 !important;
}

/* 16:9 Ratio Player */
.player-ratio {
    position: relative !important;
    border-radius: 0.85rem !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.85) !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    background-color: #000 !important;
    width: 100% !important;
    max-width: 1060px !important;
    margin: 0 auto !important;
}

.player-ratio .ratio-16x9 {
    position: relative !important;
    width: 100% !important;
    height: 520px !important;
    max-height: calc(100vh - 205px) !important;
    aspect-ratio: 16 / 9 !important;
    padding-top: 0 !important;
    background: #000 !important;
}

.player-ratio .ratio-16x9 iframe,
.player-ratio .ratio-16x9 video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}


/* ============================================================
   AUTHENTIC ROPHIM WATCH VIEW & PLAYER STYLES
   ============================================================ */
.watch-player {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 1640px !important;
    padding: 0 20px !important;
    margin: 0 auto !important;
}

.watch-player .wp-bread {
    width: 100% !important;
    margin-bottom: 1.25rem !important;
    display: flex !important;
    align-items: center !important;
}

.watch-player .player-ratio {
    position: relative !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9) !important;
    overflow: hidden !important;
}

.watch-player .player-ratio .ratio {
    border-radius: 0.75rem 0.75rem 0 0 !important;
    overflow: hidden !important;
    background-color: #08080a !important;
}

.player-control {
    background-color: #08080a !important;
    border-radius: 0 0 0.75rem 0.75rem !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 !important;
}

.player-control .ep-current {
    background-color: #535d8e !important;
    color: #fff !important;
    height: 100% !important;
    padding: 0 1.2rem !important;
    width: 130px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 0 0 0.75rem !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    flex-shrink: 0 !important;
}

.player-control .control-items {
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem !important;
    width: 100% !important;
    padding: 0 20px !important;
}

.player-control .item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #cbd5e1 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: color 0.15s ease !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.player-control .item:hover {
    color: #ffd875 !important;
}

.player-control .toggle-basic {
    width: 36px !important;
    height: 18px !important;
    background: #334155 !important;
    border-radius: 20px !important;
    position: relative !important;
    cursor: pointer !important;
    transition: background 0.25s ease !important;
    display: inline-block !important;
}

.player-control .toggle-basic.is-on {
    background: #ffd875 !important;
}

.player-control .toggle-basic:after {
    content: '' !important;
    position: absolute !important;
    width: 12px !important;
    height: 12px !important;
    background: #fff !important;
    border-radius: 50% !important;
    top: 3px !important;
    left: 3px !important;
    transition: transform 0.25s ease !important;
}

.player-control .toggle-basic.is-on:after {
    transform: translateX(18px) !important;
    background: #11141d !important;
}

/* Two-Column Watch Container */
.watch-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1640px !important;
    padding: 0 20px !important;
    margin: 24px auto 0 !important;
}

.wc-main {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    background: #121622 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 1rem !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

/* wm-info strictly divided into 3 horizontal columns matching RoPhim */
.wc-main .wm-info {
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.wc-main .wm-info .v-thumb-l {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(255, 216, 117, 0.2) !important;
    flex-shrink: 0 !important;
    position: relative !important;
    background: #1b1e2c !important;
}

.wc-main .wm-info .v-thumb-l img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    position: static !important;
}

.wc-main .wm-info .info {
    width: 360px !important;
    flex-shrink: 0 !important;
}

.wc-main .wm-info .media-name {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 4px !important;
    line-height: 1.3 !important;
}

.wc-main .wm-info .media-name a {
    color: #fff !important;
    text-decoration: none !important;
}

.wc-main .wm-info .media-name a:hover {
    color: #ffd875 !important;
}

.wc-main .wm-info .alias-name {
    font-size: 0.88rem !important;
    color: #ffd875 !important;
    font-style: italic !important;
    margin-bottom: 10px !important;
}

.wc-main .wm-info .desc-line {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    padding-left: 20px !important;
    border-left: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.wc-main .wm-info .desc-line .description {
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: #94a3b8 !important;
    margin-bottom: 10px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.wc-main .wm-info .desc-line .text-primary {
    color: #ffd875 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Episodes Area inside Watch View (.wm-episodes) */
.wm-episodes .box-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
    gap: 16px !important;
}

.ro-server-pill {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #cbd5e1 !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.ro-server-pill.active,
.ro-server-pill:hover {
    background: rgba(255, 216, 117, 0.15) !important;
    color: #ffd875 !important;
    border-color: #ffd875 !important;
}

/* Authentic RoPhim Episodes Grid (.de-eps.is-simple) */
.de-eps.is-simple {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)) !important;
    gap: 8px !important;
    max-height: 360px !important;
    overflow-y: auto !important;
}

.de-eps.is-simple .item {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #cbd5e1 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    text-align: center !important;
}

.de-eps.is-simple .item:hover {
    background: rgba(255, 216, 117, 0.2) !important;
    color: #ffd875 !important;
    border-color: #ffd875 !important;
}

.de-eps.is-simple .item.on-air {
    background: #ffd875 !important;
    color: #0b0e17 !important;
    border-color: #ffd875 !important;
    font-weight: 800 !important;
}

/* Sidebar Column (.wc-side) */
.wc-side {
    width: 380px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.ws-rate {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    background: rgba(18, 22, 34, 0.95) !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    min-height: 54px !important;
}

.wsr-left {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.ws-rate .item-v {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    color: #94a3b8 !important;
    text-decoration: none !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.ws-rate .item-v:hover {
    background: none !important;
    color: #ffd875 !important;
    transform: translateY(-1px) !important;
}

.ws-rate .item-v .inc-icon {
    width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ws-rate .item-v .inc-icon svg {
    display: block !important;
}

.v-line {
    width: 1px !important;
    height: 28px !important;
    margin: 0 4px !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
}

.ro-rating {
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(255, 216, 117, 0.12) !important;
    border: 1px solid rgba(255, 216, 117, 0.25) !important;
    border-radius: 20px !important;
    padding: 5px 12px !important;
    color: #ffd875 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    gap: 6px !important;
    transition: transform 0.2s ease, background-color 0.2s ease !important;
}

.ro-rating:hover {
    background: rgba(255, 216, 117, 0.22) !important;
    transform: scale(1.03) !important;
}

.ro-rating .a-rate {
    font-size: 11px !important;
    color: #94a3b8 !important;
    font-weight: 400 !important;
}

.ro-rating:hover {
    transform: scale(1.03) !important;
    background-color: #3f66d4 !important;
}

.ro-rating svg {
    color: #f5c518 !important;
    fill: #f5c518 !important;
}

.ro-rating .point {
    font-weight: 700 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 0 2px 0 3px !important;
}

.ro-rating .a-rate {
    font-size: 11px !important;
    text-decoration: underline !important;
    opacity: 0.9 !important;
}

.child-box {
    background: #121622 !important;
    border-radius: 10px !important;
    padding: 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.child-header {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffd875 !important;
    margin-bottom: 12px !important;
}

.child-actors-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px 8px !important;
}

.child-actors-list .v-item {
    text-align: center !important;
    cursor: pointer !important;
}

.child-actors-list .v-actor {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin: 0 auto 6px !important;
    border: 2px solid rgba(255, 216, 117, 0.2) !important;
    background: #1e2230 !important;
    position: relative !important;
}

.child-actors-list .v-actor img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    position: static !important;
}

.child-actors-list .item-title {
    font-size: 12px !important;
    color: #cbd5e1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* Watch Side: Rate, Cast & Hot */
.wc-side {
    width: 400px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.wc-side .ws-actors,
.wc-side .ws-top {
    background: rgba(25, 29, 43, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 1.25rem !important;
    padding: 20px !important;
    backdrop-filter: blur(16px) !important;
}

/* --- Authentic RoPhim Comments & Discussion Section (.child-discuss) --- */
.child-discuss {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    width: 100% !important;
}

.child-discuss .child-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 20px !important;
}

.child-discuss .model-tabs {
    display: flex !important;
    align-items: center !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 3px !important;
    gap: 4px !important;
}

.child-discuss .model-tabs .item {
    background: none !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 4px 12px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.child-discuss .model-tabs .item.active {
    background: #ffd875 !important;
    color: #11141d !important;
}

.discuss-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
}

.discuss-wrap .my-area {
    background: rgba(18, 21, 31, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    padding: 16px !important;
}

.discuss-wrap .v-form-control {
    width: 100% !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    color: #fff !important;
    padding: 12px 14px !important;
    font-size: 13.5px !important;
    font-family: inherit !important;
    resize: vertical !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

.discuss-wrap .v-form-control:focus {
    border-color: rgba(255, 216, 117, 0.5) !important;
    box-shadow: 0 0 0 2px rgba(255, 216, 117, 0.15) !important;
}

.discuss-wrap .ma-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 10px !important;
}

.discuss-wrap .btn-primary {
    background: #ffd875 !important;
    color: #11141d !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.discuss-wrap .btn-primary:hover {
    background: #f5c518 !important;
    transform: translateY(-1px) !important;
}

.discuss-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 8px !important;
}

.d-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px !important;
    background: rgba(18, 21, 31, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 12px !important;
    transition: background 0.2s ease !important;
}

.d-item:hover {
    background: rgba(25, 29, 43, 0.75) !important;
}

.d-item .user-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border: 1.5px solid rgba(255, 216, 117, 0.3) !important;
}

.d-item .user-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.d-item .info {
    flex-grow: 1 !important;
    min-width: 0 !important;
}

.d-item .comment-header {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    flex-wrap: wrap !important;
}

.d-item .user-name {
    font-weight: 700 !important;
    color: #fff !important;
    font-size: 13.5px !important;
}

.d-item .rated {
    font-size: 11px !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 2px 7px !important;
    border-radius: 12px !important;
    background: #3b82f6 !important;
    font-weight: 600 !important;
}

.d-item .ch-for {
    font-size: 11px !important;
    color: #ffd875 !important;
    padding: 1px 6px !important;
    border: 1px solid rgba(255, 216, 117, 0.3) !important;
    border-radius: 4px !important;
}

.d-item .c-time {
    font-size: 11.5px !important;
    color: #64748b !important;
    margin-left: auto !important;
}

.d-item .text {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    color: #cbd5e1 !important;
    margin: 4px 0 8px !important;
    word-break: break-word !important;
}

.d-item .comment-bottom {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.d-item .comment-bottom .btn-xs {
    background: none !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 12px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

.d-item .comment-bottom .btn-xs:hover {
    color: #ffd875 !important;
    background: rgba(255, 216, 117, 0.1) !important;
}

/* --- Authentic RoPhim Login Modal (.modal-login) --- */
.ro-login-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(8, 10, 15, 0.82);
    backdrop-filter: blur(8px);
    z-index: 10020;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: roFadeIn 0.2s ease forwards;
}

.ro-login-modal-overlay.active {
    display: flex;
}

.modal-login-dialog {
    position: relative;
    width: 780px;
    max-width: 96vw;
    min-height: 480px;
    background-color: #1e2545;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.75);
    border: 1px solid rgba(255, 216, 117, 0.2);
    display: flex;
}

.modal-login-dialog:before {
    content: "";
    width: 360px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background-image: url(/images/rophim-login.jpg);
    background-size: cover;
    background-position: 0 100%;
    border-radius: 1rem 0 0 1rem;
}

.modal-login-content {
    margin-left: 360px;
    width: calc(100% - 360px);
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.modal-login-close {
    position: absolute;
    top: 16px;
    right: 18px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    z-index: 10;
}

.modal-login-close:hover {
    background: #ffd875;
    color: #11141d;
}

.login-brand-title {
    font-size: 1.45rem;
    font-weight: 800;
    color: #ffd875;
    margin-bottom: 4px;
}

.login-brand-sub {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 24px;
}

.ro-auth-form-group {
    margin-bottom: 16px;
}

.ro-auth-form-group label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: #cbd5e1;
    margin-bottom: 6px;
}

.ro-auth-input {
    width: 100%;
    background: rgba(13, 16, 26, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    transition: all 0.2s ease;
}

.ro-auth-input:focus {
    border-color: #ffd875;
    box-shadow: 0 0 0 3px rgba(255, 216, 117, 0.15);
}

.ro-auth-submit {
    width: 100%;
    background: linear-gradient(135deg, #ffd875 0%, #f6bd38 100%);
    color: #11141d;
    font-weight: 800;
    font-size: 14.5px;
    padding: 13px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    margin-top: 10px;
    transition: all 0.2s ease;
}

.ro-auth-submit:hover {
    box-shadow: 0 6px 20px rgba(246, 189, 56, 0.4);
    transform: translateY(-1px);
}

.ro-auth-switch {
    margin-top: 18px;
    font-size: 13px;
    color: #94a3b8;
    text-align: center;
}

.ro-auth-switch a {
    color: #ffd875;
    font-weight: 700;
    text-decoration: none;
    margin-left: 4px;
}

.ro-auth-switch a:hover {
    text-decoration: underline;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .detail-container {
        flex-direction: column;
        padding: 0 16px;
        margin-top: -120px;
    }
    .dc-side {
        width: 100%;
    }
    .modal-login-dialog:before {
        display: none;
    }
    .modal-login-content {
        margin-left: 0;
        width: 100%;
        padding: 30px 20px;
    }
    .watch-player-frame {
        height: 280px;
    }
}

/* --- Authentic RoPhim Header Dropdowns (.main_menu-dropdown) --- */
.menu-item-sub {
    position: relative !important;
}

.menu-item-sub .dropdown-link,
.menu-item-sub .dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer !important;
}

.menu-item-sub .dropdown-link::after,
.menu-item-sub .dropdown-toggle::after,
.header-nav .dropdown-toggle::after,
#main_menu .dropdown-toggle::after {
    display: none !important;
    content: none !important;
}

.menu-item-sub .main_menu-dropdown {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    background: rgba(18, 22, 33, 0.97) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 216, 117, 0.25) !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85) !important;
    padding: 10px !important;
    display: none !important;
    z-index: 10050 !important;
    animation: roFadeIn 0.2s ease forwards !important;
}

.menu-item-sub:hover .main_menu-dropdown,
.menu-item-sub:focus-within .main_menu-dropdown {
    display: block !important;
}

.main_menu-dropdown .m-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4px 8px !important;
}

.main_menu-dropdown .dropdown-item {
    padding: 7px 10px !important;
    color: #cbd5e1 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
    display: block !important;
}

.main_menu-dropdown .dropdown-item:hover {
    background: rgba(255, 216, 117, 0.15) !important;
    color: #ffd875 !important;
    transform: translateX(2px) !important;
}

/* --- Watch Party Modal (Xem Chung) --- */
.watch-party-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(8, 10, 15, 0.85);
    backdrop-filter: blur(10px);
    z-index: 10030;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: roFadeIn 0.2s ease forwards;
}

.watch-party-modal.active {
    display: flex;
}

.watch-party-dialog {
    background: #191e30;
    border: 1px solid rgba(255, 216, 117, 0.3);
    border-radius: 14px;
    padding: 28px;
    width: 480px;
    max-width: 95vw;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
    position: relative;
}

.watch-party-dialog h3 {
    color: #ffd875;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ============================================================
   ROPHIM AUTHENTIC TRAILER MODAL (.modal-trailer)
   ============================================================ */
.v-modal.modal-trailer {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(8, 10, 15, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    z-index: 10050 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

.v-modal.modal-trailer.active {
    display: flex !important;
    animation: roFadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

.v-modal.modal-trailer .modal-dialog {
    max-width: 820px !important;
    width: 96% !important;
    margin: auto !important;
    position: relative !important;
}

.v-modal.modal-trailer .modal-content {
    background: #151824 !important;
    padding: 6px !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(255, 216, 117, 0.25) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.9) !important;
    position: relative !important;
}

.v-modal.modal-trailer .modal-close {
    position: absolute !important;
    z-index: 99 !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    color: #0b0e17 !important;
    top: -12px !important;
    right: -12px !important;
    width: 32px !important;
    height: 32px !important;
    min-height: auto !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
    transition: transform 0.2s ease, background-color 0.2s ease !important;
}

.v-modal.modal-trailer .modal-close:hover {
    transform: scale(1.1) !important;
    background-color: #ffd875 !important;
}

.v-modal.modal-trailer .video-area {
    border-radius: 0.8rem !important;
    overflow: hidden !important;
    background: #000 !important;
}

.v-modal.modal-trailer .ratio-16x9 {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
}

.v-modal.modal-trailer .ratio-16x9 iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* ============================================================
   ROPHIM AUTHENTIC REPORT MODAL (.item-report & modal-sm)
   ============================================================ */
.item.item-report {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    color: #94a3b8 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

.item.item-report:hover {
    color: #ff6b6b !important;
    background: rgba(255, 107, 107, 0.12) !important;
}

.v-modal.modal-report {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(8, 10, 15, 0.85) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    z-index: 10060 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
}

.v-modal.modal-report.active {
    display: flex !important;
    animation: roFadeIn 0.2s ease forwards !important;
}

.modal-report .modal-dialog {
    width: 440px !important;
    max-width: 95vw !important;
    background: #171b29 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 14px !important;
    padding: 24px !important;
    position: relative !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.85) !important;
}

.modal-report .is-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
}

.modal-report .heading-sm {
    color: #fff !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.modal-report .modal-close {
    background: transparent !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 22px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: color 0.2s ease !important;
}

.modal-report .modal-close:hover {
    color: #fff !important;
}

.modal-report .reason-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

.modal-report .h-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.modal-report .h-item:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
}

.modal-report .h-item.active {
    border-color: #ffd875 !important;
    background: rgba(255, 216, 117, 0.12) !important;
    color: #ffd875 !important;
    font-weight: 600 !important;
}

.modal-report .v-form-control {
    width: 100% !important;
    background: #0d1017 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    padding: 10px !important;
    color: #fff !important;
    font-size: 13px !important;
    resize: none !important;
    box-sizing: border-box !important;
    margin-top: 12px !important;
    font-family: inherit !important;
}

.modal-report .v-form-control:focus {
    outline: none !important;
    border-color: #ffd875 !important;
}

.modal-report .is-footer {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

/* ============================================================
   ROPHIM AUTHENTIC SCHEDULE BANNER (.schedule-eps)
   ============================================================ */
.schedule-eps {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.6rem !important;
    margin: 1.2rem 0 !important;
    width: 100% !important;
}

.schedule-eps .item {
    position: relative !important;
    padding: 0.8rem 46px 0.8rem 55px !important;
    color: #fff !important;
    border-radius: 0.6rem !important;
    background-color: #4158d0 !important;
    background-image: linear-gradient(90deg, #4158d0 0%, #c850c0 100%) !important;
    font-size: 13.5px !important;
    box-shadow: 0 8px 20px rgba(65, 88, 208, 0.3) !important;
}

.schedule-eps .item .inc-icon {
    width: 36px !important;
    height: 36px !important;
    position: absolute !important;
    left: 0.65rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background-color: rgba(0, 0, 0, 0.25) !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
}

.schedule-eps .item strong {
    font-weight: 700 !important;
    color: #fff !important;
    margin-right: 6px !important;
}

/* ============================================================
   ROPHIM AUTHENTIC THEATER / CINEMA MODE
   ============================================================ */
.watch-view-container.theater-mode {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.watch-view-container.theater-mode .player-frame-wrapper {
    height: calc(82vh - 60px) !important;
    border-radius: 0 !important;
}

/* ============================================================
   ROPHIM AUTHENTIC ADVANCED FILTER BAR (.v-filter)
   ============================================================ */
.v-filter {
    background: #141824 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    margin-bottom: 2rem !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

.v-filter .fe-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1.5rem !important;
    padding: 0.85rem 1.2rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.v-filter .fe-row:last-of-type {
    border-bottom: none !important;
}

.v-filter .fe-row .fe-name {
    width: 110px !important;
    text-align: right !important;
    flex-shrink: 0 !important;
    font-weight: 600 !important;
    color: #94a3b8 !important;
    font-size: 13.5px !important;
    padding-top: 3px !important;
}

.v-filter .fe-row .fe-results {
    flex-grow: 1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0.5rem 0.8rem !important;
}

.v-filter .fe-row .fe-results .item {
    padding: 4px 10px !important;
    color: #cbd5e1 !important;
    cursor: pointer !important;
    opacity: 0.85 !important;
    font-size: 13px !important;
    border-radius: 6px !important;
    transition: all 0.15s ease !important;
    user-select: none !important;
}

.v-filter .fe-row .fe-results .item:hover {
    opacity: 1 !important;
    color: #ffd875 !important;
    background: rgba(255, 216, 117, 0.08) !important;
}

.v-filter .fe-row .fe-results .item.active {
    background: #ffd875 !important;
    color: #0b0e17 !important;
    opacity: 1 !important;
    font-weight: 700 !important;
}

/* ============================================================
   ROPHIM HERO MULTI-SLIDE CAROUSEL
   ============================================================ */
.hero-slider-dots {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: absolute !important;
    bottom: 24px !important;
    right: 40px !important;
    z-index: 25 !important;
}

.hero-slider-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.35) !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.hero-slider-dot.active {
    width: 28px !important;
    border-radius: 12px !important;
    background: #ffd875 !important;
}

.hero-btn-trailer {
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.hero-btn-trailer:hover {
    background: rgba(255, 216, 117, 0.2) !important;
    border-color: #ffd875 !important;
    color: #ffd875 !important;
    transform: translateY(-2px) !important;
}

/* ============================================================
   AUTHENTIC ROPHIM 1:1 REPLICATION SYSTEM (FULL & UNCOMPROMISED)
   ============================================================ */

/* 1. Purple Notification Banner matching Screenshots 1 & 2 */
.ro-notify-banner {
    background: linear-gradient(90deg, #5b21b6 0%, #7c3aed 45%, #c026d3 100%) !important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.25) !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}

.ro-notify-banner .bell-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(59, 130, 246, 0.9) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    flex-shrink: 0 !important;
}

.ro-notify-banner strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* 2. Yellow AD Notice text */
.ad-notice-text {
    text-align: center !important;
    color: #ffcc00 !important;
    font-size: 12.5px !important;
    font-weight: 300 !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
    width: 100% !important;
}

/* 3. Orange Crescent Moon Status Badge: [ 🌙 Đã chiếu: Tập X / Y ] */
.status-badge-aired {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(245, 158, 11, 0.1) !important;
    border: 1px solid rgba(245, 158, 11, 0.25) !important;
    color: #f59e0b !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    margin-top: 4px !important;
    width: fit-content !important;
}

.status-badge-aired .moon-icon {
    font-size: 11px !important;
}

/* 4. Blue Rating Pill Badge: [ ⭐ 10 Đánh giá ] matching Screenshots 1 & 2 */
.ro-rating-badge {
    background: #3556b6 !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(53, 86, 182, 0.35) !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.ro-rating-badge:hover {
    background: #4269db !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

.ro-rating-badge .star-icon {
    color: #ffd875 !important;
}

/* 5. Detail Action Bar (.dm-bar) & Horizontal Touch Group */
.dm-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.ro-btn-play-pill {
    background: linear-gradient(135deg, #ffd875 0%, #f6bd38 100%) !important;
    color: #11141d !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    padding: 10px 24px !important;
    border-radius: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 6px 20px rgba(246, 189, 56, 0.35) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.ro-btn-play-pill:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(246, 189, 56, 0.45) !important;
    color: #000 !important;
}

.dm-actions-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 20px !important;
    flex-grow: 1 !important;
    justify-content: flex-start !important;
}

.dm-action-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    color: #cbd5e1 !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.dm-action-item:hover {
    color: #ffd875 !important;
    transform: translateY(-1px) !important;
}

.dm-action-item .inc-icon {
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 6. Detail Tab Navigation Bar matching Screenshot 2 */
.detail-tabs-bar {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin-bottom: 20px !important;
    width: 100% !important;
}

.detail-tab-btn {
    background: none !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    padding: 10px 4px !important;
    cursor: pointer !important;
    position: relative !important;
    transition: color 0.2s ease !important;
    white-space: nowrap !important;
}

.detail-tab-btn:hover {
    color: #e2e8f0 !important;
}

.detail-tab-btn.active {
    color: #ffd875 !important;
    border-bottom: 2px solid #ffd875 !important;
    margin-bottom: -1px !important;
}

/* 7. Season Dropdown & Server Selector Bar */
.ro-server-box-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}

.season-dropdown-btn {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 7px 14px !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

.season-dropdown-btn:hover {
    background: rgba(255, 255, 255, 0.14) !important;
}

.ro-servers-pills-list {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    flex-grow: 1 !important;
}

.ro-server-tv-pill {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    color: #cbd5e1 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}

.ro-server-tv-pill:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.ro-server-tv-pill.active {
    background: rgba(34, 197, 94, 0.12) !important;
    border-color: #22c55e !important;
    color: #22c55e !important;
    font-weight: 700 !important;
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.2) !important;
}

.ro-toggle-minify {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

/* 8. Episode Grid with Play Triangle Icons */
.ro-episodes-grid-play {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

.ro-ep-play-btn {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
}

.ro-ep-play-btn:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffd875 !important;
    border-color: rgba(255, 216, 117, 0.3) !important;
    transform: translateY(-1px) !important;
}

.ro-ep-play-btn.active,
.ro-ep-play-btn.on-air {
    background: #ffd875 !important;
    border-color: #ffd875 !important;
    color: #11141d !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(255, 216, 117, 0.3) !important;
}

.ro-ep-play-btn.active svg,
.ro-ep-play-btn.on-air svg {
    fill: #11141d !important;
}

/* 9. Authentic RoPhim Discussion Header with Tabs */
.discuss-header-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    width: 100% !important;
}

.discuss-title-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

.discuss-tabs-group {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border-radius: 20px !important;
    padding: 3px !important;
    gap: 4px !important;
}

.discuss-tab-item {
    background: none !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 5px 14px !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.discuss-tab-item.active {
    background: #ffffff !important;
    color: #11141d !important;
    font-weight: 700 !important;
}

/* 10. Authentic RoPhim Actors 3-Column Circular Layout matching Screenshot 1 */
.child-actors-grid-3col {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px 14px !important;
    width: 100% !important;
    margin-top: 14px !important;
}

.actor-card-circle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform 0.2s ease !important;
}

.actor-card-circle:hover {
    transform: translateY(-2px) !important;
}

.actor-circle-avatar {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 2px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
    margin-bottom: 8px !important;
    background: #1e2230 !important;
}

.actor-circle-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.actor-circle-name {
    font-size: 12.5px !important;
    color: #cbd5e1 !important;
    text-align: center !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    max-width: 95px !important;
    word-break: break-word !important;
}

.actor-card-circle:hover .actor-circle-name {
    color: #ffd875 !important;
}

/* 11. Authentic RoPhim Hero Slider Controls matching Screenshot 3 */
.hero-btn-play-circle {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    min-height: 68px !important;
    border-radius: 50% !important;
    background: #ffd875 !important;
    color: #11141d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 8px 24px rgba(255, 216, 117, 0.4) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.hero-btn-play-circle:hover {
    transform: scale(1.08) !important;
    box-shadow: 0 10px 30px rgba(255, 216, 117, 0.6) !important;
}

.hero-touch-pill {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(30, 30, 30, 0.7) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 40px !important;
    height: 54px !important;
    padding: 0 6px !important;
}

.hero-touch-item {
    padding: 0 16px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.hero-touch-item:last-child {
    border-right: none !important;
}

.hero-touch-item:hover {
    color: #ffd875 !important;
    transform: scale(1.1) !important;
}

.hero-nav-arrow-btn {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(8px) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.hero-nav-arrow-btn:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    border-color: #ffffff !important;
    transform: scale(1.08) !important;
}

/* =========================================================
   Drawer Menu (Slide-out menu matching Screenshot 5)
   ========================================================= */
.header-menu-hamburger {
    background: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 6px 8px;
    margin-right: 14px;
    margin-left: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: background 0.2s, color 0.2s;
    flex-shrink: 0;
}

.header-menu-hamburger:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffd875;
}

.ro-drawer-menu {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(6px);
    z-index: 10050;
    display: none;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.ro-drawer-menu.active {
    display: block;
    opacity: 1;
}

.ro-drawer-menu .drawer-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 320px;
    background: #181d33;
    padding: 24px 20px;
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.7);
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
}

.ro-drawer-menu.active .drawer-content {
    transform: translateX(0);
}

.drawer-close-btn {
    position: absolute;
    top: 18px;
    right: 18px;
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 20px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.drawer-close-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.drawer-user-btn-wrap {
    margin-top: 24px;
    margin-bottom: 24px;
}

.drawer-user-btn {
    width: 100%;
    padding: 12px 16px;
    background: #ffffff;
    color: #0b0e17;
    font-weight: 700;
    font-size: 15px;
    border: none;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    transition: all 0.2s ease;
}

.drawer-user-btn:hover {
    background: #ffd875;
    transform: translateY(-2px);
}

.drawer-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
}

.drawer-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.drawer-item {
    font-size: 14.5px;
    color: #e2e8f0;
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    cursor: pointer;
    transition: color 0.2s ease;
}

.drawer-item:hover {
    color: #ffd875;
}

.drawer-submenu {
    padding-left: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-left: 2px solid rgba(255, 216, 117, 0.3);
    margin: 4px 0 10px 4px;
}

.drawer-submenu a {
    font-size: 13.5px;
    color: #cbd5e1;
    text-decoration: none;
    transition: color 0.2s ease;
}

.drawer-submenu a:hover {
    color: #ffd875;
}

/* =========================================================
   Hero Video Background Container (Trailer playing in Hero)
   ========================================================= */
.hero-video-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.hero-video-container iframe,
.hero-video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
    pointer-events: none;
}

/* =========================================================
   Continue Watching Section ("Xem tiếp của bạn >") matching Screenshot 3
   ========================================================= */
.continue-watching-section {
    position: relative;
    width: 100%;
}

.cw-header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.2s;
}

.cw-header:hover h3 {
    color: #ffd875;
}

.cw-scroll-row {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 12px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 216, 117, 0.4) transparent;
}

.cw-scroll-row::-webkit-scrollbar {
    height: 6px;
}

.cw-scroll-row::-webkit-scrollbar-thumb {
    background: rgba(255, 216, 117, 0.3);
    border-radius: 4px;
}

.cw-card {
    position: relative;
    flex: 0 0 160px;
    width: 160px;
    border-radius: 10px;
    overflow: hidden;
    background: #191c2b;
    border: 1px solid rgba(255, 255, 255, 0.08);
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.cw-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.8);
    border-color: rgba(255, 216, 117, 0.5);
}

.cw-poster-wrap {
    position: relative;
    width: 100%;
    height: 230px;
    overflow: hidden;
    background: #11141d;
}

.cw-poster-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.cw-card:hover .cw-poster-wrap img {
    transform: scale(1.05);
}

.cw-delete-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    cursor: pointer;
    opacity: 0.85;
    transition: all 0.2s ease;
    z-index: 5;
}

.cw-delete-btn:hover {
    background: #ef4444;
    opacity: 1;
    transform: scale(1.1);
}

.cw-progress-bar-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
}

.cw-progress-fill {
    height: 100%;
    background: #ffd875;
    border-radius: 0 2px 2px 0;
}

.cw-info {
    padding: 10px 10px 12px 10px;
}

.cw-meta-line {
    font-size: 11.5px;
    color: #94a3b8;
    margin-bottom: 4px;
    font-weight: 500;
}

.cw-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

/* =========================================================
   AUTHENTIC ROPHIM SCHEDULE PAGE (LỊCH CHIẾU)
   ========================================================= */
.schedule-page-container {
    width: 100%;
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 20px 60px 20px;
}

.schedule-header-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.schedule-header-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.schedule-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffd875;
}

.schedules-layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0.5rem 0;
}

.sche-slide {
    position: relative;
    width: 100%;
}

.sche-slider-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.sche-time-list {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 4px 0;
    flex-grow: 1;
}

.sche-time-list::-webkit-scrollbar {
    display: none;
}

.sche-time .item-time,
.sche-time-list .item-time {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    font-size: 1em;
    padding: 0.85rem 1.25rem;
    border-radius: 12px;
    background-color: rgba(255, 255, 255, 0.05);
    flex: 1 1 auto;
    min-width: 105px;
    position: relative;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(255, 255, 255, 0.05);
    user-select: none;
}

.sche-time .item-time:hover,
.sche-time-list .item-time:hover {
    background-color: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.15);
}

.sche-time .item-time .day,
.sche-time-list .item-time .day {
    font-size: 15.5px;
    color: #ffffff;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

.sche-time .item-time .time,
.sche-time-list .item-time .time {
    font-size: 12px;
    color: #8a95aa;
    line-height: 1;
    text-align: center;
    font-weight: 500;
}

/* Active emerald green card matching screenshot 2 */
.sche-time .item-time.active,
.sche-time-list .item-time.active {
    background-color: #00d26a !important;
    border-color: #00d26a !important;
    color: #ffffff !important;
    box-shadow: 0 4px 18px rgba(0, 210, 106, 0.35);
}

.sche-time .item-time.active .day,
.sche-time-list .item-time.active .day {
    color: #ffffff !important;
}

.sche-time .item-time.active .time,
.sche-time-list .item-time.active .time {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Navigation arrow button */
.sche-nav-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.sche-nav-btn:hover {
    background: rgba(255, 255, 255, 0.16);
    transform: scale(1.05);
}

/* 6-column schedule card grid */
.schedule-card-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2rem 1rem;
    padding-top: 10px;
}

@media (max-width: 1400px) {
    .schedule-card-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .schedule-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .schedule-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem 0.6rem;
    }
}

@media (max-width: 480px) {
    .schedule-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.schedule-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.schedule-card:hover {
    transform: translateY(-4px);
}

.schedule-card-poster {
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: 10px;
    background: #1c1f2b;
}

.schedule-card-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.schedule-card:hover .schedule-card-poster img {
    transform: scale(1.04);
    opacity: 0.9;
}

.schedule-card-time {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(0, 0, 0, 0.82);
    color: #ffd875;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    backdrop-filter: blur(4px);
    z-index: 2;
}

.schedule-card-info {
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.schedule-card-title {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s ease;
}

.schedule-card:hover .schedule-card-title {
    color: #ffd875;
}

.schedule-card-episode {
    font-size: 12.5px;
    font-weight: 500;
    color: #8a95aa;
    line-height: 1.2;
}

/* =========================================================
   AUTHENTIC ROPHIM USER DASHBOARD (YÊU THÍCH / XEM TIẾP)
   ========================================================= */
.dashboard-container {
    position: relative;
    z-index: 3;
    max-width: 1640px;
    margin: 0 auto;
    padding: 30px 20px 60px 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 36px;
}

@media (max-width: 960px) {
    .dashboard-container {
        flex-direction: column;
        gap: 24px;
        padding: 15px 12px 40px 12px;
    }
}

.dcc-side {
    width: 290px;
    flex-shrink: 0;
    padding: 32px 28px;
    border-radius: 1rem;
    background-color: #25272f;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

@media (max-width: 960px) {
    .dcc-side {
        width: 100%;
        padding: 20px;
    }
}

.dcc-side .heading-sm {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.25rem;
}

.dcc-side .menu-user {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 2rem;
}

.dcc-side .menu-user .item {
    width: 100%;
    padding: 0.9rem 0;
    border-bottom: 1px solid #2e313a;
    color: #a9b2c3;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 14.5px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.dcc-side .menu-user .item:last-child {
    border-bottom: none;
}

.dcc-side .menu-user .item:hover {
    color: #ffffff;
    padding-left: 4px;
}

.dcc-side .menu-user .item.active {
    color: #ffd875 !important;
    font-weight: 600;
}

.dcc-side .menu-user .item .line-center {
    width: 100%;
    gap: 0.85rem;
    display: flex;
    align-items: center;
}

.dcc-side .menu-user .item svg {
    font-size: 16px;
    flex-shrink: 0;
}

.dcc-side .menu-user .item.active svg {
    color: #ffd875;
}

.dcc-main {
    flex-grow: 1;
    width: 100%;
    min-width: 0;
}

.dcc-main .box-header {
    margin-bottom: 24px;
}

.dcc-main .heading-sm {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
}

.dcc-main .v-tabs {
    display: flex;
    gap: 8px;
}

.dcc-main .v-tabs .nav-link {
    background: #ffffff;
    color: #000000;
    font-weight: 700;
    border-radius: 20px;
    padding: 7px 22px;
    font-size: 13.5px;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}



