/* ==================================================================
 * LikeFilm route bundle: Catalogues, collections and service pages
 *
 * Routes:
 *   /list/ and /list/*
 *   /what-to-see/
 *   /service/movies/*
 *   /service/tv-series/*
 *
 * Extracted from UnityMovie-2.2(50).css. Shared lfv2 movie cards,
 * pagination primitives, header, footer and generic UI remain in u.css.
 * ================================================================== */

/* ========================================================================
   THEME LIST PAGE — premium hero and controls
   Routes: /list/*/ and connected filter pages
   ======================================================================== */

.lfThemePage {
	--lf-theme-accent: #f6c800;
	--lf-theme-accent-soft: rgba(246, 200, 0, 0.14);
	--lf-theme-panel: rgba(15, 23, 35, 0.88);
	--lf-theme-panel-strong: #0f1723;
	--lf-theme-border: rgba(148, 163, 184, 0.15);
	--lf-theme-text: #f8fafc;
	--lf-theme-muted: #a8b3c3;
	width: 100%;
	padding-top: 26px;
}

.lfThemeHero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: 370px;
	overflow: hidden;
	margin: 0 0 24px;
	background-color: #090e15;
	background-image: var(--lf-theme-hero-image);
	background-position: center 24%;
	background-repeat: no-repeat;
	background-size: cover;
	border: 1px solid rgba(148, 163, 184, 0.12);
	border-radius: 26px;
	box-shadow:
		0 24px 70px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.lfThemeHero--plain {
	background-image:
		radial-gradient(circle at 78% 22%, rgba(50, 70, 98, 0.44), transparent 44%),
		linear-gradient(135deg, #121c2a, #080d14 72%);
}

.lfThemeHero::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(5, 9, 15, 0.98) 0%,
			rgba(5, 9, 15, 0.92) 32%,
			rgba(5, 9, 15, 0.64) 58%,
			rgba(5, 9, 15, 0.27) 82%,
			rgba(5, 9, 15, 0.48) 100%
		),
		linear-gradient(
			0deg,
			rgba(5, 9, 15, 0.98) 0%,
			rgba(5, 9, 15, 0.26) 54%,
			rgba(5, 9, 15, 0.30) 100%
		);
}

.lfThemeHero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	box-shadow:
		inset 0 -1px 0 rgba(255, 255, 255, 0.04),
		inset 0 0 90px rgba(0, 0, 0, 0.15);
}

.lfThemeHero__content {
	position: relative;
	z-index: 1;
	width: min(760px, 76%);
	padding: 50px 48px 42px;
}

