/*
Template: Newsmag
Theme Name: Newsmag-motphimnhanh - Mọt Phim Nhanh
Theme URI: https://motphimnhanh.com
Description: Giao diện Rạp Phim v3 nền kem ấm thanh lịch (Warm Editorial Cinema UI) độc quyền cho ChillPhimNhanh.com. Tối ưu hoàn hảo cho Desktop, Tablet và Mobile.
Author: Team Antigravity
Version: 3.0.0
Text Domain: chillphimnhanh
*/

:root {
	--rp-bg: #F4F1EA;
	--rp-surface: #FFFFFF;
	--rp-surface-alt: #FBF9F5;
	--rp-ink: #15181A;
	--rp-ink-2: #3D4440;
	--rp-muted: #5E6660;
	--rp-accent: #1E6E5E;
	--rp-accent-hover: #175A4C;
	--rp-accent-soft: #DCEBE5;
	--rp-accent-player: #3FB594;
	--rp-hot: #D9482B;
	--rp-hot-ink: #B4402A;
	--rp-hot-soft: #FBE9E4;
	--rp-star: #D08A1C;
	--rp-line: rgba(21, 24, 26, 0.08);
	--rp-line-strong: rgba(21, 24, 26, 0.14);
	--rp-track: #E6E1D6;
	--rp-font-serif: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--rp-font-sans: 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	-webkit-tap-highlight-color: transparent;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--rp-bg);
	color: var(--rp-ink);
	font-family: var(--rp-font-sans);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

a:hover {
	color: var(--rp-accent);
}

button, input, select, textarea {
	font-family: inherit;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
	height: 6px;
	width: 6px;
}
::-webkit-scrollbar-track {
	background: transparent;
}
::-webkit-scrollbar-thumb {
	background: #D6D1C6;
	border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
	background: #B8B2A6;
}

/* ==========================================================================
   SHELL & GRID LAYOUT
   ========================================================================== */
.rp-shell {
	min-height: 100vh;
	background: var(--rp-bg);
	color: var(--rp-ink);
	display: grid;
	grid-template-columns: 232px minmax(0, 1fr);
	transition: grid-template-columns 0.2s ease;
}

@media (max-width: 1179px) and (min-width: 640px) {
	.rp-shell {
		grid-template-columns: 76px minmax(0, 1fr);
	}
}

@media (max-width: 639px) {
	.rp-shell {
		grid-template-columns: 100%;
		padding-bottom: calc(76px + env(safe-area-inset-bottom, 10px));
	}
}

/* ==========================================================================
   SIDEBAR (DESKTOP & TABLET)
   ========================================================================== */
.rp-sidebar {
	position: sticky;
	top: 0;
	height: 100vh;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 14px;
	border-right: 1px solid var(--rp-line);
	background: var(--rp-surface-alt);
	z-index: 50;
	overflow-y: auto;
}

@media (max-width: 1179px) and (min-width: 640px) {
	.rp-sidebar {
		padding: 20px 8px;
		align-items: center;
	}
}

@media (max-width: 639px) {
	.rp-sidebar {
		display: none !important;
	}
}

.rp-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	padding: 0 8px 20px;
	color: var(--rp-ink);
	border-bottom: 1px solid var(--rp-line);
	margin-bottom: 10px;
}

.rp-brand-logo {
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--rp-accent);
	color: #FFFFFF;
	display: grid;
	place-items: center;
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-weight: 700;
	font-size: 22px;
	box-shadow: 0 4px 12px rgba(30, 110, 94, 0.25);
}

.rp-brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}

.rp-brand-title {
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: -0.02em;
	color: var(--rp-ink);
}

.rp-brand-sub {
	font-size: 11px;
	font-weight: 700;
	color: var(--rp-muted);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 1179px) {
	.rp-brand-text {
		display: none;
	}
	.rp-brand {
		padding: 0 0 16px;
		justify-content: center;
	}
}

.rp-nav-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.rp-nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 46px;
	padding: 0 14px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--rp-ink);
	transition: background 0.15s ease, color 0.15s ease;
}

.rp-nav-item svg {
	flex: none;
	width: 21px;
	height: 21px;
	stroke-width: 1.9;
}

.rp-nav-item:hover {
	background: #E7F0EC;
	color: var(--rp-accent);
}

.rp-nav-item.is-active {
	background: var(--rp-accent-soft);
	color: var(--rp-accent);
}

@media (max-width: 1179px) {
	.rp-nav-item {
		width: 46px;
		height: 46px;
		padding: 0;
		justify-content: center;
	}
	.rp-nav-item span {
		display: none;
	}
}

.rp-sidebar-bottom {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid var(--rp-line);
}

.rp-app-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--rp-accent);
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 800;
	transition: background 0.15s ease, transform 0.15s ease;
}

.rp-app-card:hover {
	background: var(--rp-accent-hover);
	color: #FFFFFF;
	transform: translateY(-1px);
}

@media (max-width: 1179px) {
	.rp-app-card {
		width: 44px;
		height: 44px;
		padding: 0;
		justify-content: center;
	}
	.rp-app-card span {
		display: none;
	}
}

/* ==========================================================================
   HEADER (STICKY TOP)
   ========================================================================== */
