/* Catalog, filter, static pages, 404 — all under .ui-v4 */
.ui-v4 .km-catalog-list,
.ui-v4 .km-page {
	position: relative;
}

.ui-v4 .km-page-head {
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--v4-divider);
}

.ui-v4 .km-page-title {
	font-family: var(--v4-font-display);
	color: transparent;
	background: var(--v4-grad-text-display);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 2px 16px var(--v4-vi-35));
}

.ui-v4 .km-page-meta {
	color: var(--v4-text-dim);
}

.ui-v4 .km-filter {
	background: var(--v4-surface-2);
	border: 1px solid var(--v4-edge);
	border-radius: var(--v4-radius-lg);
	box-shadow: var(--v4-shadow-elevated);
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.ui-v4 .km-filter__head {
	background: linear-gradient(90deg, var(--v4-deep-15), transparent);
	border-bottom: 1px solid var(--v4-divider);
	padding: 1rem 1.25rem;
}

.ui-v4 .km-filter__eyebrow {
	color: var(--v4-gold);
	font-weight: 700;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	text-transform: uppercase;
}

.ui-v4 .km-filter__sub {
	color: var(--v4-text-dim);
}

.ui-v4 .km-filter__bar {
	padding: 1rem 1.25rem 1.25rem;
}

.ui-v4 .km-filter .km-field input,
.ui-v4 .km-filter .km-field select {
	background: var(--v4-surface-3);
	border: 1px solid var(--v4-edge);
	border-radius: var(--v4-radius-md);
	color: var(--v4-text-main);
}

.ui-v4 .km-filter .km-field input:focus,
.ui-v4 .km-filter .km-field select:focus {
	border-color: var(--v4-hl-40);
	outline: none;
	box-shadow: 0 0 0 2px var(--v4-pk-12);
}

.ui-v4 .km-filter .km-field__label {
	color: var(--v4-text-soft);
}

.ui-v4 .km-auth__card {
	background: var(--v4-surface-2);
	border: 1px solid var(--v4-edge);
	border-radius: var(--v4-radius-lg);
	box-shadow: var(--v4-shadow-elevated);
	max-width: 28rem;
	margin-left: auto;
	margin-right: auto;
	padding: 1.75rem;
	position: relative;
}

.ui-v4 .km-auth__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--v4-grad-line);
	border-radius: var(--v4-radius-lg) var(--v4-radius-lg) 0 0;
}

.ui-v4 .km-auth__title {
	font-family: var(--v4-font-display);
	color: transparent;
	background: var(--v4-grad-text-accent);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.ui-v4 .km-auth__notice--error {
	background: rgba(255, 92, 108, 0.12);
	border: 1px solid rgba(255, 92, 108, 0.35);
	color: var(--v4-danger);
	border-radius: var(--v4-radius-md);
}

.ui-v4 .km-auth .km-field input {
	background: var(--v4-surface-3);
	border: 1px solid var(--v4-edge);
	color: var(--v4-text-main);
	border-radius: var(--v4-radius-md);
}

.ui-v4 .km-ep404__film {
	opacity: 0.85;
	filter: drop-shadow(0 0 20px var(--v4-vi-40));
}

.ui-v4 .km-ep404__code {
	color: var(--v4-gold);
	text-shadow: 0 0 24px var(--v4-hl-45);
}

.ui-v4 .km-ep404__title {
	font-family: var(--v4-font-display);
	color: var(--v4-text-main);
}

.ui-v4 .km-ep404__desc {
	color: var(--v4-text-dim);
}

.ui-v4 .km-front-page-static {
	border-top: 1px solid var(--v4-divider);
	background: linear-gradient(180deg, transparent, rgba(48, 16, 72, 0.42), rgba(28, 8, 44, 0.55));
	padding-top: 2rem;
	margin-top: 1rem;
}

.ui-v4 .km-front-page-static .entry-content {
	color: var(--v4-text-soft);
}

/* Danh sách phim: .km-streaming-ui đặt màu trắng đặc — trả lại gradient V4 */
body.ui-v4.km-streaming-ui .km-catalog-list .km-page-title {
	color: transparent;
	background: var(--v4-grad-text-display);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: none;
	font-weight: 800;
	letter-spacing: 0.02em;
	filter: drop-shadow(0 2px 16px var(--v4-vi-35));
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
	body.ui-v4.km-streaming-ui .km-catalog-list .km-page-title {
		color: var(--v4-text-main);
		-webkit-text-fill-color: currentColor;
		background: none;
		filter: none;
	}
}

/* Lịch sử / đã lưu — tiêu đề gradient cam → V4 */
body.ui-v4.km-streaming-ui .km-catalog-list.km-page-history .km-page-title,
body.ui-v4.km-streaming-ui .km-catalog-list.km-page-bookmarks .km-page-title {
	background: var(--v4-grad-text-display);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 2px 16px var(--v4-vi-35));
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
	body.ui-v4.km-streaming-ui .km-catalog-list.km-page-history .km-page-title,
	body.ui-v4.km-streaming-ui .km-catalog-list.km-page-bookmarks .km-page-title {
		color: var(--v4-text-main);
		-webkit-text-fill-color: currentColor;
		background: none;
		filter: none;
	}
}
