/* Xem lai page. All rules are isolated from the shared portal skin. */
.video-page {
	--video-page-bg: #232626;
	--video-page-surface: #292d2e;
	--video-page-surface-strong: #303536;
	--video-page-border: #3b4041;
	--video-page-text: #ffffff;
	--video-page-muted: #aeb6b9;
	--video-page-green: #00ff5e;
	--video-page-green-dark: #16a34a;
	--video-page-radius: 10px;
	padding: 28px 0 72px;
	overflow-x: hidden;
	overflow-x: clip;
	background:
		radial-gradient(circle at 50% -12%, rgba(0, 255, 94, 0.08), transparent 34rem),
		var(--video-page-bg);
	color: var(--video-page-text);
	font-family: "Barlow", Arial, sans-serif;
}

.video-page__shell {
	width: min(calc(100% - 30px), 1330px);
	margin-inline: auto;
}

.video-page__header {
	margin: 0 0 24px;
	padding: 24px 26px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--video-page-radius);
	background: linear-gradient(135deg, rgba(48, 53, 54, 0.96), rgba(35, 38, 38, 0.9));
}

.video-page__eyebrow {
	margin: 0 0 4px;
	color: var(--video-page-green);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.video-page__title {
	margin: 0;
	color: var(--video-page-text);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.08;
	text-transform: uppercase;
}

.video-page__intro {
	max-width: 920px;
	margin-top: 12px;
	color: #d5dadd;
	font-family: "Barlow", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.75;
}

.video-page__intro > :first-child {
	margin-top: 0;
}

.video-page__intro > :last-child {
	margin-bottom: 0;
}

.video-page__intro a {
	color: var(--video-page-green);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.video-page__intro ul,
.video-page__intro ol {
	padding-left: 1.25rem;
}

/* Featured videos */
.video-page-hero {
	position: relative;
	margin-bottom: 24px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background: #0d0f12;
	box-shadow: 0 22px 54px rgba(0, 0, 0, 0.25);
}

.video-page-hero__slides {
	position: relative;
}

.video-page-hero__slide {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
	gap: 42px;
	align-items: center;
	min-height: 420px;
	padding: 46px 90px 58px;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(18px);
	transition: opacity 260ms ease, transform 260ms ease, visibility 0s linear 260ms;
}

.video-page-hero__slide::before,
.video-page-hero__slide::after {
	position: absolute;
	inset: 0;
	content: "";
}

.video-page-hero__slide::before {
	background-image: var(--video-page-hero-image, linear-gradient(135deg, #17231c, #0d0f12));
	background-position: center;
	background-size: cover;
	filter: saturate(0.8);
	transform: scale(1.02);
}

.video-page-hero__slide::after {
	background:
		linear-gradient(105deg, rgba(13, 15, 18, 0.96) 0%, rgba(13, 15, 18, 0.82) 48%, rgba(13, 15, 18, 0.58) 100%),
		linear-gradient(0deg, rgba(13, 15, 18, 0.36), rgba(13, 15, 18, 0.12));
}

.video-page-hero__slide.is-active {
	position: relative;
	z-index: 1;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(0);
	transition-delay: 0s;
}

.video-page-hero__content,
.video-page-hero__preview {
	position: relative;
	z-index: 2;
	min-width: 0;
}

.video-page-hero__badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin-bottom: 13px;
	padding: 4px 11px;
	border: 1px solid rgba(0, 255, 94, 0.45);
	border-radius: 999px;
	background: rgba(0, 255, 94, 0.12);
	color: var(--video-page-green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

.video-page-hero__title {
	margin: 0 0 14px;
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	letter-spacing: 0.015em;
	line-height: 1.12;
	text-transform: uppercase;
}

.video-page-hero__title a {
	display: inline;
	background-image: linear-gradient(var(--video-page-green), var(--video-page-green));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 2px;
	transition: background-size 180ms ease, color 180ms ease;
}

.video-page-hero__title a:hover,
.video-page-hero__title a:focus-visible {
	color: var(--video-page-green);
	background-size: 100% 2px;
}

.video-page-hero__excerpt {
	max-width: 610px;
	margin: 0 0 18px;
	color: #dce1e3;
	font-family: "Barlow", Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.65;
}

.video-page-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 22px;
	color: var(--video-page-muted);
	font-size: 13px;
	font-weight: 600;
}

.video-page-hero__meta > * {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.video-page-hero__meta > * + *::before {
	width: 4px;
	height: 4px;
	margin-right: 10px;
	border-radius: 50%;
	background: var(--video-page-green);
	content: "";
}

.video-page-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 46px;
	padding: 10px 20px;
	border: 1px solid var(--video-page-green);
	border-radius: 999px;
	background: #050706;
	box-shadow: 0 0 14px rgba(0, 255, 94, 0.34);
	color: var(--video-page-green);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.video-page-hero__button:hover,
.video-page-hero__button:focus-visible {
	background: var(--video-page-green);
	color: #041108;
	transform: translateY(-1px);
}

.video-page-play-icon {
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 11px solid currentColor;
}

.video-page-hero__preview {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-radius: 12px;
	background: #1c2129;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.video-page-hero__preview img,
.video-page-media-placeholder {
	width: 100%;
	height: 100%;
}

.video-page-hero__preview img {
	object-fit: cover;
	transition: transform 320ms ease;
}

.video-page-media-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle, rgba(0, 255, 94, 0.2), transparent 32%),
		repeating-linear-gradient(135deg, #242a2b 0 18px, #202526 18px 36px);
	color: rgba(255, 255, 255, 0.62);
}

.video-page-media-placeholder .video-page-play-icon {
	border-top-width: 18px;
	border-bottom-width: 18px;
	border-left-width: 28px;
}

.video-page-hero__preview-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.3);
	transition: background 180ms ease;
}

.video-page-hero__preview-play {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	padding-left: 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	color: #0d0f12;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.32);
	transition: transform 180ms ease;
}

.video-page-hero__preview:hover img,
.video-page-hero__preview:focus-visible img {
	transform: scale(1.035);
}

.video-page-hero__preview:hover .video-page-hero__preview-overlay,
.video-page-hero__preview:focus-visible .video-page-hero__preview-overlay {
	background: rgba(0, 0, 0, 0.18);
}

.video-page-hero__preview:hover .video-page-hero__preview-play,
.video-page-hero__preview:focus-visible .video-page-hero__preview-play {
	transform: scale(1.06);
}

.video-page-hero__preview-label {
	position: absolute;
	right: 10px;
	bottom: 10px;
	left: 10px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: fit-content;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 5px;
	background: rgba(0, 0, 0, 0.82);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.video-page-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 50px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.72);
	cursor: pointer;
	transform: translateY(-50%);
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.video-page-hero__arrow:hover,
.video-page-hero__arrow:focus-visible {
	border-color: var(--video-page-green);
	background: #050706;
	color: var(--video-page-green);
}

.video-page-hero__arrow svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.video-page-hero__arrow--previous {
	left: 16px;
}

.video-page-hero__arrow--next {
	right: 16px;
}

.video-page-hero__dots {
	position: absolute;
	right: 0;
	bottom: 18px;
	left: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.video-page-hero__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: width 180ms ease, background 180ms ease;
}

.video-page-hero__dot.is-active {
	width: 24px;
	background: var(--video-page-green);
}

/* Archive cards */
.video-page-library {
	min-width: 0;
}

.video-page-library__header {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	margin-bottom: 20px;
	padding: 9px 14px;
	border: 1px solid var(--video-page-border);
	border-radius: 8px;
	background: linear-gradient(270deg, #292f32 70.8%, #3c3c3c 100%);
}

.video-page-library__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding-left: 2px;
	border: 1px solid rgba(0, 255, 94, 0.32);
	border-radius: 8px;
	background: rgba(0, 255, 94, 0.1);
	color: var(--video-page-green);
}

.video-page-library__icon .video-page-play-icon {
	border-top-width: 6px;
	border-bottom-width: 6px;
	border-left-width: 9px;
}

.video-page-library__header p {
	margin: 0 0 1px;
	color: var(--video-page-green);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.video-page-library__header h2 {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.25;
	text-transform: uppercase;
}

.video-page-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px 18px;
	min-width: 0;
}

.video-page-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--video-page-radius);
	background: var(--video-page-surface);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.13);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.video-page-card:hover,
.video-page-card:focus-within {
	border-color: rgba(0, 255, 94, 0.42);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
	transform: translateY(-2px);
}

.video-page-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #1c2129;
}

