.classes-archive {
	padding: 3rem 0;
}

.classes-header {
	display: grid;
	gap: 0.8rem;
	margin-bottom: 2rem;
}

.classes-header .page-title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 2.6rem);
}

.classes-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.8rem;
	align-items: center;
	font-size: 0.9rem;
	color: rgba(17, 17, 17, 0.7);
}

.classes-active-filters__label {
	font-weight: 600;
	color: var(--cgt-red);
}

.classes-active-filters__list {
	display: flex;
	gap: 0.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.classes-active-filters__list li {
	background: rgba(208, 0, 0, 0.1);
	color: var(--cgt-red);
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-weight: 600;
}

.classes-filters {
	display: grid;
	gap: 1rem;
	margin-bottom: 2.5rem;
	padding: 1.5rem;
	background: rgba(229, 231, 235, 0.4);
	border: 1px solid rgba(17, 17, 17, 0.1);
	border-radius: var(--radius);
}

.classes-filters__row {
	display: grid;
	gap: 0.35rem;
}

.classes-filters label {
	font-weight: 600;
	color: rgba(17, 17, 17, 0.7);
}

.classes-filters input[type="search"],
.classes-filters select {
	border: 1px solid rgba(17, 17, 17, 0.18);
	border-radius: var(--radius);
	padding: 0.8rem 1rem;
	font-size: 0.95rem;
	width: 100%;
	background: var(--cgt-white);
}

.classes-filters__actions {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-top: 0.5rem;
}

.classes-results {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.classes-pagination {
	margin-top: 2rem;
}

.classes-pagination ul {
	display: flex;
	gap: 0.45rem;
	list-style: none;
	padding: 0;
	justify-content: center;
	flex-wrap: wrap;
}

.classes-pagination li a,
.classes-pagination li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid var(--cgt-red);
	padding: 0.45rem 0.9rem;
	font-size: 0.9rem;
	color: var(--cgt-red);
}

.classes-pagination li .current {
	background: var(--cgt-red);
	color: var(--cgt-white);
}

.classes-empty {
	margin-top: 2rem;
	font-size: 1.05rem;
	color: rgba(17, 17, 17, 0.7);
	text-align: center;
}

@media (min-width: 720px) {
	.classes-filters {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		align-items: end;
	}

	.classes-filters__row:first-child {
		grid-column: 1 / -1;
	}
}