.rp-main-wrap {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.rp-header {
	position: sticky;
	top: 0;
	z-index: 40;
	height: 76px;
	padding: 0 clamp(16px, 3vw, 40px);
	display: flex;
	align-items: center;
	gap: 16px;
	background: rgba(244, 241, 234, 0.92);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--rp-line);
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

@media (max-width: 639px) {
	.rp-header {
		height: 62px;
		padding: 0 16px;
	}
}

.rp-header-left {
	display: flex;
	align-items: center;
	gap: 12px;
}

.rp-mobile-logo {
	display: none;
	align-items: center;
	gap: 8px;
}

@media (max-width: 639px) {
	.rp-mobile-logo {
		display: flex;
	}
}

.rp-greeting {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.rp-greeting-sub {
	font-size: 12px;
	color: var(--rp-muted);
	font-weight: 600;
}

.rp-greeting-title {
	font-size: 16px;
	font-weight: 800;
	color: var(--rp-ink);
}

@media (max-width: 639px) {
	.rp-greeting {
		display: none;
	}
}

.rp-back-pill {
	height: 40px;
	padding: 0 16px 0 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	border: 1px solid var(--rp-line-strong);
	background: var(--rp-surface);
	color: var(--rp-ink);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-back-pill:hover {
	background: var(--rp-bg);
	border-color: var(--rp-accent);
	color: var(--rp-accent);
}

.rp-header-search {
	position: relative;
	width: clamp(220px, 30vw, 380px);
	height: 44px;
	border-radius: 12px;
	background: var(--rp-surface);
	border: 1px solid rgba(21, 24, 26, 0.1);
	display: flex;
	align-items: center;
	padding: 0 16px;
	gap: 10px;
	color: var(--rp-muted);
	margin-left: auto;
}

@media (max-width: 639px) {
	.rp-header-search {
		display: none;
	}
}

.rp-header-search input {
	flex: 1;
	min-width: 0;
	background: none;
	border: 0;
	outline: 0;
	color: var(--rp-ink);
	font-size: 14px;
}

.rp-header-search input::placeholder {
	color: var(--rp-muted);
}

.rp-search-dropdown {
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line-strong);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(21, 24, 26, 0.14);
	max-height: 420px;
	overflow-y: auto;
	z-index: 100;
	display: none;
}

.rp-search-dropdown.is-open {
	display: block;
}

.rp-header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.rp-btn-icon {
	position: relative;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	border: 1px solid rgba(21, 24, 26, 0.1);
	background: var(--rp-surface);
	color: var(--rp-ink);
	cursor: pointer;
	transition: background 0.15s ease;
}

.rp-btn-icon:hover {
	background: var(--rp-bg);
}

.rp-notif-dot {
	position: absolute;
	top: 10px;
	right: 11px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--rp-hot);
}

.rp-btn-app-header {
	height: 44px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: 12px;
	background: var(--rp-accent);
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}

.rp-btn-app-header:hover {
	background: var(--rp-accent-hover);
	color: #FFFFFF;
	transform: translateY(-1px);
}

@media (max-width: 639px) {
	.rp-btn-app-header {
		padding: 0 12px;
		font-size: 13px;
		height: 38px;
	}
	.rp-btn-app-header span {
		display: none;
	}
}

/* ==========================================================================
   HOMEPAGE CONTENT
   ========================================================================== */
.rp-main-content {
	display: flex;
	flex-direction: column;
	gap: clamp(44px, 5vw, 64px);
	padding: clamp(20px, 3vw, 40px);
}

@media (max-width: 639px) {
	.rp-main-content {
		padding: 16px 0;
		gap: 36px;
	}
}

/* --- HERO SECTION --- */
.rp-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr);
	gap: 20px;
	align-items: stretch;
}

@media (max-width: 1099px) {
	.rp-hero-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 639px) {
	.rp-hero-grid {
		padding: 0;
	}
}

.rp-hero-left {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.rp-hero-backdrop-wrap {
	position: relative;
	aspect-ratio: 16 / 11;
	border-radius: 24px;
	overflow: hidden;
	background: #15181A;
}

@media (max-width: 1099px) and (min-width: 640px) {
	.rp-hero-backdrop-wrap {
		aspect-ratio: 16 / 9;
		border-radius: 20px;
	}
}

@media (max-width: 639px) {
	.rp-hero-backdrop-wrap {
		aspect-ratio: 4 / 3;
		border-radius: 0;
	}
}

.rp-hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

.rp-hero-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.rp-hero-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-hero-slide::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(21, 24, 26, 0.2) 0%, rgba(21, 24, 26, 0.7) 100%);
}

.rp-hero-controls {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	gap: 8px;
	z-index: 10;
}

.rp-hero-ctrl-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.9);
	color: var(--rp-ink);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: background 0.15s ease, transform 0.15s ease;
}

.rp-hero-ctrl-btn:hover {
	background: #FFFFFF;
	transform: scale(1.05);
}

.rp-hero-info-card {
	position: relative;
	margin-top: -120px;
	margin-left: 24px;
	margin-right: 24px;
	max-width: 580px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: clamp(18px, 2.4vw, 26px);
	border-radius: 18px;
	background: var(--rp-surface);
	box-shadow: 0 12px 40px rgba(21, 24, 26, 0.12);
	border: 1px solid var(--rp-line);
	z-index: 15;
}

@media (max-width: 639px) {
	.rp-hero-info-card {
		margin-top: -48px;
		margin-left: 16px;
		margin-right: 16px;
		max-width: none;
		border-radius: 16px;
		padding: 18px;
	}
}

.rp-hero-eyebrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.rp-hero-eyebrow-tag {
	color: var(--rp-accent);
}

.rp-hero-eyebrow-counter {
	color: var(--rp-muted);
	letter-spacing: 0.04em;
}

.rp-hero-title {
	margin: 0;
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-weight: 700;
	font-size: clamp(32px, 4.4vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--rp-ink);
}

.rp-hero-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	font-size: 13px;
	font-weight: 700;
	color: var(--rp-ink-2);
}

.rp-hero-rating {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--rp-star);
}

.rp-hero-desc {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--rp-ink-2);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rp-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}

.rp-btn-primary {
	height: 48px;
	padding: 0 24px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 0;
	border-radius: 12px;
	background: var(--rp-accent);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(30, 110, 94, 0.25);
	transition: background 0.15s ease, transform 0.12s ease;
}

.rp-btn-primary:hover {
	background: var(--rp-accent-hover);
	color: #FFFFFF;
	transform: translateY(-1px);
}

