/**
 * The Nuclear Waste Story podcast: landing page + episode pages.
 * Only enqueued on those views (see inc/podcast.php). Plain CSS, no build step.
 *
 * Brand: Epilogue; ink #07232b, green #16a67b, mint #cfe8d4, putty #f1edea.
 * #128260 is the accessible green, used for text, small elements and controls.
 */

.podcast-scope,
.podcast-hero,
.podcast-about,
.podcast-episodes-row,
.podcast-modal {
	--pod-ink: #07232b;
	--pod-ink-2: #0d3540;
	--pod-green: #16a67b;
	--pod-green-a11y: #128260;
	--pod-green-dark: #0d6a4e;
	--pod-mint: #cfe8d4;
	--pod-putty: #f1edea;
	--pod-putty-2: #e4dfda;
	--pod-line: #d9d4cf;
	--pod-font: 'Epilogue', 'Graphik Regular', sans-serif;
	--pod-radius: 20px;
	--pod-btn-radius: 6px;

	font-family: var(--pod-font);
	color: var(--pod-ink);
}

/* Override the theme's Graphik on headings, copy and controls */
.podcast-scope h1,
.podcast-scope h2,
.podcast-scope h3,
.podcast-scope h4,
.podcast-scope p,
.podcast-scope li,
.podcast-scope a,
.podcast-scope button,
.podcast-scope input,
.podcast-scope select,
.podcast-scope strong,
.podcast-scope b,
.podcast-modal p {
	font-family: var(--pod-font);
}

.podcast-scope *,
.podcast-scope *::before,
.podcast-scope *::after {
	box-sizing: border-box;
}

.podcast-scope [hidden] {
	display: none !important;
}

.podcast-scope :focus-visible {
	outline: 3px solid var(--pod-green-a11y);
	outline-offset: 3px;
}

.podcast-container {
	max-width: 1255px;
	margin: 0 auto;
	padding: 0 25px;
}

/* ---------- Type ---------- */

.podcast-scope .podcast-eyebrow,
.podcast-scope p.podcast-eyebrow,
.podcast-modal .podcast-eyebrow {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pod-green-a11y);
}

.podcast-scope .podcast-kicker {
	margin: 0 0 18px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pod-ink);
}

.podcast-scope .podcast-kicker--small {
	margin: 32px 0 12px;
	font-size: 13px;
}

.podcast-scope .podcast-h2 {
	margin: 0 0 24px;
	padding: 0;
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--pod-ink);
}

.podcast-scope .podcast-label {
	margin-right: 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pod-green-a11y);
}

.podcast-scope .podcast-dot {
	margin: 0 4px;
}

/* ---------- Buttons ---------- */

:is(.podcast-scope, .podcast-hero) .podcast-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 56px;
	padding: 14px 28px;
	border: 2px solid var(--pod-ink);
	border-radius: var(--pod-btn-radius);
	background: transparent;
	color: var(--pod-ink);
	font-family: var(--pod-font);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}

:is(.podcast-scope, .podcast-hero) .podcast-btn svg {
	width: 22px;
	height: 22px;
	flex: none;
}

:is(.podcast-scope, .podcast-hero) .podcast-btn--primary,
:is(.podcast-scope, .podcast-hero) .podcast-btn--primary:visited {
	border-color: var(--pod-green-a11y);
	background: var(--pod-green-a11y);
	color: #fff;
}

:is(.podcast-scope, .podcast-hero) .podcast-btn--primary:hover,
:is(.podcast-scope, .podcast-hero) .podcast-btn--primary:focus-visible {
	border-color: var(--pod-green-dark);
	background: var(--pod-green-dark);
	color: #fff;
}

:is(.podcast-scope, .podcast-hero) .podcast-btn--secondary:visited {
	border-color: var(--pod-ink);
	background: transparent;
	color: var(--pod-ink);
}

/* Play icon on the CTA Button with class "podcast-btn--play" */
.podcast-btn--play .button-text::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin: -3px 8px 0 -4px;
	vertical-align: middle;
	background: currentColor;
	-webkit-mask: url(icons/play-solid.svg) no-repeat center / contain;
	mask: url(icons/play-solid.svg) no-repeat center / contain;
}

:is(.podcast-scope, .podcast-hero) .podcast-btn--secondary:hover,
:is(.podcast-scope, .podcast-hero) .podcast-btn--secondary:focus-visible {
	background: var(--pod-ink);
	color: #fff;
	text-decoration: none;
}