.video-page-card__media img,
.video-page-card__media > .video-page-media-placeholder {
	width: 100%;
	height: 100%;
}

.video-page-card__media img {
	object-fit: cover;
	transition: transform 300ms ease;
}

.video-page-card__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.06);
	opacity: 0;
	transition: background 180ms ease, opacity 180ms ease;
}

.video-page-card__play {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding-left: 3px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	color: #0d0f12;
	transform: scale(0.88);
	transition: transform 180ms ease;
}

.video-page-card__play .video-page-play-icon {
	border-top-width: 6px;
	border-bottom-width: 6px;
	border-left-width: 10px;
}

.video-page-card__media:hover img,
.video-page-card__media:focus-visible img {
	transform: scale(1.05);
}

.video-page-card__media:hover .video-page-card__overlay,
.video-page-card__media:focus-visible .video-page-card__overlay {
	background: rgba(0, 0, 0, 0.34);
	opacity: 1;
}

.video-page-card__media:hover .video-page-card__play,
.video-page-card__media:focus-visible .video-page-card__play {
	transform: scale(1);
}

.video-page-card__badge,
.video-page-card__date {
	position: absolute;
	bottom: 9px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 5px 8px;
	border-radius: 5px;
	background: rgba(0, 0, 0, 0.82);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 1;
	text-transform: uppercase;
}