.rp-btn-secondary {
	height: 48px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--rp-line-strong);
	border-radius: 12px;
	background: var(--rp-surface);
	color: var(--rp-ink);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s ease;
}

.rp-btn-secondary:hover {
	background: var(--rp-bg);
}

/* --- TOP HÔM NAY (RIGHT COLUMN) --- */
.rp-top-card {
	display: flex;
	flex-direction: column;
	border-radius: 20px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
	padding: 22px 20px;
	min-width: 0;
	box-shadow: 0 4px 16px rgba(21, 24, 26, 0.04);
}

@media (max-width: 639px) {
	.rp-top-card {
		margin: 0 16px;
		border-radius: 16px;
		padding: 18px 16px;
	}
}

.rp-top-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rp-line);
}

.rp-top-title {
	margin: 0;
	font-family: var(--rp-font-serif);
	font-weight: 700;
	font-size: 24px;
	color: var(--rp-ink);
}

.rp-top-sub {
	font-size: 12px;
	color: var(--rp-muted);
	font-weight: 600;
}

.rp-top-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 6px;
	border-bottom: 1px solid rgba(21, 24, 26, 0.06);
	cursor: pointer;
	border-radius: 10px;
	transition: background 0.15s ease;
}

.rp-top-item:last-child {
	border-bottom: none;
}

.rp-top-item:hover {
	background: var(--rp-bg);
}

.rp-top-rank {
	flex: none;
	width: 30px;
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	color: var(--rp-accent);
	text-align: center;
}

.rp-top-thumb {
	flex: none;
	width: 46px;
	aspect-ratio: 2 / 3;
	border-radius: 6px;
	overflow: hidden;
	background: #DCEBE5;
}

.rp-top-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-top-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.rp-top-name {
	font-size: 14.5px;
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--rp-ink);
}

.rp-top-subtext {
	font-size: 12px;
	color: var(--rp-muted);
	font-weight: 600;
}

.rp-top-move {
	flex: none;
	font-size: 12px;
	font-weight: 800;
}

.rp-top-move.is-up {
	color: var(--rp-accent);
}

.rp-top-move.is-down {
	color: var(--rp-hot);
}

.rp-top-move.is-same {
	color: var(--rp-muted);
}

/* --- SECTION GENERAL --- */
.rp-section {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

@media (max-width: 639px) {
	.rp-section {
		padding: 0 16px;
	}
}

.rp-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.rp-section-title {
	margin: 0;
	font-family: var(--rp-font-serif);
	font-weight: 700;
	font-size: clamp(24px, 2.8vw, 32px);
	color: var(--rp-ink);
}

.rp-section-sub {
	font-size: 13px;
	color: var(--rp-muted);
	font-weight: 600;
	margin-top: 3px;
}

.rp-view-all {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	font-weight: 700;
	color: var(--rp-accent);
	cursor: pointer;
}

.rp-view-all:hover {
	color: var(--rp-accent-hover);
}

/* --- XEM TIẾP (CONTINUE WATCHING) --- */
.rp-continue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 14px;
}

@media (max-width: 639px) {
	.rp-continue-grid {
		grid-template-columns: 1fr;
	}
}

.rp-continue-card {
	display: flex;
	gap: 14px;
	padding: 12px;
	border-radius: 16px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-continue-card:hover {
	border-color: var(--rp-accent);
	box-shadow: 0 6px 18px rgba(30, 110, 94, 0.12);
}

.rp-continue-thumb {
	position: relative;
	flex: none;
	width: 112px;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	overflow: hidden;
	background: #15181A;
}

.rp-continue-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-continue-play-icon {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(0, 0, 0, 0.25);
}

.rp-continue-play-circle {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	color: var(--rp-ink);
	display: grid;
	place-items: center;
}

.rp-continue-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rp-continue-name {
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--rp-ink);
}

.rp-continue-ep {
	font-size: 12px;
	color: var(--rp-muted);
	font-weight: 600;
}

.rp-progress-track {
	height: 4px;
	border-radius: 2px;
	background: var(--rp-track);
	overflow: hidden;
	margin-top: auto;
}

.rp-progress-fill {
	height: 100%;
	background: var(--rp-accent);
	border-radius: 2px;
}

/* --- DANH MỤC THỂ LOẠI (GENRES) --- */
.rp-genre-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
}

