/* Sidebar Podcast Player */
.spp-player,
.spp-feed{
	/* Theme */
	--spp-accent:#6d28d9;
	--spp-bg:#ffffff;
	--spp-fg:#1a1a2e;
	--spp-muted:#6b7280;
	--spp-line:#e5e7eb;
	--spp-hover:#f5f5fa;
	--spp-active:rgba(109,40,217,.10);
	/* Size tokens (medium baseline; size classes override these) */
	--spp-radius:14px;
	--spp-art:64px;
	--spp-pad:14px;
	--spp-gap:12px;
	--spp-title:15px;
	--spp-title-lines:2;
	--spp-btn:38px;
	--spp-btn-ico:22px;
	--spp-ep-pad-y:10px;
	--spp-ep-title:13px;
	--spp-ep-title-lines:2;
	--spp-list-h:340px;
	--spp-wave-h:34px;
	--spp-skip:32px;

	font-family:inherit;
	color:var(--spp-fg);
	background:var(--spp-bg);
	border:1px solid var(--spp-line);
	border-radius:var(--spp-radius);
	overflow:hidden;
	max-width:100%;
	box-sizing:border-box;
	line-height:1.4;
}
.spp-feed{background:transparent;border:0;border-radius:0;overflow:visible;max-width:none;}
.spp-player{container-type:inline-size;container-name:sppwidget;}
.spp-player *,.spp-feed *{box-sizing:border-box;}

.spp-player[data-theme="dark"],
.spp-feed[data-theme="dark"]{
	--spp-bg:#15151f;--spp-fg:#f3f4f6;--spp-muted:#9ca3af;
	--spp-line:#2a2a3a;--spp-hover:#1e1e2c;--spp-active:rgba(109,40,217,.28);
}
@media (prefers-color-scheme:dark){
	.spp-player[data-theme="auto"],
	.spp-feed[data-theme="auto"]{
		--spp-bg:#15151f;--spp-fg:#f3f4f6;--spp-muted:#9ca3af;
		--spp-line:#2a2a3a;--spp-hover:#1e1e2c;--spp-active:rgba(109,40,217,.28);
	}
}

/* ---- Size presets ---- */
.spp-size-mini{
	--spp-radius:9px;--spp-art:28px;--spp-pad:7px;--spp-gap:7px;
	--spp-title:12.5px;--spp-title-lines:1;--spp-btn:26px;--spp-btn-ico:15px;
	--spp-ep-pad-y:5px;--spp-ep-title:11.5px;--spp-ep-title-lines:1;--spp-list-h:180px;--spp-wave-h:26px;--spp-skip:24px;--spp-gap:8px;
}
.spp-size-compact{
	--spp-radius:10px;--spp-art:38px;--spp-pad:9px;--spp-gap:9px;
	--spp-title:13.5px;--spp-title-lines:1;--spp-btn:30px;--spp-btn-ico:17px;
	--spp-ep-pad-y:6px;--spp-ep-title:12px;--spp-ep-title-lines:1;--spp-list-h:230px;--spp-wave-h:30px;--spp-skip:27px;--spp-gap:9px;
}
.spp-size-small{
	--spp-radius:12px;--spp-art:52px;--spp-pad:11px;--spp-gap:10px;
	--spp-title:14px;--spp-title-lines:2;--spp-btn:34px;--spp-btn-ico:20px;
	--spp-ep-pad-y:8px;--spp-ep-title:12.5px;--spp-ep-title-lines:2;--spp-list-h:290px;--spp-wave-h:32px;--spp-skip:29px;
}
/* medium = baseline defaults above */
.spp-size-large{
	--spp-radius:16px;--spp-art:84px;--spp-pad:18px;--spp-gap:14px;
	--spp-title:17px;--spp-title-lines:2;--spp-btn:44px;--spp-btn-ico:26px;
	--spp-ep-pad-y:13px;--spp-ep-title:14.5px;--spp-ep-title-lines:3;--spp-list-h:460px;--spp-wave-h:40px;--spp-skip:38px;
}

/* Now playing */
/* --- Widget now-playing: head, then waveform+times inline with the controls --- */
.spp-now-head{display:flex;gap:var(--spp-gap);align-items:flex-start;padding:var(--spp-pad);border-bottom:1px solid var(--spp-line);}
.spp-art{flex:0 0 var(--spp-art);}
.spp-art-img{width:var(--spp-art);height:var(--spp-art);border-radius:calc(var(--spp-radius) - 4px);object-fit:cover;display:block;background:var(--spp-hover);}
.spp-now-title{flex:1 1 auto;min-width:0;font-weight:600;font-size:var(--spp-title);line-height:1.35;}