/* Green play circle */
.podcast-scope .podcast-play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 72px;
	height: 72px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pod-green-a11y);
	color: #fff;
	cursor: pointer;
	transition: background-color .2s, transform .2s;
}

.podcast-scope .podcast-play svg {
	width: 40%;
	height: 40%;
	margin-left: 6%;
}

.podcast-scope .podcast-play:hover,
.podcast-scope .podcast-play:focus-visible {
	background: var(--pod-green-dark);
	transform: scale(1.05);
}

/* Listen platforms */
.podcast-scope .podcast-platforms {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.podcast-scope .podcast-platforms li {
	margin: 0;
	padding: 0;
}

.podcast-scope .podcast-platforms li::before {
	display: none;
}

.podcast-scope .podcast-platforms a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 8px 16px 8px 10px;
	border: 1px solid #b9b3ad;
	border-radius: var(--pod-btn-radius);
	background: rgba(255, 255, 255, .35);
	color: var(--pod-ink);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: border-color .2s, background-color .2s;
}

.podcast-scope .podcast-platforms a:hover,
.podcast-scope .podcast-platforms a:focus-visible {
	border-color: var(--pod-ink);
	background: #fff;
}

.podcast-scope .podcast-platforms .icon {
	font-size: 22px;
	line-height: 1;
	color: var(--pod-green-a11y);
}

.podcast-scope .podcast-platforms .icon::before {
	margin: 0;
	width: auto;
}

/* ---------- Landing page wrapper (page-podcasts.php) ---------- */

/* Room for the fixed site header; the theme's banner hero is skipped on this template */
.podcast-landing {
	padding-top: 70px;
}

@media (min-width: 1025px) {
	.podcast-landing {
		padding-top: 140px;
	}
}

.page-template-page-podcasts.no-hero #content {
	padding-top: 0;
}

/* ---------- Paragraph styles (block sidebar: "Podcast: ...") ---------- */

:is(.podcast-scope, .podcast-hero, .podcast-about) p.is-style-podcast-eyebrow {
	margin: 0 0 10px;
	font-family: var(--pod-font);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pod-green-a11y);
}

:is(.podcast-scope, .podcast-hero, .podcast-about) p.is-style-podcast-kicker {
	margin: 0 0 18px;
	font-family: var(--pod-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pod-ink);
}

:is(.podcast-scope, .podcast-hero, .podcast-about) p.is-style-podcast-lede {
	max-width: 34em;
	margin: 0 0 32px;
	font-family: var(--pod-font);
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.55;
	color: var(--pod-ink);
}

/* ---------- Hero (Section block with class "podcast-hero") ---------- */

.podcast-hero.section-block.section {
	padding-top: 56px !important;
	padding-bottom: 0 !important;
	background-color: #f2eeeb;
}

/* Let the artwork position against the whole section, not the content column */
.podcast-hero .container,
.podcast-hero .acf-innerblocks-container {
	position: static;
}

.podcast-hero .acf-innerblocks-container > :not(.podcast-hero__art) {
	position: relative;
	z-index: 1;
}

.podcast-hero h1 {
	margin: 0 0 22px;
	padding: 0;
	font-family: var(--pod-font);
	font-size: clamp(34px, 3.4vw, 52px);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -.02em;
	color: var(--pod-ink);
}

.podcast-actions-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.podcast-actions-row .btn-wrap {
	margin: 0;
}

.podcast-hero p.podcast-listen-label {
	margin: 32px 0 12px;
	font-size: 13px;
}

/* Artwork: an Image block. Below the copy on small screens, filling the right side on large ones. */
.podcast-hero .podcast-hero__art {
	margin: 40px -30px 0;
}

.podcast-hero .podcast-hero__art img {
	display: block;
	width: 100%;
	max-height: 460px;
	margin: 0 auto;
	aspect-ratio: 1760 / 1200;
	object-fit: cover;
	object-position: 100% 50%;
	border-radius: 0;
}

