.dustflix-home-popular,
.dustflix-home-popular * {
	box-sizing: border-box;
}

.dustflix-home-popular {
	position: relative;
	z-index: 4;
	clear: both;
	width: 100%;
	margin: 0;
	padding: clamp(24px, 3vw, 42px) 0 clamp(18px, 3vw, 34px);
	background:
		linear-gradient(180deg, rgba(5,5,5,.96), #050505 18%, #050505 100%),
		radial-gradient(circle at 10% 0, rgba(229,9,20,.18), transparent 38%);
	color: #fff;
	font-family: inherit;
	opacity: 1;
	transform: translateY(0);
	transition: opacity .28s ease, transform .28s ease;
}

body.dustflix-gate-body .dustflix-home-popular,
body.dustflix-gate-unlocked-body .dustflix-home-popular {
	display: none !important;
}

.dustflix-home-popular[data-dustflix-mounted="1"] {
	animation: dustflixPopularIn .4s ease both;
}

.dustflix-home-popular-inner {
	width: min(100%, 1420px);
	margin: 0 auto;
	padding: 0 clamp(14px, 3vw, 44px);
}

.dustflix-home-platform .dustflix-home-popular {
	z-index: auto;
	width: min(100%, 1560px);
	margin: 0 auto clamp(26px, 4vw, 48px);
	padding: 0;
	background: transparent;
}

.dustflix-home-platform .dustflix-home-popular-inner {
	width: 100%;
	max-width: none;
	padding: 0;
}

.dustflix-home-ad-slots {
	display: grid;
	grid-template-columns: minmax(190px, .28fr) minmax(0, 1fr);
	gap: 14px;
	width: 100%;
	margin: 0 0 clamp(22px, 3vw, 36px);
	padding: 14px 0;
	border-block: 1px solid rgba(255,255,255,.08);
	background:
		linear-gradient(90deg, rgba(255,255,255,.05), rgba(229,9,20,.06), rgba(255,255,255,.025)),
		rgba(8,8,8,.92);
	box-shadow: 0 18px 52px rgba(0,0,0,.32);
	backdrop-filter: blur(16px);
}

.dustflix-home-ad-head {
	display: grid;
	align-content: center;
	min-width: 0;
	padding-left: 12px;
}

.dustflix-home-ad-head p {
	margin: 0 0 6px;
	color: #ff777c;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}

.dustflix-home-ad-head strong {
	margin: 0 0 5px;
	color: #fff;
	font-size: 18px;
	font-weight: 950;
	line-height: 1.06;
}

.dustflix-home-ad-head span {
	max-width: 280px;
	color: rgba(255,255,255,.62);
	font-size: 12px;
	font-weight: 760;
	line-height: 1.35;
}

.dustflix-home-ad-grid {
	display: grid;
	grid-template-columns: 1.45fr 1fr .82fr .68fr;
	gap: 10px;
	min-width: 0;
	align-items: stretch;
	padding-right: 12px;
}

.dustflix-home-ad-slot {
	display: grid;
	grid-template-rows: minmax(86px, 1fr) auto;
	gap: 8px;
	min-width: 0;
	color: #fff;
}

.dustflix-home-ad-canvas {
	position: relative;
	display: grid;
	align-content: end;
	min-height: 88px;
	padding: 12px;
	border: 1px dashed rgba(255,255,255,.2);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.08), rgba(229,9,20,.12)),
		repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 8px, rgba(255,255,255,.015) 8px 16px),
		#121212;
	overflow: hidden;
}

.dustflix-home-ad-slot.is-large .dustflix-home-ad-canvas {
	min-height: 112px;
}

.dustflix-home-ad-slot.is-mini .dustflix-home-ad-canvas {
	min-height: 72px;
}

.dustflix-home-ad-price {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 9px;
	border-radius: 6px;
	background: #fff;
	color: #050505;
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
}

.dustflix-home-ad-canvas strong {
	display: block;
	max-width: calc(100% - 62px);
	color: #fff;
	font-size: 17px;
	font-weight: 950;
	line-height: 1.08;
}

.dustflix-home-ad-canvas small {
	display: block;
	margin-top: 4px;
	color: rgba(255,255,255,.7);
	font-size: 11px;
	font-weight: 820;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.dustflix-home-ad-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
	padding-inline: 2px;
}

.dustflix-home-ad-meta strong,
.dustflix-home-ad-meta span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dustflix-home-ad-meta strong {
	color: rgba(255,255,255,.86);
	font-size: 12px;
	font-weight: 950;
}

.dustflix-home-ad-meta span {
	color: rgba(255,255,255,.48);
	font-size: 11px;
	font-weight: 800;
}