@media (max-width: 639px) {
	.rp-genre-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.rp-genre-card {
	position: relative;
	height: 84px;
	border-radius: 14px;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	cursor: pointer;
	border: 1px solid transparent;
	transition: all 0.15s ease;
}

.rp-genre-card:hover {
	border-color: var(--rp-accent);
	transform: translateY(-1px);
}

.rp-genre-name {
	font-size: 15px;
	font-weight: 800;
	color: var(--rp-ink);
	z-index: 2;
}

.rp-genre-count {
	font-size: 12px;
	font-weight: 600;
	color: var(--rp-muted);
	z-index: 2;
}

.rp-genre-mini-poster {
	position: absolute;
	right: -8px;
	bottom: -12px;
	width: 48px;
	aspect-ratio: 2 / 3;
	border-radius: 6px;
	overflow: hidden;
	transform: rotate(14deg);
	box-shadow: 0 4px 12px rgba(21, 24, 26, 0.15);
	opacity: 0.85;
}

.rp-genre-mini-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Country pills scroll */
.rp-country-scroll {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 2px;
}
.rp-country-scroll::-webkit-scrollbar {
	display: none;
}

.rp-country-pill {
	flex: none;
	height: 38px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line-strong);
	color: var(--rp-ink);
	font-size: 13.5px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-country-pill:hover, .rp-country-pill.is-active {
	background: var(--rp-accent);
	border-color: var(--rp-accent);
	color: #FFFFFF;
}

/* --- HORIZONTAL MOVIE ROWS --- */
.rp-shelf-scroll {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 8px;
}
.rp-shelf-scroll::-webkit-scrollbar {
	display: none;
}

@media (max-width: 639px) {
	.rp-shelf-scroll {
		margin-left: -16px;
		margin-right: -16px;
		padding-left: 16px;
		padding-right: 16px;
	}
}

.rp-movie-card {
	flex: none;
	width: 178px;
	display: flex;
	flex-direction: column;
	gap: 9px;
	cursor: pointer;
	scroll-snap-align: start;
	min-width: 0;
}

@media (max-width: 1099px) {
	.rp-movie-card {
		width: 160px;
	}
}

@media (max-width: 639px) {
	.rp-movie-card {
		width: 138px;
	}
}

.rp-card-poster-wrap {
	position: relative;
	aspect-ratio: 2 / 3;
	border-radius: 12px;
	overflow: hidden;
	background: #15181A;
	box-shadow: 0 4px 12px rgba(21, 24, 26, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rp-movie-card:hover .rp-card-poster-wrap {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(30, 110, 94, 0.25);
	outline: 2px solid var(--rp-accent);
}

.rp-card-poster-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-card-badge {
	position: absolute;
	left: 8px;
	top: 8px;
	height: 22px;
	display: flex;
	align-items: center;
	padding: 0 7px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--rp-ink);
	font-size: 11px;
	font-weight: 800;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.rp-card-badge.is-hot {
	background: var(--rp-accent);
	color: #FFFFFF;
}

.rp-card-title-overlay {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.15;
	color: #FFFFFF;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rp-card-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.rp-card-title {
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--rp-ink);
}

.rp-card-meta {
	font-size: 12px;
	color: var(--rp-muted);
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* --- BỘ SƯU TẬP (COLLECTIONS) --- */
.rp-coll-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
}

@media (max-width: 639px) {
	.rp-coll-grid {
		grid-template-columns: 1fr;
	}
}

.rp-coll-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 22px 20px;
	border-radius: 20px;
	cursor: pointer;
	transition: all 0.2s ease;
	border: 1px solid var(--rp-line);
}

.rp-coll-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(21, 24, 26, 0.12);
}

.rp-coll-posters {
	position: relative;
	height: 190px;
}

.rp-coll-posters .p-left {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 104px;
	aspect-ratio: 2 / 3;
	margin-left: -128px;
	border-radius: 10px;
	overflow: hidden;
	transform: rotate(-9deg);
	transform-origin: bottom center;
	box-shadow: 0 6px 18px rgba(21, 24, 26, 0.18);
}

.rp-coll-posters .p-right {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 104px;
	aspect-ratio: 2 / 3;
	margin-left: 24px;
	border-radius: 10px;
	overflow: hidden;
	transform: rotate(9deg);
	transform-origin: bottom center;
	box-shadow: 0 6px 18px rgba(21, 24, 26, 0.18);
}

.rp-coll-posters .p-center {
	position: absolute;
	left: 50%;
	bottom: 6px;
	width: 116px;
	aspect-ratio: 2 / 3;
	margin-left: -58px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(21, 24, 26, 0.25);
	z-index: 2;
}

.rp-coll-posters img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-coll-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.rp-coll-name {
	font-family: var(--rp-font-serif);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.15;
	color: var(--rp-ink);
}

.rp-coll-sub {
	font-size: 13px;
	font-weight: 700;
	color: var(--rp-ink-2);
}

.rp-coll-arrow {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--rp-ink);
	color: #FFFFFF;
	display: grid;
	place-items: center;
	transition: background 0.15s ease, transform 0.15s ease;
}

.rp-coll-card:hover .rp-coll-arrow {
	background: var(--rp-accent);
	transform: translateX(3px);
}

/* --- MỚI LÊN KỆ (SHELF / LATEST) --- */
.rp-filter-row {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
}
.rp-filter-row::-webkit-scrollbar {
	display: none;
}

.rp-filter-btn {
	flex: none;
	height: 38px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--rp-line-strong);
	background: var(--rp-surface);
	color: var(--rp-ink);
	font-size: 13.5px;
	font-weight: 800;
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-filter-btn.is-active {
	background: var(--rp-ink);
	border-color: var(--rp-ink);
	color: #FFFFFF;
}

.rp-shelf-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 14px;
}

@media (max-width: 639px) {
	.rp-shelf-grid {
		grid-template-columns: 1fr;
	}
}

.rp-shelf-item {
	display: flex;
	gap: 16px;
	padding: 12px;
	border-radius: 16px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-shelf-item:hover {
	border-color: var(--rp-accent);
	box-shadow: 0 6px 20px rgba(30, 110, 94, 0.1);
}

.rp-shelf-thumb {
	position: relative;
	flex: none;
	width: 92px;
	aspect-ratio: 2 / 3;
	border-radius: 10px;
	overflow: hidden;
	background: #15181A;
}

.rp-shelf-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-shelf-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 2px 0;
}

.rp-shelf-tag {
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--rp-accent);
}

.rp-shelf-name {
	font-family: var(--rp-font-serif);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.2;
	color: var(--rp-ink);
}

