/* =============================================================
 * Podcast Show — taxonomy-podcast-category.php
 *
 * Aligned to template-podcasts.css conventions:
 *   - Sora display / Inter body, hub font scale
 *   - 1280px container, 32px gutters, 0.5px borders
 *   - sec-head with icon badge, gap:36px section rhythm
 *   - single per-show accent throughout (no separate teal)
 *
 * Per-show accent is set by the .gc-pc--accent-{slug} class
 * (ACF pc_accent). Zero inline styles, zero !important.
 *
 * @package GC_Theme
 * ============================================================= */

/* ---- tokens ------------------------------------------------- */
.gc-pc{
	--c-navy:#0D1B3E;

	--c-heading:#0D1B3E;
	--c-ink:#1E293B;
	--c-muted:#64748B;
	--c-faint:#94A3B8;
	--c-border:#E2E8F0;
	--c-surface:#ffffff;
	--c-soft:#F8FAFC;

	/* accent — overridden by .gc-pc--accent-* below */
	--c-accent:#00C6AE;
	--c-accent-d:#00A894;
	--c-accent-rgb:0,198,174;

	background:#ffffff;
	color:var(--c-ink);
	font-family:'Inter',system-ui,-apple-system,sans-serif;
}

[data-theme="dark"] .gc-pc{
	--c-heading:#ffffff;
	--c-ink:rgba(255,255,255,.78);
	--c-muted:rgba(255,255,255,.60);
	--c-faint:rgba(255,255,255,.45);
	--c-border:rgba(255,255,255,.08);
	--c-surface:var(--gc-bg-soft);
	--c-soft:rgba(255,255,255,.04);
	background:var(--gc-bg);
}

