.hyperight-play {
	--hp-gap: 1.25rem;
	--hp-radius: 6px;
	--hp-border: #d8d8d8;
	--hp-muted: #666;
	--hp-text: inherit;
	--hp-bg: transparent;
	width: 100%;
}

.hyperight-play.is-loading .hyperight-play__grid {
	opacity: 0.45;
	pointer-events: none;
}

.hyperight-play__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem 1rem;
	margin-bottom: 1.5rem;
}

.hyperight-play__filter {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 10rem;
}

.hyperight-play__filter--action {
	min-width: auto;
}

.hyperight-play__filter-label {
	font-size: 0.85rem;
	line-height: 1.2;
	color: var(--hp-muted);
	min-height: 1.02rem;
}

.hyperight-play__filter-label--spacer {
	visibility: hidden;
	user-select: none;
}

.hyperight-play__filters select {
	box-sizing: border-box;
	min-height: 2.5rem;
	height: 2.5rem;
	padding: 0.4rem 0.65rem;
	border: 1px solid var(--hp-border);
	border-radius: var(--hp-radius);
	background: #fff;
	color: inherit;
	font: inherit;
}

.hyperight-play button.hyperight-play__reset,
.hyperight-play .hyperight-play__reset {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	height: 2.5rem;
	padding: 0 0.85rem;
	border: 1px solid #bdbdbd !important;
	border-radius: var(--hp-radius);
	background: #f5f5f5 !important;
	color: #1a1a1a !important;
	font: inherit;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	text-shadow: none !important;
	box-shadow: none !important;
	text-transform: none;
	letter-spacing: normal;
	margin: 0;
}

.hyperight-play button.hyperight-play__reset:hover,
.hyperight-play button.hyperight-play__reset:focus,
.hyperight-play .hyperight-play__reset:hover,
.hyperight-play .hyperight-play__reset:focus {
	background: #e8e8e8 !important;
	color: #1a1a1a !important;
	border-color: #999 !important;
}

.hyperight-play__status {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1rem;
	margin-bottom: 1rem;
}

.hyperight-play__heading {
	font-weight: 600;
	font-size: 1.1rem;
}

.hyperight-play__count {
	color: var(--hp-muted);
	font-size: 0.9rem;
}

.hyperight-play__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--hp-gap);
	transition: opacity 0.15s ease;
}

.hyperight-play__card {
	margin: 0;
}

.hyperight-play__card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.hyperight-play__card-link:hover .hyperight-play__title,
.hyperight-play__card-link:focus .hyperight-play__title {
	text-decoration: underline;
}

.hyperight-play__thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--hp-radius);
	background: #ececec;
}

.hyperight-play__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hyperight-play__thumb--empty {
	background: linear-gradient(135deg, #e8e8e8, #f5f5f5);
}

.hyperight-play__card-body {
	padding-top: 0.75rem;
}

.hyperight-play__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.65rem;
	margin: 0 0 0.35rem;
	font-size: 0.8rem;
	color: var(--hp-muted);
}

.hyperight-play__title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 600;
}

.hyperight-play__empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 2rem 0;
	color: var(--hp-muted);
}

.hyperight-play__loading {
	margin-top: 0.75rem;
	color: var(--hp-muted);
	font-size: 0.9rem;
}

.hyperight-play__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

.hyperight-play__pagination button,
.hyperight-play button.hyperight-play__prev,
.hyperight-play button.hyperight-play__next {
	min-height: 2.25rem;
	padding: 0.45rem 1rem;
	border: 1px solid #bdbdbd !important;
	border-radius: var(--hp-radius);
	background: #f5f5f5 !important;
	color: #1a1a1a !important;
	font: inherit;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	text-shadow: none !important;
	box-shadow: none !important;
}

.hyperight-play__pagination button:hover:not(:disabled),
.hyperight-play button.hyperight-play__prev:hover:not(:disabled),
.hyperight-play button.hyperight-play__next:hover:not(:disabled) {
	background: #e8e8e8 !important;
	color: #1a1a1a !important;
}

.hyperight-play__pagination button:disabled,
.hyperight-play button.hyperight-play__prev:disabled,
.hyperight-play button.hyperight-play__next:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	color: #555 !important;
	background: #f5f5f5 !important;
}

.hyperight-play__page-label {
	font-size: 0.9rem;
	color: var(--hp-muted);
}

@media (max-width: 600px) {
	.hyperight-play__filter {
		flex: 1 1 100%;
	}

	.hyperight-play__filters select,
	.hyperight-play__filter--action,
	.hyperight-play__reset {
		width: 100%;
	}
}