.rp-shelf-desc {
	font-size: 13px;
	line-height: 1.5;
	color: var(--rp-ink-2);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rp-shelf-meta {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 800;
	color: var(--rp-ink);
}

/* ==========================================================================
   WATCH / SINGLE MOVIE PAGE
   ========================================================================== */
.rp-watch-page {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.rp-player-stage {
	width: 100%;
	background: #0A0D10;
	padding: 0;
}

@media (min-width: 640px) {
	.rp-player-stage {
		padding: 20px clamp(16px, 3vw, 40px);
		background: transparent;
	}
}

@media (max-width: 639px) {
	.rp-player-stage.is-sticky {
		position: sticky;
		top: 62px;
		z-index: 30;
	}
}

.rp-player-viewport {
	max-width: 1320px;
	margin: 0 auto;
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	background: #000000;
	box-shadow: 0 16px 50px rgba(0, 0, 0, 0.4);
}

@media (max-width: 639px) {
	.rp-player-viewport {
		border-radius: 0;
		box-shadow: none;
	}
}

.rp-player-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.rp-watch-main-grid {
	max-width: 1320px;
	margin: 0 auto;
	width: 100%;
	padding: clamp(24px, 3vw, 40px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: clamp(24px, 3.4vw, 48px);
	align-items: start;
}

@media (max-width: 1099px) {
	.rp-watch-main-grid {
		grid-template-columns: 1fr;
		padding: 20px 16px;
	}
}

.rp-watch-col-left {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

.rp-watch-eyebrow {
	font-size: 13px;
	font-weight: 800;
	color: var(--rp-muted);
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	gap: 8px;
}

.rp-watch-title {
	margin: 0;
	font-family: var(--rp-font-serif);
	font-weight: 700;
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.1;
	color: var(--rp-ink);
}

.rp-watch-title em {
	font-style: italic;
	color: var(--rp-accent);
}

.rp-watch-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.rp-watch-act-btn {
	height: 44px;
	padding: 0 18px;
	border-radius: 12px;
	border: 1px solid var(--rp-line-strong);
	background: var(--rp-surface);
	color: var(--rp-ink);
	font-size: 14px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-watch-act-btn:hover {
	background: var(--rp-bg);
}

.rp-watch-act-btn.is-liked {
	background: var(--rp-hot-soft);
	border-color: var(--rp-hot);
	color: var(--rp-hot-ink);
}

.rp-watch-act-btn.is-saved {
	background: var(--rp-accent-soft);
	border-color: var(--rp-accent);
	color: var(--rp-accent);
}

/* Tabs */
.rp-watch-tabs-bar {
	display: flex;
	gap: 24px;
	border-bottom: 2px solid var(--rp-line);
	margin-top: 8px;
}

.rp-watch-tab-btn {
	height: 48px;
	padding: 0 4px;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	font-size: 15px;
	font-weight: 800;
	color: var(--rp-muted);
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-watch-tab-btn.is-active {
	color: var(--rp-accent);
	border-bottom-color: var(--rp-accent);
}

.rp-tab-pane {
	display: none;
}

.rp-tab-pane.is-active {
	display: block;
}

/* Episodes Grid */
.rp-ep-range-pills {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
	overflow-x: auto;
	scrollbar-width: none;
}

.rp-range-pill {
	flex: none;
	height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid var(--rp-line-strong);
	background: var(--rp-surface);
	color: var(--rp-ink);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.rp-range-pill.is-active {
	background: var(--rp-accent);
	border-color: var(--rp-accent);
	color: #FFFFFF;
}

.rp-ep-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 12px;
}

@media (max-width: 639px) {
	.rp-ep-grid {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	}
}

.rp-ep-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 8px;
	border-radius: 12px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
	cursor: pointer;
	transition: all 0.15s ease;
}

.rp-ep-item:hover {
	border-color: var(--rp-accent);
}

.rp-ep-item.is-current {
	border: 2px solid var(--rp-accent);
	background: var(--rp-accent-soft);
}

.rp-ep-thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #15181A;
}

.rp-ep-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-ep-playing-badge {
	position: absolute;
	left: 6px;
	top: 6px;
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--rp-hot);
	color: #FFFFFF;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.05em;
}

.rp-ep-title {
	font-size: 13.5px;
	font-weight: 800;
	color: var(--rp-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Info tab */
.rp-info-wrap {
	display: flex;
	gap: clamp(16px, 2.6vw, 28px);
	flex-wrap: wrap;
}

.rp-info-poster {
	flex: none;
	width: clamp(120px, 14vw, 170px);
	aspect-ratio: 2 / 3;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(21, 24, 26, 0.12);
}

.rp-info-table {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 18px;
	font-size: 14px;
}

/* Aside: Phát tiếp theo & Gợi ý */
.rp-watch-aside {
	display: flex;
	flex-direction: column;
	gap: 28px;
	min-width: 0;
}

.rp-next-box {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	border-radius: 18px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
}

.rp-next-item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 6px;
	border-radius: 12px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.rp-next-item:hover {
	background: var(--rp-bg);
}

.rp-next-thumb {
	flex: none;
	width: 112px;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #15181A;
}

.rp-next-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================
   FOOTER & MOBILE TAB BAR
   ========================================================================== */
.rp-footer {
	margin-top: 64px;
	padding: 32px clamp(16px, 3vw, 40px);
	border-top: 1px solid var(--rp-line);
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	align-items: center;
	font-size: 13.5px;
	color: var(--rp-muted);
}

.rp-footer-logo {
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-weight: 700;
	font-size: 22px;
	color: var(--rp-ink);
}

.rp-mobile-bottom-nav {
	display: none;
}

@media (max-width: 639px) {
	.rp-mobile-bottom-nav {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: calc(10px + env(safe-area-inset-bottom, 10px));
		z-index: 45;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		padding: 6px;
		border-radius: 20px;
		background: rgba(255, 255, 255, 0.95);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		border: 1px solid var(--rp-line);
		box-shadow: 0 10px 30px rgba(21, 24, 26, 0.14);
	}

	.rp-mob-tab {
		height: 52px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		border: 0;
		border-radius: 14px;
		background: transparent;
		color: var(--rp-muted);
		font-size: 11px;
		font-weight: 800;
		cursor: pointer;
		transition: all 0.15s ease;
	}

	.rp-mob-tab.is-active {
		background: var(--rp-accent-soft);
		color: var(--rp-accent);
	}
}


/* ==========================================================================
   ARCHIVE, TAXONOMY & SEARCH LISTINGS
   ========================================================================== */
.rp-archive-wrap {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: clamp(20px, 3vw, 40px);
}

@media (max-width: 639px) {
	.rp-archive-wrap {
		padding: 16px;
		gap: 20px;
	}
}

.rp-archive-header {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--rp-line);
}

.rp-archive-title {
	font-family: var(--rp-font-serif);
	font-weight: 700;
	font-size: clamp(26px, 3.2vw, 36px);
	color: var(--rp-ink);
	margin: 0;
}

.rp-archive-desc {
	font-size: 14px;
	color: var(--rp-muted);
	font-weight: 600;
}

.rp-archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
	gap: 20px 16px;
}

@media (max-width: 1099px) {
	.rp-archive-grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 16px 12px;
	}
}

@media (max-width: 639px) {
	.rp-archive-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px 10px;
	}
}

.rp-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 36px;
	flex-wrap: wrap;
}