/* ---- per-show accents (curated, contrast-checked) ---------- */
.gc-pc--accent-teal  { --c-accent:#00C6AE; --c-accent-d:#00A894; --c-accent-rgb:0,198,174; }
.gc-pc--accent-copper{ --c-accent:#C9821E; --c-accent-d:#A86912; --c-accent-rgb:201,130,30; }
.gc-pc--accent-indigo{ --c-accent:#6366F1; --c-accent-d:#4F46E5; --c-accent-rgb:99,102,241; }
.gc-pc--accent-forest{ --c-accent:#2E9E6E; --c-accent-d:#1F8257; --c-accent-rgb:46,158,110; }
.gc-pc--accent-coral { --c-accent:#EC5B43; --c-accent-d:#CC4126; --c-accent-rgb:236,91,67; }
.gc-pc--accent-steel { --c-accent:#5C82A6; --c-accent-d:#43617E; --c-accent-rgb:92,130,166; }

.gc-pc *,
.gc-pc *::before,
.gc-pc *::after{ box-sizing:border-box; }

.gc-pc a{ text-decoration:none; color:inherit; }
.gc-pc img{ display:block; max-width:100%; }

/* =============================================================
 * HERO  (navy, full-bleed — the show identity)
 * ============================================================= */
.gc-pc-hero{
	position:relative;
	overflow:hidden;
	background:var(--c-navy);
	color:#fff;
}
.gc-pc-hero::before{
	content:"";
	position:absolute;
	top:-180px;
	right:70px;
	width:480px;
	height:480px;
	border-radius:50%;
	background:radial-gradient(circle,var(--c-accent) 0%,transparent 68%);
	opacity:.24;
	pointer-events:none;
}

/* circular audio-spectrum visual */
.gc-pc-hero__viz{
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
	width:430px;
	height:430px;
	z-index:1;
	pointer-events:none;
}
.gc-pc-hero__viz svg{ width:100%; height:100%; color:var(--c-accent); }
.gc-pc-bar{ stroke:currentColor; stroke-width:3.4; stroke-linecap:round; opacity:.42; }
.gc-pc-halo{ fill:none; stroke:currentColor; stroke-width:1; opacity:.16; }
.gc-pc-core{ fill:currentColor; opacity:.5; }

.gc-pc-hero__inner{
	position:relative;
	z-index:2;
	max-width:1280px;
	margin:0 auto;
	padding:54px 32px 50px;
}
.gc-pc-hero__icon{
	width:56px;
	height:56px;
	border-radius:13px;
	background:var(--c-accent);
	color:var(--c-navy);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:18px;
}
.gc-pc-hero__icon svg{ width:28px; height:28px; }

.gc-pc-hero__badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:5px 13px;
	border-radius:999px;
	background:rgba(var(--c-accent-rgb),.16);
	font-size:11px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--c-accent);
	margin-bottom:14px;
}
.gc-pc-hero__dot{
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--c-accent);
	animation:gc-pc-pulse 2.4s ease-out infinite;
}
@keyframes gc-pc-pulse{
	0%  { box-shadow:0 0 0 0 rgba(var(--c-accent-rgb),.5); }
	70% { box-shadow:0 0 0 7px rgba(var(--c-accent-rgb),0); }
	100%{ box-shadow:0 0 0 0 rgba(var(--c-accent-rgb),0); }
}
@media (prefers-reduced-motion:reduce){
	.gc-pc-hero__dot{ animation:none; }
}

.gc-pc-hero__title{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:800;
	font-size:clamp(34px,4.8vw,48px);
	line-height:1.06;
	letter-spacing:-.03em;
	margin:0 0 14px;
	color: white;
}
.gc-pc-hero__sub{
	font-size:16px;
	line-height:1.7;
	color:#c4cbdb;
	max-width:600px;
	margin:0;
}

/* ---- facts strip ---- */
.gc-pc-facts{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:1px;
	margin:32px 0 0;
	background:rgba(255,255,255,.10);
	border:1px solid rgba(255,255,255,.10);
	border-radius:12px;
	overflow:hidden;
}
.gc-pc-fact{ background:rgba(255,255,255,.025); padding:16px 18px; }
.gc-pc-fact__k{
	font-size:10.5px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:#7e88a3;
	margin:0 0 5px;
}
.gc-pc-fact__v{ font-size:14px; font-weight:600; color:#fff; margin:0; }

/* =============================================================
 * LAYOUT  (1280, flex column, gap-36 rhythm)
 * ============================================================= */
.gc-pc-layout{
	max-width:1280px;
	margin:0 auto;
	padding:36px 32px 64px;
	display:flex;
	flex-direction:column;
	gap:36px;
}

/* ---- section head ---- */
.gc-pc-sechead{
	display:flex;
	align-items:flex-start;
	gap:13px;
	padding-bottom:14px;
	margin-bottom:22px;
	border-bottom:0.5px solid var(--c-border);
}
.gc-pc-sechead__icon{
	width:38px;
	height:38px;
	flex-shrink:0;
	border-radius:10px;
	background:rgba(var(--c-accent-rgb),.11);
	color:var(--c-accent-d);
	display:flex;
	align-items:center;
	justify-content:center;
}
.gc-pc-sechead__icon svg{ width:19px; height:19px; }
.gc-pc-sechead__text{ flex:1; min-width:0; }
.gc-pc-eyebrow{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--c-accent-d);
	margin:0 0 5px;
}
.gc-pc-sectitle{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:22px;
	line-height:1.25;
	letter-spacing:-.015em;
	color:var(--c-heading);
	margin:0;
}
.gc-pc-sechead__aside{ margin-left:auto; align-self:center; }
.gc-pc-count{
	display:inline-block;
	font-size:12px;
	font-weight:600;
	color:var(--c-muted);
	background:var(--c-soft);
	border:0.5px solid var(--c-border);
	border-radius:999px;
	padding:5px 13px;
	white-space:nowrap;
}

/* =============================================================
 * ABOUT
 * ============================================================= */
.gc-pc-about__body{
	font-size:14.5px;
	line-height:1.78;
	color:var(--c-ink);
}
.gc-pc-about__body p{ margin:0 0 12px; }
.gc-pc-about__body p:last-child{ margin-bottom:0; }
.gc-pc-about__body strong{ color:var(--c-heading); font-weight:600; }
.gc-pc .gc-pc-about__body a{ color:var(--c-accent-d); text-decoration:underline; }

/* =============================================================
 * HOSTS
 * ============================================================= */
.gc-pc-host-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}
/* one host — a single, more prominent card */
.gc-pc-host-grid--solo{ grid-template-columns:1fr; }
.gc-pc-host--solo{ padding:28px 30px; gap:24px; max-width:760px; }
.gc-pc-host--solo .gc-pc-host__photo{ width:100px; height:100px; border-radius:14px; }
.gc-pc-host--solo .gc-pc-host__initials{ font-size:30px; }
.gc-pc-host--solo .gc-pc-host__name{ font-size:19px; }
.gc-pc-host--solo .gc-pc-host__role{ font-size:13px; margin:4px 0 11px; }
.gc-pc-host--solo .gc-pc-host__bio{ font-size:14px; max-width:560px; }
.gc-pc-host--solo .gc-pc-host__soc{ width:34px; height:34px; }
.gc-pc-host--solo .gc-pc-host__soc svg{ width:15px; height:15px; }

.gc-pc-host{
	display:flex;
	gap:18px;
	padding:22px;
	background:var(--c-surface);
	border:0.5px solid var(--c-border);
	border-radius:12px;
}
.gc-pc-host__photo{
	width:76px;
	height:76px;
	flex-shrink:0;
	border-radius:11px;
	overflow:hidden;
	background:linear-gradient(135deg,var(--c-navy),#1f3461);
	display:flex;
	align-items:center;
	justify-content:center;
}
.gc-pc-host__img{ width:100%; height:100%; object-fit:cover; }
.gc-pc-host__initials{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:23px;
	color:var(--c-accent);
}
.gc-pc-host__body{ min-width:0; }
.gc-pc-host__name{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:16px;
	color:var(--c-heading);
	margin:0;
}
.gc-pc-host__role{
	font-size:12px;
	font-weight:600;
	color:var(--c-accent-d);
	margin:3px 0 9px;
}
.gc-pc-host__bio{
	font-size:13px;
	line-height:1.65;
	color:var(--c-muted);
	margin:0 0 12px;
}
.gc-pc-host__social{ display:flex; gap:7px; }
.gc-pc a.gc-pc-host__soc{
	width:30px;
	height:30px;
	border-radius:7px;
	border:0.5px solid var(--c-border);
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--c-muted);
	transition:border-color .15s ease,color .15s ease,background-color .15s ease;
}
.gc-pc a.gc-pc-host__soc:hover{
	border-color:var(--c-accent);
	color:var(--c-accent);
	background:rgba(var(--c-accent-rgb),.07);
}
.gc-pc-host__soc svg{ width:14px; height:14px; }

/* =============================================================
 * EPISODES  (card matches the /podcasts/ hub 1:1)
 * ============================================================= */
.gc-pc-ep-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
}
.gc-pc-ep{
	display:flex;
	flex-direction:column;
	background:var(--c-surface);
	border:0.5px solid var(--c-border);
	border-radius:4px;
	overflow:hidden;
	transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.gc-pc-ep:hover{
	border-color:rgba(var(--c-accent-rgb),.45);
	box-shadow:0 6px 16px rgba(13,27,62,.05);
	transform:translateY(-1px);
}
.gc-pc-ep.is-hidden{ display:none; }

.gc-pc-ep__cover{
	position:relative;
	height:180px;
	background:var(--c-navy);
	overflow:hidden;
}
.gc-pc-ep__cover-img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.gc-pc-ep__cover-placeholder{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	color:rgba(255,255,255,.16);
}
.gc-pc-ep__play{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:50px;
	height:50px;
	border-radius:50%;
	background:var(--c-accent);
	color:var(--c-navy);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:2;
	box-shadow:0 6px 20px rgba(0,0,0,.30);
	transition:background-color 180ms ease,transform 180ms ease;
}
.gc-pc-ep:hover .gc-pc-ep__play{
	background:#fff;
	transform:translate(-50%,-50%) scale(1.05);
}
.gc-pc-ep__play svg{ width:21px; height:21px; margin-left:3px; }

.gc-pc-ep__body{
	display:flex;
	flex-direction:column;
	flex:1;
	padding:14px 18px 16px;
}
.gc-pc-ep__badge-row{ min-height:20px; margin-bottom:8px; }
.gc-pc-ep__latest{
	display:inline-block;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:9.5px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	padding:3px 9px;
	border-radius:10px;
	background:rgba(var(--c-accent-rgb),.13);
	color:var(--c-accent-d);
}
.gc-pc-ep__title{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:14px;
	line-height:1.35;
	letter-spacing:-.005em;
	color:var(--c-heading);
	margin:0 0 8px;
	flex:1;
}
.gc-pc-ep__date{
	font-size:11.5px;
	font-weight:500;
	color:var(--c-faint);
	padding-top:10px;
	border-top:0.5px solid var(--c-border);
}

/* empty state */
.gc-pc-empty{
	font-size:14px;
	color:var(--c-muted);
	background:var(--c-soft);
	border:0.5px solid var(--c-border);
	border-radius:8px;
	padding:24px;
	text-align:center;
	margin:0;
}

/* show more */
.gc-pc-more{
	display:flex;
	justify-content:center;
	margin-top:24px;
}
.gc-pc-more--done{ display:none; }
.gc-pc-more__btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:13px;
	font-weight:700;
	color:var(--c-heading);
	background:var(--c-surface);
	border:0.5px solid var(--c-border);
	border-radius:9px;
	padding:11px 22px;
	cursor:pointer;
	transition:border-color 180ms ease,color 180ms ease,background-color 180ms ease;
}
.gc-pc-more__btn:hover{
	border-color:rgba(var(--c-accent-rgb),.5);
	color:var(--c-accent-d);
	background:rgba(var(--c-accent-rgb),.05);
}
.gc-pc-more__btn svg{ width:14px; height:14px; }

/* =============================================================
 * OTHER SHOWS IN THE NETWORK  (GC brand teal)
 * ============================================================= */
.gc-pc-oshow-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px;
}
.gc-pc-oshow{
	display:flex;
	flex-direction:column;
	background:var(--c-surface);
	border:0.5px solid var(--c-border);
	border-radius:12px;
	padding:20px 22px;
	transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.gc-pc-oshow:hover{
	border-color:rgba(var(--c-accent-rgb),.4);
	box-shadow:0 6px 16px rgba(13,27,62,.05);
	transform:translateY(-1px);
}
.gc-pc-oshow__icon{
	width:42px;
	height:42px;
	border-radius:10px;
	background:rgba(var(--c-accent-rgb),.10);
	color:var(--c-accent-d);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:13px;
}
.gc-pc-oshow__icon svg{ width:20px; height:20px; }
.gc-pc-oshow__eyebrow{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:10px;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--c-faint);
	margin:0 0 5px;
}
.gc-pc-oshow__name{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:17px;
	letter-spacing:-.01em;
	color:var(--c-heading);
	margin:0 0 7px;
}
.gc-pc-oshow__sub{
	font-size:12.5px;
	line-height:1.65;
	color:var(--c-muted);
	margin:0 0 15px;
	flex:1;
}
.gc-pc-oshow__link{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:12.5px;
	font-weight:700;
	color:var(--c-accent-d);
}
.gc-pc-oshow__link svg{ width:13px; height:13px; transition:transform .15s ease; }
.gc-pc-oshow:hover .gc-pc-oshow__link svg{ transform:translateX(3px); }

