.section-youtube {
	width: 100%;
	max-width: var(--container--width);
	margin-inline: auto;
}

.section-youtube > .section-title > a > svg:first-child {
	width: 1.1em;
	height: 1.1em;
}

.section-youtube > .section-title > a:hover,
.section-youtube > .section-title > a:focus-visible {
	color: var(--color-white);
}

.section-youtube > .section-title > a:hover::before,
.section-youtube > .section-title > a:focus-visible::before {
	border-color: #f00;
	background-color: #f00;
}

.section-youtube > .section-title > a:hover svg,
.section-youtube > .section-title > a:focus-visible svg {
	color: var(--color-white);
}

.section-youtube-grid {
	display: grid;
	gap: var(--layout--padding);
	margin-inline: calc(var(--layout--offset) * -1);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.youtube-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: var(--color-contrast);
	transition: transform .25s ease;
}

.youtube-card-media {
	position: relative;
	border-radius: var(--radius-4);
	background: var(--color-background-200);
	aspect-ratio: 16 / 9;
	overflow: hidden;
	clip-path: inset(0 round var(--radius-4));
	transition: transform .3s cubic-bezier(.4, 0, .21, 1.8);
	will-change: transform;
}

.youtube-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.youtube-card:hover .youtube-card-media {
	transform: scale(1.025);
}

.youtube-card-play {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	display: grid;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .72);
	place-items: center;
	transform: translate(-50%, -50%);
	transition: background-color .2s ease, transform .25s ease;
}

.youtube-card-play::after {
	margin-left: 2px;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #fff;
	content: "";
}

.youtube-card:hover .youtube-card-play {
	background: var(--ghost-accent-color);
	transform: translate(-50%, -50%) scale(1.05);
}

.youtube-card-content {
	padding-top: var(--spacing-6);
	transition: transform .25s ease;
}

.youtube-card-content > span {
	display: block;
	margin-bottom: var(--spacing-2);
	color: var(--color-secondary);
	font-size: var(--font-x-small);
	font-weight: var(--font-medium);
}

.youtube-card-content h3 {
	font-size: 1rem;
	line-height: 1.4;
}

.youtube-card:hover .youtube-card-content {
	transform: translateX(2px);
}

.youtube-card:focus-visible {
	border-radius: var(--radius-4);
	outline: 2px solid var(--ghost-accent-color);
	outline-offset: 4px;
}

@media (width < 720px) {
	.section-youtube-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.youtube-card {
		display: grid;
		align-items: center;
		gap: var(--spacing-7);
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.youtube-card-content {
		padding-top: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.youtube-card,
	.youtube-card-media,
	.youtube-card-content,
	.youtube-card-play {
		transition: none;
	}
}