.rp-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border-radius: 10px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line-strong);
	color: var(--rp-ink);
	font-size: 14px;
	font-weight: 700;
	transition: all 0.15s ease;
}

.rp-pagination .page-numbers:hover {
	background: var(--rp-bg);
	border-color: var(--rp-accent);
	color: var(--rp-accent);
}

.rp-pagination .page-numbers.current {
	background: var(--rp-accent);
	border-color: var(--rp-accent);
	color: #FFFFFF;
}

.rp-pagination .page-numbers.dots {
	border: 0;
	background: transparent;
	color: var(--rp-muted);
}

.rp-brand-full-img {
	display: block;
	max-width: 175px;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 2px 8px rgba(0, 230, 204, 0.25));
	transition: transform 0.2s ease;
}
.rp-brand:hover .rp-brand-full-img {
	transform: scale(1.03);
}

.rp-brand-tablet-img {
	display: none !important;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgba(0, 230, 204, 0.35);
}

@media (max-width: 1179px) {
	.rp-brand-full-img {
		display: none !important;
	}
	.rp-brand-tablet-img {
		display: block !important;
	}
}

.rp-mobile-logo-img {
	display: block;
	height: 32px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	filter: drop-shadow(0 2px 6px rgba(0, 230, 204, 0.25));
}

.rp-footer-logo-link {
	display: inline-block;
	text-decoration: none;
}
.rp-footer-logo-img {
	display: block;
	height: 30px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
}

/* ==========================================================================
   ENHANCED WATCH PLAYER & PLAY BUTTON OVERLAY (CHILLPHIMNHANH)
   ========================================================================== */
.rp-player-stage {
	position: relative;
	width: 100%;
	background: #0A0D10;
}

.rp-player-cover {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	overflow: hidden;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.rp-player-cover * {
	pointer-events: none;
}

.rp-player-cover .rp-play-trigger-btn,
.rp-player-cover button {
	pointer-events: auto;
	touch-action: manipulation;
	cursor: pointer;
}

.rp-player-cover.is-playing {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	display: none !important;
}

.rp-player-cover-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform 0.4s ease;
}

.rp-player-cover:hover .rp-player-cover-bg {
	transform: scale(1.05);
}

.rp-player-cover-overlay {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center, rgba(10, 13, 16, 0.45) 0%, rgba(10, 13, 16, 0.88) 100%);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.rp-player-cover-content {
	position: relative;
	z-index: 6;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
	padding: 20px;
	max-width: 90%;
}