.dustflix-home-platform .dustflix-popular-lane {
	margin: 0;
	padding: 0 clamp(14px, 4vw, 56px);
}

.dustflix-catalog-totals {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: stretch;
	gap: 10px;
	margin: 0 clamp(14px, 4vw, 56px) clamp(22px, 3vw, 34px);
	padding: 10px;
	border: 1px solid rgba(255,255,255,.095);
	border-radius: 8px;
	background:
		linear-gradient(90deg, rgba(255,255,255,.055), rgba(229,9,20,.105), rgba(255,255,255,.025)),
		rgba(10,10,10,.86);
	box-shadow: 0 18px 46px rgba(0,0,0,.28);
}

.dustflix-catalog-totals-copy,
.dustflix-catalog-total-pill {
	min-width: 0;
	border: 1px solid rgba(255,255,255,.075);
	border-radius: 8px;
	background: rgba(255,255,255,.045);
}

.dustflix-catalog-totals-copy {
	display: grid;
	align-content: center;
	gap: 4px;
	padding: 13px 16px;
}

.dustflix-catalog-totals-copy span {
	color: #ff8a8f;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .16em;
	line-height: 1;
	text-transform: uppercase;
}

.dustflix-catalog-totals-copy strong {
	color: #fff;
	font-size: clamp(18px, 2vw, 25px);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.08;
}

.dustflix-catalog-total-pill {
	display: grid;
	align-content: center;
	justify-items: end;
	min-width: 142px;
	padding: 12px 14px;
	text-align: right;
}

.dustflix-catalog-total-pill span {
	color: #fff;
	font-size: clamp(21px, 2.1vw, 30px);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.dustflix-catalog-total-pill strong {
	margin-top: 5px;
	color: rgba(255,255,255,.62);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	text-transform: none;
}

.dustflix-popular-lane + .dustflix-popular-lane {
	margin-top: clamp(24px, 3vw, 38px);
}

.dustflix-popular-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 12px;
}

.dustflix-popular-heading.dustflix-platform-heading > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.13);
	background: rgba(255,255,255,.055);
	color: rgba(255,255,255,.72) !important;
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.dustflix-popular-heading.dustflix-platform-heading > a:hover,
.dustflix-popular-heading.dustflix-platform-heading > a:focus-visible {
	background: rgba(229,9,20,.2);
	border-color: rgba(229,9,20,.45);
	color: #fff !important;
}

.dustflix-popular-heading.dustflix-platform-heading h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(23px, 2.45vw, 36px);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.08;
}

.dustflix-popular-heading.dustflix-platform-heading p {
	margin: 5px 0 0;
	color: rgba(255,255,255,.58);
	font-size: 13px;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.4;
	text-transform: none;
}

.dustflix-popular-row.dustflix-platform-row {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(152px, 182px);
	gap: 14px;
	margin: 0;
	padding: 4px 2px 16px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-padding-inline: 2px;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,.28) transparent;
}

.dustflix-popular-row::-webkit-scrollbar {
	height: 8px;
}

.dustflix-popular-row::-webkit-scrollbar-track {
	background: transparent;
}

.dustflix-popular-row::-webkit-scrollbar-thumb {
	background: rgba(255,255,255,.22);
	border-radius: 999px;
}

.dustflix-popular-card.dustflix-stream-card {
	display: block;
	min-width: 0;
	color: #fff;
	text-decoration: none;
	scroll-snap-align: start;
	outline: none;
}

.dustflix-popular-card.dustflix-stream-card,
.dustflix-popular-card.dustflix-stream-card:visited {
	color: #fff !important;
}

.dustflix-popular-card.dustflix-stream-card:hover,
.dustflix-popular-card.dustflix-stream-card:focus-visible {
	color: #fff;
	text-decoration: none;
}

.dustflix-popular-card:focus-visible .dustflix-popular-poster {
	box-shadow:
		0 0 0 3px rgba(255,255,255,.25),
		0 18px 38px rgba(0,0,0,.46);
}

.dustflix-popular-poster.dustflix-stream-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 2 / 3;
	overflow: hidden;
	border-radius: 8px;
	background:
		linear-gradient(140deg, rgba(229,9,20,.26), rgba(18,18,18,.88)),
		#151515;
	background-position: center;
	background-size: cover;
	box-shadow: 0 13px 32px rgba(0,0,0,.42);
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.dustflix-popular-poster.dustflix-lazy-bg {
	background-image:
		linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
		radial-gradient(circle at 78% 18%, rgba(229,9,20,.26), transparent 34%),
		linear-gradient(135deg, rgba(229,9,20,.18), rgba(255,255,255,.04));
}