/* Below 250px the waveform stacks above a centered control row; at >=250px they share one row. */
.spp-now-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px var(--spp-gap);padding:14px var(--spp-pad);}
.spp-wave-col{flex:1 1 100%;min-width:0;}
.spp-wave-col .spp-wave{min-width:0;}
.spp-wave-col .spp-times{margin-top:6px;}
.spp-wave-col .spp-times .spp-cur{color:var(--spp-accent);}
@container sppwidget (min-width:250px){
	.spp-now-main{flex-wrap:nowrap;}
	.spp-wave-col{flex:1 1 40px;}
}

.spp-transport{display:flex;align-items:center;justify-content:center;gap:16px;flex:0 0 auto;}
.spp-transport .spp-play{width:calc(var(--spp-btn) * 1.4);height:calc(var(--spp-btn) * 1.4);}
.spp-transport .spp-play svg{width:calc(var(--spp-btn-ico) * 1.3);height:calc(var(--spp-btn-ico) * 1.3);}
.spp-transport .spp-skip{--spp-skip:calc(var(--spp-btn) * 1.05);}
.spp-transport .spp-speed{margin-left:2px;}
.spp-size-mini .spp-transport{gap:10px;}
.spp-size-compact .spp-transport{gap:12px;}
.spp-size-small .spp-transport{gap:14px;}
.spp-btn{cursor:pointer;border:0;background:var(--spp-accent);color:#fff;width:var(--spp-btn);height:var(--spp-btn);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;transition:transform .1s ease;}
.spp-btn:hover{transform:scale(1.06);}
.spp-btn:active{transform:scale(.96);}
.spp-btn svg{width:var(--spp-btn-ico);height:var(--spp-btn-ico);fill:currentColor;}
.spp-ico-pause{display:none;}
.is-playing .spp-ico-play{display:none;}
.is-playing .spp-ico-pause{display:block;}

/* Waveform seek */
.spp-wave{flex:1 1 auto;min-width:40px;display:flex;align-items:center;gap:2px;height:var(--spp-wave-h,34px);cursor:pointer;touch-action:none;outline:none;}
.spp-wave-bar{flex:1 1 auto;min-width:1px;border-radius:1px;background:var(--spp-line);transition:background .05s linear;}
.spp-wave-bar.on{background:var(--spp-accent);}
.spp-wave:focus-visible{box-shadow:0 0 0 2px var(--spp-active);border-radius:4px;}

.spp-times{display:flex;justify-content:space-between;font-size:11px;color:var(--spp-muted);font-variant-numeric:tabular-nums;}

.spp-speed{flex:0 0 auto;font:inherit;font-size:12px;font-weight:600;line-height:1;min-width:38px;text-align:center;padding:5px 8px;border-radius:999px;border:1px solid var(--spp-line);background:var(--spp-bg);color:var(--spp-muted);cursor:pointer;font-variant-numeric:tabular-nums;transition:background .1s ease;}
.spp-speed:hover{color:var(--spp-fg);border-color:var(--spp-fg);}
.spp-speed.is-hot{background:var(--spp-accent);border-color:var(--spp-accent);color:#fff;}
.spp-size-mini .spp-speed,.spp-size-compact .spp-speed{font-size:11px;min-width:34px;padding:4px 7px;}

/* List toggle header */
.spp-list-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;border-bottom:1px solid var(--spp-line);cursor:pointer;padding:9px var(--spp-pad);font:inherit;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--spp-muted);}
.spp-list-toggle:hover{color:var(--spp-fg);background:var(--spp-hover);}
.spp-chevron{width:18px;height:18px;fill:currentColor;transition:transform .2s ease;}
.spp-player.is-closed .spp-chevron{transform:rotate(-90deg);}
.spp-player.is-closed .spp-list-toggle{border-bottom:0;}