.rp-play-trigger-btn {
	position: relative;
	width: 86px;
	height: 86px;
	border: 0;
	background: transparent;
	display: grid;
	place-items: center;
	cursor: pointer;
	outline: none;
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rp-player-cover:hover .rp-play-trigger-btn,
.rp-play-trigger-btn:hover {
	transform: scale(1.1);
}

.rp-play-icon-circle {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: linear-gradient(135deg, #00E6CC 0%, #1E6E5E 100%);
	color: #FFFFFF;
	display: grid;
	place-items: center;
	box-shadow: 0 10px 30px rgba(0, 230, 204, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.4);
	position: relative;
	z-index: 2;
}

.rp-play-icon-circle svg {
	margin-left: 5px;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.rp-play-pulse {
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	background: rgba(0, 230, 204, 0.4);
	animation: rp-play-ping 2s cubic-bezier(0, 0, 0.2, 1) infinite;
	z-index: 1;
}

.rp-play-pulse-ring {
	position: absolute;
	inset: -18px;
	border-radius: 50%;
	border: 2px solid rgba(0, 230, 204, 0.45);
	animation: rp-play-ping-large 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
	animation-delay: 0.4s;
	z-index: 0;
}

@keyframes rp-play-ping {
	0% { transform: scale(0.9); opacity: 0.8; }
	70% { transform: scale(1.3); opacity: 0; }
	100% { transform: scale(1.3); opacity: 0; }
}

@keyframes rp-play-ping-large {
	0% { transform: scale(0.8); opacity: 0.7; }
	80% { transform: scale(1.5); opacity: 0; }
	100% { transform: scale(1.5); opacity: 0; }
}

.rp-player-cover-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.rp-play-badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(0, 230, 204, 0.18);
	border: 1px solid rgba(0, 230, 204, 0.5);
	color: #00E6CC;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	backdrop-filter: blur(4px);
}

.rp-play-cover-title {
	margin: 0;
	font-family: var(--rp-font-serif);
	font-style: normal;
	font-size: clamp(20px, 3.2vw, 32px);
	font-weight: 700;
	color: #FFFFFF;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
}

.rp-play-cover-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

.rp-play-ep-name {
	color: #00E6CC;
	font-weight: 800;
}

/* Primary Play Button in Action Bar */
.rp-btn-watch-primary {
	background: var(--rp-accent) !important;
	border-color: var(--rp-accent) !important;
	color: #FFFFFF !important;
	font-weight: 800 !important;
	box-shadow: 0 4px 14px rgba(0, 230, 204, 0.3) !important;
}

.rp-btn-watch-primary:hover {
	background: var(--rp-accent-hover) !important;
	transform: translateY(-1px);
}

.rp-btn-app-action {
	background: #15181A !important;
	color: #FFFFFF !important;
	border-color: #15181A !important;
}

/* ==========================================================================
   MOBILE & TABLET CATEGORY QUICK BAR
   ========================================================================== */
.rp-mobile-cat-bar {
	display: none;
	background: var(--rp-bg);
	border-bottom: 1px solid var(--rp-line);
	padding: 8px 12px;
	position: sticky;
	top: 60px;
	z-index: 35;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

@media (max-width: 1024px) {
	.rp-mobile-cat-bar {
		display: block;
	}
}

.rp-mobile-cat-scroll {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding: 2px 0;
}
.rp-mobile-cat-scroll::-webkit-scrollbar {
	display: none;
}

.rp-cat-chip {
	flex: none;
	height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line-strong);
	color: var(--rp-ink);
	font-size: 13px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	text-decoration: none;
	transition: all 0.15s ease;
}

.rp-cat-chip:hover,
.rp-cat-chip.is-active {
	background: var(--rp-accent);
	border-color: var(--rp-accent);
	color: #FFFFFF;
	box-shadow: 0 3px 10px rgba(0, 230, 204, 0.25);
}

/* Header mobile search icon */
.rp-mob-search-btn {
	display: none;
}
@media (max-width: 639px) {
	.rp-mob-search-btn {
		display: grid !important;
	}
}

/* Watch Page Related Grid on Tablet & Mobile */
.rp-watch-related-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

@media (min-width: 640px) and (max-width: 1099px) {
	.rp-watch-related-grid {
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 16px;
	}
}

/* Tablet Layout Enhancements */
@media (min-width: 640px) and (max-width: 1099px) {
	.rp-hero-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.rp-hero-backdrop-wrap {
		aspect-ratio: 16 / 9;
		border-radius: 20px;
	}
	.rp-hero-info-card {
		margin-top: -80px;
		margin-left: 20px;
		margin-right: 20px;
		padding: 22px;
	}
	.rp-top-card {
		padding: 20px;
	}
	.rp-top-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.rp-top-item {
		border-bottom: 0;
		border: 1px solid var(--rp-line);
		border-radius: 12px;
		padding: 10px;
	}
	.rp-shelf-scroll .rp-movie-card {
		width: 165px;
	}
	.rp-coll-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.rp-genre-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
	.rp-archive-grid {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
	}
}

/* Mobile Screen Layout Enhancements */
@media (max-width: 639px) {
	.rp-header {
		height: 60px;
		padding: 0 12px;
	}
	.rp-mobile-logo-img {
		height: 30px;
		max-width: 140px;
	}
	.rp-main-content {
		padding: 12px 0;
		gap: 28px;
	}
	.rp-hero-backdrop-wrap {
		aspect-ratio: 16 / 10;
		margin: 0 12px;
		border-radius: 16px;
	}
	.rp-hero-info-card {
		margin-top: -36px;
		margin-left: 12px;
		margin-right: 12px;
		border-radius: 16px;
		padding: 16px;
		box-shadow: 0 8px 24px rgba(21, 24, 26, 0.1);
	}
	.rp-hero-title {
		font-size: 22px;
		line-height: 1.15;
	}
	.rp-hero-meta {
		font-size: 12px;
		gap: 4px 10px;
	}
	.rp-hero-desc {
		font-size: 13px;
		-webkit-line-clamp: 2;
	}
	.rp-hero-actions {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		width: 100%;
	}
	.rp-hero-actions a,
	.rp-hero-actions button {
		width: 100%;
		justify-content: center;
		height: 44px;
		padding: 0 12px;
		font-size: 13px;
	}
	.rp-top-card {
		margin: 0 12px;
		border-radius: 16px;
		padding: 16px;
	}
	.rp-top-title {
		font-size: 20px;
	}
	.rp-top-rank {
		font-size: 24px;
		width: 24px;
	}
	.rp-top-thumb {
		width: 42px;
	}
	.rp-top-name {
		font-size: 13px;
	}
	.rp-section {
		padding: 0 12px;
		gap: 14px;
	}
	.rp-section-title {
		font-size: 20px;
	}
	.rp-shelf-scroll {
		margin-left: -12px;
		margin-right: -12px;
		padding-left: 12px;
		padding-right: 12px;
		gap: 10px;
	}
	.rp-movie-card {
		width: 132px;
		gap: 6px;
	}
	.rp-card-title {
		font-size: 13px;
	}
	.rp-card-meta {
		font-size: 11px;
	}
	.rp-genre-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	.rp-genre-card {
		height: 68px;
		padding: 10px 12px;
		border-radius: 12px;
	}
	.rp-genre-name {
		font-size: 13.5px;
	}
	.rp-genre-count {
		font-size: 11px;
	}
	.rp-country-scroll {
		margin-left: -12px;
		margin-right: -12px;
		padding-left: 12px;
		padding-right: 12px;
	}
	.rp-country-pill {
		font-size: 12px;
		padding: 6px 12px;
	}

	/* Watch Page on Mobile */
	.rp-player-stage.is-sticky {
		top: 60px;
	}
	.rp-play-trigger-btn {
		width: 68px;
		height: 68px;
	}
	.rp-play-icon-circle {
		width: 62px;
		height: 62px;
	}
	.rp-play-icon-circle svg {
		width: 30px;
		height: 30px;
	}
	.rp-play-cover-title {
		font-size: 18px;
		line-height: 1.2;
	}
	.rp-play-cover-meta {
		font-size: 11.5px;
		gap: 4px;
	}
	.rp-watch-main-grid {
		padding: 16px 12px;
		gap: 20px;
	}
	.rp-watch-title {
		font-size: 22px;
		line-height: 1.15;
	}
	.rp-watch-actions {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		width: 100%;
	}
	.rp-watch-act-btn {
		width: 100%;
		justify-content: center;
		padding: 0 10px;
		font-size: 12.5px;
		height: 40px;
	}
	.rp-btn-watch-primary {
		grid-column: span 2;
		height: 44px;
		font-size: 14.5px;
	}
	.rp-ep-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	.rp-ep-item {
		padding: 6px;
	}
	.rp-ep-title {
		font-size: 12px;
	}
	.rp-info-wrap {
		flex-direction: column;
		gap: 16px;
	}
	.rp-info-poster {
		width: 120px;
		margin: 0 auto;
	}
	.rp-info-table {
		font-size: 13px;
		gap: 6px 12px;
	}
	.rp-next-thumb {
		width: 90px;
	}
	.rp-watch-related-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.rp-archive-wrap {
		padding: 12px;
		gap: 16px;
	}
	.rp-archive-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px 8px;
	}
	.rp-pagination {
		margin-top: 24px;
		gap: 6px;
	}
	.rp-pagination .page-numbers {
		min-width: 36px;
		height: 36px;
		padding: 0 10px;
		font-size: 13px;
	}
}



@media (max-width: 639px) {
	.rp-footer {
		padding-bottom: calc(85px + env(safe-area-inset-bottom, 12px)) !important;
	}
}


/* ==========================================================================
   MOBILE DRAWER & GENRE BOTTOM SHEET MODAL (v3.1.0)
   ========================================================================== */
.rp-mob-menu-btn {
	display: none;
}
@media (max-width: 639px) {
	.rp-mob-menu-btn {
		display: inline-flex !important;
	}
	.rp-btn-app-header {
		padding: 0 10px;
	}
	.rp-btn-app-header span {
		display: none;
	}
}

/* Mobile Navigation Drawer */
.rp-mob-drawer {
	position: fixed;
	inset: 0;
	z-index: 1000;
	visibility: hidden;
	transition: visibility 0.25s ease;
}
.rp-mob-drawer.is-open {
	visibility: visible;
}
.rp-mob-drawer-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 20, 25, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.rp-mob-drawer.is-open .rp-mob-drawer-backdrop {
	opacity: 1;
}
.rp-mob-drawer-panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(320px, 86vw);
	background: #FFFFFF;
	box-shadow: 10px 0 30px rgba(0, 0, 0, 0.25);
	transform: translateX(-100%);
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 2;
}
.rp-mob-drawer.is-open .rp-mob-drawer-panel {
	transform: translateX(0);
}
.rp-mob-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid var(--rp-line);
	background: var(--rp-surface-alt);
}
.rp-mob-drawer-close {
	border: 0;
	background: none;
	cursor: pointer;
	color: var(--rp-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	border-radius: 8px;
}
.rp-mob-drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	-webkit-overflow-scrolling: touch;
}
.rp-mob-menu-heading {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--rp-muted);
	margin-bottom: 10px;
}
.rp-mob-nav-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.rp-mob-nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--rp-ink);
	text-decoration: none;
	background: var(--rp-surface-alt);
	transition: all 0.15s ease;
}
.rp-mob-nav-item.is-active, .rp-mob-nav-item:active {
	background: var(--rp-accent-soft);
	color: var(--rp-accent);
}
.rp-mob-chips-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
.rp-mob-chip {
	padding: 8px 10px;
	border-radius: 10px;
	background: var(--rp-surface-alt);
	border: 1px solid var(--rp-line);
	font-size: 13px;
	font-weight: 700;
	color: var(--rp-ink);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: inline-block;
}
.rp-mob-drawer-app {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px;
	border-radius: 12px;
	background: var(--rp-accent);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 13.5px;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(30, 110, 94, 0.25);
}
.rp-mob-drawer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-top: 14px;
	font-size: 12px;
	color: var(--rp-muted);
}