@media (min-width: 1100px) {
	.podcast-hero.section-block.section {
		display: flex;
		align-items: center;
		min-height: 520px;
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}

	.podcast-hero .container {
		width: 100%;
	}

	.podcast-hero .acf-innerblocks-container > :not(.podcast-hero__art) {
		max-width: min(47%, 620px);
	}

	.podcast-hero .acf-innerblocks-container > .podcast-actions-row,
	.podcast-hero .acf-innerblocks-container > .podcast-listen-links {
		max-width: none;
	}

	/* Both button rows stay on one line on desktop; the art starts far enough right to clear them */
	.podcast-hero .podcast-actions-row {
		flex-wrap: nowrap;
	}

	.podcast-hero .podcast-listen-links .podcast-platforms {
		flex-wrap: nowrap;
		gap: 8px;
	}

	.podcast-hero .podcast-listen-links .podcast-platforms a {
		gap: 4px;
		padding: 6px 12px 6px 8px;
		font-size: 14px;
		white-space: nowrap;
	}

	.podcast-hero .podcast-listen-links .podcast-platforms .icon {
		font-size: 18px;
	}

	.podcast-hero .podcast-hero__art {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: max(53%, 640px);
		z-index: 0;
		margin: 0;
	}

	.podcast-hero .podcast-hero__art img {
		width: 100%;
		height: 100%;
		max-height: none;
		aspect-ratio: auto;
	}
}

/* Narrow desktop: the art column is tight, so keep the show title in the crop */
@media (min-width: 1100px) and (max-width: 1279px) {
	.podcast-hero .podcast-hero__art img {
		object-position: 80% 50%;
	}
}

/* ---------- About row (Section block with class "podcast-about") ---------- */

.podcast-about.section-block.section {
	padding-top: 110px;
	padding-bottom: 110px;
}

.podcast-about .wp-block-columns {
	gap: 56px;
	margin-bottom: 0;
}

.podcast-scope :is(.podcast-about, .podcast-episodes__intro) h2,
.podcast-about h2 {
	margin: 0 0 24px;
	padding: 0;
	font-family: var(--pod-font);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--pod-ink);
}

.podcast-about p:not([class*="is-style-podcast"]):not([class*="podcast-host"]) {
	margin: 0 0 20px;
	font-family: var(--pod-font);
	font-size: 17px;
	line-height: 1.65;
	color: #2b3f45;
}

/* Hosts: a Group with class "podcast-hosts". Each column holds a photo (Image
   block) or initials (paragraph, class "podcast-host-initials") and a name
   (paragraph, class "podcast-host-name"). */
.podcast-hosts {
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid var(--pod-line);
}

.podcast-hosts h3 {
	margin: 0 0 20px;
	padding: 0;
	font-family: var(--pod-font);
	font-size: 19px;
	font-weight: 600;
	color: var(--pod-green-a11y);
}

.podcast-about .podcast-hosts .wp-block-columns {
	gap: 16px;
}

.podcast-hosts .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
}

.podcast-hosts p.podcast-host-initials,
.podcast-hosts .wp-block-image img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin: 0;
	border: 1px solid #c9cfd0;
	border-radius: 50%;
	background: #e4e8e8;
	color: #5e6f74;
	font-family: var(--pod-font);
	font-size: 22px;
	font-weight: 700;
	object-fit: cover;
	filter: grayscale(1);
}

.podcast-hosts .wp-block-image {
	margin: 0;
}

.podcast-hosts p.podcast-host-name {
	margin: 0;
	font-family: var(--pod-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--pod-ink);
}

@media (max-width: 560px) {
	.podcast-hosts p.podcast-host-initials,
	.podcast-hosts .wp-block-image img {
		width: 60px;
		height: 60px;
		font-size: 18px;
	}

	.podcast-hosts p.podcast-host-name {
		font-size: 13px;
	}
}

/* ---------- Episodes row (Group with class "podcast-episodes-row") ---------- */

.podcast-episodes-row {
	padding-bottom: 110px;
}

.podcast-episodes__intro p:last-child,
.podcast-scope .podcast-episodes__intro h2:last-child {
	margin-bottom: 0;
}

/* Inside a Section block the container already sets the width */
.container .podcast-container {
	max-width: none;
	padding: 0;
}

/* ---------- Episode cards ---------- */

.podcast-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--pod-radius);
	background: var(--pod-putty);
}

/* The square graphic is cropped from the bottom by the card body */
.podcast-card__art {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / .96;
	background: var(--pod-ink);
}

.podcast-card--featured .podcast-card__art {
	aspect-ratio: 1.8 / 1;
}

.podcast-card__art .podcast-art {
	transition: transform .4s ease;
}

.podcast-card__art:hover .podcast-art {
	transform: scale(1.02);
}

.podcast-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px 28px 30px;
}

.podcast-card__top {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 18px;
}