.dustflix-popular-poster.dustflix-lazy-bg-loaded {
	background-size: cover;
	background-position: center;
}

.dustflix-popular-poster.dustflix-stream-art::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, transparent 45%, rgba(0,0,0,.55)),
		linear-gradient(90deg, rgba(255,255,255,.07), transparent 26%, transparent 72%, rgba(255,255,255,.04));
	pointer-events: none;
}

.dustflix-popular-poster .dustflix-popular-initial {
	position: relative;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: rgba(229,9,20,.88);
	color: #fff;
	font-size: 28px;
	font-weight: 950;
	line-height: 1;
}

.dustflix-popular-badge {
	position: absolute !important;
	right: 8px !important;
	bottom: 8px !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	min-height: 22px !important;
	padding: 0 8px !important;
	border-radius: 999px !important;
	background: rgba(229,9,20,.94) !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 920 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.34);
}

.dustflix-popular-card:hover .dustflix-popular-poster {
	transform: translateY(-4px) scale(1.018);
	box-shadow: 0 20px 46px rgba(0,0,0,.56);
	filter: saturate(1.08);
}

.dustflix-popular-title.dustflix-stream-card-title {
	display: block;
	margin: 9px 0 2px;
	color: rgba(255,255,255,.96);
	font-size: 14px;
	font-weight: 850;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dustflix-popular-meta.dustflix-stream-card-meta,
.dustflix-popular-card.dustflix-stream-card small {
	display: block;
	color: rgba(255,255,255,.5);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}

@keyframes dustflixPopularIn {
	from {
		opacity: .7;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 780px) {
	.dustflix-home-popular {
		padding-top: 22px;
	}

	.dustflix-home-popular-inner {
		padding: 0 14px;
	}

	.dustflix-home-platform .dustflix-home-popular {
		width: 100%;
		padding-inline: 0;
	}

	.dustflix-home-platform .dustflix-popular-lane {
		padding-inline: 14px;
	}

	.dustflix-catalog-totals {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin-inline: 14px;
		margin-bottom: 20px;
		padding: 8px;
	}

	.dustflix-catalog-totals-copy {
		grid-column: 1 / -1;
		padding: 12px;
	}

	.dustflix-catalog-totals-copy strong {
		font-size: 18px;
		line-height: 1.16;
	}

	.dustflix-catalog-total-pill {
		justify-items: start;
		min-width: 0;
		padding: 12px;
		text-align: left;
	}

	.dustflix-catalog-total-pill span {
		font-size: 23px;
	}

	.dustflix-home-ad-slots {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 18px;
		padding: 14px;
		border-radius: 0;
	}

	.dustflix-home-ad-head {
		padding-left: 0;
	}

	.dustflix-home-ad-head strong {
		font-size: 17px;
	}

	.dustflix-home-ad-head span {
		max-width: none;
	}

	.dustflix-home-ad-grid {
		grid-template-columns: 1fr;
		gap: 10px;
		padding-right: 0;
	}

	.dustflix-home-ad-slot {
		grid-template-rows: auto auto;
	}

	.dustflix-home-ad-slot .dustflix-home-ad-canvas,
	.dustflix-home-ad-slot.is-large .dustflix-home-ad-canvas,
	.dustflix-home-ad-slot.is-mini .dustflix-home-ad-canvas {
		min-height: 104px;
	}

	.dustflix-home-ad-canvas strong {
		max-width: calc(100% - 68px);
		font-size: 16px;
	}

	.dustflix-home-ad-meta strong,
	.dustflix-home-ad-meta span {
		white-space: normal;
	}

	.dustflix-popular-heading {
		align-items: flex-start;
		margin-bottom: 10px;
	}

	.dustflix-popular-heading.dustflix-platform-heading > a {
		min-height: 30px;
		padding-inline: 10px;
		font-size: 11px;
	}

	.dustflix-popular-heading.dustflix-platform-heading h2 {
		font-size: 24px;
		line-height: 1.12;
	}

	.dustflix-popular-heading.dustflix-platform-heading p {
		font-size: 12px;
	}

	.dustflix-popular-row.dustflix-platform-row {
		grid-auto-columns: minmax(124px, 38vw);
		gap: 10px;
		padding-bottom: 14px;
	}

	.dustflix-popular-title.dustflix-stream-card-title {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dustflix-home-popular,
	.dustflix-home-popular[data-dustflix-mounted="1"],
	.dustflix-popular-poster {
		animation: none;
		transition: none;
	}

	.dustflix-popular-card:hover .dustflix-popular-poster {
		transform: none;
	}
}