.lfThemeHero__eyebrow,
.lfThemeToolbar__eyebrow {
	margin-bottom: 10px;
	color: var(--lf-theme-accent);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lfThemeHero__title {
	margin: 0;
	color: var(--lf-theme-text);
	font-size: clamp(34px, 4vw, 54px);
	font-weight: 800;
	line-height: 1.03;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.lfThemeHero__description {
	display: -webkit-box;
	overflow: hidden;
	max-width: 700px;
	margin: 18px 0 0;
	color: #d5dbe4;
	font-size: 16px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.lfThemeHero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.lfThemeHero__metaItem {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	color: #c8d1dd;
	background: rgba(15, 23, 35, 0.62);
	border: 1px solid rgba(148, 163, 184, 0.14);
	border-radius: 999px;
	backdrop-filter: blur(10px);
	font-size: 13px;
	font-weight: 600;
}

.lfThemeHero__metaItem strong {
	margin-right: 4px;
	color: #fff;
	font-weight: 800;
}

.lfThemeHero__switch {
	display: inline-flex;
	max-width: 100%;
	margin-top: 24px;
	padding: 5px;
	background: rgba(3, 7, 12, 0.68);
	border: 1px solid rgba(148, 163, 184, 0.15);
	border-radius: 14px;
	backdrop-filter: blur(14px);
}

.lfThemeHero__switchItem {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	color: #b4bfce;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

.lfThemeHero__switchItem:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.07);
}

.lfThemeHero__switchItem.is-active {
	color: #111720;
	background: var(--lf-theme-accent);
	box-shadow: 0 8px 24px rgba(246, 200, 0, 0.18);
}

.lfThemeToolbar {
	position: relative;
	margin-bottom: 26px;
	padding: 24px;
	background:
		linear-gradient(145deg, rgba(19, 29, 43, 0.94), rgba(11, 17, 27, 0.94));
	border: 1px solid var(--lf-theme-border);
	border-radius: 20px;
	box-shadow:
		0 14px 42px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.lfThemeToolbar__head {
	margin-bottom: 20px;
}

.lfThemeToolbar__eyebrow {
	margin-bottom: 7px;
	font-size: 10px;
}

.lfThemeToolbar__title {
	margin: 0;
	color: #f5f7fa;
	font-size: 22px;
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.lfThemeFilters {
	display: grid;
	grid-template-columns: repeat(3, minmax(150px, 210px));
	gap: 14px;
	align-items: end;
}

.lfThemeFilter {
	min-width: 0;
}

.lfThemeFilter__label {
	display: block;
	margin: 0 0 8px;
	color: #8f9bad;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lfThemeFilter__control {
	position: relative;
}

.lfThemeFilter__control::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 7px;
	height: 7px;
	margin-top: -5px;
	pointer-events: none;
	border-right: 2px solid #93a0b2;
	border-bottom: 2px solid #93a0b2;
	transform: rotate(45deg);
}

.lfThemeFilter__select {
	appearance: none;
	width: 100%;
	height: 46px;
	padding: 0 42px 0 14px;
	color: #eef2f7;
	background: #0d1520;
	border: 1px solid rgba(148, 163, 184, 0.18);
	border-radius: 12px;
	outline: 0;
	font: inherit;
	font-size: 14px;
	font-weight: 650;
	cursor: pointer;
	color-scheme: dark;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

.lfThemeFilter__select:hover {
	background: #111c29;
	border-color: rgba(148, 163, 184, 0.34);
}

.lfThemeFilter__select:focus {
	border-color: rgba(246, 200, 0, 0.72);
	box-shadow: 0 0 0 3px rgba(246, 200, 0, 0.10);
}

.lfThemeFilter__select option {
	color: #f1f5f9;
	background: #111827;
}

.lfThemeTopics {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(148, 163, 184, 0.11);
}

.lfThemeTopics__title {
	margin-bottom: 12px;
	color: #aab5c4;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: 0.04em;
}

.lfThemeTopics__list {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.lfThemeTopics__link {
	display: inline-flex;
	align-items: center;
	min-height: 37px;
	padding: 0 13px;
	color: #c7d0dc;
	background: rgba(41, 55, 76, 0.56);
	border: 1px solid rgba(148, 163, 184, 0.10);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.lfThemeTopics__link:hover {
	color: #fff;
	background: rgba(53, 70, 96, 0.84);
	border-color: rgba(246, 200, 0, 0.30);
	transform: translateY(-1px);
}

.lfThemeResults {
	margin-top: 4px;
}

.lfThemePage .lfThemeSort {
	float: none !important;
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 30px !important;
	padding: 8px !important;
	background: rgba(10, 16, 25, 0.92) !important;
	border: 1px solid var(--lf-theme-border) !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);
}

.lfThemeSort__label {
	flex: 0 0 auto;
	padding: 0 10px 0 8px;
	color: #7f8b9b;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.lfThemePage .lfThemeSort .uiPanelAnkListElement,
.lfThemePage .lfThemeSort .uiPanelAnkListElementCurrent,
.lfThemePage .lfThemeSort__item {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: 40px !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 0 !important;
	color: #aeb8c6 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.lfThemePage .lfThemeSort .lfThemeSort__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 13px;
	color: #aeb8c6 !important;
	border-radius: 10px;
	text-decoration: none;
	transition:
		color 0.2s ease,
		background-color 0.2s ease;
}

.lfThemePage .lfThemeSort .lfThemeSort__link:hover {
	color: #fff !important;
	background: rgba(148, 163, 184, 0.09);
}

.lfThemePage .lfThemeSort .is-active {
	padding: 0 14px !important;
	color: #141a22 !important;
	background: var(--lf-theme-accent) !important;
	box-shadow: 0 7px 20px rgba(246, 200, 0, 0.14);
}

@media (max-width: 900px) {
	.lfThemeHero {
		min-height: 350px;
		background-position: 58% center;
	}

	.lfThemeHero__content {
		width: 86%;
		padding: 42px 34px 36px;
	}

	.lfThemeFilters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lfThemePage .lfThemeSort {
		align-items: stretch;
	}

	.lfThemeSort__label {
		flex-basis: 100%;
		padding: 6px 8px 2px;
	}}

@media (max-width: 680px) {
	.lfThemePage {
		padding-top: 14px;
	}

	.lfThemeHero {
		min-height: 420px;
		margin-bottom: 16px;
		background-position: 66% center;
		border-radius: 20px;
	}

	.lfThemeHero::before {
		background:
			linear-gradient(
				90deg,
				rgba(5, 9, 15, 0.95) 0%,
				rgba(5, 9, 15, 0.76) 58%,
				rgba(5, 9, 15, 0.55) 100%
			),
			linear-gradient(
				0deg,
				rgba(5, 9, 15, 1) 0%,
				rgba(5, 9, 15, 0.68) 55%,
				rgba(5, 9, 15, 0.48) 100%
			);
	}

	.lfThemeHero__content {
		width: 100%;
		padding: 34px 20px 24px;
	}

	.lfThemeHero__title {
		font-size: clamp(31px, 10vw, 42px);
	}

	.lfThemeHero__description {
		font-size: 14px;
		line-height: 1.55;
		-webkit-line-clamp: 4;
	}

	.lfThemeHero__switch {
		display: flex;
		width: 100%;
		overflow-x: auto;
	}

	.lfThemeHero__switchItem {
		flex: 1 0 auto;
		min-width: max-content;
		padding: 0 13px;
		font-size: 13px;
	}

	.lfThemeToolbar {
		margin-bottom: 18px;
		padding: 20px 16px;
		border-radius: 17px;
	}

	.lfThemeToolbar__title {
		font-size: 20px;
	}

	.lfThemeFilters {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.lfThemeTopics__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-right: -16px;
		padding-right: 16px;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.lfThemeTopics__list::-webkit-scrollbar {
		display: none;
	}

	.lfThemeTopics__link {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.lfThemePage .lfThemeSort {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-bottom: 22px !important;
		scrollbar-width: none;
	}

	.lfThemePage .lfThemeSort::-webkit-scrollbar {
		display: none;
	}

	.lfThemeSort__label {
		flex-basis: auto;
		align-self: center;
		white-space: nowrap;
	}

	.lfThemePage .lfThemeSort .uiPanelAnkListElement,
	.lfThemePage .lfThemeSort .uiPanelAnkListElementCurrent {
		flex: 0 0 auto;
		white-space: nowrap;
	}}

@media (prefers-reduced-motion: reduce) {
	.lfThemeHero__switchItem,
	.lfThemeTopics__link,
	.lfThemeFilter__select,
	.lfThemePage .lfThemeSort .lfThemeSort__link {
		transition: none;
	}}

/* ========================================================================
   THEME LIST PAGE — alignment patch
   Подтягивает hero и верхнюю панель к navy-системе LikeFilm V2.
   ======================================================================== */

.lfThemePage {
	--lf-theme-accent: #f5c518;
	--lf-theme-accent-soft: rgba(245, 197, 24, 0.12);
	--lf-theme-panel: #0e151f;
	--lf-theme-panel-strong: #0b121c;
	--lf-theme-border: rgba(255, 255, 255, 0.085);
	--lf-theme-border-strong: rgba(255, 255, 255, 0.14);
	--lf-theme-text: #f5f7fa;
	--lf-theme-muted: #929cab;
	color: var(--lf-theme-text);
	background: #070c14;
}

.lfThemeHero {
	min-height: 320px;
	margin-bottom: 22px;
	background-color: #050910;
	background-position: center 30%;
	border-color: var(--lf-theme-border);
	border-radius: 20px;
	box-shadow:
		0 20px 52px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.lfThemeHero::before {
	background:
		linear-gradient(
			90deg,
			rgba(5, 10, 17, 0.985) 0%,
			rgba(5, 10, 17, 0.93) 34%,
			rgba(5, 10, 17, 0.58) 64%,
			rgba(5, 10, 17, 0.72) 86%,
			rgba(5, 10, 17, 0.88) 100%
		),
		linear-gradient(
			0deg,
			rgba(7, 12, 20, 0.98) 0%,
			rgba(7, 12, 20, 0.12) 58%,
			rgba(7, 12, 20, 0.24) 100%
		);
}

.lfThemeHero::after {
	box-shadow:
		inset 0 -1px 0 rgba(255, 255, 255, 0.025),
		inset 0 0 72px rgba(0, 0, 0, 0.12);
}

.lfThemeHero__content {
	width: min(760px, 72%);
	padding: 42px 44px 36px;
}

.lfThemeHero__eyebrow {
	color: var(--lf-theme-accent);
}

.lfThemeHero__description {
	color: #cfd6df;
}

.lfThemeHero__metaItem {
	color: #b9c3cf;
	background: rgba(14, 21, 31, 0.72);
	border-color: var(--lf-theme-border);
}

.lfThemeHero__switch {
	background: rgba(5, 9, 16, 0.76);
	border-color: var(--lf-theme-border);
}

.lfThemePage .lfThemeHero__switchItem,
.lfThemePage a.lfThemeHero__switchItem,
.lfThemePage a.lfThemeHero__switchItem:link,
.lfThemePage a.lfThemeHero__switchItem:visited {
	color: #aab3bf !important;
	text-decoration: none;
}

.lfThemePage a.lfThemeHero__switchItem:hover,
.lfThemePage a.lfThemeHero__switchItem:focus-visible {
	color: #fff !important;
	background: #172231;
	text-decoration: none;
}

.lfThemePage .lfThemeHero__switchItem.is-active {
	color: #090f17 !important;
	background: var(--lf-theme-accent) !important;
	box-shadow: 0 7px 20px rgba(245, 197, 24, 0.16);
}

/* Панель фильтров становится продолжением общей V2-поверхности. */
.lfThemeToolbar {
	margin-bottom: 0;
	padding: 22px;
	background: linear-gradient(180deg, #0e151f 0%, #0c141e 100%);
	border-color: var(--lf-theme-border);
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	box-shadow:
		0 16px 40px rgba(0, 0, 0, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.lfThemeFilters {
	grid-template-columns: repeat(3, minmax(160px, 200px));
	gap: 14px;
}

.lfThemeFilter__label {
	color: #8490a0;
}

.lfThemeFilter__select {
	height: 44px;
	color: #eef2f7;
	background: #0a121d;
	border-color: var(--lf-theme-border-strong);
	border-radius: 11px;
}

.lfThemeFilter__select:hover {
	background: #101a27;
	border-color: rgba(255, 255, 255, 0.19);
}

.lfThemeTopics {
	margin-top: 20px;
	padding-top: 18px;
	border-top-color: var(--lf-theme-border);
}

.lfThemeTopics__title {
	color: #8f99a8;
}

.lfThemePage a.lfThemeTopics__link,
.lfThemePage a.lfThemeTopics__link:link,
.lfThemePage a.lfThemeTopics__link:visited {
	color: #c2cad4 !important;
	background: #172231;
	border-color: var(--lf-theme-border);
	text-decoration: none;
}

.lfThemePage a.lfThemeTopics__link:hover,
.lfThemePage a.lfThemeTopics__link:focus-visible {
	color: #fff !important;
	background: #1d2b3d;
	border-color: rgba(245, 197, 24, 0.30);
	text-decoration: none;
}

/* Сортировка остаётся в прежнем AJAX-контейнере, но визуально становится
   нижней частью той же панели. Это сохраняет обновление активного пункта. */
.lfThemeResults {
	margin-top: 0;
}

.lfThemePage .lfThemeSort {
	background: #0e151f !important;
	border-color: var(--lf-theme-border) !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
}

.lfThemeToolbar + .lfThemeResults .lfThemeSort {
	margin: 0 0 30px !important;
	padding: 13px 22px 14px !important;
	background: linear-gradient(180deg, #0c141e 0%, #0b121c 100%) !important;
	border-top: 1px solid var(--lf-theme-border) !important;
	border-radius: 0 0 18px 18px !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

.lfThemeSort__label {
	color: #7f8a99;
}

.lfThemePage .lfThemeSort .uiPanelAnkListElement,
.lfThemePage .lfThemeSort .uiPanelAnkListElementCurrent,
.lfThemePage .lfThemeSort__item {
	color: #aab3bf !important;
}

.lfThemePage .lfThemeSort a.lfThemeSort__link,
.lfThemePage .lfThemeSort a.lfThemeSort__link:link,
.lfThemePage .lfThemeSort a.lfThemeSort__link:visited {
	color: #aab3bf !important;
	text-decoration: none;
}

.lfThemePage .lfThemeSort a.lfThemeSort__link:hover,
.lfThemePage .lfThemeSort a.lfThemeSort__link:focus-visible {
	color: #fff !important;
	background: #172231;
	text-decoration: none;
}

.lfThemePage .lfThemeSort .uiPanelAnkListElementCurrent.is-active,
.lfThemePage .lfThemeSort .lfThemeSort__item.is-active {
	color: #090f17 !important;
	background: var(--lf-theme-accent) !important;
	box-shadow: 0 7px 20px rgba(245, 197, 24, 0.14);
}

@media (max-width: 900px) {
	.lfThemeHero {
		min-height: 330px;
		background-position: 60% center;
	}

	.lfThemeHero__content {
		width: 84%;
		padding: 38px 32px 32px;
	}

	.lfThemeFilters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}}

@media (max-width: 680px) {
	.lfThemeHero {
		min-height: 390px;
		background-position: 66% center;
	}

	.lfThemeHero::before {
		background:
			linear-gradient(
				90deg,
				rgba(5, 10, 17, 0.96) 0%,
				rgba(5, 10, 17, 0.78) 58%,
				rgba(5, 10, 17, 0.68) 100%
			),
			linear-gradient(
				0deg,
				rgba(7, 12, 20, 1) 0%,
				rgba(7, 12, 20, 0.64) 58%,
				rgba(7, 12, 20, 0.38) 100%
			);
	}

	.lfThemeHero__content {
		width: 100%;
		padding: 32px 20px 24px;
	}

	.lfThemeToolbar {
		padding: 18px 16px;
		border-radius: 16px 16px 0 0;
	}

	.lfThemeToolbar + .lfThemeResults .lfThemeSort {
		margin-bottom: 22px !important;
		padding: 11px 12px 13px !important;
		border-radius: 0 0 16px 16px !important;
	}}

/* ========================================================================
   THEME LIST PAGE — sort width hotfix
   width:100% previously used content-box, therefore horizontal padding and
   border made the AJAX sort bar wider than the filter panel.
   ======================================================================== */
.lfThemePage .lfThemeSort,
.lfThemeToolbar + .lfThemeResults .lfThemeSort {
	box-sizing: border-box !important;
	max-width: 100% !important;
}

.lfThemePage .lfThemeResults {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* ========================================================================
   THEME LIST PAGE — universal cinematic hero
   Один и тот же кадр используется в двух слоях: размытая подложка заполняет
   медиазону, а резкий слой показывает изображение целиком без ручной
   настройки object-position для каждой подборки.
   ======================================================================== */

.lfThemeHero {
	display: block;
	min-height: 336px;
	background-color: #050a12;
	background-image: none !important;
}

.lfThemeHero--plain {
	background:
		radial-gradient(circle at 78% 24%, rgba(56, 76, 104, 0.34), transparent 38%),
		radial-gradient(circle at 58% 100%, rgba(245, 197, 24, 0.055), transparent 42%),
		linear-gradient(135deg, #101a28 0%, #070d16 62%, #050a12 100%);
}

.lfThemeHero__media {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 35%;
	overflow: hidden;
	border-radius: inherit;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.22) 10%, #000 38%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.22) 10%, #000 38%, #000 100%);
}

/* Мягкая копия изображения заполняет пустоты независимо от его композиции. */
.lfThemeHero__media::before {
	content: "";
	position: absolute;
	inset: -34px;
	background-image: var(--lf-theme-hero-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	filter: blur(28px) brightness(.43) saturate(.82);
	transform: scale(1.08);
	opacity: .92;
}

/* Резкий слой всегда показывает кадр целиком, поэтому лица и ключевые
   объекты не требуют индивидуального позиционирования. */
.lfThemeHero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--lf-theme-hero-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: brightness(.74) contrast(1.035) saturate(.88);
	opacity: .94;
}

.lfThemeHero::before {
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			#050a12 0%,
			rgba(5, 10, 18, .995) 24%,
			rgba(5, 10, 18, .94) 40%,
			rgba(5, 10, 18, .68) 56%,
			rgba(5, 10, 18, .24) 78%,
			rgba(5, 10, 18, .42) 100%
		),
		linear-gradient(
			0deg,
			rgba(5, 10, 18, .92) 0%,
			rgba(5, 10, 18, .08) 48%,
			rgba(5, 10, 18, .20) 100%
		);
}

.lfThemeHero::after {
	z-index: 3;
	border-color: rgba(255, 255, 255, .075);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.018),
		inset 0 -1px 0 rgba(255,255,255,.025),
		inset 0 0 72px rgba(0,0,0,.11);
}

.lfThemeHero__content {
	z-index: 2;
	width: min(650px, 57%);
	padding: 38px 44px 34px;
}

.lfThemeHero__description {
	max-width: 620px;
	-webkit-line-clamp: 2;
}

/* Когда select-фильтров нет, направления начинаются сразу, без пустой
   верхней зоны и лишнего разделителя. */
.lfThemeToolbar--topics-only {
	padding-top: 20px;
}

.lfThemeToolbar--topics-only .lfThemeTopics {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.lfThemeToolbar--filters-only {
	padding-bottom: 20px;
}

@media (max-width: 900px) {
	.lfThemeHero__media {
		left: 28%;
	}

	.lfThemeHero__content {
		width: min(680px, 72%);
	}}

@media (max-width: 680px) {
	.lfThemeHero {
		min-height: 390px;
	}

	.lfThemeHero__media {
		left: 0;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.lfThemeHero__media::before {
		filter: blur(24px) brightness(.34) saturate(.78);
	}

	.lfThemeHero__media::after {
		background-size: cover;
		filter: brightness(.52) saturate(.82);
		opacity: .62;
	}

	.lfThemeHero::before {
		background:
			linear-gradient(90deg, rgba(5,10,18,.91), rgba(5,10,18,.74)),
			linear-gradient(0deg, #050a12 0%, rgba(5,10,18,.72) 56%, rgba(5,10,18,.36) 100%);
	}

	.lfThemeHero__content {
		width: 100%;
	}}

/* ========================================================================
   THEME LIST PAGE — reuse the premium film list from Similar Films V2
   Разметка карточек уже общая через makeMovieListV1(). Класс .lfv2-page на
   секции результатов включает тот же визуальный компонент, не дублируя PHP.
   ======================================================================== */
.lfThemeResults.lfv2-page {
	width: 100%;
	max-width: none;
	margin: 0;
	color: var(--lfv2-text);
	background: transparent;
	border-radius: 0;
	overflow: visible;
}

.lfThemeResults.lfv2-page.lfv2-results {
	max-width: none;
}

.lfThemeResults.lfv2-page > #idMovieListWrapper,
.lfThemeResults.lfv2-page #idMovieListWrapper {
	width: 100%;
	min-width: 0;
}

/* Сортировка сохраняет геометрию верхней панели, а карточки начинаются
   отдельным ритмом ниже рекламного слота. */
.lfThemeResults.lfv2-page .lfThemeSort {
	font-family: inherit;
}

.lfThemeResults.lfv2-page .uxA-temp {
	box-sizing: border-box;
	max-width: 100%;
}

.lfThemeResults.lfv2-page .uiMovieListSimpleSection {
	margin-bottom: 16px;
}

.lfThemeResults.lfv2-page .uiMovieVarXVWrapper {
	background:
		linear-gradient(145deg, rgba(15, 23, 35, 0.98) 0%, rgba(9, 16, 25, 0.99) 100%);
}

/* Название подборки в hero уже является H1, поэтому список ниже остаётся
   визуально спокойным: карточка выделяется поверхностью, а не жёлтым текстом. */
.lfThemeResults.lfv2-page .uiMovieVarXVTitle .uiH2,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2:link,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2:visited {
	color: var(--lfv2-text);
}

.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2:hover,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2:focus-visible {
	color: var(--lfv2-accent);
}

/* У длинного списка нет внешней карточки-контейнера: тени отдельных фильмов
   должны свободно выходить за границы секции. */
.lfThemeResults.lfv2-page .uiMovieVarXVWrapper,
.lfThemeResults.lfv2-page .uiMovieListSimpleSection {
	max-width: 100%;
}

@media (max-width: 680px) {
	.lfThemeResults.lfv2-page .uiMovieListSimpleSection {
		margin-bottom: 12px;
	}}

/* ========================================================================
   THEME LIST PAGE — fix 19: premium AJAX pagination + related collections
   ======================================================================== */

.lfThemePaginationWrap {
	clear: both;
	box-sizing: border-box;
	width: 100%;
	margin: 34px 0 48px;
}

.lfThemePagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	box-sizing: border-box;
	width: 100%;
	min-height: 72px;
	padding: 13px 16px 13px 20px;
	background:
		linear-gradient(180deg, rgba(14, 23, 35, .96), rgba(9, 17, 27, .98));
	border: 1px solid rgba(148, 163, 184, .13);
	border-radius: 16px;
	box-shadow:
		0 16px 36px rgba(0, 0, 0, .18),
		inset 0 1px 0 rgba(255, 255, 255, .022);
}

.lfThemePagination__status {
	flex: 0 0 auto;
	color: #8491a3;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .075em;
	text-transform: uppercase;
	white-space: nowrap;
}

.lfThemePagination__list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 7px;
	min-width: 0;
}

.lfThemePagination__link,
.lfThemePagination__link:link,
.lfThemePagination__link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-width: 42px;
	height: 42px;
	padding: 0 13px;
	color: #b8c3d1 !important;
	background: rgba(17, 28, 43, .78);
	border: 1px solid rgba(148, 163, 184, .13);
	border-radius: 11px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018);
	transition:
		color .16s ease,
		background .16s ease,
		border-color .16s ease,
		transform .16s ease,
		box-shadow .16s ease;
}

.lfThemePagination__link:hover,
.lfThemePagination__link:focus-visible {
	color: #fff !important;
	background: #17263a;
	border-color: rgba(245, 197, 24, .42);
	box-shadow: 0 9px 22px rgba(0, 0, 0, .24);
	transform: translateY(-1px);
	outline: none;
}

.lfThemePagination__link.is-current {
	color: #09101a !important;
	background: var(--lfv2-accent, #f5c518);
	border-color: var(--lfv2-accent, #f5c518);
	box-shadow: 0 8px 20px rgba(245, 197, 24, .17);
	cursor: default;
}

.lfThemePagination__link.is-current:hover {
	transform: none;
}

.lfThemePagination__control {
	min-width: 106px;
}

.lfThemePagination__link.is-disabled {
	color: #556274 !important;
	background: rgba(13, 22, 34, .5);
	border-color: rgba(148, 163, 184, .07);
	box-shadow: none;
	cursor: default;
	pointer-events: none;
}

.lfThemePagination__ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 42px;
	color: #69778b;
	font-weight: 800;
}

/* Нижняя рекомендационная секция использует тот же проверенный rail,
   что и алгоритмический футер, но остаётся частью страницы подборки. */
.lfThemeRelated {
	box-sizing: border-box;
	width: min(calc(100% - 40px), 1240px);
	margin: 54px auto 8px;
	padding: 30px 0 10px;
	border-top: 1px solid rgba(148, 163, 184, .11);
}

.lfThemeRelated .uiAlgorithmicFooterHeader {
	margin-bottom: 18px;
}

.lfThemeRelated .uiAlgorithmicFooterTitle {
	font-size: clamp(23px, 2vw, 30px);
}

.lfThemeRelated .uiAlgorithmicFooterRail {
	padding-bottom: 14px;
}

.lfThemeRelated .uiAlgorithmicFooterCard {
	background: #0f1824;
	border-color: rgba(148, 163, 184, .12);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .19);
}

.lfThemeRelated .uiAlgorithmicFooterCard:hover {
	border-color: rgba(245, 197, 24, .35);
	box-shadow: 0 18px 36px rgba(0, 0, 0, .28);
}

.lfThemeRelated .uiAlgorithmicFooterBadge {
	background: rgba(245, 197, 24, .94);
}

@media (max-width: 760px) {
	.lfThemePagination {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
		padding: 14px;
	}

	.lfThemePagination__status {
		text-align: center;
	}

	.lfThemePagination__list {
		justify-content: center;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 2px;
		scrollbar-width: none;
	}

	.lfThemePagination__list::-webkit-scrollbar {
		display: none;
	}

	.lfThemePagination__link {
		flex: 0 0 auto;
	}

	.lfThemePagination__control {
		min-width: 42px;
	}

	.lfThemePagination__controlText {
		display: none;
	}

	.lfThemeRelated {
		width: min(calc(100% - 24px), 1240px);
		margin-top: 40px;
		padding-top: 24px;
	}}

@media (prefers-reduced-motion: reduce) {
	.lfThemePagination__link,
	.lfThemeRelated .uiAlgorithmicFooterCard {
		transition: none;
	}}

/* ========================================================================
   THEME LIST PAGE — fix 20: pagination directly after the main results
   ======================================================================== */

/* Пагинация визуально продолжает основной список, а не нижние рекомендации. */
.lfThemeResults .lfThemePaginationWrap {
	margin-top: 18px;
	margin-bottom: 34px;
}

/* Нижнюю рекомендационную секцию отделяем уже после пагинации. */
.lfThemeRelated {
	margin-top: 36px;
}

@media (max-width: 760px) {
	.lfThemeResults .lfThemePaginationWrap {
		margin-top: 14px;
		margin-bottom: 28px;
	}

	.lfThemeRelated {
		margin-top: 30px;
	}}
/* ==================================================================
 * LikeFilm List Catalogue V3 — /list/
 * ================================================================== */
.lsv3-page {
    --lsv3-bg: #050d17;
    --lsv3-surface: #0d1a2a;
    --lsv3-surface-2: #101f31;
    --lsv3-border: rgba(148, 167, 194, .16);
    --lsv3-text: #f7f9fc;
    --lsv3-muted: #91a2b8;
    --lsv3-accent: #f5c518;
    --lsv3-accent-soft: rgba(245, 197, 24, .10);
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px 0 72px;
    color: var(--lsv3-text);
}

.lsv3-page *,
.lsv3-page *::before,
.lsv3-page *::after {
    box-sizing: border-box;
}

.lsv3-page a {
    text-decoration: none;
}

.lsv3-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    min-height: 330px;
    overflow: hidden;
    margin-bottom: 46px;
    border: 1px solid var(--lsv3-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 86% 18%, rgba(245, 197, 24, .12), transparent 28%),
        linear-gradient(128deg, #0b1929 0%, #07111e 56%, #0a1726 100%);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.lsv3-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .34;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(to right, #000, transparent 84%);
}

.lsv3-hero__glow {
    position: absolute;
    top: -170px;
    right: -90px;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245,197,24,.15), rgba(245,197,24,0) 68%);
}

.lsv3-hero__content {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: 42px 48px;
}

.lsv3-eyebrow {
    margin-bottom: 8px;
    color: var(--lsv3-accent);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.lsv3-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(36px, 4.2vw, 60px);
    font-weight: 760;
    line-height: 1.02;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.lsv3-hero__content > p {
    max-width: 720px;
    margin: 18px 0 0;
    color: #b4c1d2;
    font-size: 17px;
    line-height: 1.62;
}

.lsv3-hero__stats {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 19px;
    color: var(--lsv3-muted);
    font-size: 13px;
    font-weight: 700;
}

.lsv3-hero__stats strong {
    color: #fff;
    font-size: 21px;
}

.lsv3-search {
    max-width: 760px;
    margin-top: 24px;
}

.lsv3-search > label {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0,0,0,0);
}

.lsv3-search__control {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto auto;
    align-items: center;
    min-height: 58px;
    padding: 5px 6px 5px 18px;
    border: 1px solid rgba(148,167,194,.22);
    border-radius: 16px;
    background: rgba(3,10,18,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.lsv3-search__control:focus-within {
    border-color: rgba(245,197,24,.68);
    box-shadow: 0 0 0 3px rgba(245,197,24,.08);
}

.lsv3-search__control > i {
    color: #8293a9;
    font-size: 15px;
}

.lsv3-search input {
    min-width: 0;
    height: 46px;
    padding: 0 12px;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font: inherit;
    font-size: 15px;
}

.lsv3-search input::placeholder {
    color: #728196;
}

.lsv3-search__clear,
.lsv3-search__submit {
    border: 0;
    font: inherit;
    cursor: pointer;
}

.lsv3-search__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: #91a2b8;
    background: rgba(148,167,194,.08);
}

.lsv3-search__clear[hidden] {
    display: none;
}

.lsv3-search__clear:hover {
    color: #fff;
    background: rgba(148,167,194,.14);
}

.lsv3-search__submit {
    min-width: 108px;
    height: 46px;
    padding: 0 18px;
    border-radius: 11px;
    color: #111;
    background: var(--lsv3-accent);
    font-size: 14px;
    font-weight: 850;
}

.lsv3-search__submit:hover {
    background: #ffd84a;
}

.lsv3-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.lsv3-filter,
.lsv3-filter:link,
.lsv3-filter:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(148,167,194,.16);
    border-radius: 999px;
    color: #9dafc4;
    background: rgba(148,167,194,.055);
    font-size: 13px;
    font-weight: 750;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.lsv3-filter:hover,
.lsv3-filter:focus-visible {
    color: #fff;
    border-color: rgba(245,197,24,.34);
}

.lsv3-filter.is-active,
.lsv3-filter.is-active:link,
.lsv3-filter.is-active:visited {
    color: #111;
    border-color: var(--lsv3-accent);
    background: var(--lsv3-accent);
}

.lsv3-hero__visual {
    position: relative;
    min-height: 100%;
}

.lsv3-hero__tile {
    position: absolute;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    color: rgba(245,197,24,.78);
    background: linear-gradient(145deg, rgba(18,38,60,.94), rgba(5,13,23,.96));
    box-shadow: 0 26px 50px rgba(0,0,0,.30);
    transform: rotate(var(--rotation));
}

.lsv3-hero__tile i {
    font-size: 44px;
}

.lsv3-hero__tile--one {
    --rotation: -10deg;
    top: 45px;
    left: 65px;
    width: 150px;
    height: 190px;
}

.lsv3-hero__tile--two {
    --rotation: 9deg;
    right: 32px;
    bottom: 42px;
    width: 142px;
    height: 168px;
}

.lsv3-hero__tile--three {
    --rotation: -2deg;
    right: 74px;
    top: 64px;
    width: 94px;
    height: 94px;
    border-radius: 50%;
    color: #0a1420;
    background: var(--lsv3-accent);
}

.lsv3-hero__tile--three i {
    font-size: 34px;
}

.lsv3-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.lsv3-section-head h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 760;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.lsv3-featured {
    margin-bottom: 54px;
}

.lsv3-rail-controls {
    display: flex;
    gap: 8px;
}

.lsv3-rail-controls button {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--lsv3-border);
    border-radius: 12px;
    color: #dce5f0;
    background: var(--lsv3-surface);
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.lsv3-rail-controls button:hover:not(:disabled) {
    color: var(--lsv3-accent);
    border-color: rgba(245,197,24,.46);
    background: var(--lsv3-surface-2);
}

.lsv3-rail-controls button:disabled {
    opacity: .28;
    cursor: default;
}

.lsv3-featured__shell {
    min-width: 0;
    overflow: hidden;
}

.lsv3-featured__rail {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 12px;
    scroll-behavior: smooth;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.lsv3-featured__rail::-webkit-scrollbar {
    display: none;
}

.lsv3-featured-card {
    flex: 0 0 clamp(250px, 25vw, 310px);
    overflow: hidden;
    border: 1px solid var(--lsv3-border);
    border-radius: 16px;
    color: #fff;
    background: var(--lsv3-surface);
    scroll-snap-align: start;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lsv3-featured-card:hover {
    transform: translateY(-4px);
    border-color: rgba(245,197,24,.36);
    box-shadow: 0 18px 42px rgba(0,0,0,.28);
}

.lsv3-featured-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #08111c;
}

.lsv3-featured-card__media img,
.lsv3-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease, filter .25s ease;
}

.lsv3-featured-card:hover img,
.lsv3-card:hover img {
    transform: scale(1.035);
}

.lsv3-featured-card__shade,
.lsv3-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(3,10,18,.78), rgba(3,10,18,0) 64%);
}

.lsv3-featured-card__badge,
.lsv3-card__type {
    position: absolute;
    left: 12px;
    bottom: 11px;
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    border: 1px solid rgba(245,197,24,.30);
    border-radius: 999px;
    color: #ffe47a;
    background: rgba(3,10,18,.80);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.lsv3-featured-card__body {
    display: grid;
    gap: 7px;
    padding: 15px 16px 17px;
}

.lsv3-featured-card__body strong {
    overflow: hidden;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lsv3-featured-card__body small {
    color: var(--lsv3-muted);
    font-size: 12px;
}

.lsv3-catalog {
    min-width: 0;
}

.lsv3-section-head--catalog {
    padding-top: 30px;
    border-top: 1px solid rgba(148,167,194,.12);
}

.lsv3-catalog__count {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    color: var(--lsv3-muted);
    font-size: 13px;
    font-weight: 700;
}

.lsv3-catalog__count strong {
    color: #fff;
    font-size: 22px;
}

.lsv3-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.lsv3-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid var(--lsv3-border);
    border-radius: 16px;
    color: #fff;
    background: var(--lsv3-surface);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lsv3-card:hover {
    transform: translateY(-4px);
    border-color: rgba(245,197,24,.34);
    box-shadow: 0 18px 44px rgba(0,0,0,.25);
}

.lsv3-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #08111c;
}

.lsv3-card__body {
    display: flex;
    min-height: 154px;
    padding: 16px;
    flex-direction: column;
}

.lsv3-card__body strong {
    display: -webkit-box;
    overflow: hidden;
    color: #fff;
    font-size: 17px;
    font-weight: 760;
    line-height: 1.34;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.lsv3-card__body small {
    margin-top: 9px;
    color: var(--lsv3-muted);
    font-size: 12px;
}

.lsv3-card__action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 18px;
    color: #d9e3ef;
    font-size: 12px;
    font-weight: 800;
}

.lsv3-card:hover .lsv3-card__action {
    color: var(--lsv3-accent);
}

.lsv3-card__action i {
    transition: transform .18s ease;
}

.lsv3-card:hover .lsv3-card__action i {
    transform: translateX(3px);
}

.lsv3-pagination {
    display: grid;
    justify-items: center;
    margin-top: 34px;
}

.lsv3-pagination .uiPagination {
    margin-bottom: 8px;
}

.lsv3-pagination > p {
    margin: 0;
    color: var(--lsv3-muted);
    font-size: 12px;
}

.lsv3-pagination > p strong {
    color: #dce5f0;
}

.lsv3-empty {
    display: grid;
    justify-items: center;
    min-height: 330px;
    padding: 56px 20px;
    text-align: center;
    border: 1px solid var(--lsv3-border);
    border-radius: 20px;
    background: var(--lsv3-surface);
}

.lsv3-empty > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(245,197,24,.34);
    border-radius: 50%;
    color: var(--lsv3-accent);
    background: var(--lsv3-accent-soft);
}

.lsv3-empty h3 {
    margin: 20px 0 8px;
    color: #fff;
    font-size: 27px;
}

.lsv3-empty p {
    max-width: 520px;
    margin: 0;
    color: var(--lsv3-muted);
    line-height: 1.6;
}

.lsv3-empty a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    margin-top: 20px;
    padding: 0 17px;
    border-radius: 11px;
    color: #111;
    background: var(--lsv3-accent);
    font-weight: 850;
}

@media (max-width: 1100px) {
    .lsv3-hero {
        grid-template-columns: minmax(0, 1fr) 240px;
    }

    .lsv3-hero__tile--one {
        left: 30px;
    }

    .lsv3-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }}

@media (max-width: 820px) {
    .lsv3-page {
        padding-top: 12px;
    }

    .lsv3-hero {
        display: block;
        min-height: 0;
    }

    .lsv3-hero__content {
        padding: 34px 28px;
    }

    .lsv3-hero__visual {
        display: none;
    }

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

@media (max-width: 600px) {
    .lsv3-page {
        padding-bottom: 48px;
    }

    .lsv3-hero {
        margin-bottom: 36px;
        border-radius: 18px;
    }

    .lsv3-hero__content {
        padding: 28px 20px;
    }

    .lsv3-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .lsv3-hero__content > p {
        font-size: 15px;
    }

    .lsv3-search__control {
        grid-template-columns: 20px minmax(0, 1fr) auto;
        padding-left: 13px;
    }

    .lsv3-search__submit {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 5px;
    }

    .lsv3-search__control {
        padding-bottom: 6px;
    }

    .lsv3-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 5px;
        scrollbar-width: none;
    }

    .lsv3-filters::-webkit-scrollbar {
        display: none;
    }

    .lsv3-filter {
        flex: 0 0 auto;
    }

    .lsv3-section-head {
        align-items: center;
    }

    .lsv3-section-head h2 {
        font-size: 29px;
    }

    .lsv3-rail-controls {
        display: none;
    }

    .lsv3-featured-card {
        flex-basis: min(82vw, 300px);
    }

    .lsv3-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .lsv3-card {
        display: grid;
        grid-template-columns: 132px minmax(0, 1fr);
    }

    .lsv3-card__media {
        height: 100%;
        min-height: 150px;
        aspect-ratio: auto;
    }

    .lsv3-card__body {
        min-height: 150px;
        padding: 14px;
    }

    .lsv3-card__body strong {
        font-size: 15px;
    }

    .lsv3-section-head--catalog {
        align-items: flex-end;
    }

    .lsv3-catalog__count span {
        display: none;
    }}

html.lfv2-active.light-theme .lsv3-page {
    --lsv3-surface: #fff;
    --lsv3-surface-2: #f4f7fb;
    --lsv3-border: rgba(15,23,42,.12);
    --lsv3-text: #101827;
    --lsv3-muted: #65748a;
}

html.lfv2-active.light-theme .lsv3-hero {
    background:
        radial-gradient(circle at 86% 18%, rgba(245,197,24,.16), transparent 28%),
        linear-gradient(128deg, #fff 0%, #f5f8fc 58%, #eef3f9 100%);
    box-shadow: 0 24px 70px rgba(15,23,42,.10);
}

html.lfv2-active.light-theme .lsv3-hero h1,
html.lfv2-active.light-theme .lsv3-section-head h2,
html.lfv2-active.light-theme .lsv3-card__body strong,
html.lfv2-active.light-theme .lsv3-featured-card__body strong,
html.lfv2-active.light-theme .lsv3-empty h3 {
    color: #101827;
}

html.lfv2-active.light-theme .lsv3-hero__content > p {
    color: #536176;
}

html.lfv2-active.light-theme .lsv3-search__control {
    background: rgba(255,255,255,.84);
}

html.lfv2-active.light-theme .lsv3-search input {
    color: #101827;
}

html.lfv2-active.light-theme .lsv3-hero__tile {
    background: linear-gradient(145deg, #fff, #e8eef6);
}

html.lfv2-active.light-theme .lsv3-card,
html.lfv2-active.light-theme .lsv3-featured-card,
html.lfv2-active.light-theme .lsv3-empty {
    box-shadow: 0 12px 32px rgba(15,23,42,.07);
}
/* ==================================================================
 * LikeFilm List Catalogue V3.1 — hash/AJAX state.
 * ================================================================== */
.lsv3-page {
    position: relative;
}

.lsv3-page.is-loading {
    cursor: progress;
}

.lsv3-page.is-loading::after {
    content: "";
    position: fixed;
    z-index: 90;
    top: 72px;
    left: 50%;
    width: min(1280px, calc(100vw - 32px));
    height: 3px;
    overflow: hidden;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(245,197,24,.28),
            #f5c518,
            rgba(245,197,24,.28),
            transparent
        );
    background-size: 220% 100%;
    transform: translateX(-50%);
    animation: lsv3HashLoading 1.05s linear infinite;
    pointer-events: none;
}

.lsv3-page.is-loading .lsv3-catalog {
    opacity: .52;
    transition: opacity .15s ease;
    pointer-events: none;
}

@keyframes lsv3HashLoading {
    from {
        background-position: 110% 0;
    }
    to {
        background-position: -110% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lsv3-page.is-loading::after {
        animation: none;
    }}

/* ========================================================================
   THEME LIST PAGE — fix 21: breadcrumbs inside the collection hero
   ======================================================================== */

.lfThemeHero .lfThemeBreadcrumbs {
	max-width: 100%;
	margin: 0 0 15px;
	color: rgba(203, 213, 225, .74);
	font-size: .82rem;
	line-height: 1.35;
}

.lfThemeHero .lfThemeBreadcrumbs__trail {
	flex-wrap: nowrap;
	min-width: 0;
	margin: 0;
}

.lfThemeHero .lfThemeBreadcrumbs li:last-child {
	min-width: 0;
	max-width: min(42vw, 380px);
}

.lfThemeHero .lfThemeBreadcrumbs__current {
	display: block;
	min-width: 0;
	overflow: hidden;
	color: rgba(241, 245, 249, .9);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lfThemeHero .lfThemeBreadcrumbs a:hover {
	color: var(--lf-theme-accent, var(--lfv2-accent, #f5c518));
}

.lfThemeBreadcrumbs__mobile {
	display: none;
	align-items: center;
	gap: 8px;
	color: rgba(226, 232, 240, .86) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.lfThemeBreadcrumbs__mobileArrow {
	position: relative;
	top: -1px;
	font-size: 1rem;
	line-height: 1;
}

@media (max-width: 760px) {
	.lfThemeHero .lfThemeBreadcrumbs {
		margin-bottom: 10px;
	}

	.lfThemeHero .lfThemeBreadcrumbs li:last-child {
		max-width: 170px;
	}}

@media (max-width: 430px) {
	.lfThemeHero .lfThemeBreadcrumbs__trail {
		display: none;
	}

	.lfThemeHero .lfThemeBreadcrumbs__mobile {
		display: inline-flex;
	}}

html.lfv2-active.light-theme .lfThemeHero .lfThemeBreadcrumbs {
	color: rgba(71, 85, 105, .76);
}

html.lfv2-active.light-theme .lfThemeHero .lfThemeBreadcrumbs__current {
	color: rgba(30, 41, 59, .9);
}

html.lfv2-active.light-theme .lfThemeBreadcrumbs__mobile {
	color: rgba(30, 41, 59, .86) !important;
}

/* ==================================================================
 * PEOPLE ROUTE CSS EXTRACTED
 * /people/* and /service/people/* styles now live in
 * /static/css/people.css.
 * ================================================================== */

/* ==================================================================
 * SERVICE HUB — VER13: /service/movies/ and /service/tv-series/
 * ================================================================== */

.lfServiceHubPage {
	--lfsh-bg: #07101b;
	--lfsh-surface: #0c1826;
	--lfsh-surface-2: #101f30;
	--lfsh-border: rgba(148, 163, 184, .17);
	--lfsh-border-strong: rgba(148, 163, 184, .27);
	--lfsh-text: #f8fafc;
	--lfsh-muted: #a9b8ca;
	--lfsh-muted-2: #7890aa;
	--lfsh-accent: #f5c518;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0 52px;
	color: var(--lfsh-text);
}

.lfServiceHubBreadcrumbs {
	margin: 2px 0 18px;
	font-size: .82rem;
	line-height: 1.4;
}

.lfServiceHubBreadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lfServiceHubBreadcrumbs li {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	color: var(--lfsh-muted-2);
}

.lfServiceHubBreadcrumbs li + li::before {
	content: "›";
	margin: 0 10px;
	color: rgba(148, 163, 184, .48);
}

.lfServiceHubBreadcrumbs a,
.lfServiceHubBreadcrumbs a:link,
.lfServiceHubBreadcrumbs a:visited {
	color: var(--lfsh-muted-2) !important;
	text-decoration: none !important;
}

.lfServiceHubBreadcrumbs a:hover,
.lfServiceHubBreadcrumbs a:focus-visible {
	color: var(--lfsh-accent) !important;
}

.lfServiceHubBreadcrumbs li:last-child span {
	color: #dce6f2;
}

.lfServiceHubHero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	min-height: 390px;
	overflow: hidden;
	border: 1px solid var(--lfsh-border);
	border-radius: 24px;
	background:
		radial-gradient(circle at 87% 21%, rgba(245, 197, 24, .19), transparent 31%),
		linear-gradient(118deg, #0b1b2d 0%, #07111d 58%, #17190e 100%);
	box-shadow: 0 24px 58px rgba(0, 0, 0, .24);
}

.lfServiceHubHero::after {
	content: "";
	position: absolute;
	right: -155px;
	bottom: -220px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(245, 197, 24, .09);
	border-radius: 50%;
	pointer-events: none;
}

.lfServiceHubHero__content {
	position: relative;
	z-index: 2;
	align-self: center;
	padding: 54px 60px 50px;
}

.lfServiceHubHero__eyebrow,
.lfServiceHubSection__head > div > span {
	display: block;
	margin-bottom: 11px;
	color: var(--lfsh-accent);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .075em;
	line-height: 1.2;
	text-transform: uppercase;
}

.lfServiceHubHero h1 {
	max-width: 760px;
	margin: 0;
	color: var(--lfsh-text);
	font-size: clamp(2.55rem, 4.4vw, 4.4rem);
	font-weight: 760;
	letter-spacing: -.047em;
	line-height: .99;
}

.lfServiceHubHero p {
	max-width: 720px;
	margin: 21px 0 0;
	color: #c4d0de;
	font-size: 1.03rem;
	line-height: 1.65;
}

.lfServiceHubHero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 27px;
}

.lfServiceHubButton,
.lfServiceHubButton:link,
.lfServiceHubButton:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 18px;
	border: 1px solid var(--lfsh-border-strong);
	border-radius: 13px;
	background: rgba(4, 12, 22, .52);
	color: #edf4fb !important;
	font-size: .86rem;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none !important;
	transition: border-color .16s ease, background .16s ease, color .16s ease, transform .08s ease;
}

.lfServiceHubButton:hover,
.lfServiceHubButton:focus-visible {
	border-color: rgba(245, 197, 24, .72);
	background: rgba(245, 197, 24, .08);
	color: #fff !important;
	outline: none;
}

.lfServiceHubButton:active {
	transform: translateY(1px);
}

.lfServiceHubButton--primary,
.lfServiceHubButton--primary:link,
.lfServiceHubButton--primary:visited {
	border-color: var(--lfsh-accent);
	background: var(--lfsh-accent);
	color: #09111a !important;
}

.lfServiceHubButton--primary:hover,
.lfServiceHubButton--primary:focus-visible {
	border-color: #ffd42a;
	background: #ffd42a;
	color: #09111a !important;
}

.lfServiceHubHero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.lfServiceHubHero__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 10px;
	border: 1px solid var(--lfsh-border);
	border-radius: 999px;
	background: rgba(4, 12, 22, .34);
	color: #9eb0c3;
	font-size: .75rem;
	font-weight: 700;
}

.lfServiceHubHero__art {
	position: relative;
	z-index: 1;
	min-height: 390px;
	pointer-events: none;
}

.lfServiceHubHero__poster {
	position: absolute;
	display: block;
	width: 154px;
	height: 220px;
	overflow: hidden;
	border: 1px solid rgba(148, 163, 184, .22);
	border-radius: 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 0 24px 48px rgba(0, 0, 0, .33);
}

.lfServiceHubHero__poster::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 8, 14, .03), rgba(3, 8, 14, .28));
}

.lfServiceHubHero__poster--one {
	top: 62px;
	left: 18px;
	background-image: url(/static/images/decorations/service-best.jpg);
	transform: rotate(-9deg);
}

.lfServiceHubHero__poster--two {
	top: 93px;
	right: 34px;
	background-image: url(/static/images/decorations/service-what-to-watch.jpg);
	transform: rotate(10deg) scale(.9);
	opacity: .78;
}

.lfServiceHubHero__poster--three {
	right: 119px;
	bottom: -25px;
	background-image: url(/static/images/decorations/service-trailer.jpg);
	transform: rotate(2deg) scale(.76);
	opacity: .54;
}

.lfServiceHubHero__play {
	position: absolute;
	top: 72px;
	right: 54px;
	display: grid;
	width: 66px;
	height: 66px;
	place-items: center;
	padding-left: 4px;
	border: 1px solid rgba(245, 197, 24, .35);
	border-radius: 50%;
	background: var(--lfsh-accent);
	color: #07101b;
	font-size: 1.1rem;
	box-shadow: 0 15px 35px rgba(245, 197, 24, .16);
}

.lfServiceHubSection {
	margin-top: 44px;
}

.lfServiceHubSection__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}

.lfServiceHubSection__head h2 {
	margin: 0;
	color: var(--lfsh-text);
	font-size: clamp(1.7rem, 2.6vw, 2.35rem);
	font-weight: 750;
	letter-spacing: -.03em;
	line-height: 1.08;
}

.lfServiceHubSection__head > a,
.lfServiceHubSection__head > a:link,
.lfServiceHubSection__head > a:visited {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding-bottom: 3px;
	color: #c3d0dd !important;
	font-size: .84rem;
	font-weight: 750;
	text-decoration: none !important;
	white-space: nowrap;
}

.lfServiceHubSection__head > a:hover,
.lfServiceHubSection__head > a:focus-visible {
	color: var(--lfsh-accent) !important;
}

.lfServiceHubRoutes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.lfServiceHubRoute,
.lfServiceHubRoute:link,
.lfServiceHubRoute:visited {
	position: relative;
	display: flex;
	min-height: 190px;
	overflow: hidden;
	border: 1px solid var(--lfsh-border);
	border-radius: 18px;
	background: linear-gradient(180deg, #0d1b2b, #091522);
	box-shadow: 0 14px 32px rgba(0, 0, 0, .16);
	color: var(--lfsh-text) !important;
	text-decoration: none !important;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lfServiceHubRoute:hover,
.lfServiceHubRoute:focus-visible {
	border-color: rgba(245, 197, 24, .5);
	box-shadow: 0 20px 42px rgba(0, 0, 0, .25);
	transform: translateY(-2px);
	outline: none;
}

.lfServiceHubRoute--primary {
	border-color: rgba(245, 197, 24, .35);
}

.lfServiceHubRoute__media {
	position: absolute;
	inset: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .25;
	transition: opacity .2s ease, transform .35s ease;
}

.lfServiceHubRoute:hover .lfServiceHubRoute__media,
.lfServiceHubRoute:focus-visible .lfServiceHubRoute__media {
	opacity: .34;
	transform: scale(1.025);
}

.lfServiceHubRoute__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(5, 13, 22, .98) 0%, rgba(5, 13, 22, .86) 52%, rgba(5, 13, 22, .36) 100%);
}

.lfServiceHubRoute--watch .lfServiceHubRoute__media { background-image: url(/static/images/decorations/service-what-to-watch.jpg); }
.lfServiceHubRoute--best .lfServiceHubRoute__media { background-image: url(/static/images/decorations/service-best.jpg); }
.lfServiceHubRoute--new .lfServiceHubRoute__media { background-image: url(/static/images/decorations/service-new.jpg); }
.lfServiceHubRoute--personal .lfServiceHubRoute__media { background-image: linear-gradient(135deg, #163153, #382d17); }
.lfServiceHubRoute--trailer .lfServiceHubRoute__media { background-image: url(/static/images/decorations/service-trailer.jpg); }
.lfServiceHubRoute--random .lfServiceHubRoute__media { background-image: url(/static/images/decorations/service-rand.jpg); }

.lfServiceHubRoute__body {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 24px;
	align-items: center;
	width: 100%;
	gap: 13px;
	padding: 25px;
}

.lfServiceHubRoute__icon {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid rgba(245, 197, 24, .26);
	border-radius: 13px;
	background: rgba(245, 197, 24, .08);
	color: var(--lfsh-accent);
	font-size: 1.08rem;
	font-weight: 800;
}

.lfServiceHubRoute--primary .lfServiceHubRoute__icon {
	border-color: var(--lfsh-accent);
	background: var(--lfsh-accent);
	color: #07101b;
}

.lfServiceHubRoute__copy {
	display: block;
	min-width: 0;
}

.lfServiceHubRoute__copy strong {
	display: block;
	color: #f8fafc;
	font-size: 1.05rem;
	font-weight: 760;
	letter-spacing: -.015em;
	line-height: 1.25;
}

.lfServiceHubRoute__copy > span {
	display: block;
	margin-top: 7px;
	color: #8fa3b9;
	font-size: .8rem;
	line-height: 1.48;
}

.lfServiceHubRoute__arrow {
	color: #8fa3b9;
	font-size: 1.2rem;
	transition: color .16s ease, transform .16s ease;
}

.lfServiceHubRoute:hover .lfServiceHubRoute__arrow,
.lfServiceHubRoute:focus-visible .lfServiceHubRoute__arrow {
	color: var(--lfsh-accent);
	transform: translateX(2px);
}

.lfServiceHubCollections {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 15px;
}

.lfServiceHubCollection {
	min-width: 0;
}

.lfServiceHubCollection > a,
.lfServiceHubCollection > a:link,
.lfServiceHubCollection > a:visited {
	position: relative;
	display: block;
	overflow: hidden;
	border: 1px solid var(--lfsh-border);
	border-radius: 16px;
	background: var(--lfsh-surface);
	box-shadow: 0 12px 28px rgba(0, 0, 0, .14);
	color: var(--lfsh-text) !important;
	text-decoration: none !important;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lfServiceHubCollection > a:hover,
.lfServiceHubCollection > a:focus-visible {
	border-color: rgba(245, 197, 24, .48);
	box-shadow: 0 18px 36px rgba(0, 0, 0, .22);
	transform: translateY(-2px);
	outline: none;
}

.lfServiceHubCollection__image {
	position: relative;
	display: block;
	height: 142px;
	overflow: hidden;
	background: #09131f;
}

.lfServiceHubCollection__image::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 55%;
	background: linear-gradient(180deg, transparent, rgba(5, 12, 20, .62));
}

.lfServiceHubCollection__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .32s ease, filter .32s ease;
}

.lfServiceHubCollection > a:hover img,
.lfServiceHubCollection > a:focus-visible img {
	filter: saturate(1.05) contrast(1.03);
	transform: scale(1.03);
}

.lfServiceHubCollection__name {
	display: -webkit-box;
	overflow: hidden;
	min-height: 58px;
	padding: 13px 42px 13px 14px;
	color: #eef4fb;
	font-size: .91rem;
	font-weight: 730;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lfServiceHubCollection__arrow {
	position: absolute;
	right: 14px;
	bottom: 17px;
	color: #70879e;
	font-size: .96rem;
}

.lfServiceHubBrowse__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.lfServiceHubBrowse__panel {
	padding: 24px;
	border: 1px solid var(--lfsh-border);
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(13, 26, 41, .9), rgba(8, 19, 31, .9));
}

.lfServiceHubBrowse__panel h3 {
	margin: 0 0 15px;
	color: #f5f8fc;
	font-size: 1rem;
	font-weight: 760;
}

.lfServiceHubChips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lfServiceHubChips a,
.lfServiceHubChips a:link,
.lfServiceHubChips a:visited {
	display: inline-flex;
	align-items: center;
	min-height: 35px;
	padding: 7px 11px;
	border: 1px solid var(--lfsh-border-strong);
	border-radius: 999px;
	background: rgba(4, 12, 22, .38);
	color: #b6c6d7 !important;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	transition: border-color .16s ease, color .16s ease, background .16s ease;
}

.lfServiceHubChips a:hover,
.lfServiceHubChips a:focus-visible {
	border-color: rgba(245, 197, 24, .58);
	background: rgba(245, 197, 24, .08);
	color: var(--lfsh-accent) !important;
	outline: none;
}

.lfServiceHubChips--years a:first-child {
	border-color: rgba(245, 197, 24, .55);
	color: var(--lfsh-accent) !important;
}

.lfServiceHubMovies {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.lfServiceHubMovie {
	min-width: 0;
}

.lfServiceHubMovie > a,
.lfServiceHubMovie > a:link,
.lfServiceHubMovie > a:visited {
	display: flex;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--lfsh-border);
	border-radius: 16px;
	background: linear-gradient(180deg, #0d1a29, #091522);
	box-shadow: 0 13px 28px rgba(0, 0, 0, .16);
	color: var(--lfsh-text) !important;
	text-decoration: none !important;
	flex-direction: column;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lfServiceHubMovie > a:hover,
.lfServiceHubMovie > a:focus-visible {
	border-color: rgba(245, 197, 24, .5);
	box-shadow: 0 18px 38px rgba(0, 0, 0, .24);
	transform: translateY(-2px);
	outline: none;
}

.lfServiceHubMovie__poster {
	position: relative;
	display: block;
	aspect-ratio: 155 / 220;
	overflow: hidden;
	background: #09131f;
}

.lfServiceHubMovie__poster::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 34%;
	background: linear-gradient(180deg, transparent, rgba(4, 10, 17, .44));
}

.lfServiceHubMovie__poster img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .32s ease, filter .32s ease;
}

.lfServiceHubMovie > a:hover img,
.lfServiceHubMovie > a:focus-visible img {
	filter: saturate(1.04) contrast(1.025);
	transform: scale(1.025);
}

.lfServiceHubMovie__body {
	display: flex;
	min-height: 76px;
	padding: 12px 13px 13px;
	flex-direction: column;
}

.lfServiceHubMovie__body strong {
	display: -webkit-box;
	overflow: hidden;
	color: #f8fafc;
	font-size: .91rem;
	font-weight: 750;
	letter-spacing: -.01em;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lfServiceHubMovie__body > span {
	display: block;
	margin-top: auto;
	padding-top: 7px;
	color: var(--lfsh-muted-2);
	font-size: .75rem;
	font-weight: 680;
}

@media (max-width: 1160px) {
	.lfServiceHubHero {
		grid-template-columns: minmax(0, 1fr) 310px;
	}

	.lfServiceHubHero__content {
		padding: 48px 44px 45px;
	}

	.lfServiceHubCollections {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lfServiceHubMovies {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}}

@media (max-width: 920px) {
	.lfServiceHubHero {
		grid-template-columns: minmax(0, 1fr) 235px;
	}

	.lfServiceHubHero__poster {
		width: 126px;
		height: 184px;
	}

	.lfServiceHubHero__poster--one {
		left: 8px;
	}

	.lfServiceHubHero__poster--three {
		right: 67px;
	}

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

	.lfServiceHubMovies {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}}

@media (max-width: 720px) {
	.lfServiceHubPage {
		padding-bottom: 38px;
	}

	.lfServiceHubHero {
		display: block;
		min-height: 0;
	}

	.lfServiceHubHero__content {
		padding: 36px 26px 34px;
	}

	.lfServiceHubHero h1 {
		font-size: clamp(2.25rem, 9vw, 3.4rem);
	}

	.lfServiceHubHero p {
		font-size: .95rem;
	}

	.lfServiceHubHero__art {
		display: none;
	}

	.lfServiceHubSection {
		margin-top: 36px;
	}

	.lfServiceHubSection__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 11px;
	}

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

	.lfServiceHubBrowse__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.lfServiceHubMovies {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}}

@media (max-width: 520px) {
	.lfServiceHubBreadcrumbs {
		margin-bottom: 13px;
	}

	.lfServiceHubHero {
		border-radius: 18px;
	}

	.lfServiceHubHero__content {
		padding: 30px 20px 28px;
	}

	.lfServiceHubHero p {
		line-height: 1.55;
	}

	.lfServiceHubHero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.lfServiceHubButton {
		width: 100%;
	}

	.lfServiceHubRoutes {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.lfServiceHubRoute {
		min-height: 168px;
	}

	.lfServiceHubRoute__body {
		padding: 21px;
	}

	.lfServiceHubCollection__image {
		height: 118px;
	}

	.lfServiceHubCollection__name {
		min-height: 62px;
		padding: 12px 34px 12px 12px;
		font-size: .84rem;
	}

	.lfServiceHubMovies {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 11px;
	}

	.lfServiceHubMovie__body {
		min-height: 70px;
		padding: 10px 11px 11px;
	}

	.lfServiceHubMovie__body strong {
		font-size: .84rem;
	}}

html.lfv2-active.light-theme .lfServiceHubPage {
	--lfsh-surface: #ffffff;
	--lfsh-surface-2: #f5f8fc;
	--lfsh-border: rgba(71, 85, 105, .18);
	--lfsh-border-strong: rgba(71, 85, 105, .25);
	--lfsh-text: #102033;
	--lfsh-muted: #516276;
	--lfsh-muted-2: #6d7f93;
}

html.lfv2-active.light-theme .lfServiceHubHero {
	background:
		radial-gradient(circle at 87% 21%, rgba(245, 197, 24, .22), transparent 31%),
		linear-gradient(118deg, #eaf2fb 0%, #f8fafc 58%, #f4f0d9 100%);
	box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

html.lfv2-active.light-theme .lfServiceHubHero h1,
html.lfv2-active.light-theme .lfServiceHubSection__head h2 {
	color: #102033;
}

html.lfv2-active.light-theme .lfServiceHubHero p {
	color: #516276;
}

html.lfv2-active.light-theme .lfServiceHubRoute,
html.lfv2-active.light-theme .lfServiceHubCollection > a,
html.lfv2-active.light-theme .lfServiceHubMovie > a,
html.lfv2-active.light-theme .lfServiceHubBrowse__panel {
	background: #ffffff;
	box-shadow: 0 12px 26px rgba(15, 23, 42, .07);
}

html.lfv2-active.light-theme .lfServiceHubRoute__copy strong,
html.lfv2-active.light-theme .lfServiceHubCollection__name,
html.lfv2-active.light-theme .lfServiceHubMovie__body strong,
html.lfv2-active.light-theme .lfServiceHubBrowse__panel h3 {
	color: #102033;
}


/* ==================================================================
 * WHAT TO SEE — VER14: /service/*/what-to-see/
 * ================================================================== */

.lfWhatToSeePage {
	--lfwts-bg: #07101b;
	--lfwts-surface: #0c1826;
	--lfwts-surface-2: #101f30;
	--lfwts-border: rgba(148, 163, 184, .17);
	--lfwts-border-strong: rgba(148, 163, 184, .28);
	--lfwts-text: #f8fafc;
	--lfwts-muted: #a9b8ca;
	--lfwts-muted-2: #7890aa;
	--lfwts-accent: #f5c518;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0 56px;
	color: var(--lfwts-text);
}

.lfWhatToSeeBreadcrumbs {
	margin: 2px 0 18px;
	font-size: .82rem;
	line-height: 1.4;
}

.lfWhatToSeeBreadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lfWhatToSeeBreadcrumbs li {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	color: var(--lfwts-muted-2);
}

.lfWhatToSeeBreadcrumbs li + li::before {
	content: "›";
	margin: 0 10px;
	color: rgba(148, 163, 184, .48);
}

.lfWhatToSeeBreadcrumbs a,
.lfWhatToSeeBreadcrumbs a:link,
.lfWhatToSeeBreadcrumbs a:visited {
	color: var(--lfwts-muted-2) !important;
	text-decoration: none !important;
}

.lfWhatToSeeBreadcrumbs a:hover,
.lfWhatToSeeBreadcrumbs a:focus-visible {
	color: var(--lfwts-accent) !important;
}

.lfWhatToSeeBreadcrumbs li:last-child span {
	color: #dce6f2;
}

.lfWhatToSeeHero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	min-height: 388px;
	overflow: hidden;
	border: 1px solid var(--lfwts-border);
	border-radius: 24px;
	background:
		radial-gradient(circle at 86% 18%, rgba(245, 197, 24, .2), transparent 30%),
		linear-gradient(118deg, #0b1b2d 0%, #07111d 59%, #17190e 100%);
	box-shadow: 0 24px 58px rgba(0, 0, 0, .24);
}

.lfWhatToSeeHero::after {
	position: absolute;
	right: -164px;
	bottom: -228px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(245, 197, 24, .09);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.lfWhatToSeeHero__content {
	position: relative;
	z-index: 2;
	align-self: center;
	padding: 52px 58px 48px;
}

.lfWhatToSeeHero__eyebrow,
.lfWhatToSeeResults__head > div > span {
	display: block;
	margin-bottom: 11px;
	color: var(--lfwts-accent);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .075em;
	line-height: 1.2;
	text-transform: uppercase;
}

.lfWhatToSeeHero h1 {
	max-width: 800px;
	margin: 0;
	color: var(--lfwts-text);
	font-size: clamp(2.45rem, 4.15vw, 4.15rem);
	font-weight: 760;
	letter-spacing: -.047em;
	line-height: 1.01;
}

.lfWhatToSeeHero p {
	max-width: 700px;
	margin: 21px 0 0;
	color: #c4d0de;
	font-size: 1.02rem;
	line-height: 1.65;
}

.lfWhatToSeeHero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 27px;
}

.lfWhatToSeeButton,
.lfWhatToSeeButton:link,
.lfWhatToSeeButton:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 18px;
	border: 1px solid var(--lfwts-border-strong);
	border-radius: 13px;
	background: rgba(4, 12, 22, .52);
	color: #edf4fb !important;
	font-size: .86rem;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none !important;
	transition: border-color .16s ease, background .16s ease, color .16s ease, transform .08s ease;
}

.lfWhatToSeeButton:hover,
.lfWhatToSeeButton:focus-visible {
	border-color: rgba(245, 197, 24, .72);
	background: rgba(245, 197, 24, .08);
	color: #fff !important;
	outline: none;
}

.lfWhatToSeeButton:active {
	transform: translateY(1px);
}

.lfWhatToSeeButton--primary,
.lfWhatToSeeButton--primary:link,
.lfWhatToSeeButton--primary:visited {
	border-color: var(--lfwts-accent);
	background: var(--lfwts-accent);
	color: #09111a !important;
}

.lfWhatToSeeButton--primary:hover,
.lfWhatToSeeButton--primary:focus-visible {
	border-color: #ffd42a;
	background: #ffd42a;
	color: #09111a !important;
}

.lfWhatToSeeHero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.lfWhatToSeeHero__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 10px;
	border: 1px solid var(--lfwts-border);
	border-radius: 999px;
	background: rgba(4, 12, 22, .34);
	color: #9eb0c3;
	font-size: .75rem;
	font-weight: 700;
}

.lfWhatToSeeHero__meta strong {
	margin-right: 4px;
	color: #f6f9fc;
}

.lfWhatToSeeHero__art {
	position: relative;
	z-index: 1;
	min-height: 388px;
	pointer-events: none;
}

.lfWhatToSeeHero__rank {
	position: absolute;
	display: grid;
	width: 155px;
	height: 216px;
	place-items: center;
	border: 1px solid rgba(148, 163, 184, .23);
	border-radius: 21px;
	background:
		linear-gradient(180deg, rgba(19, 48, 79, .98), rgba(8, 21, 34, .98));
	color: rgba(245, 197, 24, .92);
	font-size: 3.5rem;
	font-weight: 860;
	letter-spacing: -.08em;
	box-shadow: 0 24px 48px rgba(0, 0, 0, .34);
}

.lfWhatToSeeHero__rank::before,
.lfWhatToSeeHero__rank::after {
	position: absolute;
	left: 20px;
	right: 20px;
	height: 8px;
	border-radius: 999px;
	background: rgba(148, 163, 184, .12);
	content: "";
}

.lfWhatToSeeHero__rank::before { top: 23px; }
.lfWhatToSeeHero__rank::after { bottom: 23px; }

.lfWhatToSeeHero__rank--one {
	top: 62px;
	left: 12px;
	transform: rotate(-9deg);
}

.lfWhatToSeeHero__rank--two {
	top: 91px;
	right: 25px;
	transform: rotate(10deg) scale(.9);
	opacity: .78;
}

.lfWhatToSeeHero__rank--three {
	right: 105px;
	bottom: -36px;
	transform: rotate(2deg) scale(.73);
	opacity: .48;
}

.lfWhatToSeeHero__star {
	position: absolute;
	top: 68px;
	right: 40px;
	display: grid;
	width: 66px;
	height: 66px;
	place-items: center;
	border: 1px solid rgba(245, 197, 24, .35);
	border-radius: 50%;
	background: var(--lfwts-accent);
	color: #07101b;
	font-size: 1.25rem;
	box-shadow: 0 15px 35px rgba(245, 197, 24, .16);
}

.lfWhatToSeeQuick {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 20px;
	padding: 14px 16px;
	border: 1px solid var(--lfwts-border);
	border-radius: 16px;
	background: rgba(10, 23, 37, .76);
}

.lfWhatToSeeQuick > span {
	color: #f5f8fc;
	font-size: .82rem;
	font-weight: 800;
	white-space: nowrap;
}

.lfWhatToSeeQuick > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lfWhatToSeeQuick a,
.lfWhatToSeeQuick a:link,
.lfWhatToSeeQuick a:visited {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 11px;
	border: 1px solid var(--lfwts-border-strong);
	border-radius: 999px;
	background: rgba(4, 12, 22, .38);
	color: #b6c6d7 !important;
	font-size: .77rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	transition: border-color .16s ease, color .16s ease, background .16s ease;
}

.lfWhatToSeeQuick a:hover,
.lfWhatToSeeQuick a:focus-visible {
	border-color: rgba(245, 197, 24, .58);
	background: rgba(245, 197, 24, .08);
	color: var(--lfwts-accent) !important;
	outline: none;
}

.lfWhatToSeeResults {
	margin-top: 44px;
}

.lfWhatToSeeResults__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}

.lfWhatToSeeResults__head h2 {
	margin: 0;
	color: var(--lfwts-text);
	font-size: clamp(1.75rem, 2.7vw, 2.4rem);
	font-weight: 750;
	letter-spacing: -.03em;
	line-height: 1.08;
}

.lfWhatToSeeResults__head > strong {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid var(--lfwts-border);
	border-radius: 999px;
	background: var(--lfwts-surface);
	color: #aebfd0;
	font-size: .78rem;
	font-weight: 800;
	white-space: nowrap;
}

.lfWhatToSeeGrid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.lfWhatToSeeCard {
	min-width: 0;
}

.lfWhatToSeeCard__link,
.lfWhatToSeeCard__link:link,
.lfWhatToSeeCard__link:visited {
	position: relative;
	display: flex;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--lfwts-border);
	border-radius: 17px;
	background: linear-gradient(180deg, #0d1a29, #091522);
	box-shadow: 0 13px 28px rgba(0, 0, 0, .16);
	color: var(--lfwts-text) !important;
	text-decoration: none !important;
	flex-direction: column;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lfWhatToSeeCard__link:hover,
.lfWhatToSeeCard__link:focus-visible {
	border-color: rgba(245, 197, 24, .52);
	box-shadow: 0 20px 42px rgba(0, 0, 0, .26);
	transform: translateY(-2px);
	outline: none;
}

.lfWhatToSeeCard--top .lfWhatToSeeCard__link {
	border-color: rgba(245, 197, 24, .38);
}

.lfWhatToSeeCard__rank {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 43px;
	height: 32px;
	padding: 0 9px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 10px;
	background: rgba(4, 11, 19, .86);
	color: #f8fafc;
	font-size: .78rem;
	font-weight: 850;
	letter-spacing: .04em;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
	backdrop-filter: blur(7px);
}

.lfWhatToSeeCard--top .lfWhatToSeeCard__rank {
	border-color: var(--lfwts-accent);
	background: var(--lfwts-accent);
	color: #09111a;
}

.lfWhatToSeeCard__poster {
	position: relative;
	display: block;
	aspect-ratio: 155 / 220;
	overflow: hidden;
	background: #09131f;
}

.lfWhatToSeeCard__poster::after {
	position: absolute;
	inset: auto 0 0;
	height: 34%;
	background: linear-gradient(180deg, transparent, rgba(4, 10, 17, .48));
	content: "";
}

.lfWhatToSeeCard__poster img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .32s ease, filter .32s ease;
}

.lfWhatToSeeCard__link:hover img,
.lfWhatToSeeCard__link:focus-visible img {
	filter: saturate(1.04) contrast(1.025);
	transform: scale(1.025);
}

.lfWhatToSeeCard__body {
	display: flex;
	min-height: 132px;
	padding: 14px 14px 15px;
	flex-direction: column;
}

.lfWhatToSeeCard__title {
	display: -webkit-box;
	overflow: hidden;
	color: #f8fafc;
	font-size: .94rem;
	font-weight: 760;
	letter-spacing: -.012em;
	line-height: 1.32;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lfWhatToSeeCard__meta {
	display: block;
	margin-top: 7px;
	color: var(--lfwts-muted-2);
	font-size: .74rem;
	font-weight: 690;
}

.lfWhatToSeeCard__ratings {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: auto;
	padding-top: 13px;
}

.lfWhatToSeeCard__ratings > span {
	display: inline-flex;
	align-items: center;
	min-height: 29px;
	overflow: hidden;
	border: 1px solid rgba(148, 163, 184, .17);
	border-radius: 9px;
	background: rgba(4, 12, 22, .55);
}

.lfWhatToSeeCard__ratings em,
.lfWhatToSeeCard__ratings b {
	display: inline-flex;
	align-items: center;
	height: 100%;
	padding: 5px 7px;
	font-size: .69rem;
	font-style: normal;
	font-weight: 800;
	line-height: 1;
}

.lfWhatToSeeCard__ratings em {
	color: #8298af;
}

.lfWhatToSeeCard__ratings b {
	border-left: 1px solid rgba(148, 163, 184, .14);
	color: var(--lfwts-accent);
}

.lfWhatToSeeAdSlot {
	grid-column: 1 / -1;
	min-width: 0;
}

.lfWhatToSeeAdSlot:empty {
	display: none;
}

.lfWhatToSeeEmpty {
	padding: 54px 24px;
	border: 1px solid var(--lfwts-border);
	border-radius: 18px;
	background: var(--lfwts-surface);
	text-align: center;
}

.lfWhatToSeeEmpty > span {
	display: grid;
	width: 54px;
	height: 54px;
	margin: 0 auto 15px;
	place-items: center;
	border: 1px solid rgba(245, 197, 24, .28);
	border-radius: 50%;
	background: rgba(245, 197, 24, .08);
	color: var(--lfwts-accent);
	font-size: 1.3rem;
}

.lfWhatToSeeEmpty h3 {
	margin: 0;
	color: #f8fafc;
	font-size: 1.12rem;
}

.lfWhatToSeeEmpty p {
	max-width: 560px;
	margin: 9px auto 0;
	color: var(--lfwts-muted);
	line-height: 1.55;
}

@media (max-width: 1160px) {
	.lfWhatToSeeHero {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.lfWhatToSeeHero__content {
		padding: 48px 44px 45px;
	}}

@media (max-width: 1000px) {
	.lfWhatToSeeGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}}

@media (max-width: 900px) {
	.lfWhatToSeeHero {
		grid-template-columns: minmax(0, 1fr) 220px;
	}

	.lfWhatToSeeHero__rank {
		width: 124px;
		height: 180px;
		font-size: 2.8rem;
	}

	.lfWhatToSeeHero__rank--one { left: 0; }
	.lfWhatToSeeHero__rank--two { right: 8px; }
	.lfWhatToSeeHero__rank--three { right: 67px; }
	.lfWhatToSeeHero__star { right: 15px; }

	.lfWhatToSeeGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}}

@media (max-width: 700px) {
	.lfWhatToSeePage {
		padding-bottom: 40px;
	}

	.lfWhatToSeeHero {
		display: block;
		min-height: 0;
	}

	.lfWhatToSeeHero__content {
		padding: 35px 27px 36px;
	}

	.lfWhatToSeeHero h1 {
		font-size: clamp(2rem, 9vw, 3rem);
	}

	.lfWhatToSeeHero__art {
		display: none;
	}

	.lfWhatToSeeQuick {
		align-items: flex-start;
		flex-direction: column;
		gap: 11px;
	}

	.lfWhatToSeeResults {
		margin-top: 36px;
	}}

@media (max-width: 560px) {
	.lfWhatToSeeBreadcrumbs {
		margin-bottom: 14px;
	}

	.lfWhatToSeeHero {
		border-radius: 18px;
	}

	.lfWhatToSeeHero__content {
		padding: 29px 21px 30px;
	}

	.lfWhatToSeeHero p {
		font-size: .94rem;
	}

	.lfWhatToSeeHero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.lfWhatToSeeButton {
		width: 100%;
	}

	.lfWhatToSeeResults__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.lfWhatToSeeGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.lfWhatToSeeCard__body {
		min-height: 126px;
		padding: 12px 11px 13px;
	}

	.lfWhatToSeeCard__title {
		font-size: .86rem;
	}

	.lfWhatToSeeCard__ratings {
		gap: 5px;
		padding-top: 11px;
	}

	.lfWhatToSeeCard__ratings em,
	.lfWhatToSeeCard__ratings b {
		padding: 5px 6px;
		font-size: .63rem;
	}}

@media (max-width: 365px) {
	.lfWhatToSeeGrid {
		grid-template-columns: 1fr;
	}}

/* ========================================================================== 
 * LikeFilm What to See — VER15 visual polish
 * ========================================================================== */

/* Главная CTA: жёсткие значения защищают кнопку от старых глобальных правил. */
html.lfv2-active .lfWhatToSeeHero__actions .lfWhatToSeeButton.lfWhatToSeeButton--primary,
html.lfv2-active .lfWhatToSeeHero__actions .lfWhatToSeeButton.lfWhatToSeeButton--primary:link,
html.lfv2-active .lfWhatToSeeHero__actions .lfWhatToSeeButton.lfWhatToSeeButton--primary:visited {
	border-color: #f5c518 !important;
	background: #f5c518 !important;
	color: #09111a !important;
	box-shadow: 0 12px 28px rgba(245, 197, 24, .16) !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-shadow: none !important;
}

html.lfv2-active .lfWhatToSeeHero__actions .lfWhatToSeeButton.lfWhatToSeeButton--primary:hover,
html.lfv2-active .lfWhatToSeeHero__actions .lfWhatToSeeButton.lfWhatToSeeButton--primary:focus-visible {
	border-color: #ffd42a !important;
	background: #ffd42a !important;
	color: #09111a !important;
	box-shadow: 0 15px 32px rgba(245, 197, 24, .22) !important;
}

/* Чипы hero стали немного контрастнее, не превращаясь в отдельные CTA. */
html.lfv2-active .lfWhatToSeeHero__meta span {
	border-color: rgba(255, 255, 255, .10);
	background: rgba(10, 26, 43, .78);
	color: #b9c8d8;
}

/* Топ-3 получает более уверенный, но сдержанный акцент. */
html.lfv2-active .lfWhatToSeeCard--top .lfWhatToSeeCard__link,
html.lfv2-active .lfWhatToSeeCard--top .lfWhatToSeeCard__link:link,
html.lfv2-active .lfWhatToSeeCard--top .lfWhatToSeeCard__link:visited {
	border-color: rgba(245, 197, 24, .55);
	box-shadow: 0 15px 34px rgba(0, 0, 0, .20), 0 0 0 1px rgba(245, 197, 24, .04);
}

html.lfv2-active .lfWhatToSeeCard--top .lfWhatToSeeCard__rank {
	border-color: #f5c518;
	background: #f5c518;
	color: #09111a;
	box-shadow: 0 9px 22px rgba(245, 197, 24, .20);
}

html.lfv2-active .lfWhatToSeeCard--top .lfWhatToSeeCard__link:hover,
html.lfv2-active .lfWhatToSeeCard--top .lfWhatToSeeCard__link:focus-visible {
	border-color: rgba(255, 212, 42, .82);
	box-shadow: 0 22px 46px rgba(0, 0, 0, .29), 0 0 0 1px rgba(245, 197, 24, .08);
}

/* Подпись навигации читается как вводный текст, а не как ещё одна кнопка. */
html.lfv2-active .lfWhatToSeeQuick > span {
	color: #dbe6f1;
}

html.lfv2-active .lfWhatToSeeQuick > span::after {
	content: ":";
}

/* На широких экранах заголовок немного спокойнее и лучше балансирует hero. */
@media (min-width: 901px) {
	html.lfv2-active .lfWhatToSeeHero h1 {
		font-size: clamp(2.35rem, 3.85vw, 3.88rem);
		line-height: 1.015;
	}}


/* ================================================================
 * LikeFilm Service Best — VER16
 * Единый рейтинг /service/*/best/*
 * ================================================================ */

.lfServiceBestPage {
    --lfsb-bg: #07111d;
    --lfsb-panel: #0d1a29;
    --lfsb-panel-strong: #101f30;
    --lfsb-line: rgba(159, 184, 209, .14);
    --lfsb-muted: #9eb1c5;
    --lfsb-text: #f6f8fb;
    --lfsb-accent: #f5c518;
    width: min(1440px, calc(100% - 40px));
    margin: 0 auto;
    padding: 28px 0 76px;
    color: var(--lfsb-text);
}

.lfServiceBestBreadcrumbs {
    margin: 0 0 18px;
    font-size: 13px;
    color: #8ea3b8;
}

.lfServiceBestBreadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lfServiceBestBreadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lfServiceBestBreadcrumbs li + li::before {
    content: "›";
    color: #60758a;
}

.lfServiceBestBreadcrumbs a,
.lfServiceBestBreadcrumbs a:link,
.lfServiceBestBreadcrumbs a:visited {
    color: #9eb1c5 !important;
    text-decoration: none;
}

.lfServiceBestBreadcrumbs a:hover,
.lfServiceBestBreadcrumbs a:focus-visible {
    color: #f5c518 !important;
}

.lfServiceBestBreadcrumbs li:last-child span {
    color: #e9f0f7;
}

.lfServiceBestHero {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
    border: 1px solid rgba(245, 197, 24, .14);
    border-radius: 26px;
    background:
        radial-gradient(circle at 88% 18%, rgba(245, 197, 24, .18), transparent 32%),
        linear-gradient(120deg, #0b1d30 0%, #091522 56%, #17180e 100%);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.lfServiceBestHero::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -260px;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(245, 197, 24, .12);
    border-radius: 50%;
    pointer-events: none;
}

.lfServiceBestHero__content {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: 58px 40px 54px 58px;
}

.lfServiceBestHero__eyebrow,
.lfServiceBestResults__head > div > span {
    display: block;
    margin-bottom: 14px;
    color: #f5c518;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lfServiceBestHero h1 {
    max-width: 920px;
    margin: 0;
    color: #f7f9fc;
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 760;
    line-height: .99;
    letter-spacing: -.045em;
}

.lfServiceBestHero p {
    max-width: 760px;
    margin: 24px 0 0;
    color: #c0cedc;
    font-size: 18px;
    line-height: 1.55;
}

.lfServiceBestHero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.lfServiceBestButton,
.lfServiceBestButton:link,
.lfServiceBestButton:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 14px;
    color: #f4f7fa !important;
    background: rgba(6, 20, 34, .78);
    text-decoration: none;
    font-weight: 750;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.lfServiceBestButton:hover,
.lfServiceBestButton:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(245, 197, 24, .45);
    background: #10243a;
}

html.lfv2-active .lfServiceBestButton--primary,
html.lfv2-active .lfServiceBestButton--primary:link,
html.lfv2-active .lfServiceBestButton--primary:visited {
    color: #09111a !important;
    background: #f5c518 !important;
    border-color: #f5c518 !important;
}

html.lfv2-active .lfServiceBestButton--primary:hover,
html.lfv2-active .lfServiceBestButton--primary:focus-visible {
    color: #09111a !important;
    background: #ffd42a !important;
    border-color: #ffd42a !important;
}

.lfServiceBestHero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.lfServiceBestHero__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    color: #b8c8d8;
    background: rgba(4, 18, 31, .72);
    font-size: 13px;
    font-weight: 700;
}

.lfServiceBestHero__meta strong {
    margin-right: 5px;
    color: #fff;
}

.lfServiceBestHero__art {
    position: relative;
    z-index: 1;
    min-height: 430px;
}

.lfServiceBestHero__year {
    position: absolute;
    top: 50px;
    right: 48px;
    color: rgba(245, 197, 24, .9);
    font-size: clamp(46px, 5vw, 78px);
    font-weight: 850;
    letter-spacing: -.06em;
}

.lfServiceBestHero__podium {
    position: absolute;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 22px;
    border: 1px solid rgba(118, 159, 198, .22);
    border-radius: 18px 18px 8px 8px;
    color: #f5c518;
    background: linear-gradient(180deg, #173756 0%, #0c2034 100%);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .26);
    font-size: 30px;
    font-weight: 850;
}

.lfServiceBestHero__podium--one {
    right: 142px;
    bottom: 42px;
    width: 118px;
    height: 214px;
}

.lfServiceBestHero__podium--two {
    right: 268px;
    bottom: 42px;
    width: 104px;
    height: 160px;
    transform: rotate(-4deg);
}

.lfServiceBestHero__podium--three {
    right: 28px;
    bottom: 42px;
    width: 102px;
    height: 128px;
    transform: rotate(4deg);
}

.lfServiceBestFallback {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(245, 197, 24, .24);
    border-radius: 16px;
    background: rgba(245, 197, 24, .075);
}

.lfServiceBestFallback > span {
    display: inline-flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #09111a;
    background: #f5c518;
    font-weight: 900;
}

.lfServiceBestFallback strong {
    display: block;
    color: #f5c518;
    font-size: 15px;
}

.lfServiceBestFallback p {
    margin: 4px 0 0;
    color: #b8c7d6;
    line-height: 1.5;
}

.lfServiceBestFilters {
    display: grid;
    gap: 16px;
    margin-top: 20px;
    padding: 20px;
    border: 1px solid var(--lfsb-line);
    border-radius: 18px;
    background: rgba(11, 27, 44, .86);
}

.lfServiceBestFilterRow {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
}

.lfServiceBestFilterRow > strong {
    padding-top: 10px;
    color: #dbe5ef;
    font-size: 14px;
}

.lfServiceBestFilterRow > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.lfServiceBestChip,
.lfServiceBestChip:link,
.lfServiceBestChip:visited {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 999px;
    color: #b8c8d8 !important;
    background: #0a1726;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.lfServiceBestChip:hover,
.lfServiceBestChip:focus-visible {
    color: #f5c518 !important;
    border-color: rgba(245, 197, 24, .42);
    background: #102238;
}

html.lfv2-active .lfServiceBestChip.is-active,
html.lfv2-active .lfServiceBestChip.is-active:link,
html.lfv2-active .lfServiceBestChip.is-active:visited,
html.lfv2-active .lfServiceBestChip[aria-current="page"] {
    color: #09111a !important;
    border-color: #f5c518 !important;
    background: #f5c518 !important;
}

.lfServiceBestResults {
    margin-top: 44px;
}

.lfServiceBestResults__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.lfServiceBestResults__head h2 {
    margin: 0;
    color: #f7f9fc;
    font-size: clamp(31px, 3vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.lfServiceBestResults__head > strong {
    flex: 0 0 auto;
    margin-bottom: 5px;
    color: #a9bdd0;
    font-size: 14px;
}

.lfServiceBestGrid > .uxA-temp,
.lfServiceBestResults > .uxA-temp {
    grid-column: 1 / -1;
    box-sizing: border-box;
    float: none !important;
    width: 100% !important;
    margin: 18px 0 24px !important;
}

.lfServiceBestGrid .uiClear,
.lfServiceBestResults > .uiClear {
    grid-column: 1 / -1;
}

.lfServiceBestEmpty {
    padding: 70px 24px;
    border: 1px dashed rgba(255, 255, 255, .13);
    border-radius: 20px;
    text-align: center;
    background: rgba(12, 28, 45, .68);
}

.lfServiceBestEmpty > span {
    color: #f5c518;
    font-size: 42px;
}

.lfServiceBestEmpty h3 {
    margin: 12px 0 6px;
    color: #fff;
    font-size: 24px;
}

.lfServiceBestEmpty p {
    margin: 0;
    color: #9eb1c5;
}

@media (max-width: 1080px) {
    .lfServiceBestHero {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .lfServiceBestHero__content {
        padding: 46px 28px 44px 40px;
    }

    .lfServiceBestHero__podium--two {
        right: 198px;
    }

    .lfServiceBestHero__podium--one {
        right: 88px;
    }

    .lfServiceBestHero__podium--three {
        right: -2px;
    }}

@media (max-width: 760px) {
    .lfServiceBestPage {
        width: min(100% - 24px, 1440px);
        padding-top: 18px;
    }

    .lfServiceBestHero {
        display: block;
        min-height: 0;
        border-radius: 20px;
    }

    .lfServiceBestHero__content {
        padding: 34px 22px 32px;
    }

    .lfServiceBestHero h1 {
        font-size: clamp(38px, 11vw, 56px);
    }

    .lfServiceBestHero p {
        font-size: 16px;
    }

    .lfServiceBestHero__art {
        display: none;
    }

    .lfServiceBestButton {
        flex: 1 1 170px;
    }

    .lfServiceBestFilterRow {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .lfServiceBestFilterRow > strong {
        padding-top: 0;
    }

    .lfServiceBestFilterRow > div {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 5px;
        scrollbar-width: none;
    }

    .lfServiceBestFilterRow > div::-webkit-scrollbar {
        display: none;
    }

    .lfServiceBestChip {
        flex: 0 0 auto;
    }

    .lfServiceBestResults__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }}


/* ================================================================
 * LikeFilm Service Best — VER17 grid/ad repair
 * ================================================================ */

/* Карточки рейтинга переиспользуют компонент WhatToSee; переменные
 * объявлены локально, чтобы он не зависел от другого корня страницы. */
.lfServiceBestPage {
    --lfwts-border: rgba(159, 184, 209, .14);
    --lfwts-text: #f6f8fb;
    --lfwts-muted: #9eb1c5;
    --lfwts-muted-2: #8198ae;
    --lfwts-surface: #0d1a29;
    --lfwts-accent: #f5c518;
}

.lfServiceBestGrid {
    align-items: start;
    clear: both;
}

/* Реклама теперь является нормальным полноширинным элементом сетки.
 * Внутренний код рекламных систем остаётся без изменений. */
.lfServiceBestAdSlot {
    grid-column: 1 / -1;
    display: block;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 18px 0 24px;
    overflow: hidden;
    clear: both;
    float: none !important;
    box-sizing: border-box;
}

.lfServiceBestAdSlot--top {
    margin: 0 0 24px;
}

.lfServiceBestAdSlot:empty {
    display: none;
}

.lfServiceBestAdSlot > * {
    max-width: 100%;
}

/* Старые float/clear-правила больше не должны растягивать результат
 * или выталкивать карточки за рекламные блоки. */
.lfServiceBestResults::after,
.lfServiceBestGrid::after {
    display: table;
    clear: both;
    content: "";
}

.lfServiceBestCard {
    position: relative;
    z-index: 1;
    display: block;
    visibility: visible;
    opacity: 1;
}

@media (max-width: 700px) {
    .lfServiceBestAdSlot {
        margin: 14px 0 18px;
    }}


/* ================================================================
 * LikeFilm Service New — VER19
 * /service/movies/new/ и /service/tv-series/new/
 * ================================================================ */

.lfServiceNewPage {
    --lfwts-border: rgba(159, 184, 209, .14);
    --lfwts-border-strong: rgba(159, 184, 209, .20);
    --lfwts-text: #f6f8fb;
    --lfwts-muted: #9eb1c5;
    --lfwts-muted-2: #8198ae;
    --lfwts-surface: #0d1a29;
    --lfwts-accent: #f5c518;
    width: min(1440px, calc(100% - 40px));
    margin: 0 auto;
    padding: 28px 0 76px;
    color: #f6f8fb;
}

.lfServiceNewBreadcrumbs {
    margin: 0 0 18px;
    color: #8ea3b8;
    font-size: 13px;
}

.lfServiceNewBreadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lfServiceNewBreadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lfServiceNewBreadcrumbs li + li::before {
    color: #60758a;
    content: "›";
}

.lfServiceNewBreadcrumbs a,
.lfServiceNewBreadcrumbs a:link,
.lfServiceNewBreadcrumbs a:visited {
    color: #9eb1c5 !important;
    text-decoration: none !important;
}

.lfServiceNewBreadcrumbs a:hover,
.lfServiceNewBreadcrumbs a:focus-visible {
    color: #f5c518 !important;
}

.lfServiceNewBreadcrumbs li:last-child span {
    color: #e9f0f7;
}

.lfServiceNewHero {
    position: relative;
    display: grid;
    min-height: 420px;
    overflow: hidden;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
    border: 1px solid rgba(245, 197, 24, .14);
    border-radius: 26px;
    background:
        radial-gradient(circle at 87% 18%, rgba(245, 197, 24, .19), transparent 31%),
        linear-gradient(120deg, #0b1d30 0%, #091522 57%, #18180d 100%);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.lfServiceNewHero::after {
    position: absolute;
    right: -110px;
    bottom: -285px;
    width: 590px;
    height: 590px;
    border: 1px solid rgba(245, 197, 24, .12);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.lfServiceNewHero__content {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: 56px 40px 52px 58px;
}

.lfServiceNewHero__eyebrow,
.lfServiceNewResults__head > div > span {
    display: block;
    margin-bottom: 14px;
    color: #f5c518;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lfServiceNewHero h1 {
    max-width: 900px;
    margin: 0;
    color: #f7f9fc;
    font-size: clamp(42px, 5vw, 74px);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.045em;
}

.lfServiceNewHero p {
    max-width: 730px;
    margin: 24px 0 0;
    color: #c1cfdd;
    font-size: 17px;
    line-height: 1.55;
}

.lfServiceNewHero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
}

.lfServiceNewButton,
.lfServiceNewButton:link,
.lfServiceNewButton:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 0 23px;
    border: 1px solid rgba(159, 184, 209, .20);
    border-radius: 14px;
    background: rgba(6, 18, 30, .72);
    color: #f3f7fb !important;
    font-size: 14px;
    font-weight: 780;
    text-decoration: none !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

html.lfv2-active .lfServiceNewButton--primary,
html.lfv2-active .lfServiceNewButton--primary:link,
html.lfv2-active .lfServiceNewButton--primary:visited {
    border-color: #f5c518 !important;
    background: #f5c518 !important;
    color: #09111a !important;
}

.lfServiceNewButton:hover,
.lfServiceNewButton:focus-visible {
    border-color: rgba(245, 197, 24, .65);
    transform: translateY(-1px);
    outline: none;
}

html.lfv2-active .lfServiceNewButton--primary:hover,
html.lfv2-active .lfServiceNewButton--primary:focus-visible {
    border-color: #ffd42a !important;
    background: #ffd42a !important;
    color: #09111a !important;
}

.lfServiceNewHero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.lfServiceNewHero__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    background: rgba(10, 26, 43, .78);
    color: #b9c8d8;
    font-size: 12px;
    font-weight: 750;
}

.lfServiceNewHero__meta strong {
    margin-right: 4px;
    color: #fff;
}

.lfServiceNewHero__art {
    position: relative;
    z-index: 1;
    min-height: 420px;
    pointer-events: none;
}

.lfServiceNewHero__year {
    position: absolute;
    top: 24px;
    right: 38px;
    color: rgba(245, 197, 24, .94);
    font-size: 72px;
    font-weight: 800;
    letter-spacing: -.07em;
}

.lfServiceNewHero__calendar {
    position: absolute;
    top: 140px;
    right: 90px;
    display: flex;
    width: 170px;
    height: 204px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .23);
    border-radius: 24px;
    background: linear-gradient(180deg, #153a60, #0a1d30);
    box-shadow: 0 24px 50px rgba(0, 0, 0, .30);
    flex-direction: column;
    transform: rotate(5deg);
}

.lfServiceNewHero__calendar::before {
    position: absolute;
    inset: 0 0 auto;
    height: 48px;
    background: rgba(245, 197, 24, .95);
    content: "";
}

.lfServiceNewHero__calendar b {
    position: relative;
    z-index: 1;
    margin-top: 20px;
    color: #f5c518;
    font-size: 38px;
    letter-spacing: -.04em;
}

.lfServiceNewHero__calendar i {
    margin-top: 4px;
    color: #d8e4ef;
    font-size: 22px;
    font-style: normal;
    font-weight: 750;
}

.lfServiceNewHero__poster {
    position: absolute;
    width: 116px;
    height: 165px;
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 17px;
    background:
        linear-gradient(145deg, rgba(245, 197, 24, .20), transparent 48%),
        linear-gradient(180deg, #112e4c, #081827);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .24);
}

.lfServiceNewHero__poster::after {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    height: 7px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .15);
    content: "";
}

.lfServiceNewHero__poster--one {
    right: 252px;
    bottom: 48px;
    transform: rotate(-10deg);
}

.lfServiceNewHero__poster--two {
    right: 12px;
    bottom: 44px;
    transform: rotate(12deg) scale(.88);
    opacity: .72;
}

.lfServiceNewFallback {
    display: flex;
    align-items: center;
    gap: 12px 18px;
    margin-top: 18px;
    padding: 15px 18px;
    border: 1px solid rgba(245, 197, 24, .25);
    border-radius: 15px;
    background: rgba(245, 197, 24, .07);
    flex-wrap: wrap;
}

.lfServiceNewFallback strong {
    color: #f5c518;
}

.lfServiceNewFallback span {
    color: #b9c8d8;
}

.lfServiceNewFilters {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px 18px;
    margin-top: 20px;
    padding: 18px;
    border: 1px solid rgba(159, 184, 209, .12);
    border-radius: 18px;
    background: rgba(10, 26, 43, .79);
}

.lfServiceNewFilters > strong {
    padding-top: 9px;
    color: #d9e4ee;
    font-size: 14px;
}

.lfServiceNewFilters > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.lfServiceNewChip,
.lfServiceNewChip:link,
.lfServiceNewChip:visited {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 13px;
    border: 1px solid rgba(159, 184, 209, .17);
    border-radius: 999px;
    background: rgba(4, 12, 22, .34);
    color: #b5c6d7 !important;
    font-size: 12px;
    font-weight: 730;
    text-decoration: none !important;
    transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.lfServiceNewChip:hover,
.lfServiceNewChip:focus-visible {
    border-color: rgba(245, 197, 24, .56);
    color: #f5c518 !important;
    outline: none;
}

html.lfv2-active .lfServiceNewChip.is-active,
html.lfv2-active .lfServiceNewChip.is-active:link,
html.lfv2-active .lfServiceNewChip.is-active:visited,
html.lfv2-active .lfServiceNewChip[aria-current="page"] {
    border-color: #f5c518 !important;
    background: #f5c518 !important;
    color: #09111a !important;
}

.lfServiceNewResults {
    margin-top: 44px;
}

.lfServiceNewResults__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.lfServiceNewResults__head h2 {
    margin: 0;
    color: #f7f9fc;
    font-size: clamp(31px, 3vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.lfServiceNewResults__head > strong {
    flex: 0 0 auto;
    margin-bottom: 5px;
    color: #a9bdd0;
    font-size: 14px;
}

.lfServiceNewGrid {
    align-items: start;
    clear: both;
}

.lfServiceNewCard {
    position: relative;
    z-index: 1;
}

.lfServiceNewCard__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 0 10px;
    border: 1px solid #f5c518;
    border-radius: 10px;
    background: #f5c518;
    color: #09111a;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .045em;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .20);
}

.lfServiceNewAdSlot {
    grid-column: 1 / -1;
    display: block;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 18px 0 24px;
    overflow: hidden;
    clear: both;
    float: none !important;
    box-sizing: border-box;
}

.lfServiceNewAdSlot--top {
    margin: 0 0 24px;
}

.lfServiceNewAdSlot:empty {
    display: none;
}

.lfServiceNewAdSlot > * {
    max-width: 100%;
}

.lfServiceNewEmpty {
    padding: 70px 24px;
    border: 1px dashed rgba(255, 255, 255, .13);
    border-radius: 20px;
    background: rgba(12, 28, 45, .68);
    text-align: center;
}

.lfServiceNewEmpty > span {
    color: #f5c518;
    font-size: 42px;
}

.lfServiceNewEmpty h3 {
    margin: 12px 0 6px;
    color: #fff;
    font-size: 24px;
}

.lfServiceNewEmpty p {
    margin: 0;
    color: #9eb1c5;
}

@media (max-width: 1080px) {
    .lfServiceNewHero {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .lfServiceNewHero__content {
        padding: 46px 28px 44px 40px;
    }

    .lfServiceNewHero__year {
        right: 22px;
        font-size: 60px;
    }

    .lfServiceNewHero__calendar {
        right: 66px;
    }

    .lfServiceNewHero__poster--one {
        right: 208px;
    }}

@media (max-width: 760px) {
    .lfServiceNewPage {
        width: min(100% - 24px, 1440px);
        padding-top: 18px;
    }

    .lfServiceNewHero {
        display: block;
        min-height: 0;
        border-radius: 20px;
    }

    .lfServiceNewHero__content {
        padding: 34px 22px 32px;
    }

    .lfServiceNewHero h1 {
        font-size: clamp(38px, 11vw, 56px);
    }

    .lfServiceNewHero p {
        font-size: 16px;
    }

    .lfServiceNewHero__art {
        display: none;
    }

    .lfServiceNewButton {
        flex: 1 1 170px;
    }

    .lfServiceNewFilters {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .lfServiceNewFilters > strong {
        padding-top: 0;
    }

    .lfServiceNewFilters > div {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 5px;
        scrollbar-width: none;
    }

    .lfServiceNewFilters > div::-webkit-scrollbar {
        display: none;
    }

    .lfServiceNewChip {
        flex: 0 0 auto;
    }

    .lfServiceNewResults__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }}

@media (max-width: 560px) {
    .lfServiceNewHero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .lfServiceNewButton {
        width: 100%;
    }

    .lfServiceNewFallback {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .lfServiceNewAdSlot {
        margin: 14px 0 18px;
    }}

/* ==========================================================================\n   LikeFilm Service Personal — VER20\n   ========================================================================== */
html.lfv2-active .lfServicePersonalPage {
	--lfsp-bg: #07111d;
	--lfsp-panel: #0b1b2c;
	--lfsp-panel-strong: #0e2237;
	--lfsp-line: rgba(151, 179, 207, .18);
	--lfsp-text: #f4f7fb;
	--lfsp-muted: #9fb3c8;
	--lfsp-accent: #f5c518;
	--lfsp-accent-hover: #ffd42a;
	width: 100%;
	color: var(--lfsp-text);
}

html.lfv2-active .lfServicePersonalPage,
html.lfv2-active .lfServicePersonalPage * {
	box-sizing: border-box;
}

html.lfv2-active .lfServicePersonalBreadcrumbs {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 18px;
	font-size: 13px;
	color: var(--lfsp-muted);
}

html.lfv2-active .lfServicePersonalBreadcrumbs a,
html.lfv2-active .lfServicePersonalBreadcrumbs a:visited {
	color: var(--lfsp-muted) !important;
	text-decoration: none;
}

html.lfv2-active .lfServicePersonalBreadcrumbs a:hover,
html.lfv2-active .lfServicePersonalBreadcrumbs a:focus-visible {
	color: #fff !important;
}

html.lfv2-active .lfServicePersonalBreadcrumbs strong {
	color: #dce7f2;
	font-weight: 600;
}

html.lfv2-active .lfServicePersonalHero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.48fr) minmax(320px, .72fr);
	min-height: 440px;
	padding: 54px 58px;
	overflow: hidden;
	border: 1px solid rgba(245, 197, 24, .18);
	border-radius: 24px;
	background:
		radial-gradient(circle at 84% 30%, rgba(245, 197, 24, .16), transparent 35%),
		linear-gradient(122deg, #0c2034 0%, #07131f 61%, #25240f 100%);
}

html.lfv2-active .lfServicePersonalHero__content {
	position: relative;
	z-index: 2;
	align-self: center;
	max-width: 760px;
}

html.lfv2-active .lfServicePersonalEyebrow,
html.lfv2-active .lfServicePersonalSectionHead > div > span,
html.lfv2-active .lfServicePersonalResults__head > div > span {
	display: block;
	margin-bottom: 14px;
	color: var(--lfsp-accent);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

html.lfv2-active .lfServicePersonalHero h1 {
	margin: 0;
	max-width: 790px;
	color: #f7f9fc;
	font-size: clamp(44px, 4.1vw, 72px);
	font-weight: 750;
	line-height: 1.02;
	letter-spacing: -.045em;
}

html.lfv2-active .lfServicePersonalHero p {
	max-width: 680px;
	margin: 24px 0 0;
	color: #c6d4e2;
	font-size: 18px;
	line-height: 1.55;
}

html.lfv2-active .lfServicePersonalHero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 30px;
}

html.lfv2-active .lfServicePersonalHero__chips span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(164, 191, 216, .18);
	border-radius: 999px;
	background: rgba(4, 15, 26, .48);
	color: #bcd0e2;
	font-size: 13px;
	font-weight: 650;
}

html.lfv2-active .lfServicePersonalHero__chips b {
	margin-right: 4px;
	color: #fff;
}

html.lfv2-active .lfServicePersonalHero__art {
	position: relative;
	min-height: 300px;
}

html.lfv2-active .lfServicePersonalHero__art::before,
html.lfv2-active .lfServicePersonalHero__art::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(245, 197, 24, .16);
	border-radius: 50%;
}

html.lfv2-active .lfServicePersonalHero__art::before {
	width: 420px;
	height: 420px;
	right: -112px;
	bottom: -165px;
}

html.lfv2-active .lfServicePersonalHero__art::after {
	width: 255px;
	height: 255px;
	right: 4px;
	top: 6px;
}

html.lfv2-active .lfServicePersonalHero__node,
html.lfv2-active .lfServicePersonalHero__result {
	position: absolute;
	display: grid;
	place-items: center;
	z-index: 2;
	border: 1px solid rgba(94, 143, 187, .34);
	background: #123354;
	color: var(--lfsp-accent);
	font-weight: 800;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .25);
}

html.lfv2-active .lfServicePersonalHero__node {
	width: 78px;
	height: 58px;
	border-radius: 16px;
	font-size: 17px;
}

html.lfv2-active .lfServicePersonalHero__node--one { left: 6%; top: 14%; transform: rotate(-8deg); }
html.lfv2-active .lfServicePersonalHero__node--two { left: 43%; top: 4%; transform: rotate(6deg); }
html.lfv2-active .lfServicePersonalHero__node--three { right: 2%; top: 23%; transform: rotate(10deg); }
html.lfv2-active .lfServicePersonalHero__node--four { left: 2%; bottom: 17%; transform: rotate(8deg); }
html.lfv2-active .lfServicePersonalHero__node--five { left: 39%; bottom: 5%; transform: rotate(-6deg); }
html.lfv2-active .lfServicePersonalHero__node--six { right: 1%; bottom: 13%; transform: rotate(7deg); }

html.lfv2-active .lfServicePersonalHero__result {
	left: 50%;
	top: 49%;
	width: 106px;
	height: 148px;
	transform: translate(-50%, -50%);
	border-color: rgba(245, 197, 24, .42);
	border-radius: 20px;
	background: linear-gradient(150deg, #173f65, #0a1c2e);
	font-size: 40px;
}

html.lfv2-active .lfServicePersonalHero__result::before,
html.lfv2-active .lfServicePersonalHero__result::after {
	content: "";
	position: absolute;
	left: 19px;
	right: 19px;
	height: 5px;
	border-radius: 99px;
	background: rgba(143, 174, 201, .18);
}

html.lfv2-active .lfServicePersonalHero__result::before { top: 16px; }
html.lfv2-active .lfServicePersonalHero__result::after { bottom: 16px; }

html.lfv2-active .lfServicePersonalFormSection,
html.lfv2-active .lfServicePersonalResults,
html.lfv2-active .lfServicePersonalThemes {
	margin-top: 34px;
}

html.lfv2-active .lfServicePersonalFormSection {
	padding: 30px;
	border: 1px solid var(--lfsp-line);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(13, 34, 54, .96), rgba(8, 23, 38, .96));
}

html.lfv2-active .lfServicePersonalSectionHead,
html.lfv2-active .lfServicePersonalResults__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

html.lfv2-active .lfServicePersonalSectionHead h2,
html.lfv2-active .lfServicePersonalResults__head h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 720;
	line-height: 1.08;
	letter-spacing: -.025em;
}

html.lfv2-active .lfServicePersonalSectionHead p {
	max-width: 520px;
	margin: 0;
	color: var(--lfsp-muted);
	font-size: 15px;
	line-height: 1.55;
}

html.lfv2-active .lfServicePersonalForm fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

html.lfv2-active .lfServicePersonalForm legend {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

html.lfv2-active .lfServicePersonalForm__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

html.lfv2-active .lfServicePersonalField {
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(142, 172, 198, .13);
	border-radius: 15px;
	background: rgba(4, 16, 28, .52);
}

html.lfv2-active .lfServicePersonalField label {
	display: block;
	margin-bottom: 10px;
	color: #dce8f3;
	font-size: 14px;
	font-weight: 700;
}

html.lfv2-active .lfServicePersonalField__control {
	position: relative;
}

html.lfv2-active .lfServicePersonalField__control select {
	width: 100%;
	height: 48px;
	padding: 0 44px 0 14px;
	border: 1px solid rgba(164, 191, 216, .18);
	border-radius: 11px;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	background: #091827;
	color: #f2f6fb;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

html.lfv2-active .lfServicePersonalField__control select:hover {
	border-color: rgba(245, 197, 24, .42);
}

html.lfv2-active .lfServicePersonalField__control select:focus-visible {
	border-color: var(--lfsp-accent);
	box-shadow: 0 0 0 3px rgba(245, 197, 24, .12);
}

html.lfv2-active .lfServicePersonalField__control > span {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-53%);
	color: var(--lfsp-accent);
	font-size: 20px;
	pointer-events: none;
}

html.lfv2-active .lfServicePersonalForm__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

html.lfv2-active .lfServicePersonalForm__actions button,
html.lfv2-active .lfServicePersonalForm__actions a,
html.lfv2-active .lfServicePersonalForm__actions a:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid rgba(153, 181, 207, .18);
	border-radius: 12px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 800;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

html.lfv2-active .lfServicePersonalForm__actions button {
	border-color: var(--lfsp-accent) !important;
	background: var(--lfsp-accent) !important;
	color: #09111a !important;
	cursor: pointer;
}

html.lfv2-active .lfServicePersonalForm__actions a,
html.lfv2-active .lfServicePersonalForm__actions a:visited {
	background: #091827 !important;
	color: #dce8f3 !important;
}

html.lfv2-active .lfServicePersonalForm__actions button:hover,
html.lfv2-active .lfServicePersonalForm__actions button:focus-visible {
	background: var(--lfsp-accent-hover) !important;
	border-color: var(--lfsp-accent-hover) !important;
	transform: translateY(-1px);
}

html.lfv2-active .lfServicePersonalForm__actions a:hover,
html.lfv2-active .lfServicePersonalForm__actions a:focus-visible {
	border-color: rgba(245, 197, 24, .48);
	color: #fff !important;
	transform: translateY(-1px);
}

html.lfv2-active .lfServicePersonalAdSlot {
	grid-column: 1 / -1;
	width: 100%;
	margin: 30px 0;
	clear: both;
}

html.lfv2-active .lfServicePersonalResults__stats {
	display: flex;
	gap: 10px;
}

html.lfv2-active .lfServicePersonalResults__stats span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid var(--lfsp-line);
	border-radius: 999px;
	background: var(--lfsp-panel);
	color: var(--lfsp-muted);
	font-size: 13px;
}

html.lfv2-active .lfServicePersonalResults__stats b {
	margin-right: 5px;
	color: #fff;
}

html.lfv2-active .lfServicePersonalSelection {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: -4px 0 22px;
}

html.lfv2-active .lfServicePersonalSelection span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 11px;
	border: 1px solid rgba(155, 183, 208, .16);
	border-radius: 10px;
	background: #091827;
	font-size: 12px;
}

html.lfv2-active .lfServicePersonalSelection em {
	color: #7893ac;
	font-style: normal;
}

html.lfv2-active .lfServicePersonalSelection b {
	color: #dce8f3;
	font-weight: 700;
}

html.lfv2-active .lfServicePersonalMessage {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 120px;
	padding: 24px;
	border: 1px solid rgba(245, 197, 24, .22);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(31, 35, 20, .82), rgba(9, 24, 39, .96));
}

html.lfv2-active .lfServicePersonalMessage > span {
	display: grid;
	place-items: center;
	flex: 0 0 54px;
	height: 54px;
	border-radius: 15px;
	background: rgba(245, 197, 24, .12);
	color: var(--lfsp-accent);
	font-size: 28px;
	font-weight: 800;
}

html.lfv2-active .lfServicePersonalMessage h2 {
	margin: 0 0 7px;
	color: #fff;
	font-size: 23px;
}

html.lfv2-active .lfServicePersonalMessage p {
	margin: 0;
	color: var(--lfsp-muted);
	line-height: 1.5;
}

html.lfv2-active .lfServicePersonalGrid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
}

html.lfv2-active .lfServicePersonalCard {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(147, 177, 203, .15);
	border-radius: 16px;
	background: #0b1b2c;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

html.lfv2-active .lfServicePersonalCard--exact {
	border-color: rgba(245, 197, 24, .48);
}

html.lfv2-active .lfServicePersonalCard:hover {
	transform: translateY(-3px);
	border-color: rgba(245, 197, 24, .58);
	box-shadow: 0 15px 34px rgba(0, 0, 0, .24);
}

html.lfv2-active .lfServicePersonalCard > a,
html.lfv2-active .lfServicePersonalCard > a:visited {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	color: inherit !important;
	text-decoration: none;
}

html.lfv2-active .lfServicePersonalCard__match {
	position: absolute;
	z-index: 2;
	top: 10px;
	left: 10px;
	max-width: calc(100% - 20px);
	padding: 7px 9px;
	border: 1px solid rgba(163, 190, 214, .18);
	border-radius: 9px;
	background: rgba(5, 15, 25, .9);
	color: #c9d8e6;
	font-size: 11px;
	font-weight: 750;
}

html.lfv2-active .lfServicePersonalCard--exact .lfServicePersonalCard__match {
	border-color: var(--lfsp-accent);
	background: var(--lfsp-accent);
	color: #09111a;
}

html.lfv2-active .lfServicePersonalCard__poster {
	display: block;
	position: relative;
	aspect-ratio: 155 / 220;
	overflow: hidden;
	background: #07111d;
}

html.lfv2-active .lfServicePersonalCard__poster img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

html.lfv2-active .lfServicePersonalCard__body {
	display: flex;
	min-height: 146px;
	flex: 1;
	flex-direction: column;
	padding: 14px;
}

html.lfv2-active .lfServicePersonalCard__body > strong {
	display: -webkit-box;
	overflow: hidden;
	color: #fff;
	font-size: 15px;
	font-weight: 760;
	line-height: 1.28;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

html.lfv2-active .lfServicePersonalCard__meta {
	display: block;
	margin-top: 9px;
	color: #7fa0bf;
	font-size: 12px;
	font-weight: 650;
}

html.lfv2-active .lfServicePersonalCard__ratings {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: auto;
	padding-top: 18px;
}

html.lfv2-active .lfServicePersonalCard__ratings > span {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid rgba(154, 183, 208, .18);
	border-radius: 8px;
	background: #081522;
}

html.lfv2-active .lfServicePersonalCard__ratings em,
html.lfv2-active .lfServicePersonalCard__ratings b {
	padding: 5px 7px;
	font-size: 11px;
	font-style: normal;
}

html.lfv2-active .lfServicePersonalCard__ratings em {
	color: #7fa0bf;
	font-weight: 650;
}

html.lfv2-active .lfServicePersonalCard__ratings b {
	border-left: 1px solid rgba(154, 183, 208, .13);
	color: var(--lfsp-accent);
}

html.lfv2-active .lfServicePersonalThemes {
	padding: 30px;
	border: 1px solid var(--lfsp-line);
	border-radius: 20px;
	background: rgba(9, 25, 41, .72);
}

html.lfv2-active .lfServicePersonalThemes .lfServicePersonalSectionHead > a,
html.lfv2-active .lfServicePersonalThemes .lfServicePersonalSectionHead > a:visited {
	color: #c7d6e4 !important;
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
}

html.lfv2-active .lfServicePersonalThemes .lfServicePersonalSectionHead > a:hover {
	color: var(--lfsp-accent) !important;
}

html.lfv2-active .lfServicePersonalThemes__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 15px;
}

html.lfv2-active .lfServicePersonalThemeCard,
html.lfv2-active .lfServicePersonalThemeCard:visited {
	position: relative;
	display: block;
	min-width: 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border: 1px solid rgba(150, 179, 204, .16);
	border-radius: 14px;
	background: #07131f;
	color: #fff !important;
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease;
}

html.lfv2-active .lfServicePersonalThemeCard:hover {
	transform: translateY(-2px);
	border-color: rgba(245, 197, 24, .56);
}

html.lfv2-active .lfServicePersonalThemeCard::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(2, 9, 16, .94), rgba(2, 9, 16, .05) 70%);
}

html.lfv2-active .lfServicePersonalThemeCard img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .28s ease;
}

html.lfv2-active .lfServicePersonalThemeCard:hover img {
	transform: scale(1.035);
}

html.lfv2-active .lfServicePersonalThemeCard > span {
	position: absolute;
	z-index: 2;
	left: 15px;
	right: 15px;
	bottom: 14px;
	display: -webkit-box;
	overflow: hidden;
	color: #fff;
	font-size: 15px;
	font-weight: 760;
	line-height: 1.25;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

html.lfv2-active .lfServicePersonalThemes__grid > .lfServicePersonalAdSlot {
	grid-column: 1 / -1;
}

@media (max-width: 1180px) {
	html.lfv2-active .lfServicePersonalHero {
		grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
		padding: 46px;
	}

	html.lfv2-active .lfServicePersonalGrid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}}

@media (max-width: 980px) {
	html.lfv2-active .lfServicePersonalHero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	html.lfv2-active .lfServicePersonalHero__art {
		display: none;
	}

	html.lfv2-active .lfServicePersonalForm__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html.lfv2-active .lfServicePersonalGrid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	html.lfv2-active .lfServicePersonalThemes__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}}

@media (max-width: 720px) {
	html.lfv2-active .lfServicePersonalBreadcrumbs {
		margin: 15px 0;
		overflow-x: auto;
		white-space: nowrap;
	}

	html.lfv2-active .lfServicePersonalHero {
		padding: 30px 22px;
		border-radius: 18px;
	}

	html.lfv2-active .lfServicePersonalHero h1 {
		font-size: clamp(36px, 11vw, 52px);
	}

	html.lfv2-active .lfServicePersonalHero p {
		font-size: 16px;
	}

	html.lfv2-active .lfServicePersonalFormSection,
	html.lfv2-active .lfServicePersonalThemes {
		padding: 20px;
		border-radius: 16px;
	}

	html.lfv2-active .lfServicePersonalSectionHead,
	html.lfv2-active .lfServicePersonalResults__head {
		align-items: flex-start;
		flex-direction: column;
	}

	html.lfv2-active .lfServicePersonalForm__grid {
		grid-template-columns: 1fr;
	}

	html.lfv2-active .lfServicePersonalForm__actions {
		align-items: stretch;
		flex-direction: column;
	}

	html.lfv2-active .lfServicePersonalGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	html.lfv2-active .lfServicePersonalCard__body {
		min-height: 137px;
		padding: 12px;
	}

	html.lfv2-active .lfServicePersonalThemes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 11px;
	}}

@media (max-width: 390px) {
	html.lfv2-active .lfServicePersonalHero__chips {
		align-items: stretch;
		flex-direction: column;
	}

	html.lfv2-active .lfServicePersonalHero__chips span {
		justify-content: center;
	}

	html.lfv2-active .lfServicePersonalCard__match {
		font-size: 10px;
	}}


/* ======================================================================
 * LikeFilm Service Personal — VER21 layout containment fix
 * Prevent legacy floated ad markup from pushing the collections heading
 * outside the section.
 * ====================================================================== */
html.lfv2-active .lfServicePersonalAdSlot {
	display: flow-root;
	clear: both;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	contain: layout;
}

html.lfv2-active .lfServicePersonalThemes {
	display: flow-root;
	clear: both;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}

html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	clear: both;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead > div {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 760px;
}

html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead h2 {
	max-width: 100%;
	overflow-wrap: anywhere;
}

html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead > a,
html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead > a:visited {
	flex: 0 0 auto;
	max-width: 190px;
	white-space: normal;
	text-align: right;
}

html.lfv2-active .lfServicePersonalThemes__grid {
	clear: both;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

@media (max-width: 720px) {
	html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead {
		align-items: flex-start;
		flex-direction: column;
	}

	html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead > a,
	html.lfv2-active .lfServicePersonalThemes > .lfServicePersonalSectionHead > a:visited {
		max-width: 100%;
		text-align: left;
	}}


/* ======================================================================
 * LikeFilm Service Trailers — VER22
 * /service/{movies|tv-series}/trailer[/year/YYYY]/
 * ====================================================================== */

html.lfv2-active .lfServiceTrailerPage {
	--lftr-bg: #07111d;
	--lftr-panel: #0b1b2b;
	--lftr-panel-strong: #0d2235;
	--lftr-border: rgba(122, 151, 181, 0.22);
	--lftr-text: #f4f7fb;
	--lftr-muted: #9eb0c4;
	--lftr-accent: #f5c518;
	--lftr-accent-hover: #ffd42a;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 24px 24px 72px;
	box-sizing: border-box;
	color: var(--lftr-text);
}

html.lfv2-active .lfServiceTrailerBreadcrumbs {
	margin: 0 0 18px;
	font-size: 13px;
	line-height: 1.5;
}

html.lfv2-active .lfServiceTrailerBreadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

html.lfv2-active .lfServiceTrailerBreadcrumbs li {
	display: inline-flex;
	align-items: center;
	color: #d7e2ee;
}

html.lfv2-active .lfServiceTrailerBreadcrumbs li + li::before {
	content: "›";
	margin-right: 7px;
	color: #61778e;
}

html.lfv2-active .lfServiceTrailerBreadcrumbs a,
html.lfv2-active .lfServiceTrailerBreadcrumbs a:link,
html.lfv2-active .lfServiceTrailerBreadcrumbs a:visited {
	color: #8fa7bf !important;
	text-decoration: none;
}

html.lfv2-active .lfServiceTrailerBreadcrumbs a:hover {
	color: #ffffff !important;
}

html.lfv2-active .lfServiceTrailerHero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.42fr);
	min-height: 440px;
	overflow: hidden;
	border: 1px solid rgba(245, 197, 24, 0.18);
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 22%, rgba(245, 197, 24, 0.13), transparent 34%),
		linear-gradient(118deg, #0c2236 0%, #071421 57%, #15180d 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

html.lfv2-active .lfServiceTrailerHero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 48px 58px;
}

html.lfv2-active .lfServiceTrailerHero__eyebrow,
html.lfv2-active .lfServiceTrailerResults__head span {
	display: block;
	margin-bottom: 14px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--lftr-accent);
}

