/**
 * Games category filter (shared shell).
 * Title → standard .container
 * Nav / divider → own .container (variant max-width)
 */

.filter {
	--filter-font: var(--site-font, "Open Sans", Inter, sans-serif);
	--filter-title: #ffffff;
	--filter-item: #ffffff;
	--filter-magenta: #d700dc;
	--filter-pink: #ff2e63;
	--filter-active: #faff03;
	--filter-active-bg: rgba(250, 255, 3, 0.1);

	box-sizing: border-box;
	margin: 35px 0 0;
	width: 100%;
}

/* Figma: 1122×1, #FFF 15%, 40px under nav, 45px above games */
.filter__divider {
	background: rgba(255, 255, 255, 0.15);
	border: 0;
	box-sizing: border-box;
	display: block;
	height: 1px;
	margin: 20px auto 23px;
	max-width: 1122px;
	width: 100%;
}

.filter__title {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	gap: 11px;
	height: 30px;
	margin: 0 0 12px;
}

.filter__title-icon {
	align-items: center;
	color: var(--filter-magenta);
	display: inline-flex;
	flex-shrink: 0;
	height: 20px;
	justify-content: center;
	width: 16px;
}

.filter__title-icon svg,
.filter__title-img,
.filter__title-icon .filter__asset {
	display: block;
	height: 20px;
	object-fit: contain;
	width: 16px;
}

.filter__title-text {
	color: var(--filter-title);
	font-family: var(--filter-font);
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 24px;
	white-space: nowrap;
}

.filter__flag {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	height: 15px;
	width: 24px;
}

.filter__flag svg,
.filter__flag-img,
.filter__flag .filter__asset {
	display: block;
	height: 15px;
	object-fit: contain;
	width: 24px;
}

.filter__nav {
	align-items: center;
	border: 0;
	box-shadow: none;
	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	height: 48px;
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	width: 100%;
}

.filter__nav::-webkit-scrollbar {
	display: none;
	height: 0;
}

.filter__item {
	align-items: center;
	border: 0;
	box-sizing: border-box;
	color: var(--filter-item);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--filter-font);
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	gap: 5px;
	height: 18px;
	line-height: 16px;
	outline: none;
	text-decoration: none;
	white-space: nowrap;
}

.filter__item:hover,
.filter__item:focus,
.filter__item:focus-visible,
.filter__item:active {
	border: 0;
	box-shadow: none;
	color: var(--filter-item);
	outline: none;
	text-decoration: none;
}

.filter__item-icon {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	height: 17px;
	justify-content: center;
	width: 16px;
}

.filter__item-icon svg,
.filter__item-img,
.filter__item-icon .filter__asset {
	display: block;
	height: 16px;
	max-height: 17px;
	max-width: 16px;
	object-fit: contain;
	width: 16px;
}

.filter__item--magenta .filter__item-icon {
	color: var(--filter-magenta);
}

.filter__item--pink .filter__item-icon {
	color: var(--filter-pink);
}

.filter__item--multi {
	height: 29px;
}

.filter__item--multi .filter__item-icon {
	height: 29px;
	width: 22px;
}

.filter__item--multi .filter__item-icon svg,
.filter__item--multi .filter__item-icon .filter__asset {
	height: 29px;
	max-height: 29px;
	max-width: 22px;
	width: 22px;
}

.filter__item-label {
	align-items: center;
	display: inline-flex;
	line-height: 16px;
}

@media (max-width: 768px) {
	.filter {
		margin-bottom: 0;
		margin-top: 5px;
	}

	/* Mobile: only title row (294×30), hide nav + divider */
	.filter__body {
		display: none;
	}

	.filter > .container:first-child {
		padding-left: 13px;
		padding-right: 13px;
	}

	.filter__title {
		gap: 11px;
		height: 30px;
		margin: 0;
		max-width: 294px;
		width: 100%;
	}

	.filter__title-icon {
		height: 20px;
		width: 16px;
	}

	.filter__title-icon svg,
	.filter__title-img,
	.filter__title-icon .filter__asset {
		height: 20px;
		width: 16px;
	}

	.filter__title-text {
		color: #ffffff;
		font-family: var(--filter-font);
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 24px;
		white-space: nowrap;
	}

	.filter__flag,
	.filter__flag svg,
	.filter__flag-img,
	.filter__flag .filter__asset {
		height: 15px;
		width: 24px;
	}
}
