/* =============================================================
 * Single Podcast Episode — single-podcast.php
 *
 * GC style: Sora display / Inter body, 1280 container, 0.5px
 * borders, sec-head with icon badge. The page inherits the
 * parent show's accent via .gc-ep--accent-{slug}.
 *
 * Zero inline styles, zero !important.
 *
 * @package GC_Theme
 * ============================================================= */

/* ---- tokens ------------------------------------------------- */
.gc-ep{
	--c-navy:#0D1B3E;

	--c-heading:#0D1B3E;
	--c-ink:#1E293B;
	--c-muted:#64748B;
	--c-faint:#94A3B8;
	--c-border:#E2E8F0;
	--c-surface:#ffffff;
	--c-soft:#F8FAFC;

	--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;
	display:block;
}

[data-theme="dark"] .gc-ep{
	--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 (inherited from the show) ------------ */
.gc-ep--accent-teal  { --c-accent:#00C6AE; --c-accent-d:#00A894; --c-accent-rgb:0,198,174; }
.gc-ep--accent-copper{ --c-accent:#C9821E; --c-accent-d:#A86912; --c-accent-rgb:201,130,30; }
.gc-ep--accent-indigo{ --c-accent:#6366F1; --c-accent-d:#4F46E5; --c-accent-rgb:99,102,241; }
.gc-ep--accent-forest{ --c-accent:#2E9E6E; --c-accent-d:#1F8257; --c-accent-rgb:46,158,110; }
.gc-ep--accent-coral { --c-accent:#EC5B43; --c-accent-d:#CC4126; --c-accent-rgb:236,91,67; }
.gc-ep--accent-steel { --c-accent:#5C82A6; --c-accent-d:#43617E; --c-accent-rgb:92,130,166; }

.gc-ep *,
.gc-ep *::before,
.gc-ep *::after{ box-sizing:border-box; }

.gc-ep a{ text-decoration:none; color:inherit; }
.gc-ep img{ display:block; max-width:100%; }

/* =============================================================
 * HERO
 * ============================================================= */
.gc-ep-hero{
	position:relative;
	overflow:hidden;
	background:var(--c-navy);
	color:#fff;
}
.gc-ep-hero::before{
	content:"";
	position:absolute;
	top:-160px;
	right:-60px;
	width:420px;
	height:420px;
	border-radius:50%;
	background:radial-gradient(circle,var(--c-accent) 0%,transparent 70%);
	opacity:.22;
	pointer-events:none;
}

/* circular audio-spectrum visual (matches the show page) */
.gc-ep-hero__viz{
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
	width:430px;
	height:430px;
	z-index:1;
	pointer-events:none;
}
.gc-ep-hero__viz svg{ width:100%; height:100%; color:var(--c-accent); }
.gc-ep-bar{ stroke:currentColor; stroke-width:3.4; stroke-linecap:round; opacity:.42; }
.gc-ep-halo{ fill:none; stroke:currentColor; stroke-width:1; opacity:.16; }
.gc-ep-core{ fill:currentColor; opacity:.5; }

.gc-ep-hero__inner{
	position:relative;
	z-index:2;
	max-width:1280px;
	margin:0 auto;
	padding:40px 32px 38px;
}

.gc-ep-pills{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:16px;
}
.gc-ep-pill{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:10.5px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.07em;
	padding:5px 11px;
	border-radius:6px;
}
.gc-ep-pill svg{ width:13px; height:13px; }
.gc-ep-pill--show{ background:var(--c-accent); color:#fff; transition:opacity .15s ease; }
.gc-ep-pill--show:hover{ opacity:.88; }
.gc-ep-pill--ep{ background:rgba(255,255,255,.10); color:#c4cbdb; }

.gc-ep-h1{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:800;
	font-size:clamp(27px,3.6vw,38px);
	line-height:1.14;
	letter-spacing:-.025em;
	color:#ffffff;
	max-width:900px;
	margin:0 0 14px;
}
.gc-ep-lead{
	font-size:15.5px;
	line-height:1.65;
	color:#c4cbdb;
	max-width:680px;
	margin:0 0 22px;
}

.gc-ep-meta{
	display:flex;
	align-items:center;
	gap:16px;
	flex-wrap:wrap;
	padding-top:18px;
	border-top:0.5px solid rgba(255,255,255,.12);
}
.gc-ep-host{ display:flex; align-items:center; gap:10px; }
.gc-ep-host__av{
	width:38px;
	height:38px;
	border-radius:50%;
	overflow:hidden;
	background:linear-gradient(135deg,var(--c-accent),var(--c-accent-d));
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:13px;
	color:#fff;
}
.gc-ep-host__img{ width:100%; height:100%; object-fit:cover; }
.gc-ep-host__t{ display:flex; flex-direction:column; line-height:1.3; }
.gc-ep-host__lbl{
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:#7e88a3;
}
.gc-ep-host__nm{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:13.5px;
	color:#fff;
}
.gc-ep-mi{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:12.5px;
	font-weight:600;
	color:#aab3c8;
}
.gc-ep-mi svg{ width:14px; height:14px; }

/* =============================================================
 * LAYOUT
 * ============================================================= */
.gc-ep-wrap{
	max-width:1280px;
	margin:0 auto;
	padding:32px 32px 64px;
	display:grid;
	grid-template-columns:1fr 320px;
	gap:36px;
	align-items:start;
}
.gc-ep-main{
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:32px;
}

/* =============================================================
 * YOUTUBE  (click-to-load facade)
 * ============================================================= */
.gc-ep-video{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	background:#000;
	border:0.5px solid var(--c-border);
	border-radius:12px;
	overflow:hidden;
}
.gc-ep-video__facade{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	padding:0;
	border:0;
	cursor:pointer;
	background:#000;
	display:block;
}
.gc-ep-video__thumb{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:.78;
	transition:opacity .18s ease;
}
.gc-ep-video__facade:hover .gc-ep-video__thumb{ opacity:.62; }
.gc-ep-video__tag{
	position:absolute;
	left:14px;
	top:14px;
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:11px;
	font-weight:700;
	color:#fff;
	background:rgba(0,0,0,.55);
	padding:5px 10px;
	border-radius:6px;
}
.gc-ep-video__tag svg{ width:14px; height:14px; color:#FF0000; }
.gc-ep-video__play{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:66px;
	height:66px;
	border-radius:50%;
	background:#FF0000;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:transform .18s ease;
}
.gc-ep-video__facade:hover .gc-ep-video__play{ transform:translate(-50%,-50%) scale(1.06); }
.gc-ep-video__play svg{ width:30px; height:30px; color:#fff; margin-left:3px; }
.gc-ep-video__frame{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

/* =============================================================
 * SECTION HEAD
 * ============================================================= */
.gc-ep-sechead{
	display:flex;
	align-items:flex-start;
	gap:13px;
	padding-bottom:13px;
	margin-bottom:18px;
	border-bottom:0.5px solid var(--c-border);
}
.gc-ep-sechead__ic{
	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-ep-sechead__ic svg{ width:19px; height:19px; }
.gc-ep-sechead__text{ flex:1; min-width:0; }
.gc-ep-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 4px;
}
.gc-ep-sectitle{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:21px;
	line-height:1.25;
	letter-spacing:-.015em;
	color:var(--c-heading);
	margin:0;
}

/* =============================================================
 * BODY COPY  (What this episode is about)
 * ============================================================= */
.gc-ep-body{ font-size:15px; line-height:1.82; color:var(--c-ink); }
.gc-ep-body p{ margin:0 0 13px; }
.gc-ep-body p:last-child{ margin-bottom:0; }
.gc-ep-body strong{ color:var(--c-heading); font-weight:600; }
.gc-ep-body a{ color:var(--c-accent-d); text-decoration:underline; }
.gc-ep-body ul,
.gc-ep-body ol{ margin:0 0 13px 20px; }
.gc-ep-body li{ margin-bottom:6px; }

/* =============================================================
 * KEY TAKEAWAYS
 * ============================================================= */
.gc-ep-tk{
	display:flex;
	gap:14px;
	padding:16px 0;
	border-bottom:0.5px solid var(--c-border);
}
.gc-ep-tk:last-child{ border-bottom:0; padding-bottom:0; }
.gc-ep-tk__num{
	width:26px;
	height:26px;
	flex-shrink:0;
	border-radius:7px;
	background:rgba(var(--c-accent-rgb),.11);
	color:var(--c-accent-d);
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:13px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.gc-ep-tk__title{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:15px;
	color:var(--c-heading);
	margin-bottom:3px;
}
.gc-ep-tk__text{ font-size:14px; line-height:1.65; color:var(--c-muted); margin:0; }

/* =============================================================
 * TRANSCRIPT  (rendered from the ep_transcript WYSIWYG)
 * ============================================================= */
.gc-ep-tx-note{
	display:flex;
	gap:11px;
	background:var(--c-soft);
	border:0.5px solid var(--c-border);
	border-radius:10px;
	padding:14px 16px;
	margin-bottom:24px;
}
.gc-ep-tx-note svg{ width:16px; height:16px; color:var(--c-accent-d); flex-shrink:0; margin-top:1px; }
.gc-ep-tx-note p{ font-size:12.5px; line-height:1.6; color:var(--c-muted); margin:0; }
.gc-ep-tx-note strong{ color:var(--c-heading); font-weight:600; }

.gc-ep-tx{ font-size:14.5px; line-height:1.8; color:var(--c-ink); }
.gc-ep-tx h3{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:16px;
	line-height:1.3;
	letter-spacing:-.01em;
	color:var(--c-heading);
	margin:28px 0 12px;
	padding-left:12px;
	border-left:3px solid var(--c-accent);
}
.gc-ep-tx h3:first-child{ margin-top:0; }
.gc-ep-tx p{ margin:0 0 12px; }
.gc-ep-tx p > strong:first-child{
	color:var(--c-accent-d);
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.gc-ep-tx strong{ color:var(--c-heading); font-weight:600; }
.gc-ep-tx ul,
.gc-ep-tx ol{ margin:0 0 12px 20px; }
.gc-ep-tx li{ margin-bottom:6px; }

/* =============================================================
 * ABOUT THE GUEST
 * ============================================================= */
.gc-ep-guest-list{ display:flex; flex-direction:column; gap:14px; }
.gc-ep-guest{
	display:flex;
	gap:18px;
	padding:22px;
	background:var(--c-surface);
	border:0.5px solid var(--c-border);
	border-radius:12px;
}
.gc-ep-guest__av{
	width:64px;
	height:64px;
	flex-shrink:0;
	border-radius:12px;
	overflow:hidden;
	background:linear-gradient(135deg,var(--c-navy),#1f3461);
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:20px;
	color:var(--c-accent);
}
.gc-ep-guest__img{ width:100%; height:100%; object-fit:cover; }
.gc-ep-guest__body{ min-width:0; }
.gc-ep-guest__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.09em;
	color:var(--c-faint);
	margin:0 0 4px;
}
.gc-ep-guest__anon{
	font-size:9px;
	background:rgba(var(--c-accent-rgb),.12);
	color:var(--c-accent-d);
	padding:2px 6px;
	border-radius:4px;
	letter-spacing:.04em;
}
.gc-ep-guest__name{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:17px;
	color:var(--c-heading);
	margin:0;
}
.gc-ep-guest__role{
	font-size:12.5px;
	font-weight:600;
	color:var(--c-accent-d);
	margin:2px 0 9px;
}
.gc-ep-guest__bio{ font-size:13.5px; line-height:1.7; color:var(--c-muted); margin:0; }
.gc-ep-guest__li{
	display:inline-flex;
	align-items:center;
	gap:7px;
	margin-top:11px;
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:12px;
	font-weight:700;
	color:var(--c-accent-d);
}
.gc-ep-guest__li svg{ width:14px; height:14px; }

/* =============================================================
 * TOPIC TAGS  +  CLOSING NOTE
 * ============================================================= */
.gc-ep-tags{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}
.gc-ep-tags__lbl{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:var(--c-faint);
	margin-right:4px;
}
.gc-ep-tag{
	font-size:12px;
	font-weight:600;
	color:var(--c-muted);
	background:var(--c-soft);
	border:0.5px solid var(--c-border);
	border-radius:6px;
	padding:5px 11px;
	transition:border-color .15s ease,color .15s ease;
}
.gc-ep-tag:hover{ border-color:var(--c-accent); color:var(--c-accent-d); }

.gc-ep-note{
	display:flex;
	gap:11px;
	background:var(--c-soft);
	border:0.5px solid var(--c-border);
	border-radius:10px;
	padding:14px 16px;
}
.gc-ep-note svg{ width:17px; height:17px; color:var(--c-faint); flex-shrink:0; margin-top:1px; }
.gc-ep-note p{ font-size:12px; line-height:1.6; color:var(--c-muted); margin:0; }

/* =============================================================
 * SIDEBAR  (.gc-ep-side__inner position is driven by JS)
 * ============================================================= */
.gc-ep-side{
	position:relative;
	min-width:0;
}
.gc-ep-side__inner{
	display:flex;
	flex-direction:column;
	gap:16px;
}
.gc-ep-card{
	background:var(--c-surface);
	border:0.5px solid var(--c-border);
	border-radius:12px;
	overflow:hidden;
}
.gc-ep-card__head{
	display:flex;
	align-items:center;
	gap:9px;
	padding:14px 18px;
	border-bottom:0.5px solid var(--c-border);
}
.gc-ep-card__head svg{ width:16px; height:16px; color:var(--c-accent-d); flex-shrink:0; }
.gc-ep-card__head h3{
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-weight:700;
	font-size:13px;
	letter-spacing:-.01em;
	color:var(--c-heading);
	margin:0;
}
.gc-ep-card__body{ padding:8px 18px 14px; }

/* ---- episode facts ---- */
.gc-ep-fact{
	display:flex;
	align-items:center;
	gap:11px;
	padding:9px 0;
	border-bottom:0.5px solid var(--c-border);
}
.gc-ep-fact:last-child{ border-bottom:0; }
.gc-ep-fact__ic{
	width:30px;
	height:30px;
	flex-shrink:0;
	border-radius:7px;
	background:var(--c-soft);
	color:var(--c-muted);
	display:flex;
	align-items:center;
	justify-content:center;
}
.gc-ep-fact__ic svg{ width:15px; height:15px; }
.gc-ep-fact__kv{ display:flex; flex-direction:column; line-height:1.35; min-width:0; }
.gc-ep-fact__k{
	font-size:10.5px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:var(--c-faint);
}
.gc-ep-fact__v{ font-size:13px; font-weight:600; color:var(--c-heading); }

/* ---- subscribe ---- */
.gc-ep-sub__row{
	display:flex;
	align-items:center;
	gap:11px;
	padding:10px 0;
	border-bottom:0.5px solid var(--c-border);
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:13px;
	font-weight:600;
	color:var(--c-heading);
	transition:color .15s ease;
}
.gc-ep-sub__row:last-child{ border-bottom:0; }
.gc-ep-sub__row:hover{ color:var(--c-accent-d); }
.gc-ep-sub__ic{
	width:30px;
	height:30px;
	flex-shrink:0;
	border-radius:7px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
}
.gc-ep-sub__ic svg{ width:16px; height:16px; }
.gc-ep-sub__ic--spotify{ background:#1DB954; }
.gc-ep-sub__ic--apple{ background:#9933CC; }
.gc-ep-sub__ic--youtube{ background:#FF0000; }
.gc-ep-sub__ic--rss{ background:#F59E0B; }
.gc-ep-sub__go{ margin-left:auto; color:var(--c-faint); display:flex; }
.gc-ep-sub__go svg{ width:13px; height:13px; }

/* ---- share ---- */
.gc-ep-share{ display:flex; gap:8px; }
.gc-ep-share__btn{
	position:relative;
	flex:1;
	height:38px;
	padding:0;
	border:0.5px solid var(--c-border);
	border-radius:8px;
	background:var(--c-surface);
	color:var(--c-muted);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:border-color .15s ease,color .15s ease,background-color .15s ease;
}
.gc-ep-share__btn:hover{
	border-color:var(--c-accent);
	color:var(--c-accent-d);
	background:rgba(var(--c-accent-rgb),.05);
}
.gc-ep-share__btn svg{ width:15px; height:15px; }
.gc-ep-share__copy.is-copied{
	border-color:var(--c-accent);
	color:var(--c-accent-d);
}
.gc-ep-share__copy.is-copied::after{
	content:"Copied";
	position:absolute;
	bottom:calc(100% + 7px);
	left:50%;
	transform:translateX(-50%);
	font-family:var(--gc-font-display,'Sora',sans-serif);
	font-size:10.5px;
	font-weight:700;
	white-space:nowrap;
	background:var(--c-navy);
	color:#fff;
	padding:4px 9px;
	border-radius:5px;
}

/* =============================================================
 * RESPONSIVE
 * ============================================================= */
@media (max-width:1000px){
	.gc-ep-hero__viz{ display:none; }
	.gc-ep-wrap{ grid-template-columns:1fr; }
	.gc-ep-side{ position:static; }
	.gc-ep-side__inner{ flex-direction:row; flex-wrap:wrap; }
	.gc-ep-card{ flex:1; min-width:260px; }
}

@media (max-width:760px){
	.gc-ep-hero__inner{ padding:34px 20px 30px; }
	.gc-ep-wrap{ padding:26px 20px 52px; gap:26px; }
}

@media (max-width:600px){
	.gc-ep-side__inner{ flex-direction:column; }
	.gc-ep-guest{ flex-direction:column; }
	.gc-ep-meta{ gap:12px; }
}