html.lfv2-active .lfServiceTrailerHero h1 {
	max-width: 790px;
	margin: 0;
	font-size: clamp(43px, 4.35vw, 68px);
	font-weight: 720;
	line-height: 1.02;
	letter-spacing: -0.045em;
	color: #f5f7fb;
}

html.lfv2-active .lfServiceTrailerHero p {
	max-width: 750px;
	margin: 24px 0 0;
	font-size: 18px;
	line-height: 1.55;
	color: #c6d3e1;
}

html.lfv2-active .lfServiceTrailerHero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

html.lfv2-active .lfServiceTrailerButton,
html.lfv2-active .lfServiceTrailerButton:link,
html.lfv2-active .lfServiceTrailerButton:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 22px;
	border: 1px solid rgba(133, 158, 184, 0.28);
	border-radius: 14px;
	background: rgba(5, 17, 29, 0.72);
	color: #f5f7fa !important;
	font-size: 15px;
	font-weight: 750;
	text-decoration: none;
	box-sizing: border-box;
	transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

html.lfv2-active .lfServiceTrailerButton:hover,
html.lfv2-active .lfServiceTrailerButton:focus-visible {
	border-color: rgba(245, 197, 24, 0.62);
	background: rgba(11, 30, 48, 0.96);
	transform: translateY(-1px);
}

