/* Lịch Chiếu / Đang Chiếu / Hoàn Thành / Top 10 / Đánh Giá Cao pages */
.halim-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.halim-hh3d-page { padding-top: 5px; padding-bottom: 10px; }
.halim-hh3d-empty { width: 100%; padding: 40px 15px; color: #888; text-align: center; }

/* ---------- Top 10: Ngày / Tuần / Tháng / Tất cả + rank badges ---------- */
.halim-top10-block { display: flex; flex-wrap: wrap; margin: 15px 0 5px; padding: 0; overflow: hidden; list-style: none; border-radius: 4px; }
.halim-top10-block > li { flex: 1 1 0; margin: 0 !important; text-align: center; }
.halim-top10-block > li > a { display: block; margin: 1px; padding: 10px 8px; color: #fff; font-size: 14px; font-weight: 600; line-height: 1em; letter-spacing: .5px; text-transform: uppercase; background: #23232a; border-radius: 2px; cursor: pointer; }
.halim-top10-block > li > a:hover,
.halim-top10-block > li > a:focus { color: #fff; text-decoration: none; background: #333; }
.halim-top10-block > li.active > a,
.halim-top10-block > li.active > a:hover { background: linear-gradient(140deg, rgba(0, 77, 102, .8) 0%, rgba(0, 134, 179, .9) 50%, #00bfff 100%); }
.halim-top10-grid .halim-thumb { position: relative; display: block; }
.top-10-video { position: absolute; top: 0; left: 0; z-index: 10; width: 44px; height: 53px; color: #fff; font-size: 18px; font-weight: 700; line-height: 40px; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); background: url(../images/mod-num-icon.png) no-repeat 0 0; }
.top-10-video.top-1-hh3d { background-position: -50px 0; }
.top-10-video.top-2-hh3d { background-position: -100px 0; }
.top-10-video.top-3-hh3d { background-position: -150px 0; }
.halim-top10-grid .grid-item .episode { left: auto; right: 0; }
.halim-top10-loading { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .4); }
.halim-top10-loading[hidden] { display: none; }
.halim-top10-spinner { width: 50px; height: 50px; border: 6px solid #f3f3f3; border-top-color: #00bfff; border-radius: 50%; animation: halim-top10-spin 1s linear infinite; }
@keyframes halim-top10-spin { to { transform: rotate(360deg); } }

/* ---------- Đánh Giá Cao: score badge ---------- */
.halim-hh3d-page .rating-container { position: absolute; top: 5px; right: 5px; z-index: 15; display: flex; align-items: center; gap: 4px; padding: 4px 7px; color: #fff; font-size: 13px; font-weight: 700; background: rgba(0, 0, 0, .8); border-radius: 6px; box-shadow: 0 2px 4px rgba(0, 0, 0, .4); }
.halim-hh3d-page .rating-score,
.halim-hh3d-page .rating-star { color: #fc0; }
.halim-hh3d-page .rating-count { color: rgba(255, 255, 255, .85); font-size: 12px; }

/* ---------- Lịch Chiếu ---------- */
.schedule-container { --sc-surface: #1f2021; --sc-card: #232323; --sc-item: #2b2b2b; --sc-cyan: #00e5ff; --sc-gold: #ffd700; --sc-text: #e2e8f0; --sc-dim: rgba(255, 255, 255, .06); --sc-glow: 0 0 18px rgba(0, 229, 255, .35); --sc-tr: .22s ease; margin: 10px auto 30px; }
.schedule-container .page-title-wrapper { margin-bottom: 22px; text-align: center; }
.schedule-container .page-title { position: relative; display: inline-flex; align-items: center; gap: 12px; margin: 0; padding: 12px 28px; overflow: hidden; color: var(--sc-cyan); font-size: 20px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; background: var(--sc-surface); border: 1px solid rgba(0, 229, 255, .25); border-radius: 4px; box-shadow: var(--sc-glow); }
.schedule-container .page-title::after { content: ''; position: absolute; bottom: 0; left: 15%; right: 15%; height: 2px; background: linear-gradient(90deg, transparent, var(--sc-cyan), transparent); }
.schedule-container .day-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 22px; padding: 14px 18px; background: var(--sc-surface); border: 1px solid var(--sc-dim); border-radius: 6px; }
.schedule-container .day-tab { position: relative; flex: 0 0 auto; min-width: 90px; padding: 8px 14px; color: #ccc; font-size: 13px; font-weight: 500; text-align: center; background: var(--sc-item); border: 1px solid rgba(255, 255, 255, .06); border-radius: 4px; cursor: pointer; transition: color var(--sc-tr), border-color var(--sc-tr), box-shadow var(--sc-tr); }
.schedule-container .day-tab::after { content: ''; position: absolute; bottom: -1px; left: 20%; right: 20%; height: 2px; background: var(--sc-cyan); border-radius: 2px; opacity: 0; transition: opacity var(--sc-tr); }
.schedule-container .day-tab.active { color: var(--sc-cyan); border-color: rgba(0, 229, 255, .35); box-shadow: var(--sc-glow); }
.schedule-container .day-tab.active::after { opacity: 1; }
.schedule-container .day-tab:hover:not(.active) { color: var(--sc-text); border-color: rgba(0, 229, 255, .18); }
.schedule-container .schedule-grid-wrapper { padding: 20px 22px; background: var(--sc-surface); border: 1px solid rgba(0, 229, 255, .1); border-radius: 6px; }
.schedule-container .schedule-grid-wrapper[hidden] { display: none; }
.schedule-container .sched-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px solid rgba(0, 229, 255, .15); }
.schedule-container .sched-section-head i,
.schedule-container .sched-section-head h2 { margin: 0; color: var(--sc-cyan); text-shadow: var(--sc-glow); }
.schedule-container .sched-section-head h2 { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.schedule-container .sched-section-head .head-line { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(0, 229, 255, .3), transparent); }
.schedule-container .schedule-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.schedule-container .schedule-item { position: relative; display: flex; gap: 14px; padding: 12px 14px; color: var(--sc-text); text-decoration: none; background: var(--sc-card); border: 1px solid var(--sc-dim); border-radius: 4px; transition: border-color var(--sc-tr), box-shadow var(--sc-tr), transform var(--sc-tr); }
.schedule-container .schedule-item::before { content: ''; position: absolute; top: -1px; right: -1px; border-style: solid; border-width: 0 14px 14px 0; border-color: transparent var(--sc-cyan) transparent transparent; opacity: .5; transition: opacity var(--sc-tr); }
.schedule-container .schedule-item:hover { color: var(--sc-text); border-color: rgba(0, 229, 255, .4); box-shadow: var(--sc-glow); transform: translateY(-3px); }
.schedule-container .schedule-item:hover::before { opacity: 1; }
.schedule-container .schedule-item img { flex-shrink: 0; width: 62px; height: 88px; object-fit: cover; border: 1px solid rgba(0, 229, 255, .15); border-radius: 3px; transition: border-color var(--sc-tr), box-shadow var(--sc-tr); }
.schedule-container .schedule-item:hover img { border-color: var(--sc-cyan); box-shadow: 0 0 10px rgba(0, 229, 255, .3); }
.schedule-container .schedule-info { display: flex; flex: 1; flex-direction: column; justify-content: center; min-width: 0; }
.schedule-container .schedule-title { display: -webkit-box; margin: 0 0 8px; overflow: hidden; color: var(--sc-text); font-size: 14px; font-weight: 600; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; transition: color var(--sc-tr); }
.schedule-container .schedule-item:hover .schedule-title { color: var(--sc-cyan); }
.schedule-container .schedule-episode { display: inline-flex; align-items: center; align-self: flex-start; gap: 5px; padding: 2px 8px; color: var(--sc-cyan); font-size: 11px; font-weight: 600; letter-spacing: .5px; background: rgba(0, 229, 255, .07); border: 1px solid rgba(0, 229, 255, .2); border-radius: 3px; }
.schedule-container .schedule-episode i { font-size: 10px; }
.schedule-container .schedule-time { margin-top: 6px; color: #9a9a9a; font-size: 11.5px; }
.schedule-container .empty-state { grid-column: 1 / -1; padding: 40px 20px; color: #777; text-align: center; }
.schedule-container .empty-state i { display: block; margin-bottom: 12px; font-size: 36px; opacity: .4; }

@media (max-width: 1024px) {
	.schedule-container .schedule-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 767px) {
	.halim-top10-block > li > a { padding: 8px 4px; font-size: 12px; }
	.schedule-container { margin: 6px auto 20px; }
	.schedule-container .page-title { padding: 10px 18px; font-size: 16px; letter-spacing: 1px; }
	.schedule-container .day-tabs { gap: 6px; padding: 10px 12px; }
	.schedule-container .day-tab { flex: 1 1 calc(25% - 6px); min-width: 0; padding: 7px 6px; font-size: 11px; }
	.schedule-container .schedule-grid-wrapper { padding: 14px 12px; }
	.schedule-container .schedule-grid { grid-template-columns: 1fr; }
	.halim-hh3d-page .rating-container { padding: 3px 6px; font-size: 12px; }
}
