.shows-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 32px 0;
}

.show-card {
	border: 1px solid var(--pella-line);
	border-radius: 12px;
	overflow: hidden;
	background: var(--pella-white);
}

.show-card__link { display: block; color: inherit; text-decoration: none; height: 100%; }
.show-card__link:hover h2 { color: var(--pella-blue); }
.show-card__link:focus-visible { outline: 3px solid var(--pella-blue); outline-offset: -3px; }
.show-card__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.show-card__body { padding: 24px; }
.show-card h2 { font-size: 1.25rem; line-height: 1.4; margin: 0 0 12px; overflow-wrap: anywhere; }
.show-schedule { color: var(--pella-muted); }
.single-radio_show .show-page__header {
	display: grid;
	align-items: center;
	gap: clamp(24px, 3vw, 40px);
	margin-bottom: 32px;
}
.single-radio_show .show-page__header--with-image { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.single-radio_show .show-page__media { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; align-self: start; }
.single-radio_show .show-page__image { width: 100%; height: 100%; object-fit: cover; }
.single-radio_show .show-page__heading { min-width: 0; }
.single-radio_show .show-page__header .entry-title {
	font-size: clamp(2.25rem, 3.5vw, 3.5rem);
	line-height: 1.06;
	margin-bottom: 20px;
	overflow-wrap: anywhere;
}
.single-radio_show .show-page__header .show-eyebrow { margin-top: 0; }
.single-radio_show .show-page__header .show-schedule { margin-bottom: 0; }
.show-eyebrow { color: var(--pella-blue); font-weight: 700; letter-spacing: .12em; }
.show-recordings { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--pella-line); }
.show-recordings__list { list-style: none; padding: 0; }
.show-recordings__list li { margin: 24px 0; padding-bottom: 24px; border-bottom: 1px solid var(--pella-line); }
.show-recordings time { color: var(--pella-muted); }
.show-recordings h3 { margin: 8px 0 16px; }
.show-recordings audio { display: block; width: min(100%, 600px); }
.show-archive-link { display: inline-block; padding: 12px 20px; border-radius: 6px; color: white; background: var(--pella-blue); font-weight: 700; text-decoration: none; }
.show-archive-link:hover { background: var(--pella-navy); }

@media (max-width: 900px) {
	.shows-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-radio_show .show-page__header--with-image { grid-template-columns: minmax(0, 1fr); }
	.single-radio_show .show-page__header { gap: 24px; }
}

@media (max-width: 600px) {
	.shows-grid { grid-template-columns: 1fr; }
	.single-radio_show .show-page__header { gap: 20px; }
}