html.lfv2-active .lfServiceTrailerButton--primary,
html.lfv2-active .lfServiceTrailerButton--primary:link,
html.lfv2-active .lfServiceTrailerButton--primary:visited {
	border-color: #f5c518 !important;
	background: #f5c518 !important;
	color: #09111a !important;
}

html.lfv2-active .lfServiceTrailerButton--primary:hover,
html.lfv2-active .lfServiceTrailerButton--primary:focus-visible {
	border-color: #ffd42a !important;
	background: #ffd42a !important;
	color: #09111a !important;
}

html.lfv2-active .lfServiceTrailerHero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 22px;
}

html.lfv2-active .lfServiceTrailerHero__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid rgba(130, 156, 183, 0.21);
	border-radius: 999px;
	background: rgba(5, 18, 31, 0.66);
	color: #adc0d3;
	font-size: 13px;
	font-weight: 700;
}

html.lfv2-active .lfServiceTrailerHero__meta strong {
	margin-right: 5px;
	color: #ffffff;
}

html.lfv2-active .lfServiceTrailerHero__art {
	position: relative;
	min-height: 100%;
}

html.lfv2-active .lfServiceTrailerHero__art::before,
html.lfv2-active .lfServiceTrailerHero__art::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(245, 197, 24, 0.15);
	border-radius: 50%;
}