/* Mobile Genre Bottom Sheet Modal */
.rp-genre-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	visibility: hidden;
	transition: visibility 0.25s ease;
}
.rp-genre-modal.is-open {
	visibility: visible;
}
.rp-genre-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 20, 25, 0.6);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.rp-genre-modal.is-open .rp-genre-modal-backdrop {
	opacity: 1;
}
.rp-genre-modal-sheet {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	max-height: 85vh;
	background: #FFFFFF;
	border-radius: 24px 24px 0 0;
	box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
	transform: translateY(100%);
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 2;
}
.rp-genre-modal.is-open .rp-genre-modal-sheet {
	transform: translateY(0);
}
.rp-genre-modal-handle {
	width: 44px;
	height: 4px;
	background: #CBD5E1;
	border-radius: 99px;
	margin: 10px auto 4px auto;
}
.rp-genre-modal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 20px 12px 20px;
	border-bottom: 1px solid var(--rp-line);
}
.rp-genre-modal-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 800;
	color: var(--rp-ink);
}
.rp-genre-modal-close {
	border: 0;
	background: none;
	cursor: pointer;
	padding: 6px;
	color: var(--rp-muted);
	display: flex;
	align-items: center;
	justify-content: center;
}
.rp-genre-modal-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px 20px 30px 20px;
	-webkit-overflow-scrolling: touch;
}
.rp-genre-sheet-label {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--rp-muted);
	margin-bottom: 10px;
}
.rp-genre-sheet-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
.rp-genre-pill {
	display: flex;
	align-items: center;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--rp-surface-alt);
	border: 1px solid var(--rp-line);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--rp-ink);
	text-decoration: none;
	transition: all 0.15s ease;
}
.rp-genre-pill:active {
	background: var(--rp-accent-soft);
	color: var(--rp-accent);
}


/* === MOTPHIMNHANH UI ENHANCEMENTS === */
:root {
    --rp-accent: #FF5722 !important;
    --rp-accent-hover: #FF7043 !important;
    --rp-accent-soft: #FFCCBC !important;
    --rp-accent-player: #FF5722 !important;
}
.rp-btn-app-header, .rp-play-trigger-btn {
    border-radius: 16px 4px 16px 4px !important;
    background: #FF5722 !important;
    color: #fff !important;
}
.rp-card {
    border-radius: 12px 4px 12px 4px !important;
}