/* List */
.spp-list{list-style:none;margin:0;padding:0;max-height:var(--spp-list-height,var(--spp-list-h));overflow-y:auto;}
.spp-list[hidden]{display:none;}
.spp-ep{display:flex;align-items:stretch;border-bottom:1px solid var(--spp-line);}
.spp-ep:last-child{border-bottom:0;}
.spp-ep.is-active{display:none;}
.spp-ep:hover{background:var(--spp-hover);}
.spp-ep-hit{flex:1 1 auto;min-width:0;display:flex;gap:10px;align-items:flex-start;text-align:left;background:none;border:0;cursor:pointer;padding:var(--spp-ep-pad-y) 6px var(--spp-ep-pad-y) var(--spp-pad);color:inherit;font:inherit;}
.spp-ep-index{flex:0 0 auto;font-size:12px;color:var(--spp-muted);width:18px;text-align:right;padding-top:1px;font-variant-numeric:tabular-nums;}
.spp-ep.is-active .spp-ep-index{color:var(--spp-accent);font-weight:700;}
.spp-ep-main{min-width:0;flex:1 1 auto;}
.spp-ep-title{display:block;font-size:var(--spp-ep-title);font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--spp-ep-title-lines);-webkit-box-orient:vertical;}
.spp-ep-meta{display:flex;gap:8px;font-size:11px;color:var(--spp-muted);margin-top:2px;}
.spp-ep-desc{display:block;font-size:12px;color:var(--spp-muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.spp-ep-dl{flex:0 0 auto;display:flex;align-items:center;padding:0 var(--spp-pad);color:var(--spp-muted);text-decoration:none;}
.spp-ep-dl:hover{color:var(--spp-accent);}
.spp-ep-dl svg{width:18px;height:18px;fill:currentColor;}

/* Compact & mini: drop the densest-costing bits for a clean one-line rhythm */
.spp-size-compact .spp-ep-desc,
.spp-size-mini .spp-ep-desc{display:none;}
.spp-size-compact .spp-ep-index,
.spp-size-mini .spp-ep-index{display:none;}
.spp-size-compact .spp-ep-hit,
.spp-size-mini .spp-ep-hit{gap:0;}
.spp-size-compact .spp-now-title,
.spp-size-mini .spp-now-title{margin-bottom:6px;}
.spp-size-compact .spp-ep-dl svg,
.spp-size-mini .spp-ep-dl svg{width:16px;height:16px;}
/* Mini: trim the toggle header and meta so nothing crowds */
.spp-size-mini .spp-list-toggle{padding:7px var(--spp-pad);font-size:11px;}
.spp-size-mini .spp-ep-meta{font-size:11px;margin-top:1px;}
.spp-size-mini .spp-now-title{margin-bottom:5px;}

.spp-error{border:1px solid #f5c2c7;background:#f8d7da;color:#842029;padding:10px 12px;border-radius:8px;font-size:13px;}
.spp-shortcode-title{margin:0 0 10px;}

/* ================= Shortcode feed page ([podcast_feed]) ================= */
.spp-feed{
	color:var(--spp-fg);
	font-family:inherit;
	line-height:1.5;
	/* Roomier transport for the in-page feed */
	--spp-btn:52px;
	--spp-btn-ico:26px;
	--spp-wave-h:40px;
	--spp-gap:16px;
	--spp-skip:38px;
}
.spp-feed-title{margin:0 0 20px;font-size:26px;font-weight:700;}
.spp-feed-tools{margin-bottom:20px;}
.spp-feed-search{width:100%;max-width:360px;font:inherit;font-size:15px;padding:11px 14px;border-radius:12px;border:1px solid var(--spp-line);background:var(--spp-bg);color:var(--spp-fg);}
.spp-feed-search:focus{outline:none;border-color:var(--spp-accent);box-shadow:0 0 0 3px var(--spp-active);}
.spp-feed-empty{color:var(--spp-muted);font-size:15px;padding:8px 2px;}

.spp-items{display:flex;flex-direction:column;gap:20px;}

/* Item */
.spp-item{padding:28px;background:var(--spp-bg);border:1px solid var(--spp-line);border-radius:18px;box-shadow:0 1px 2px rgba(17,17,26,.04),0 4px 16px rgba(17,17,26,.05);}
.spp-item.spp-hidden{display:none;}
.spp-item-head{display:flex;gap:22px;align-items:flex-start;}
.spp-item-art{flex:0 0 120px;}
.spp-item-art img{width:120px;height:120px;border-radius:14px;object-fit:cover;display:block;background:var(--spp-hover);}
.spp-item-info{flex:1 1 auto;min-width:0;}
.spp-item-title{margin:0;font-size:23px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--spp-fg);}
.spp-item-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--spp-muted);margin-top:10px;}
.spp-meta{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;}
.spp-meta svg{width:15px;height:15px;fill:currentColor;opacity:.85;}
.spp-feed .spp-item > .spp-item-desc{margin:0;padding-top:26px;font-size:15px;color:var(--spp-muted);line-height:1.6;}