html.lfv2-active .lfServiceTrailerHero__art::before {
	width: 390px;
	height: 390px;
	right: -74px;
	bottom: -116px;
}

html.lfv2-active .lfServiceTrailerHero__art::after {
	width: 245px;
	height: 245px;
	right: 36px;
	top: 92px;
}

html.lfv2-active .lfServiceTrailerHero__screen {
	position: absolute;
	z-index: 2;
	left: 46%;
	top: 49%;
	width: 210px;
	height: 128px;
	border: 1px solid rgba(95, 143, 190, 0.42);
	border-radius: 20px;
	background: linear-gradient(145deg, #173e63, #0c253e);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25);
	transform: translate(-50%, -50%) rotate(-4deg);
}

html.lfv2-active .lfServiceTrailerHero__screen i {
	position: absolute;
	left: 18px;
	right: 18px;
	top: 17px;
	height: 8px;
	border-radius: 999px;
	background: rgba(152, 184, 213, 0.16);
}

html.lfv2-active .lfServiceTrailerHero__screen b {
	position: absolute;
	left: 50%;
	top: 52%;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--lftr-accent);
	color: #07111d;
	font-size: 23px;
	font-style: normal;
	transform: translate(-50%, -50%);
}

html.lfv2-active .lfServiceTrailerHero__frame {
	position: absolute;
	z-index: 1;
	width: 104px;
	height: 66px;
	border: 1px solid rgba(86, 133, 176, 0.34);
	border-radius: 14px;
	background: rgba(16, 49, 78, 0.78);
}

