/* TVHay watch v1.7 — PlayerJS engine with SubNhanh-style chrome, exact Flatsome row geometry and episode box. */
.tvhw-site{background:#02080f!important;color:#f4f4f4;font-family:"Bai Jamjuree",Arial,Helvetica,sans-serif!important}
.tvhw-site *{box-sizing:border-box}.tvhw-site button,.tvhw-site input,.tvhw-site select,.tvhw-site textarea,.tvhw-site a,.tvhw-site summary{font-family:"Bai Jamjuree",Arial,Helvetica,sans-serif!important}
.tvhw-site .tvhw-main{min-height:60vh;width:100%!important;margin-left:0!important;margin-right:0!important;padding:0!important;background:#02080f}.tvhw-site .xpf-site-main{padding:0!important}
.tvhw-site .tvh-header,.tvhw-site .tvh-header a,.tvhw-site .tvh-header button,.tvhw-site .tvh-header input,.tvhw-site .tvh-header summary,.tvhw-site .tvh-header .tvh-navigation{font-family:"Bai Jamjuree",Arial,Helvetica,sans-serif!important}
/* Match the reference Flatsome .row/.large-9/.large-3 math: 1410px row, no row padding, 15px column gutters. */
.tvhw-row{width:100%;max-width:1410px;margin-left:auto!important;margin-right:auto!important;padding:0!important;display:flex;flex-wrap:wrap;align-items:flex-start}
.tvhw-breadcrumb-row{display:block}.tvhw-breadcrumb{min-height:58px;display:flex;align-items:center;gap:10px;overflow:hidden;padding:2px 15px;color:#707986;font-size:12px;line-height:1.4}.tvhw-breadcrumb a{color:#707986;white-space:nowrap}.tvhw-breadcrumb a:hover,.tvhw-breadcrumb strong{color:#e76824}.tvhw-breadcrumb strong{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvhw-breadcrumb>span{color:#48505b;flex:0 0 auto}
.tvhw-layout{padding-top:20px!important}.tvhw-content{flex:0 0 75%;max-width:75%;min-width:0;padding:0 15px 30px!important}.tvhw-sidebar{flex:0 0 25%;max-width:25%;min-width:0;padding:0 15px 30px!important}.tvhw-title{margin:0 0 40px;color:#e76824;font-size:25.6px;line-height:1.3;font-weight:700}.tvhw-title [data-tvhw-language]{white-space:nowrap}
/* PlayerJS remains the playback engine; its default toolbar is hidden by JS and this skin mirrors the reference control arrangement. */
.tvhw-watch.xpf-watch{width:100%;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff}
.tvhw-watch .xpf-w-player-shell{width:100%;max-width:none!important;margin:0!important;padding:0!important;scroll-margin-top:78px}.tvhw-watch .xpf-w-player-card{width:100%;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#000!important;box-shadow:none!important}.tvhw-watch .xpf-w-stage{position:relative;width:100%;aspect-ratio:16/9;background:#000!important;border:0!important;border-radius:0!important;overflow:hidden!important}.tvhw-watch .xpf-w-host{position:absolute!important;inset:0!important;z-index:1}.tvhw-watch .xpf-w-host,.tvhw-watch .xpf-w-host>div,.tvhw-watch .xpf-w-host iframe,.tvhw-watch .xpf-w-host video{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important}.tvhw-watch .xpf-w-placeholder{z-index:2}.tvhw-watch .xpf-w-loader,.tvhw-watch .xpf-w-error,.tvhw-watch .xpf-w-resume{z-index:12}.tvhw-watch .xpf-w-status{margin:8px 0 0;text-align:center;color:#aab0b9;font-size:12px}.tvhw-player-aux{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.tvhw-server-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;min-height:92px;padding:24px 8px 18px}.tvhw-server-list.xpf-w-source-list{display:flex!important;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0!important;padding:0!important;background:transparent!important;border:0!important}.tvhw-server-button.xpf-w-source,.tvhw-server-button{display:inline-flex!important;align-items:center;justify-content:center!important;min-width:70px!important;min-height:32px!important;padding:6px 14px!important;border:1px solid rgba(230,102,33,.25)!important;border-radius:2px!important;background:#1a1f29!important;color:#e5e7eb!important;font:600 13px/1.2 "Bai Jamjuree",Arial,sans-serif!important;box-shadow:none!important}.tvhw-server-button.xpf-w-source:hover{border-color:#e76824!important;color:#fff!important}.tvhw-server-button.xpf-w-source.is-active{background:linear-gradient(135deg,#e66621,#ff8a3d)!important;border-color:#e76824!important;color:#fff!important;transform:none!important}.tvhw-server-button.xpf-w-source strong,.tvhw-server-button.xpf-w-source small,.tvhw-server-button.xpf-w-source i{display:none!important}.tvhw-server-button.is-disabled{opacity:.5}.tvhw-report{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 14px;border:1px solid rgba(230,102,33,.35);border-radius:2px;background:#151820;color:#f7c75e;font:600 13px/1.2 "Bai Jamjuree",Arial,sans-serif}.tvhw-report:hover{border-color:#e76824;color:#fff;background:#1d2025}.tvhw-report svg{width:13px;height:13px}
.tvhw-follow{display:table;max-width:92%;margin:0 auto 48px;padding:8px 12px;border:1px solid #e76824;background:#0e1014;color:#f5f5f5;font-size:13px;line-height:1.45;text-align:center}.tvhw-follow a{color:#e76824;font-weight:700}.tvhw-follow strong{font-weight:700;color:#fff}
/* Episodes copied from the reference structure: black header, dark server tabs, dark grid, white buttons, orange active item. */
.tvhw-episodes{margin:20px 0 48px;background:#fff;border:1px solid #c3c4c7;border-radius:0;box-shadow:0 1px 1px rgba(0,0,0,.04);color:#2c3338}.tvhw-episodes>h2{background:#000!important;border-bottom:1px solid #000!important;color:#fff!important;padding:12px 16px;margin:0;font-size:14px;line-height:1.4;font-weight:600}.tvhw-episodes>h2 span{margin-right:6px;font-size:16px}.tvhw-episode-panel{padding:0;background:#0f0f12}.tvhw-season-row{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border-bottom:1px solid #e76824;background:#0f0f12}.tvhw-season-row label{font-size:12px;color:#d4d4d4}.tvhw-season-row select{height:32px;border:1px solid #444;background:#17181d;color:#eee;border-radius:3px;padding:0 26px 0 8px;font:500 12px/1 "Bai Jamjuree",Arial,sans-serif}.tvhw-episode-tabs{display:flex;background:#0f0f12;border-bottom:1px solid #e76824;padding:8px 12px;gap:6px;flex-wrap:wrap}.tvhw-episode-tab{padding:6px 12px;background:#f6f7f7;border:1px solid #c3c4c7;border-radius:3px;cursor:pointer;font-size:13px;font-weight:400;color:#2c3338;line-height:1.6;transition:all .1s ease-in-out}.tvhw-episode-tab:hover{background:#fff;border-color:#e76824;color:#e76824}.tvhw-episode-tab.is-active{background:#e76824;color:#fff;border-color:#e76824}.tvhw-episode-groups{margin:0;padding:0;background:#0f0f12}.tvhw-episode-group{margin:0;padding:0}.tvhw-episode-group[hidden]{display:none!important}.tvhw-episode-list,.tvhw-episode-list.xpf-w-episodes{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))!important;gap:8px!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:12px!important;background:#0f0f12!important}.tvhw-episodes.is-movie .tvhw-episode-list{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important}.tvhw-episode-panel .xpf-w-episode{background:#fff!important;border:1px solid #c3c4c7!important;padding:8px 12px!important;text-align:center!important;text-decoration:none!important;color:#2c3338!important;border-radius:3px!important;font:600 13px/1.4 "Bai Jamjuree",Arial,sans-serif!important;transition:all .1s ease-in-out!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:100px!important;min-height:36px!important;width:auto!important;height:auto!important;margin:0!important;box-shadow:0 1px 0 #c3c4c7!important;white-space:nowrap!important}.tvhw-episode-panel .xpf-w-episode:hover{background:#f6f7f7!important;border-color:#8c8f94!important;color:#1d2327!important}.tvhw-episode-panel .xpf-w-episode:focus-visible{border-color:#e76824!important;box-shadow:0 0 0 1px #e76824!important;outline:2px solid transparent!important}.tvhw-episode-panel .xpf-w-episode.is-active{background:#e76824!important;color:#fff!important;border-color:#e76824!important;box-shadow:0 2px 8px rgba(230,104,36,.38)!important;font-weight:600!important;position:relative;transform:scale(1.05)!important;z-index:10}.tvhw-episode-panel .xpf-w-episode.is-active::before{content:"▶ "!important;margin-right:4px!important;font-size:10px!important;opacity:.9!important}.tvhw-episode-panel .xpf-w-episode.is-active:hover{background:#d85d1d!important;color:#fff!important;border-color:#d85d1d!important;transform:scale(1.08)!important}.tvhw-episode-panel .xpf-w-empty{margin:0;padding:12px;color:#aaa;font-size:12px;background:#0f0f12}
.tvhw-user-rating{width:152px;min-height:88px;margin:2px auto 34px;border:1px solid #28313a;background:#071019;display:flex;flex-direction:column;align-items:center;justify-content:center}.tvhw-user-rating strong{color:#e76824;font-size:27px;line-height:1}.tvhw-user-rating span{font-size:9px;color:#aeb4bd;font-weight:700;letter-spacing:.8px;margin:5px 0 1px}.tvhw-user-rating div{font-size:17px;color:#526070;letter-spacing:2px;line-height:1}
.tvhw-comments-wrap{width:72%;margin:0 auto 208px}.tvhw-comments-wrap .xpf-w-comments{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.tvhw-comments-wrap .pc-watch-comments{margin:0!important;padding:18px!important;background:#0f0f12!important;border:1px solid rgba(230,104,36,.25)!important;border-radius:0!important}.tvhw-comments-wrap .xpf-w-comment-head{display:none!important}.tvhw-comments-wrap .xpf-w-comment-invite{margin:0 0 12px!important;color:#81858d!important;font-size:12px!important}.tvhw-comments-wrap .pc-wc-compose{min-height:100px;background:#171719!important;border:1px solid rgba(230,104,36,.18)!important;border-radius:0!important}.tvhw-comments-wrap .pc-wc-compose textarea{min-height:96px!important;padding:16px!important;background:#171719!important;color:#eee!important;border:0!important;outline:0!important;font-size:12px!important}.tvhw-comments-wrap .pc-wc-send{color:#a6adb7!important}.tvhw-comments-wrap .pc-wc-extra{font-size:11px!important;color:#888!important}.tvhw-comments-wrap .xpf-w-login-note{min-height:100px!important;display:flex!important;align-items:center!important;gap:14px!important;padding:16px!important;background:#171719!important;border:1px solid rgba(230,104,36,.18)!important;border-radius:0!important}.tvhw-comments-wrap .xpf-w-login-note strong{font-size:12px!important;color:#9a9da4!important}.tvhw-comments-wrap .xpf-w-login-note small{font-size:11px!important;color:#777!important}.tvhw-comments-wrap .xpf-w-login-icon{width:40px;height:40px;border-radius:50%;background:#fff;color:#bbb;display:grid;place-items:center}.tvhw-comments-wrap .xpf-w-primary-button{background:#e76824!important;color:#fff!important;border:0!important}.tvhw-comments-wrap .pc-wc-list{margin-top:22px}.tvhw-comment-count{display:block;margin-top:24px;padding:0 8px 18px;border-bottom:1px solid #151d26;color:#8f97a2;font-size:11px;font-weight:700}
.tvhw-related{margin:0 0 78px}.tvhw-related>h2{display:block;position:relative;margin:0 0 20px;padding:0 0 7px;color:#e76824;font-size:24px;line-height:1.3;font-weight:700;text-transform:uppercase;border-bottom:1px solid #26303a}.tvhw-related>h2::after{content:"";position:absolute;left:0;bottom:-1px;width:180px;height:2px;background:#e76824}.tvhw-related-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 16px}.tvhw-related-card{display:flex;min-width:0;min-height:90px}.tvhw-related-poster{flex:0 0 60px;width:60px;height:90px;overflow:hidden;background:#15161a}.tvhw-related-poster img{width:100%;height:100%;object-fit:cover}.tvhw-related-card>div{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:6px 0 6px 10px}.tvhw-related-card h3{margin:0 0 6px;font-size:12px;line-height:1.35;font-weight:600;color:#f5f5f5}.tvhw-related-card h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tvhw-related-card p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;color:#9ca3af;font-size:10px;line-height:1.2}.tvhw-rscore{color:#e76824;font-weight:700}.tvhw-repisode{max-width:100%;padding:3px 5px;border-radius:3px;background:#e76824;color:#fff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvhw-empty{color:#9ca3af;font-size:12px}
.tvhw-rank .tvh-section-title,.tvhw-upcoming .tvh-section-title{font-size:25.6px;margin-bottom:15px}.tvhw-rank .tvh-rank-list{gap:7px}.tvhw-rank .tvh-rank-item{min-height:88px}.tvhw-rank .tvh-rank-item>img{width:58px;height:88px;flex-basis:58px}.tvhw-rank .tvh-rank-copy{padding:6px 10px}.tvhw-rank .tvh-rank-copy>strong{font-size:12px;margin-bottom:5px}.tvhw-rank .tvh-rank-meta{gap:6px;font-size:10px}.tvhw-rank .tvh-rank-tabs{margin-bottom:12px}.tvhw-rank .tvh-rank-tabs button{font-size:10.5px;line-height:30px}.tvhw-rank-empty{padding:18px 10px;color:#9ca3af;font-size:12px;text-align:center}.tvhw-upcoming{margin-top:28px}.tvhw-upcoming-list{display:flex;flex-direction:column;gap:8px}.tvhw-upcoming-list a{display:flex;align-items:center;gap:10px}.tvhw-upcoming-list img{width:58px;height:88px;object-fit:cover}.tvhw-upcoming-list strong{font-size:12px;line-height:1.35}.tvhw-upcoming-empty{min-height:112px;background:#f6f7f7;color:#656b73;border-radius:5px;display:grid;place-items:center;text-align:center;font-size:13px;padding:16px}.tvhw-site .tvh-footer{margin-top:0}
@media(max-width:1199px){.tvhw-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tvhw-title{font-size:23px}}
@media(max-width:1099px){.tvhw-content,.tvhw-sidebar{flex:0 0 100%;max-width:100%}.tvhw-sidebar{display:grid;grid-template-columns:2fr 1fr;gap:24px}.tvhw-upcoming{margin-top:0}.tvhw-comments-wrap{width:82%;margin-bottom:125px}.tvhw-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:782px){.tvhw-episode-list,.tvhw-episode-list.xpf-w-episodes{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))!important;gap:6px!important;padding:10px!important}.tvhw-episode-panel .xpf-w-episode{padding:6px 8px!important;font-size:12px!important;min-height:32px!important;min-width:80px!important}.tvhw-episodes>h2{font-size:13px;padding:10px 12px}.tvhw-episode-tabs{padding:6px 8px;gap:4px}.tvhw-episode-tab{padding:4px 8px;font-size:12px}}
@media(max-width:767px){.tvhw-breadcrumb{min-height:48px;font-size:10.5px;padding-left:14px;padding-right:14px}.tvhw-layout{padding-top:10px!important}.tvhw-content,.tvhw-sidebar{padding-left:14px!important;padding-right:14px!important}.tvhw-title{font-size:20px;margin-bottom:24px}.tvhw-server-actions{min-height:78px;padding:18px 6px 14px}.tvhw-follow{max-width:100%;margin-bottom:30px;font-size:11px}.tvhw-episodes{margin-bottom:34px}.tvhw-user-rating{width:140px;min-height:82px}.tvhw-comments-wrap{width:100%;margin-bottom:76px}.tvhw-related{margin-bottom:50px}.tvhw-related>h2{font-size:21px}.tvhw-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tvhw-sidebar{display:block}.tvhw-upcoming{margin-top:30px}}
@media(max-width:449px){.tvhw-title{font-size:18px}.tvhw-breadcrumb>a:nth-of-type(2),.tvhw-breadcrumb>span:nth-of-type(2){display:none}.tvhw-server-button.xpf-w-source,.tvhw-server-button,.tvhw-report{min-height:32px!important;font-size:10.5px!important;padding:6px 9px!important}.tvhw-comments-wrap{margin-bottom:58px}.tvhw-related-grid{grid-template-columns:1fr}.tvhw-related-card{min-height:86px}.tvhw-related-poster{width:58px;height:86px;flex-basis:58px}}
.tvhw-site .xpf-to-top{display:none!important}


/* v2.0 Native PlayerJS -- the bundled library draws its own skin, not TVHay. */
.tvhw-watch .xpf-w-host{pointer-events:auto!important}
.tvhw-watch .xpf-w-host>div{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.tvhw-watch .xpf-w-host video{pointer-events:auto!important}
.tvhw-watch .xpf-w-resume{display:none!important}
.tvhw-watch [data-w-host][hidden],
.tvhw-watch [data-w-placeholder][hidden],
.tvhw-watch [data-w-loader][hidden],
.tvhw-watch [data-w-error][hidden]{display:none!important}
/* Don't override PlayerJS's play buttons, timeline or toolbars. */

/* TVHay v2.1 — Prevent global TVHay icon rules from changing native
   PlayerJS SVG presentation. PlayerJS uses its own SVG width/height attributes
   (including 5x7px assets) and filled shapes; do not add strokes or force
   every icon to 20x20px. Scope strictly to the playback host. */
.tvhw-site .tvhw-watch .xpf-w-host svg {
    width: revert !important;
    height: revert !important;
    vertical-align: revert !important;
    flex-shrink: revert !important;
}
.tvhw-site .tvhw-watch .xpf-w-host svg:not([stroke]) {
    fill: revert !important;
    stroke: revert !important;
    stroke-width: revert !important;
}