/* =============================================================
 * GET INVOLVED  (navy callout)
 * ============================================================= */
.gc-pc-cta{
	position:relative;
	overflow:hidden;
	background:var(--c-navy);
	border-radius:14px;
	padding:34px 36px;
}
.gc-pc-cta::after{
	content:"";
	position:absolute;
	bottom:-130px;
	left:-50px;
	width:360px;
	height:360px;
	border-radius:50%;
	background:radial-gradient(circle,var(--c-accent) 0%,transparent 70%);
	opacity:.14;
	pointer-events:none;
}
.gc-pc-cta__title{
	position:relative;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:22px;
	letter-spacing:-.015em;
	color:#fff;
	margin:0 0 5px;
}
.gc-pc-cta__lead{
	position:relative;
	font-size:14px;
	color:#aab3c8;
	margin:0 0 22px;
}
.gc-pc-cta__grid{
	position:relative;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
}
.gc-pc-cta__card{
	background:rgba(255,255,255,.04);
	border:0.5px solid rgba(255,255,255,.10);
	border-radius:11px;
	padding:20px;
	transition:background-color .15s ease,border-color .15s ease;
}
.gc-pc-cta__card:hover{
	background:rgba(255,255,255,.07);
	border-color:rgba(var(--c-accent-rgb),.4);
}
.gc-pc-cta__ico{
	width:36px;
	height:36px;
	border-radius:9px;
	background:rgba(var(--c-accent-rgb),.16);
	color:var(--c-accent);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:12px;
}
.gc-pc-cta__ico svg{ width:17px; height:17px; }
.gc-pc-cta__cardtitle{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:600;
	font-size:14.5px;
	color:#fff;
	margin:0 0 5px;
}
.gc-pc-cta__carddesc{
	font-size:12.5px;
	line-height:1.6;
	color:#8b94aa;
	margin:0 0 13px;
}
.gc-pc a.gc-pc-cta__link{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:12.5px;
	font-weight:700;
	color:var(--c-accent);
	word-break:break-word;
}
.gc-pc a.gc-pc-cta__link:hover{ text-decoration:underline; }
.gc-pc-cta__link svg{ width:12px; height:12px; flex-shrink:0; }