html.lfv2-active .lfServiceTrailerHero__frame--one {
	left: 8%;
	top: 27%;
	transform: rotate(-12deg);
}

html.lfv2-active .lfServiceTrailerHero__frame--two {
	right: 7%;
	bottom: 23%;
	transform: rotate(10deg);
}

html.lfv2-active .lfServiceTrailerHero__year {
	position: absolute;
	right: 30px;
	top: 22px;
	font-size: 58px;
	font-weight: 780;
	letter-spacing: -0.05em;
	color: rgba(245, 197, 24, 0.88);
}

html.lfv2-active .lfServiceTrailerFallback {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 18px;
	padding: 18px 20px;
	border: 1px solid rgba(245, 197, 24, 0.24);
	border-radius: 16px;
	background: rgba(245, 197, 24, 0.065);
}

html.lfv2-active .lfServiceTrailerFallback > span {
	display: grid;
	place-items: center;
	flex: 0 0 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--lftr-accent);
	color: #07111d;
	font-weight: 900;
}

html.lfv2-active .lfServiceTrailerFallback strong {
	display: block;
	margin-bottom: 4px;
	color: #ffffff;
}

html.lfv2-active .lfServiceTrailerFallback p {
	margin: 0;
	color: #aebed0;
}

html.lfv2-active .lfServiceTrailerFilters {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	align-items: start;
	gap: 18px;
	margin-top: 20px;
	padding: 18px 20px;
	border: 1px solid rgba(112, 142, 172, 0.18);
	border-radius: 18px;
	background: #0b1c2d;
}