/* Divider + per-episode mini player */
.spp-item .spp-mini{margin-top:22px;padding-top:22px;border-top:1px solid var(--spp-line);display:flex;align-items:center;gap:18px;}
.spp-mini-body{flex:1 1 auto;min-width:0;}
.spp-mini-row{display:flex;align-items:center;gap:16px;}
.spp-mini .spp-times{padding-left:0;margin-top:8px;font-size:13px;}

/* Solid dark speed pill in the feed (inverts on dark theme) */
.spp-feed .spp-speed{background:var(--spp-fg);color:var(--spp-bg);border-color:transparent;font-weight:700;min-width:0;padding:6px 13px;}
.spp-feed .spp-speed:hover{filter:brightness(1.1);color:var(--spp-bg);}
.spp-feed .spp-speed.is-hot{background:var(--spp-accent);color:#fff;}

/* Accent download icon */
.spp-feed .spp-ep-dl{color:var(--spp-accent);padding:0;}
.spp-feed .spp-ep-dl svg{width:22px;height:22px;}
.spp-feed .spp-ep-dl:hover{filter:brightness(1.1);}

/* Layout variants */
.spp-feed-list .spp-items{gap:0;}
.spp-feed-list .spp-item{border:0;border-bottom:1px solid var(--spp-line);border-radius:0;box-shadow:none;background:transparent;padding:28px 0;}
.spp-feed-list .spp-item:last-child{border-bottom:0;}

.spp-feed-grid .spp-items{display:grid;grid-template-columns:repeat(var(--spp-cols,2),minmax(0,1fr));gap:20px;align-items:start;grid-auto-flow:row;}
/* Anything injected into the grid that isn't one of our cards (e.g. an ad) spans the full width so it can't break the column alignment. */
.spp-feed-grid .spp-items > :not(.spp-item){grid-column:1 / -1;}
.spp-feed-grid .spp-item-art{flex-basis:80px;}
.spp-feed-grid .spp-item-art img{width:80px;height:80px;}
.spp-feed-grid .spp-item-title{font-size:19px;}
.spp-feed-grid{--spp-btn:44px;--spp-btn-ico:22px;--spp-wave-h:34px;}
@media (max-width:640px){.spp-feed-grid .spp-items{grid-template-columns:1fr;}}

/* Show-more button */
.spp-more{display:inline-block;margin-top:22px;font:inherit;font-size:15px;font-weight:600;color:#fff;background:var(--spp-accent);border:0;border-radius:999px;padding:11px 24px;cursor:pointer;}
.spp-more:hover{filter:brightness(1.06);}

/* Small screens: stack artwork above text */
@media (max-width:520px){
	.spp-item-head{gap:16px;}
	.spp-item-art{flex-basis:88px;}
	.spp-item-art img{width:88px;height:88px;}
	.spp-item-title{font-size:20px;}
}

/* Timeline rail (List / Cards single-column) */
.spp-feed-timeline .spp-items{position:relative;padding-left:44px;}
.spp-feed-timeline .spp-items::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:var(--spp-line);border-radius:2px;}
.spp-feed-timeline .spp-item{position:relative;}
.spp-feed-timeline .spp-item::before{content:"";position:absolute;left:-37px;top:30px;width:14px;height:14px;border-radius:50%;background:var(--spp-fg);border:3px solid var(--spp-bg);box-shadow:0 0 0 1px var(--spp-line);}
.spp-feed-timeline.spp-feed-cards .spp-item::before,
.spp-feed-timeline.spp-feed-grid .spp-item::before{top:34px;}
@media (max-width:520px){
	.spp-feed-timeline .spp-items{padding-left:32px;}
	.spp-feed-timeline .spp-items::before{left:9px;}
	.spp-feed-timeline .spp-item::before{left:-31px;}
}

/* Skip back 15 / forward 30 buttons */
.spp-skip{flex:0 0 auto;width:var(--spp-skip,32px);height:var(--spp-skip,32px);border:0;background:transparent;color:var(--spp-muted);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:color .1s ease,background .1s ease;}
.spp-skip:hover{color:var(--spp-accent);background:var(--spp-hover);}
.spp-skip:active{transform:scale(.94);}
.spp-skip svg{width:calc(var(--spp-skip,32px) * .82);height:calc(var(--spp-skip,32px) * .82);fill:currentColor;}
.spp-skip text{fill:currentColor;}
/* (sleep timer and small-size two-line layout removed; all sizes now share one layout) */