.podcast-scope .podcast-card__heading p.podcast-eyebrow {
	margin-bottom: 6px;
	font-size: 12px;
}

.podcast-scope .podcast-card__title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.22;
	color: var(--pod-ink);
}

.podcast-scope .podcast-card__title a {
	color: inherit;
	text-decoration: none;
}

.podcast-scope .podcast-card__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.podcast-scope .podcast-featuring {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: var(--pod-ink);
}

.podcast-grid .podcast-featuring {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.podcast-scope .podcast-card__desc {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #2b3f45;
}

.podcast-scope .podcast-card__more {
	margin: 8px 0 0;
	font-size: 15px;
}

.podcast-scope .podcast-readmore {
	font-weight: 700;
	color: var(--pod-ink);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	white-space: nowrap;
}

.podcast-scope .podcast-readmore:hover {
	color: var(--pod-green-a11y);
}

/* Featured (latest) card */
.podcast-card--featured .podcast-card__body {
	padding: 30px 36px 36px;
}

.podcast-card--featured .podcast-play {
	width: 104px;
	height: 104px;
}

.podcast-scope .podcast-card--featured .podcast-card__title {
	font-size: clamp(22px, 2.1vw, 28px);
}

.podcast-scope .podcast-card--featured .podcast-card__desc,
.podcast-scope .podcast-card--featured .podcast-card__more {
	font-size: 17px;
}

@media (max-width: 520px) {
	.podcast-card__body,
	.podcast-card--featured .podcast-card__body {
		padding: 22px 20px 26px;
	}

	.podcast-scope .podcast-play,
	.podcast-card--featured .podcast-play {
		width: 60px;
		height: 60px;
	}
}

/* ---------- Episode graphic ---------- */

.podcast-art {
	display: block;
	width: 100%;
	aspect-ratio: 1;
}

/* Featured image graphic (2026-11-03). The square art the client uploads to
   the podcast platforms, shown whole: never cropped, since it carries text. */
.podcast-card__art:has(.podcast-art--image) {
	aspect-ratio: 1;
}

.podcast-card--featured .podcast-card__art:has(.podcast-art--image) {
	aspect-ratio: 1.8 / 1;
}

.podcast-art--image {
	height: 100%;
	aspect-ratio: auto;
	background: var(--pod-ink);
}

.podcast-art__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	border-radius: 0;
}

.podcast-episode-header__art .podcast-art--image {
	aspect-ratio: 1;
}

.podcast-art--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pod-putty);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* DISABLED 2026-11-03: the HTML-built graphic below is no longer output (see
   di_podcast_art_generated in inc/podcast.php). Kept for a possible revert. */

/* Built from the episode fields; the featured image is the background art */
.podcast-art--generated {
	container-type: inline-size;
	padding: 2.8%;
	background: var(--pod-ink);
}

.podcast-art__panel {
	display: block;
	position: relative;
	overflow: hidden;
	height: 100%;
	padding: 7cqw 7.5cqw;
	border-radius: 2.4cqw;
	background: var(--pod-putty);
	color: var(--pod-ink);
	text-align: left;
}

.podcast-art--dark .podcast-art__panel {
	background: var(--pod-ink-2);
	color: var(--pod-putty);
}

.podcast-art__bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	border-radius: 0;
}

/* The background art brings its own swoosh */
.podcast-art--has-bg .podcast-art__swoosh {
	display: none;
}

.podcast-art__pill {
	display: inline-block;
	position: relative;
	z-index: 2;
	margin-bottom: 3cqw;
	padding: .55em 1.1em .45em;
	border-radius: 99px;
	background: var(--pod-green-a11y);
	color: #fff;
	font-size: 2.7cqw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.podcast-art__title {
	display: block;
	position: relative;
	z-index: 2;
	max-width: 88%;
	font-size: 6.6cqw;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.005em;
}

.podcast-art__host {
	display: block;
	position: relative;
	z-index: 2;
	margin-top: 2.4cqw;
	font-size: 2.3cqw;
	font-weight: 500;
}

.podcast-art__host b,
.podcast-art__featuring b {
	margin-right: .5em;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pod-green);
}

.podcast-art__swoosh {
	position: absolute;
	right: -14cqw;
	bottom: -30cqw;
	width: 70cqw;
	height: 70cqw;
	border-radius: 50%;
	background: var(--pod-green);
}