html.lfv2-active .lfServiceTrailerFilters > strong {
	padding-top: 9px;
	font-size: 14px;
	color: #c4d2df;
}

html.lfv2-active .lfServiceTrailerFilters > div {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	min-width: 0;
}

html.lfv2-active .lfServiceTrailerChip,
html.lfv2-active .lfServiceTrailerChip:link,
html.lfv2-active .lfServiceTrailerChip:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(119, 149, 179, 0.22);
	border-radius: 999px;
	background: rgba(5, 18, 31, 0.62);
	color: #a9bdd0 !important;
	font-size: 13px;
	font-weight: 720;
	text-decoration: none;
}

html.lfv2-active .lfServiceTrailerChip:hover,
html.lfv2-active .lfServiceTrailerChip:focus-visible {
	border-color: rgba(245, 197, 24, 0.56);
	color: #ffffff !important;
}

html.lfv2-active .lfServiceTrailerChip.is-active,
html.lfv2-active .lfServiceTrailerChip.is-active:link,
html.lfv2-active .lfServiceTrailerChip.is-active:visited {
	border-color: #f5c518 !important;
	background: #f5c518 !important;
	color: #08111b !important;
}

html.lfv2-active .lfServiceTrailerResults {
	margin-top: 42px;
}

html.lfv2-active .lfServiceTrailerResults__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

html.lfv2-active .lfServiceTrailerResults__head span {
	margin-bottom: 8px;
}

html.lfv2-active .lfServiceTrailerResults__head h2 {
	margin: 0;
	font-size: clamp(32px, 3.2vw, 48px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: #f5f7fb;
}

html.lfv2-active .lfServiceTrailerResults__head > strong {
	padding-bottom: 8px;
	color: #9eb7cf;
	font-size: 14px;
	white-space: nowrap;
}

html.lfv2-active .lfServiceTrailerGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	min-width: 0;
}

html.lfv2-active .lfServiceTrailerCard {
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(117, 146, 174, 0.18);
	border-radius: 18px;
	background: #0b1a29;
	box-shadow: 0 15px 34px rgba(0, 0, 0, 0.11);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

html.lfv2-active .lfServiceTrailerCard:hover {
	border-color: rgba(245, 197, 24, 0.36);
	box-shadow: 0 20px 42px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}

html.lfv2-active .lfServiceTrailerCard__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #02070c;
}

html.lfv2-active .lfServiceTrailerCard__play {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: #02070c;
	cursor: pointer;
}

html.lfv2-active .lfServiceTrailerCard__play::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 35%, rgba(2, 8, 14, 0.76) 100%);
}

html.lfv2-active .lfServiceTrailerCard__play img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.28s ease, opacity 0.2s ease;
}

html.lfv2-active .lfServiceTrailerCard:hover .lfServiceTrailerCard__play img {
	transform: scale(1.025);
}

html.lfv2-active .lfServiceTrailerCard__play > span {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 48%;
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: #f5c518;
	color: #07111d;
	font-size: 24px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
	transform: translate(-50%, -50%);
	transition: background 0.18s ease, transform 0.18s ease;
}

html.lfv2-active .lfServiceTrailerCard__play:hover > span,
html.lfv2-active .lfServiceTrailerCard__play:focus-visible > span {
	background: #ffd42a;
	transform: translate(-50%, -50%) scale(1.06);
}

html.lfv2-active .lfServiceTrailerCard__play > em {
	position: absolute;
	z-index: 2;
	left: 18px;
	bottom: 15px;
	color: #ffffff;
	font-size: 13px;
	font-style: normal;
	font-weight: 750;
}

html.lfv2-active .lfServiceTrailerCard__media iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 100%;
	border: 0;
}

html.lfv2-active .lfServiceTrailerCard__body {
	display: flex;
	flex-direction: column;
	min-height: 154px;
	padding: 17px 18px 18px;
	box-sizing: border-box;
}

html.lfv2-active .lfServiceTrailerCard__title,
html.lfv2-active .lfServiceTrailerCard__title:link,
html.lfv2-active .lfServiceTrailerCard__title:visited {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #ffffff !important;
	font-size: 18px;
	font-weight: 780;
	line-height: 1.25;
	text-decoration: none;
}

html.lfv2-active .lfServiceTrailerCard__title:hover {
	color: #f5c518 !important;
}

html.lfv2-active .lfServiceTrailerCard__alternative {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	margin-top: 6px;
	color: #8fa5ba;
	font-size: 13px;
	font-style: italic;
}

html.lfv2-active .lfServiceTrailerCard__meta {
	margin-top: 8px;
	color: #8ea7bf;
	font-size: 13px;
	font-weight: 650;
}

html.lfv2-active .lfServiceTrailerCard__ratings {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 16px;
}

html.lfv2-active .lfServiceTrailerCard__ratings > span {
	display: inline-flex;
	align-items: center;
	min-height: 31px;
	overflow: hidden;
	border: 1px solid rgba(118, 148, 178, 0.24);
	border-radius: 9px;
	background: rgba(4, 16, 27, 0.66);
}

html.lfv2-active .lfServiceTrailerCard__ratings em,
html.lfv2-active .lfServiceTrailerCard__ratings b {
	padding: 0 8px;
	font-size: 12px;
	font-style: normal;
}

html.lfv2-active .lfServiceTrailerCard__ratings em {
	color: #87a4bf;
}

html.lfv2-active .lfServiceTrailerCard__ratings b {
	border-left: 1px solid rgba(118, 148, 178, 0.18);
	color: #f5c518;
}

html.lfv2-active .lfServiceTrailerAdSlot {
	display: flow-root;
	clear: both;
	grid-column: 1 / -1;
	width: 100%;
	min-width: 0;
	margin: 12px 0 18px;
	overflow: hidden;
}

html.lfv2-active .lfServiceTrailerAdSlot--top {
	margin-top: 0;
	margin-bottom: 24px;
}

html.lfv2-active .lfServiceTrailerEmpty {
	display: grid;
	place-items: center;
	min-height: 280px;
	padding: 42px;
	border: 1px dashed rgba(119, 149, 179, 0.25);
	border-radius: 20px;
	background: rgba(10, 28, 45, 0.54);
	text-align: center;
}

html.lfv2-active .lfServiceTrailerEmpty > span {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(245, 197, 24, 0.12);
	color: #f5c518;
	font-size: 25px;
}

html.lfv2-active .lfServiceTrailerEmpty h3 {
	margin: 18px 0 6px;
	color: #ffffff;
}

html.lfv2-active .lfServiceTrailerEmpty p {
	margin: 0;
	color: #9fb1c3;
}

@media (max-width: 1050px) {
	html.lfv2-active .lfServiceTrailerHero {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	html.lfv2-active .lfServiceTrailerHero__content {
		padding: 42px;
	}

	html.lfv2-active .lfServiceTrailerGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}}

@media (max-width: 760px) {
	html.lfv2-active .lfServiceTrailerPage {
		padding: 16px 14px 54px;
	}

	html.lfv2-active .lfServiceTrailerHero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	html.lfv2-active .lfServiceTrailerHero__content {
		padding: 34px 24px 38px;
	}

	html.lfv2-active .lfServiceTrailerHero h1 {
		font-size: clamp(38px, 11vw, 53px);
	}

	html.lfv2-active .lfServiceTrailerHero p {
		font-size: 16px;
	}

	html.lfv2-active .lfServiceTrailerHero__art {
		display: none;
	}

	html.lfv2-active .lfServiceTrailerFilters {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 16px;
	}

	html.lfv2-active .lfServiceTrailerFilters > strong {
		padding-top: 0;
	}

	html.lfv2-active .lfServiceTrailerResults__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	html.lfv2-active .lfServiceTrailerResults__head > strong {
		padding-bottom: 0;
	}

	html.lfv2-active .lfServiceTrailerGrid {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	html.lfv2-active .lfServiceTrailerCard__body {
		min-height: 140px;
	}}

@media (max-width: 480px) {
	html.lfv2-active .lfServiceTrailerHero__actions,
	html.lfv2-active .lfServiceTrailerHero__actions a {
		width: 100%;
	}

	html.lfv2-active .lfServiceTrailerHero__meta span {
		min-height: 34px;
		padding: 0 11px;
	}}


/* ================================================================
 * LikeFilm Service Random — VER23
 * ================================================================ */

html.lfv2-active .lfServiceRandomPage {
	--lfr-bg: #07111d;
	--lfr-panel: #0b1c2d;
	--lfr-panel-soft: #0d2236;
	--lfr-border: rgba(116, 148, 179, 0.22);
	--lfr-text: #f6f8fb;
	--lfr-muted: #9eb2c5;
	--lfr-accent: #f5c518;
	width: min(1180px, calc(100% - 36px));
	margin: 0 auto;
	padding: 24px 0 72px;
	color: var(--lfr-text);
	box-sizing: border-box;
}

html.lfv2-active .lfServiceRandomPage *,
html.lfv2-active .lfServiceRandomPage *::before,
html.lfv2-active .lfServiceRandomPage *::after {
	box-sizing: border-box;
}

html.lfv2-active .lfServiceRandomBreadcrumbs {
	margin: 0 0 18px;
}

html.lfv2-active .lfServiceRandomBreadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #8fa5ba;
	font-size: 13px;
}

html.lfv2-active .lfServiceRandomBreadcrumbs li:not(:last-child)::after {
	content: "›";
	margin-left: 8px;
	color: #526c84;
}

html.lfv2-active .lfServiceRandomBreadcrumbs a,
html.lfv2-active .lfServiceRandomBreadcrumbs a:visited {
	color: #9eb5ca !important;
	text-decoration: none;
}

html.lfv2-active .lfServiceRandomBreadcrumbs a:hover {
	color: #ffffff !important;
}

html.lfv2-active .lfServiceRandomHero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	min-height: 430px;
	overflow: hidden;
	border: 1px solid rgba(245, 197, 24, 0.18);
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 14%, rgba(245, 197, 24, 0.17), transparent 35%),
		linear-gradient(118deg, #0b2034 0%, #091725 58%, #171a11 100%);
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.2);
}

html.lfv2-active .lfServiceRandomHero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 52px 56px;
}

html.lfv2-active .lfServiceRandomHero__eyebrow,
html.lfv2-active .lfServiceRandomControls header span {
	color: var(--lfr-accent);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

html.lfv2-active .lfServiceRandomHero h1 {
	max-width: 760px;
	margin: 18px 0 18px;
	color: #ffffff;
	font-size: clamp(47px, 5.1vw, 72px);
	font-weight: 500;
	letter-spacing: -0.045em;
	line-height: 1.01;
}

html.lfv2-active .lfServiceRandomHero p {
	max-width: 680px;
	margin: 0;
	color: #c5d3df;
	font-size: 18px;
	line-height: 1.55;
}

html.lfv2-active .lfServiceRandomHero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 30px;
}

html.lfv2-active .lfServiceRandomHero__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid rgba(125, 157, 187, 0.24);
	border-radius: 999px;
	background: rgba(5, 18, 31, 0.48);
	color: #c4d4e2;
	font-size: 13px;
	font-weight: 720;
}

html.lfv2-active .lfServiceRandomHero__art {
	position: relative;
	min-height: 100%;
}

html.lfv2-active .lfServiceRandomHero__art::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -130px;
	width: 390px;
	height: 390px;
	border: 1px solid rgba(245, 197, 24, 0.13);
	border-radius: 50%;
}

html.lfv2-active .lfServiceRandomHero__orbit {
	position: absolute;
	left: 42px;
	top: 76px;
	width: 270px;
	height: 270px;
	border: 1px solid rgba(245, 197, 24, 0.18);
	border-radius: 50%;
	transform: rotate(-14deg);
}

html.lfv2-active .lfServiceRandomHero__orbit::before,
html.lfv2-active .lfServiceRandomHero__orbit::after {
	content: "";
	position: absolute;
	inset: 34px -28px;
	border: 1px solid rgba(83, 119, 151, 0.21);
	border-radius: 50%;
	transform: rotate(38deg);
}

html.lfv2-active .lfServiceRandomHero__orbit::after {
	inset: 72px -48px;
	transform: rotate(-32deg);
}

html.lfv2-active .lfServiceRandomHero__card {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 112px;
	height: 152px;
	border: 1px solid rgba(67, 113, 155, 0.72);
	border-radius: 18px;
	background: linear-gradient(155deg, #173c61, #0d263e);
	color: var(--lfr-accent);
	font-size: 38px;
	font-weight: 800;
	box-shadow: 0 22px 40px rgba(0, 0, 0, 0.28);
}

html.lfv2-active .lfServiceRandomHero__card--one {
	left: 30px;
	top: 64px;
	transform: rotate(-12deg);
}

html.lfv2-active .lfServiceRandomHero__card--two {
	left: 146px;
	top: 126px;
	transform: rotate(5deg);
}

html.lfv2-active .lfServiceRandomHero__card--three {
	left: 244px;
	top: 54px;
	transform: rotate(13deg);
}

html.lfv2-active .lfServiceRandomHero__art > strong {
	position: absolute;
	left: 78px;
	bottom: 54px;
	color: rgba(245, 197, 24, 0.85);
	font-size: 38px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

html.lfv2-active .lfServiceRandomControls {
	margin-top: 28px;
	padding: 28px 30px 30px;
	border: 1px solid var(--lfr-border);
	border-radius: 22px;
	background: linear-gradient(145deg, #0d2236, #0a1a2a);
}

html.lfv2-active .lfServiceRandomControls > header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 24px;
}

html.lfv2-active .lfServiceRandomControls h2 {
	margin: 8px 0 0;
	color: #ffffff;
	font-size: clamp(31px, 4vw, 46px);
	font-weight: 530;
	letter-spacing: -0.035em;
}

html.lfv2-active .lfServiceRandomControls header p {
	max-width: 470px;
	margin: 0 0 6px;
	color: #9eb3c7;
	font-size: 14px;
	line-height: 1.5;
}

html.lfv2-active .lfServiceRandomForm {
	display: grid;
	grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.45fr);
	gap: 18px 22px;
}

html.lfv2-active .lfServiceRandomForm fieldset {
	min-width: 0;
	margin: 0;
	padding: 18px;
	border: 1px solid rgba(111, 145, 176, 0.18);
	border-radius: 16px;
	background: rgba(4, 17, 29, 0.46);
}

html.lfv2-active .lfServiceRandomForm legend {
	padding: 0 7px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 760;
}

html.lfv2-active .lfServiceRandomYears {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: end;
	gap: 12px;
}

html.lfv2-active .lfServiceRandomYears label,
html.lfv2-active .lfServiceRandomYears label > span {
	display: block;
}

html.lfv2-active .lfServiceRandomYears label > span {
	margin-bottom: 7px;
	color: #91a9bf;
	font-size: 12px;
	font-weight: 700;
}

html.lfv2-active .lfServiceRandomYears i {
	padding-bottom: 14px;
	color: #617e99;
	font-style: normal;
}

html.lfv2-active .lfServiceRandomYears input,
html.lfv2-active .lfServiceRandomGenreToggle {
	width: 100%;
	height: 48px;
	border: 1px solid rgba(116, 151, 183, 0.28);
	border-radius: 11px;
	outline: 0;
	background: #081827;
	color: #ffffff;
	font: inherit;
}

html.lfv2-active .lfServiceRandomYears input {
	padding: 0 13px;
	font-size: 15px;
}

html.lfv2-active .lfServiceRandomYears input:focus,
html.lfv2-active .lfServiceRandomGenreToggle:focus-visible {
	border-color: rgba(245, 197, 24, 0.75);
	box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.1);
}

html.lfv2-active .lfServiceRandomGenrePicker {
	position: relative;
}

html.lfv2-active .lfServiceRandomGenreToggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 15px;
	cursor: pointer;
	text-align: left;
}

html.lfv2-active .lfServiceRandomGenreToggle i {
	color: var(--lfr-accent);
	font-style: normal;
	font-size: 18px;
	transition: transform 0.18s ease;
}

html.lfv2-active .lfServiceRandomGenreToggle[aria-expanded="true"] i {
	transform: rotate(180deg);
}

html.lfv2-active .lfServiceRandomGenrePanel {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
	max-height: 320px;
	overflow: auto;
	padding: 8px;
	border: 1px solid rgba(116, 151, 183, 0.3);
	border-radius: 14px;
	background: #081827;
	box-shadow: 0 24px 56px rgba(0, 0, 0, 0.4);
}

html.lfv2-active .lfServiceRandomGenrePanel[hidden] {
	display: none !important;
}

html.lfv2-active .lfServiceRandomGenrePanel label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 9px 10px;
	border-radius: 9px;
	color: #c7d5e1;
	cursor: pointer;
}

html.lfv2-active .lfServiceRandomGenrePanel label:hover {
	background: rgba(245, 197, 24, 0.08);
}

html.lfv2-active .lfServiceRandomGenrePanel input {
	accent-color: #f5c518;
}

html.lfv2-active .lfServiceRandomGenrePanel small {
	color: #6f8aa2;
	font-size: 11px;
}

html.lfv2-active .lfServiceRandomSelectedGenres {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	min-height: 8px;
	margin-top: 10px;
}

html.lfv2-active .lfServiceRandomSelectedGenres span {
	display: inline-flex;
	align-items: center;
	min-height: 29px;
	padding: 0 10px;
	border: 1px solid rgba(245, 197, 24, 0.25);
	border-radius: 999px;
	background: rgba(245, 197, 24, 0.08);
	color: #f1d766;
	font-size: 12px;
	font-weight: 700;
}

html.lfv2-active .lfServiceRandomForm__actions {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	gap: 12px;
	padding-top: 3px;
}

html.lfv2-active .lfServiceRandomButton,
html.lfv2-active .lfServiceRandomButton:link,
html.lfv2-active .lfServiceRandomButton:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid rgba(115, 149, 180, 0.3);
	border-radius: 12px;
	background: #081827;
	color: #dce8f2 !important;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

html.lfv2-active .lfServiceRandomButton:hover,
html.lfv2-active .lfServiceRandomButton:focus-visible {
	border-color: rgba(245, 197, 24, 0.6);
	transform: translateY(-1px);
}

html.lfv2-active .lfServiceRandomButton--primary,
html.lfv2-active .lfServiceRandomButton--primary:link,
html.lfv2-active .lfServiceRandomButton--primary:visited {
	border-color: #f5c518 !important;
	background: #f5c518 !important;
	color: #07111d !important;
}

html.lfv2-active .lfServiceRandomButton--primary:hover,
html.lfv2-active .lfServiceRandomButton--primary:focus-visible {
	border-color: #ffd42a !important;
	background: #ffd42a !important;
	color: #07111d !important;
}

html.lfv2-active .lfServiceRandomButton[disabled] {
	cursor: wait;
	opacity: 0.65;
	transform: none;
}

html.lfv2-active .lfServiceRandomForm__message {
	grid-column: 1 / -1;
	min-height: 20px;
	margin: 0;
	color: #f1c95a;
	text-align: center;
	font-size: 13px;
}

html.lfv2-active .lfServiceRandomResult {
	min-height: 360px;
	margin-top: 28px;
}

html.lfv2-active .lfServiceRandomResult.is-loading {
	opacity: 0.72;
}

html.lfv2-active .lfServiceRandomLoading,
html.lfv2-active .lfServiceRandomEmpty {
	display: grid;
	place-items: center;
	min-height: 320px;
	padding: 42px;
	border: 1px dashed rgba(117, 150, 180, 0.25);
	border-radius: 22px;
	background: rgba(9, 27, 43, 0.62);
	text-align: center;
}