.video-page-card__badge {
	left: 9px;
	color: var(--video-page-green);
}

.video-page-card__date {
	right: 9px;
	color: #fff;
}

.video-page-card__body {
	padding: 13px 14px 14px;
}

.video-page-card__title {
	margin: 0 0 9px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1.35;
	text-transform: uppercase;
}

.video-page-card__title a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.video-page-card__title a:hover,
.video-page-card__title a:focus-visible {
	color: var(--video-page-green);
}

.video-page-card__meta {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--video-page-muted);
	font-family: "Barlow", Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
}

.video-page-card__meta span:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.video-page-pagination {
	margin-top: 34px;
}

.video-page-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.video-page-pagination a,
.video-page-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--video-page-border);
	border-radius: 7px;
	background: var(--video-page-surface-strong);
	color: #fff;
	font-family: "Barlow", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}

.video-page-pagination a:hover,
.video-page-pagination a:focus-visible,
.video-page-pagination .current {
	border-color: var(--video-page-green);
	background: var(--video-page-green);
	color: #07120a;
}

.video-page-empty {
	max-width: 720px;
	margin: 22px auto 0;
	padding: 48px 28px;
	border: 1px dashed rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	background: rgba(41, 45, 46, 0.74);
	text-align: center;
}

.video-page-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin: 0 auto 16px;
	padding-left: 4px;
	border: 1px solid rgba(0, 255, 94, 0.36);
	border-radius: 50%;
	background: rgba(0, 255, 94, 0.09);
	color: var(--video-page-green);
}

.video-page-empty__icon .video-page-play-icon {
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 16px;
}

.video-page-empty h2 {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
}

.video-page-empty p {
	max-width: 520px;
	margin: 0 auto;
	color: var(--video-page-muted);
	font-family: "Barlow", Arial, sans-serif;
	font-size: 14px;
}

@media (max-width: 1100px) {
	.video-page-hero__slide {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 370px);
		gap: 30px;
		padding-inline: 66px;
	}
}

@media (max-width: 960px) {
	.video-page {
		padding-top: 22px;
	}

	.video-page-hero__slide {
		grid-template-columns: minmax(0, 1fr);
		padding: 44px 58px 66px;
	}

	.video-page-hero__preview {
		width: min(100%, 620px);
		margin-inline: auto;
	}

	.video-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.video-page {
		padding: 16px 0 54px;
	}

	.video-page__shell {
		width: min(calc(100% - 24px), 1330px);
	}

	.video-page__header {
		margin-bottom: 16px;
		padding: 19px 18px;
	}

	.video-page__title {
		font-size: 30px;
	}

	.video-page__intro {
		font-size: 13px;
	}

	.video-page-hero {
		margin-bottom: 18px;
	}

	.video-page-hero__slide {
		gap: 24px;
		min-height: 0;
		padding: 62px 18px 58px;
	}

	.video-page-hero__title {
		font-size: 26px;
	}

	.video-page-hero__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		font-size: 13px;
	}

	.video-page-hero__meta {
		gap: 7px 12px;
		font-size: 12px;
	}

	.video-page-hero__meta > * + *::before {
		display: none;
	}

	.video-page-hero__button {
		min-height: 42px;
		font-size: 14px;
	}

	.video-page-hero__preview-play {
		width: 54px;
		height: 54px;
	}

	.video-page-hero__arrow {
		top: 14px;
		width: 40px;
		height: 38px;
		transform: none;
	}

	.video-page-hero__arrow--previous {
		left: 14px;
	}

	.video-page-hero__arrow--next {
		right: 14px;
	}

	.video-page-library__header {
		margin-bottom: 14px;
	}

	.video-page-library__header h2 {
		font-size: 14px;
	}

	.video-page-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.video-page-card__title {
		font-size: 15px;
	}

	.video-page-pagination a,
	.video-page-pagination span {
		min-width: 38px;
		height: 38px;
		padding-inline: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.video-page *,
	.video-page *::before,
	.video-page *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