/* =============================================================
 * DARK MODE — lift accent text off the dark surface
 * ============================================================= */
[data-theme="dark"] .gc-pc-eyebrow,
[data-theme="dark"] .gc-pc-sechead__icon,
[data-theme="dark"] .gc-pc-host__role,
[data-theme="dark"] .gc-pc-oshow__icon,
[data-theme="dark"] .gc-pc-oshow__link,
[data-theme="dark"] .gc-pc .gc-pc-about__body a{
	color:var(--c-accent);
}

/* =============================================================
 * RESPONSIVE
 * ============================================================= */
@media (max-width:1180px){
	.gc-pc-oshow-grid{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:1100px){
	.gc-pc-hero__viz{ display:none; }
	.gc-pc-facts{ grid-template-columns:repeat(2,1fr); }
	.gc-pc-ep-grid,
	.gc-pc-oshow-grid,
	.gc-pc-cta__grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:900px){
	.gc-pc-hero__inner{ padding:44px 22px 40px; }
	.gc-pc-layout{ padding:30px 22px 52px; gap:30px; }
	.gc-pc-host-grid{ grid-template-columns:1fr; }
	.gc-pc-host--solo{ padding:22px; }
	.gc-pc-cta{ padding:28px 24px; }
	.gc-pc-cta__grid{ grid-template-columns:1fr; }
}

@media (max-width:700px){
	.gc-pc-facts,
	.gc-pc-ep-grid,
	.gc-pc-cta__grid{ grid-template-columns:1fr; }
	.gc-pc-oshow-grid{ grid-template-columns:repeat(2,1fr); }
	.gc-pc-host,
	.gc-pc-host--solo{ flex-direction:column; text-align:center; align-items:center; }
	.gc-pc-host__body{ width:100%; }
	.gc-pc-host--solo .gc-pc-host__social{ justify-content:center; }
	.gc-pc-host--solo .gc-pc-host__photo{ width:84px; height:84px; }
	/* Keep icon + title on one row (title gets the remaining width so it
	   stops wrapping word-by-word); the count badge drops below. */
	.gc-pc-sechead{ flex-wrap:wrap; }
	.gc-pc-sechead__aside{
		margin-left:0;
		align-self:flex-start;
		margin-top:10px;
		flex-basis:100%;
	}
}