html.lfv2-active .lfServiceRandomLoading > span {
	width: 44px;
	height: 44px;
	border: 3px solid rgba(245, 197, 24, 0.18);
	border-top-color: #f5c518;
	border-radius: 50%;
	animation: lfServiceRandomSpin 0.8s linear infinite;
}

@keyframes lfServiceRandomSpin {
	to { transform: rotate(360deg); }
}

html.lfv2-active .lfServiceRandomLoading strong,
html.lfv2-active .lfServiceRandomEmpty h3 {
	margin-top: 16px;
	color: #ffffff;
	font-size: 22px;
}

html.lfv2-active .lfServiceRandomLoading p,
html.lfv2-active .lfServiceRandomEmpty p {
	margin: 6px 0 0;
	color: #9eb2c5;
}

html.lfv2-active .lfServiceRandomEmpty > span {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: rgba(245, 197, 24, 0.1);
	color: #f5c518;
	font-size: 28px;
}

html.lfv2-active .lfServiceRandomResultCard {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr);
	overflow: hidden;
	border: 1px solid rgba(117, 150, 180, 0.23);
	border-radius: 24px;
	background: linear-gradient(142deg, #0c2032, #091827);
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.2);
}

html.lfv2-active .lfServiceRandomResultCard__media {
	position: relative;
	min-height: 470px;
	overflow: hidden;
	background: #02070c;
}

html.lfv2-active .lfServiceRandomResultCard__media > a,
html.lfv2-active .lfServiceRandomResultCard__play {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 470px;
	margin: 0;
	padding: 0;
	border: 0;
	background: #02070c;
	cursor: pointer;
}

html.lfv2-active .lfServiceRandomResultCard__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 470px;
	object-fit: cover;
}

html.lfv2-active .lfServiceRandomResultCard__play::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.58));
}

html.lfv2-active .lfServiceRandomResultCard__play > span {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 48%;
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: #f5c518;
	color: #07111d;
	font-size: 28px;
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.38);
	transform: translate(-50%, -50%);
}

html.lfv2-active .lfServiceRandomResultCard__play > em {
	position: absolute;
	z-index: 2;
	left: 24px;
	bottom: 22px;
	color: #ffffff;
	font-style: normal;
	font-size: 14px;
	font-weight: 800;
}

html.lfv2-active .lfServiceRandomResultCard__media iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 470px;
	border: 0;
}

html.lfv2-active .lfServiceRandomResultCard__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 38px 40px;
}

html.lfv2-active .lfServiceRandomResultCard__eyebrow {
	color: #f5c518;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.04em;
}

html.lfv2-active .lfServiceRandomResultCard h2 {
	margin: 12px 0 0;
	font-size: clamp(30px, 3.3vw, 47px);
	font-weight: 560;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

html.lfv2-active .lfServiceRandomResultCard h2 a,
html.lfv2-active .lfServiceRandomResultCard h2 a:visited {
	color: #ffffff !important;
	text-decoration: none;
}

html.lfv2-active .lfServiceRandomResultCard h2 a:hover {
	color: #f5c518 !important;
}

html.lfv2-active .lfServiceRandomResultCard__alternative {
	margin: 7px 0 0;
	color: #91a7bc;
	font-style: italic;
}

html.lfv2-active .lfServiceRandomResultCard__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

html.lfv2-active .lfServiceRandomResultCard__meta > span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 11px;
	border: 1px solid rgba(115, 149, 180, 0.22);
	border-radius: 9px;
	background: rgba(4, 16, 27, 0.58);
	color: #b5c8d8;
	font-size: 12px;
	font-weight: 720;
}

html.lfv2-active .lfServiceRandomResultCard__meta em {
	margin-right: 7px;
	color: #84a0b8;
	font-style: normal;
}

html.lfv2-active .lfServiceRandomResultCard__meta b {
	color: #f5c518;
}

html.lfv2-active .lfServiceRandomResultCard__genres {
	margin-top: 14px;
	color: #f0d66b;
	font-size: 14px;
	font-weight: 680;
}

html.lfv2-active .lfServiceRandomResultCard__description {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	margin: 18px 0 0;
	color: #bdcbd7;
	font-size: 15px;
	line-height: 1.58;
}

html.lfv2-active .lfServiceRandomResultCard__criteria {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 8px;
	margin-top: 20px;
	padding: 14px 16px;
	border: 1px solid rgba(245, 197, 24, 0.18);
	border-radius: 12px;
	background: rgba(245, 197, 24, 0.055);
}

html.lfv2-active .lfServiceRandomResultCard__criteria strong {
	color: #ffffff;
	font-size: 13px;
}

html.lfv2-active .lfServiceRandomResultCard__criteria span {
	color: #d6bf62;
	font-size: 13px;
}

html.lfv2-active .lfServiceRandomResultCard__criteria small {
	flex-basis: 100%;
	color: #7891a7;
	font-size: 11px;
}

html.lfv2-active .lfServiceRandomResultCard__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

html.lfv2-active .lfServiceRandomNoScript {
	margin-top: 18px;
	padding: 15px;
	border: 1px solid rgba(245, 197, 24, 0.25);
	border-radius: 12px;
	color: #f4d55a;
}

@media (max-width: 1040px) {
	html.lfv2-active .lfServiceRandomHero {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	html.lfv2-active .lfServiceRandomHero__content {
		padding: 44px;
	}

	html.lfv2-active .lfServiceRandomHero__art {
		transform: scale(0.82);
		transform-origin: center right;
	}

	html.lfv2-active .lfServiceRandomResultCard {
		grid-template-columns: 1fr 1fr;
	}}

@media (max-width: 780px) {
	html.lfv2-active .lfServiceRandomPage {
		width: min(100% - 28px, 1180px);
		padding-top: 16px;
	}

	html.lfv2-active .lfServiceRandomHero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	html.lfv2-active .lfServiceRandomHero__content {
		padding: 36px 25px 40px;
	}

	html.lfv2-active .lfServiceRandomHero__art {
		display: none;
	}

	html.lfv2-active .lfServiceRandomControls {
		padding: 23px 18px;
	}

	html.lfv2-active .lfServiceRandomControls > header {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	html.lfv2-active .lfServiceRandomForm {
		grid-template-columns: 1fr;
	}

	html.lfv2-active .lfServiceRandomForm__actions,
	html.lfv2-active .lfServiceRandomForm__message {
		grid-column: auto;
	}

	html.lfv2-active .lfServiceRandomGenrePanel {
		grid-template-columns: 1fr;
	}

	html.lfv2-active .lfServiceRandomResultCard {
		grid-template-columns: 1fr;
	}

	html.lfv2-active .lfServiceRandomResultCard__media,
	html.lfv2-active .lfServiceRandomResultCard__media > a,
	html.lfv2-active .lfServiceRandomResultCard__play,
	html.lfv2-active .lfServiceRandomResultCard__media img,
	html.lfv2-active .lfServiceRandomResultCard__media iframe {
		min-height: 300px;
	}

	html.lfv2-active .lfServiceRandomResultCard__body {
		padding: 28px 24px 31px;
	}}

@media (max-width: 480px) {
	html.lfv2-active .lfServiceRandomHero h1 {
		font-size: 42px;
	}

	html.lfv2-active .lfServiceRandomHero__meta span {
		width: 100%;
		justify-content: center;
	}

	html.lfv2-active .lfServiceRandomYears {
		grid-template-columns: 1fr 1fr;
	}

	html.lfv2-active .lfServiceRandomYears i {
		display: none;
	}

	html.lfv2-active .lfServiceRandomForm__actions,
	html.lfv2-active .lfServiceRandomResultCard__actions {
		flex-direction: column;
	}

	html.lfv2-active .lfServiceRandomButton {
		width: 100%;
	}}


/* ========================================================================
   THEME LIST PAGE — fix 24: compact mobile first-screen experience
   - hero ends immediately after the type switch;
   - paired collection types remain fully visible in two equal columns;
   - topics and sort options use deliberate touch rails;
   - movie description and footer use the full card width on phones;
   - cookie notice no longer covers a quarter of the viewport.
   ======================================================================== */

.lfThemeSort__rail {
	display: contents;
}

@media (max-width: 680px) {
	.lfThemePage {
		padding-top: 10px;
	}

	.lfThemePage .lfThemeHero {
		height: auto;
		min-height: 0 !important;
		margin-bottom: 14px;
		border-radius: 18px;
	}

	.lfThemePage .lfThemeHero__content {
		box-sizing: border-box;
		width: 100%;
		padding: 26px 18px 18px;
	}

	.lfThemePage .lfThemeHero__title {
		font-size: clamp(38px, 11vw, 46px);
		line-height: 1.02;
		letter-spacing: -.04em;
	}

	.lfThemePage .lfThemeHero__description {
		margin-top: 14px;
		font-size: 15px;
		line-height: 1.5;
		-webkit-line-clamp: 3;
	}

	.lfThemePage .lfThemeHero__meta {
		margin-top: 16px;
	}

	.lfThemePage .lfThemeHero__switch {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
		box-sizing: border-box;
		width: 100%;
		margin-top: 18px;
		overflow: visible;
	}

	.lfThemePage .lfThemeHero__switchItem {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		min-height: 44px;
		padding: 0 9px;
		overflow: hidden;
		font-size: 13px;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.lfThemePage .lfThemeToolbar {
		margin-bottom: 0;
		padding: 18px 16px 14px;
		border-radius: 16px 16px 0 0;
	}

	.lfThemePage .lfThemeTopics__list {
		margin-right: -16px;
		padding: 0 18px 4px 0;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: 0 18px;
	}

	.lfThemePage .lfThemeTopics__link {
		min-height: 39px;
		padding-right: 14px;
		padding-left: 14px;
	}

	.lfThemePage .lfThemeSort,
	.lfThemeToolbar + .lfThemeResults .lfThemeSort {
		display: block !important;
		margin-bottom: 18px !important;
		padding: 12px 12px 13px !important;
		overflow: visible !important;
		border-radius: 0 0 16px 16px !important;
	}

	.lfThemePage .lfThemeSort__label {
		display: block;
		width: 100%;
		padding: 1px 7px 10px;
		white-space: normal;
	}

	.lfThemePage .lfThemeSort__rail {
		display: flex;
		gap: 7px;
		box-sizing: border-box;
		width: 100%;
		margin: 0;
		padding: 0 5px 2px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.lfThemePage .lfThemeSort__rail::-webkit-scrollbar {
		display: none;
	}

	.lfThemePage .lfThemeSort__rail > * {
		flex: 0 0 auto;
		scroll-snap-align: start;
		white-space: nowrap;
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVWrapper {
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-areas:
			"media title"
			"content content";
		column-gap: 14px;
		row-gap: 14px;
		padding: 12px;
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVContent {
		box-sizing: border-box;
		padding: 14px 2px 2px;
		border-top: 1px solid rgba(148, 163, 184, .13);
	}

	.lfThemeResults.lfv2-page .uiFilmCardFacts {
		margin-top: 0;
	}

	.lfThemeResults.lfv2-page .uiFilmCardDescWrapper,
	.lfThemeResults.lfv2-page .uiFilmCardDescWrapper.isShort {
		margin-top: 14px;
	}

	.lfThemeResults.lfv2-page .uiFilmCardDescription {
		line-height: 1.58;
	}

	.lfThemeResults.lfv2-page .uiFilmCardFooter {
		margin-top: 15px;
	}}

@media (max-width: 460px) {
	.lfThemePage .lfThemeHero__content {
		padding-right: 16px;
		padding-left: 16px;
	}

	.lfThemePage .lfThemeHero__title {
		font-size: clamp(36px, 10.8vw, 44px);
	}

	.lfThemePage .lfThemeHero__switchItem {
		font-size: 12.5px;
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVWrapper {
		grid-template-columns: 104px minmax(0, 1fr);
		column-gap: 12px;
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVTrailer {
		height: 156px;
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVTitle .uiH2,
	.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2 {
		font-size: 1.12rem;
		line-height: 1.28;
	}}

.lfThemeInlineCollections {
	box-sizing: border-box;
	width: 100%;
	margin: 30px 0 8px;
	padding: 25px 0 4px;
	border-top: 1px solid rgba(148, 163, 184, .13);
}

.lfThemeInlineCollections__head {
	margin: 0 0 15px;
}

.lfThemeInlineCollections__eyebrow {
	display: block;
	margin: 0 0 5px;
	color: var(--lfv2-accent);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .11em;
	line-height: 1.25;
	text-transform: uppercase;
}

.lfThemeInlineCollections__title {
	margin: 0;
	color: var(--lfv2-text);
	font-size: clamp(21px, 2.4vw, 28px);
	font-weight: 820;
	letter-spacing: -.025em;
	line-height: 1.18;
}

html.lfv2-active.light-theme .lfThemeInlineCollections {
	border-top-color: rgba(30, 50, 75, .12);
}

html.lfv2-active.light-theme .lfThemeInlineCollections__title {
	color: #17212d;
}

@media (max-width: 680px) {
	.lfThemeResults.lfv2-page .uiFilmCardFacts--content {
		display: none;
	}

	.lfThemeResults.lfv2-page .uiFilmCardFacts--mobileHead {
		display: flex;
		margin: 12px 0 0;
		font-size: .78rem;
		line-height: 1.48;
	}

	.lfThemeResults.lfv2-page .uiFilmCardFacts--mobileHead .uiFilmCardFacts__item,
	.lfThemeResults.lfv2-page .uiFilmCardFacts--mobileHead .uiFilmCardFacts__separator {
		display: inline !important;
	}

	/* Возвращаем реальные карточки актёров, которые старое правило скрывало до 460px. */
	.lfThemeResults.lfv2-page .uiFilmCardCast {
		margin-top: 16px;
		padding-top: 14px;
	}

	.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider {
		display: block !important;
		overflow: visible;
	}

	.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 14px;
	}

	.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__people {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 9px;
		min-height: 38px;
	}

	.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__people__inside_post,
	.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__people__poster img {
		width: 34px;
		min-width: 34px;
		height: 34px;
	}

	.lfThemeResults.lfv2-page .uiFilmCardCast__title {
		margin-bottom: 10px;
	}

	/* Осознанное продолжение горизонтальной сортировки вместо одиночной обрезанной буквы. */
	.lfThemePage .lfThemeSort__rail {
		padding-right: 52px;
		-webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%);
		mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%);
	}

	.lfThemePage .lfThemeSort__rail .lfThemeSort__link {
		padding-right: 13px;
		padding-left: 13px;
	}

	.lfThemeInlineCollections {
		margin-top: 26px;
		padding-top: 21px;
	}

	.lfThemeInlineCollections__head {
		padding: 0 2px;
		margin-bottom: 13px;
	}

	.lfThemeInlineCollections__title {
		font-size: 21px;
	}}

@media (max-width: 460px) {
	.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__container {
		grid-template-columns: 1fr;
	}

	.lfThemeResults.lfv2-page .uiFilmCardFacts--mobileHead {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}}


/* ========================================================================
   THEME LIST PAGE — fix 28: pagination before footer recommendations
   ======================================================================== */

.lfThemePostPaginationRecommendations {
	box-sizing: border-box;
	width: 100%;
	margin-top: 34px;
	padding-top: 6px;
}

@media (max-width: 680px) {
	.lfThemePostPaginationRecommendations {
		margin-top: 24px;
		padding-top: 2px;
	}}

/* OpenSans ставится первым, поэтому типографика больше не зависит от того,
 * установлен ли локально Helvetica Neue. Формы наследуют тот же шрифт. */
/* Шрифт задаётся корневым контейнерам и наследуется обычным текстом.
 * Нельзя назначать font-family через универсальный селектор всем потомкам:
 * он перезаписывает FontAwesome у .fa и превращает иконки в квадраты. */
html.lfv2-active :where(.homeV2-page, .lfThemePage, .lfThemeResults.lfv2-page) {
	font-family: var(--lf-font-ui);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html.lfv2-active :where(.homeV2-page, .lfThemePage, .lfThemeResults.lfv2-page)
:where(button, input, select, textarea, option) {
	font-family: inherit;
}

/* Защитное правило для Font Awesome 4. Основное объявление обычно приходит
 * из font-awesome.css; здесь фиксируем семейство на случай более ранней загрузки. */
html.lfv2-active :where(.homeV2-page, .lfThemePage, .lfThemeResults.lfv2-page) .fa,
html.lfv2-active :where(.homeV2-page, .lfThemePage, .lfThemeResults.lfv2-page) .fa::before,
html.lfv2-active :where(.homeV2-page, .lfThemePage, .lfThemeResults.lfv2-page) .fa::after {
	font-family: FontAwesome !important;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ------------------------------
 * Подборки: та же шкала ролей
 * ------------------------------ */
.lfThemeHero__eyebrow,
.lfThemeToolbar__eyebrow {
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .1em;
}

.lfThemeHero__title {
	color: var(--lf-type-primary);
	font-size: clamp(36px, 3.65vw, 50px);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.038em;
}

.lfThemeHero__description {
	color: var(--lf-type-secondary);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.62;
}

.lfThemeHero__metaItem {
	color: var(--lf-type-secondary);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.3;
}

.lfThemeHero__switchItem {
	color: var(--lf-type-label);
	font-size: 13px;
	font-weight: 750;
	line-height: 1.2;
}

.lfThemeToolbar__title {
	color: var(--lf-type-primary);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.022em;
}

.lfThemeFilter__label,
.lfThemeSort__label {
	color: var(--lf-type-muted);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .075em;
}

.lfThemeFilter__select {
	color: var(--lf-type-primary);
	font-size: 13px;
	font-weight: 650;
	line-height: 1.3;
}

.lfThemeTopics__title {
	color: var(--lf-type-label);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
}

.lfThemeTopics__link,
.lfThemePage .lfThemeSort .uiPanelAnkListElement,
.lfThemePage .lfThemeSort .uiPanelAnkListElementCurrent,
.lfThemePage .lfThemeSort__item,
.lfThemePage .lfThemeSort .lfThemeSort__link {
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

/* ------------------------------
 * Карточки фильмов в подборках
 * ------------------------------ */
.lfThemeResults.lfv2-page .uiMovieVarXVTitle .uiH2,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2:link,
.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2:visited {
	color: var(--lf-type-primary);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -.018em;
}

.lfThemeResults.lfv2-page .uiFilmCardAltName {
	color: var(--lf-type-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

.lfThemeResults.lfv2-page .uiFilmCardRatingCompact {
	color: var(--lf-type-primary);
	font-size: 14px;
	font-weight: 800;
}

.lfThemeResults.lfv2-page .uiFilmCardFacts,
.lfThemeResults.lfv2-page .uiFilmCardFacts a {
	color: var(--lf-type-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
}

.lfThemeResults.lfv2-page .uiFilmCardDescription {
	color: var(--lf-type-secondary);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.58;
}

.lfThemeResults.lfv2-page .uiFilmCardReadMore {
	font-size: 13px;
	font-weight: 750;
	line-height: 1.35;
}

.lfThemeResults.lfv2-page .uiFilmCardCast__title {
	color: var(--lf-type-label);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
}

.lfThemeResults.lfv2-page .uiFilmCardCast .uiPeopleSmartSlider__people__name {
	color: var(--lf-type-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__people__desc {
	color: var(--lf-type-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

.lfThemeResults.lfv2-page .uiFilmCardSimilaritySignal,
.lfThemeResults.lfv2-page .uiFilmCardFooter {
	font-size: 12px;
	line-height: 1.45;
}

/* На тёмной теме вторичный текст должен выглядеть вторичным, но не
 * отключённым. Убираем чрезмерное визуальное затухание. */
html.lfv2-active:not(.light-theme) .lfThemeResults.lfv2-page .uiFilmCardDescription,
html.lfv2-active:not(.light-theme) .lfThemeResults.lfv2-page .uiFilmCardFacts,
html.lfv2-active:not(.light-theme) .lfThemeResults.lfv2-page .uiFilmCardFacts a,
html.lfv2-active:not(.light-theme) .lfThemeResults.lfv2-page .uiFilmCardAltName,
html.lfv2-active:not(.light-theme) .lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__people__desc {
	opacity: 1;
}html.lfv2-active.light-theme .lfThemeHero__title,
html.lfv2-active.light-theme .lfThemeToolbar__title,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiMovieVarXVTitle .uiH2,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2{
	color: var(--lf-type-primary);
}html.lfv2-active.light-theme .lfThemeHero__description,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiFilmCardDescription{
	color: var(--lf-type-secondary);
}html.lfv2-active.light-theme .lfThemeFilter__label,
html.lfv2-active.light-theme .lfThemeSort__label,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiFilmCardAltName,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiFilmCardFacts,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiFilmCardFacts a,
html.lfv2-active.light-theme .lfThemeResults.lfv2-page .uiFilmCardCast .uiFilmListPeopleSmartSlider__people__desc{
	color: var(--lf-type-muted);
}

@media (max-width: 680px) {

	.lfThemePage .lfThemeHero__title {
		font-size: clamp(34px, 10.5vw, 44px);
		line-height: 1.03;
	}

	.lfThemePage .lfThemeHero__description {
		font-size: 14px;
		line-height: 1.55;
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVTitle .uiH2,
	.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2 {
		font-size: 17px;
		line-height: 1.28;
	}

	.lfThemeResults.lfv2-page .uiFilmCardDescription {
		font-size: 13.5px;
		line-height: 1.58;
	}

	.lfThemeResults.lfv2-page .uiFilmCardFacts,
	.lfThemeResults.lfv2-page .uiFilmCardFacts a {
		font-size: 12px;
	}}

@media (max-width: 460px) {

	.lfThemePage .lfThemeHero__title {
		font-size: clamp(32px, 10vw, 41px);
	}

	.lfThemeResults.lfv2-page .uiMovieVarXVTitle .uiH2,
	.lfThemeResults.lfv2-page .uiMovieVarXVTitle a.uiH2 {
		font-size: 16px;
	}}