.podcast-art__swoosh::before {
	content: "";
	position: absolute;
	top: -12cqw;
	left: -62cqw;
	width: 90cqw;
	height: 40cqw;
	border: .5cqw solid var(--pod-green);
	border-color: var(--pod-green) transparent transparent transparent;
	border-radius: 50%;
	opacity: .7;
}

.podcast-art__guest {
	position: absolute;
	left: 7.5cqw;
	bottom: 7cqw;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 3cqw;
}

.podcast-art__headshot {
	display: block;
	width: 27cqw;
	height: 27cqw;
	margin: 0;
	border: .8cqw solid var(--pod-putty);
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(1) contrast(1.05);
}

.podcast-art__featuring {
	display: flex;
	flex-direction: column;
	gap: .5cqw;
	font-size: 2.6cqw;
	font-weight: 600;
	line-height: 1.25;
}

.podcast-art__featuring small {
	max-width: 30cqw;
	font-size: 2.1cqw;
	font-weight: 500;
}

/* ---------- Filter ---------- */

.podcast-episodes {
	padding: 0;
}

.podcast-episodes__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 32px;
	margin-bottom: 24px;
}

.podcast-scope .podcast-filter {
	display: flex;
	flex: 0 1 640px;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
	margin: 0;
}

.podcast-sort {
	flex: none;
}

.podcast-search {
	position: relative;
	display: block;
	flex: 1 1 300px;
}

.podcast-search svg {
	position: absolute;
	top: 50%;
	left: 18px;
	width: 22px;
	height: 22px;
	transform: translateY(-50%);
	color: #5d6b6f;
	pointer-events: none;
}

.podcast-scope .podcast-filter input[type="search"],
.podcast-scope .podcast-filter select {
	box-sizing: border-box;
	height: 52px;
	margin: 0;
	border: 1px solid #c9c3bd;
	border-radius: 99px;
	color: var(--pod-ink);
	font-size: 16px;
	font-style: normal;
	line-height: 1.2;
	text-transform: none;
}

.podcast-scope .podcast-filter input[type="search"] {
	width: 100%;
	min-width: 300px;
	padding: 0 22px 0 52px;
	background: var(--pod-putty);
	-webkit-appearance: none;
	appearance: none;
}

.podcast-scope .podcast-filter input[type="search"]::placeholder {
	color: #66757a;
	font-style: normal;
	text-transform: none;
	opacity: 1;
}

.podcast-scope .podcast-filter input[type="search"]::-webkit-input-placeholder {
	color: #66757a;
	font-style: normal;
	text-transform: none;
}

.podcast-scope .podcast-filter select {
	width: auto;
	min-width: 180px;
	padding: 0 48px 0 24px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2307232b' d='M0 0h12L6 8z'/%3E%3C/svg%3E") no-repeat right 20px center / 11px 7px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.podcast-scope .podcast-filter input[type="search"]:focus,
.podcast-scope .podcast-filter select:focus {
	border-color: var(--pod-green-a11y);
	outline: 2px solid var(--pod-green-a11y);
	outline-offset: 0;
}

/* Season tabs, above the topic chips */
.podcast-seasons {
	display: flex;
	flex-wrap: wrap;
	gap: 0 40px;
	margin-bottom: 32px;
	border-bottom: 1px solid var(--pod-line);
}

.podcast-scope .podcast-season-tab {
	margin: 0 0 -1px;
	padding: 6px 0 16px;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
	color: #6b787c;
	font-family: var(--pod-font);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	transition: color .2s, border-color .2s;
}

.podcast-scope .podcast-season-tab:hover {
	color: var(--pod-ink);
}

.podcast-scope .podcast-season-tab[aria-pressed="true"] {
	border-bottom-color: var(--pod-green);
	color: var(--pod-ink);
	font-weight: 600;
}

.podcast-scope .podcast-season-tab:focus-visible {
	outline: 2px solid var(--pod-green-a11y);
	outline-offset: 4px;
}

@media (max-width: 600px) {
	.podcast-seasons {
		gap: 0 24px;
	}

	.podcast-scope .podcast-season-tab {
		font-size: 17px;
	}
}

.podcast-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 40px;
}

.podcast-scope .podcast-chip {
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid #c9c3bd;
	border-radius: 99px;
	background: #fff;
	color: var(--pod-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s;
}

.podcast-scope .podcast-chip:hover {
	border-color: var(--pod-ink);
}

.podcast-scope .podcast-chip[aria-pressed="true"] {
	border-color: var(--pod-ink);
	background: var(--pod-ink);
	color: #fff;
}

@media (max-width: 600px) {
	.podcast-scope .podcast-filter,
	.podcast-search {
		width: 100%;
	}

	.podcast-scope .podcast-filter input[type="search"] {
		min-width: 0;
	}
}

/* ---------- Grid ---------- */

.podcast-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	margin-top: 8px;
}

