/* Block: Courses list. Figma: Courses & Syllabi 1:585-1:661 */

.section--courses-list {
	--pt: clamp(64px, 8.49vw, 163px);
	--pb: clamp(0px, 6.04vw, 116px); /* rows carry their own bottom space; 246 to the next banner */
}

.courses-list__title {
	line-height: 1;
	letter-spacing: -0.05em;
}

.courses-list__intro {
	margin-top: clamp(24px, 2.97vw, 57px);
	padding-left: clamp(0px, 2.08vw, 40px);
}

.courses-list__intro > p:first-child { max-width: 307px; }

.courses-list__rating {
	display: flex;
	flex-wrap: wrap;
	gap: 0 13px;
	margin-top: clamp(16px, 1.3vw, 25px);
	white-space: nowrap;
}

.courses-list__label {
	margin-top: clamp(20px, 1.56vw, 30px);
	font-size: 0.875rem;
	line-height: 1.71;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.courses-list__body {
	display: grid;
	grid-template-columns: 54.55% 40.91%; /* 900 and 675 of 1650 */
	justify-content: space-between;
	align-items: start;
	margin-top: clamp(32px, 3.65vw, 70px);
}

.courses-list__items { margin: 0; }

.courses-list__aside {
	position: sticky;
	top: 24px;
}

.courses-list__media { aspect-ratio: 675 / 1200; }

/* Row ------------------------------------------------------------------------ */
.course-row {
	display: grid;
	grid-template-columns: 45.55% minmax(0, 1fr); /* text column starts 410 into the 900 row */
	padding: clamp(24px, 2.14vw, 41px) 0 clamp(48px, 9.69vw, 186px);
	border-top: 1px solid var(--c-rule);
}

.course-row__title {
	margin-top: clamp(8px, 0.73vw, 14px);
	padding-right: 16px;
	line-height: 1.25;
	letter-spacing: -0.05em;
}

.course-row__title a {
	background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px;
	transition: background-size 0.4s var(--ease);
}

.course-row__title a:hover { background-size: 100% 1px; }

.course-row__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: clamp(20px, 1.56vw, 30px);
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
}

.course-row__link .icon { width: 11px; height: 11px; transition: transform 0.35s var(--ease); }
.course-row__link:hover .icon { transform: translate(2px, -2px); }

.course-row__meta { margin: clamp(48px, 6.25vw, 120px) 0 0; }

.course-row__meta div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-block: clamp(14px, 1.04vw, 20px);
	border-top: 1px solid var(--c-rule);
}

.course-row__meta div:last-child { border-bottom: 1px solid var(--c-rule); }
.course-row__meta dd { margin: 0; text-align: right; }

@media (max-width: 1024px) {
	.courses-list__body { grid-template-columns: 1fr; }

	.courses-list__aside {
		position: static;
		order: -1;
		margin-bottom: var(--space-m);
	}

	.courses-list__media { aspect-ratio: 3 / 2; }
}

@media (max-width: 600px) {
	.course-row {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}