@media (min-width: 680px) {
	.podcast-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.podcast-scope .podcast-empty {
	margin: 24px 0 0;
	font-size: 17px;
}

.podcast-more {
	margin-top: 56px;
	text-align: center;
}

/* ---------- Player modal (Fancybox moves it into its own container) ---------- */

.podcast-modal {
	padding: 32px;
	border-radius: 16px;
	background: var(--pod-ink) !important;
	color: var(--pod-putty);
}

.podcast-modal .podcast-eyebrow {
	color: var(--pod-green);
}

.podcast-modal .podcast-modal__title {
	margin: 0 0 20px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

.podcast-modal .podcast-embed > div {
	margin-bottom: 0 !important;
}

/* ---------- Episode page ---------- */

.podcast-episode-page {
	padding: 10px 0 40px;
}

.podcast-scope .podcast-back {
	margin: 0 0 32px;
	font-size: 15px;
	font-weight: 600;
}

.podcast-scope .podcast-back a {
	color: var(--pod-green-a11y);
	text-decoration: none;
}

.podcast-scope .podcast-back a:hover {
	text-decoration: underline;
}

.podcast-episode-header {
	display: grid;
	gap: 36px;
	margin-bottom: 64px;
	padding-bottom: 64px;
	border-bottom: 1px solid var(--pod-line);
}

@media (min-width: 860px) {
	.podcast-episode-header {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 56px;
		align-items: start;
	}
}

.podcast-episode-header__art {
	overflow: hidden;
	max-width: 520px;
	border-radius: var(--pod-radius);
}

.podcast-scope .podcast-episode-header__title {
	margin: 0 0 20px;
	padding: 0;
	font-size: clamp(32px, 3.6vw, 48px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.015em;
	color: var(--pod-ink);
}

.podcast-episode-header__body > .podcast-featuring {
	margin-bottom: 12px;
}

.podcast-scope .podcast-guests {
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.podcast-scope .podcast-guests li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: 0 0 8px;
	padding: 0 0 0 14px;
	border-left: 4px solid var(--pod-green);
}

.podcast-scope .podcast-guests li::before {
	display: none;
}

.podcast-guests__name {
	font-size: 18px;
	font-weight: 700;
}

.podcast-guests__title {
	flex-basis: 100%;
	font-size: 15px;
	color: #2b3f45;
}

.podcast-scope .podcast-episode-header__desc {
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.6;
	color: #2b3f45;
}

.podcast-scope .podcast-anchors {
	margin: 0 0 24px 20px;
}

.podcast-scope .podcast-anchors a {
	color: var(--pod-green-a11y);
}

.podcast-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 8px 0 4px;
}

.podcast-scope .podcast-action {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 104px;
	padding: 14px 16px 12px;
	border: 2px solid var(--pod-green-a11y);
	border-radius: var(--pod-btn-radius);
	background: transparent;
	color: var(--pod-green-a11y);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}

.podcast-scope .podcast-action svg {
	width: 40px;
	height: 40px;
}

.podcast-scope .podcast-action:hover,
.podcast-scope .podcast-action:focus-visible {
	background: var(--pod-green-a11y);
	color: #fff;
	text-decoration: none;
}

.podcast-scope .podcast-platforms--compact a {
	min-height: 40px;
	padding: 6px 14px 6px 8px;
	font-size: 14px;
	background: transparent;
}

/* Transcript */
.podcast-transcript {
	max-width: 820px;
}

.podcast-scope .podcast-transcript .single-copy p,
.podcast-scope .podcast-transcript .single-copy li {
	font-size: 17px;
	line-height: 1.7;
	color: #24363b;
}

.podcast-scope .podcast-transcript .single-copy strong,
.podcast-scope .podcast-transcript .single-copy b {
	color: var(--pod-ink);
	font-weight: 700;
}

.podcast-scope .podcast-transcript .single-copy a {
	color: var(--pod-green-a11y);
}

/* The theme adds 40px top padding to podcast posts; the back link handles spacing now */
.single-post .podcast-episode-page.category-nuclear-waste-podcast {
	padding-top: 10px;
}
