/* ===================== متغیرها: تم تیره (پیش‌فرض) =====================
   این متغیرها هم روی .tpod-app-wrap و هم روی html تعریف می‌شوند؛ چون
   پلیر برای رفع مشکل «گیر کردن زیر فوتر سایت» با جاوااسکریپت به انتهای
   body منتقل می‌شود و دیگر داخل .tpod-app-wrap نیست، بدون تعریف روی
   html نمی‌تواند رنگ‌های تم را ببیند و بی‌رنگ/شیشه‌ای می‌شود. */
html {
	--tpod-accent: #2AA8A0;
	--tpod-accent-2: #6ee7de;
	--tpod-bg: #171325;
	--tpod-card-bg: #1d1930;
	--tpod-card-bg-2: #241f3d;
	--tpod-text: #F5F0E8;
	--tpod-text-muted: #a79fc2;
	--tpod-border: #322b4d;
	--tpod-radius: 16px;
	--tpod-shadow: 0 10px 30px rgba(0,0,0,.35);
	--tpod-scrim-strong: rgba(0,0,0,.55);
}

html[data-tpod-theme="light"] {
	--tpod-bg: #F7F5F0;
	--tpod-card-bg: #ffffff;
	--tpod-card-bg-2: #f0f2f4;
	--tpod-text: #16191c;
	--tpod-text-muted: #6b747b;
	--tpod-border: #e3e7ea;
	--tpod-shadow: 0 8px 24px rgba(20,30,35,.08);
	--tpod-scrim-strong: rgba(255,255,255,.6);
}

.tpod-app-wrap {
	--tpod-accent: #2AA8A0;
	--tpod-accent-2: #6ee7de;
	--tpod-bg: #171325;
	--tpod-card-bg: #1d1930;
	--tpod-card-bg-2: #241f3d;
	--tpod-text: #F5F0E8;
	--tpod-text-muted: #a79fc2;
	--tpod-border: #322b4d;
	--tpod-radius: 16px;
	--tpod-shadow: 0 10px 30px rgba(0,0,0,.35);
	--tpod-scrim-strong: rgba(0,0,0,.55);
}

.tpod-app-wrap[data-tpod-theme="light"] {
	--tpod-bg: #F7F5F0;
	--tpod-card-bg: #ffffff;
	--tpod-card-bg-2: #f0f2f4;
	--tpod-text: #16191c;
	--tpod-text-muted: #6b747b;
	--tpod-border: #e3e7ea;
	--tpod-shadow: 0 8px 24px rgba(20,30,35,.08);
	--tpod-scrim-strong: rgba(255,255,255,.6);
}

.tpod-app-wrap {
	font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Arial, sans-serif;
	color: var(--tpod-text);
	background: var(--tpod-bg);
	position: relative;
	padding: 20px 16px 110px;
	overflow: visible;
	transition: background .25s ease, color .25s ease;
	/* فرار از هر padding/margin که سکشن المنتور یا قالب سایت روی
	   والدهای این ویجت گذاشته، تا واقعاً فول‌ویدث و مثل یک اپلیکیشن
	   لبه‌به‌لبه به‌نظر برسد */
	width: 100vw;
	max-width: 100vw;
	margin-inline-start: calc(50% - 50vw);
	margin-inline-end: calc(50% - 50vw);
}

@media (min-width: 1100px) {
	.tpod-app-wrap {
		max-width: 1100px;
		width: 100%;
		margin-inline: auto;
		padding-inline: 24px;
	}
}

.tpod-app-wrap * { box-sizing: border-box; }
.tpod-app-wrap img { max-width: 100%; }

/* تضمین می‌کند که هر جا از اتریبیوت hidden استفاده شده، همیشه واقعاً
   مخفی شود؛ حتی اگر یک قانون دیگر روی همان المان مقدار display تعیین
   کرده باشد (چون در CSS، استایل نویسنده همیشه روی استایل پیش‌فرض مرورگر
   برای [hidden] غالب می‌شود مگر این‌که صراحتاً override شود). */
.tpod-app-wrap [hidden] { display: none !important; }

/* ===================== هیرو یکپارچه (بالای صفحه) ===================== */
.tpod-hero {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	margin-bottom: 18px;
}

/* دکمه تغییر تم: همیشه بالای هیرو، هرگز با پلیر یا اشتراک‌گذاری تداخل ندارد */
.tpod-hero-toolbar {
	position: relative;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 14px 0;
}

.tpod-theme-toggle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1.5px solid var(--tpod-accent);
	background: var(--tpod-card-bg);
	color: var(--tpod-accent);
	cursor: pointer;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform .15s ease;
}

.tpod-theme-toggle:hover { transform: scale(1.07); }

.tpod-subs-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid var(--tpod-border);
	background: var(--tpod-card-bg);
	color: var(--tpod-text) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color .15s ease, color .15s ease;
}

.tpod-subs-link:hover { border-color: var(--tpod-accent); color: var(--tpod-accent) !important; }

.tpod-theme-icon-dark, .tpod-theme-icon-light { display: flex; align-items: center; justify-content: center; }
.tpod-theme-icon-light { display: none; }
.tpod-app-wrap[data-tpod-theme="light"] .tpod-theme-icon-dark { display: none; }
.tpod-app-wrap[data-tpod-theme="light"] .tpod-theme-icon-light { display: flex; }

/* ---- حالت جستجو ---- */
.tpod-hero-search-state {
	position: relative;
	text-align: center;
	padding: 32px 20px 36px;
}

.tpod-hero-glow {
	position: absolute;
	inset: -20px auto auto 50%;
	width: 480px;
	height: 260px;
	transform: translateX(-50%);
	background: radial-gradient(closest-side, color-mix(in srgb, var(--tpod-accent) 24%, transparent), transparent 75%);
	pointer-events: none;
	filter: blur(6px);
}

.tpod-hero-title {
	position: relative;
	font-size: 30px;
	font-weight: 800;
	margin: 0 0 20px;
	color: var(--tpod-text) !important;
}

.tpod-hero-subtitle {
	position: relative;
	color: var(--tpod-text-muted) !important;
	font-size: 15px;
	margin: 0 0 26px;
}

.tpod-search-box {
	position: relative;
	max-width: 640px;
	margin: 0 auto;
	height: 62px;
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--tpod-card-bg);
	border: 1.5px solid var(--tpod-border);
	border-radius: 999px;
	padding-inline-start: 22px;
	padding-inline-end: 8px;
	padding-block: 0;
	box-shadow: var(--tpod-shadow);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.tpod-search-icon { color: var(--tpod-accent); display: flex; align-items: center; flex-shrink: 0; align-self: center; }

.tpod-search-box:focus-within {
	border-color: var(--tpod-accent);
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--tpod-accent) 14%, transparent), var(--tpod-shadow);
}

.tpod-search-input {
	flex: 1;
	min-width: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
	color: var(--tpod-text) !important;
	-webkit-text-fill-color: var(--tpod-text) !important;
	caret-color: var(--tpod-text);
	font-size: 19px;
	font-weight: 600;
	line-height: 1;
	/* پدینگ عمدا نامتقارن (بالا بیشتر از پایین) چون فونت‌های فارسی معمولاً
	   ascent بلندتری از descent دارند. این مقدار نسبت به نسخه‌ی قبلی
	   قوی‌تر شده چون اصلاح قبلی کافی نبود. */
	padding-top: 27px;
	padding-bottom: 9px;
	padding-inline: 6px;
	font-family: inherit;
}

.tpod-search-input:focus,
.tpod-search-input:focus-visible,
.tpod-search-input:invalid,
.tpod-search-input:required {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.tpod-search-input::placeholder { color: var(--tpod-text-muted) !important; opacity: 1; font-weight: 500; }

.tpod-search-spinner {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2.5px solid var(--tpod-border);
	border-top-color: var(--tpod-accent);
	flex-shrink: 0;
	animation: tpod-spin .7s linear infinite;
}

@keyframes tpod-spin { to { transform: rotate(360deg); } }

/* ---- حالت پادکست انتخاب‌شده (جایگزین کامل حالت جستجو) ---- */
.tpod-hero-podcast-state {
	position: relative;
	padding: 20px 20px 32px;
	min-height: 260px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.tpod-hero-podcast-backdrop {
	position: absolute;
	inset: -10%;
	background-size: cover;
	background-position: center;
	filter: blur(38px) saturate(1.3);
	transform: scale(1.15);
	z-index: 0;
	opacity: .55;
}

.tpod-hero-podcast-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, color-mix(in srgb, var(--tpod-bg) 25%, transparent) 0%, var(--tpod-bg) 96%);
	z-index: 1;
}

.tpod-podcast-topbar {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding-top: 14px;
}

.tpod-icon-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--tpod-card-bg);
	border: 1px solid var(--tpod-border);
	color: var(--tpod-text);
	padding: 9px 14px;
	border-radius: 999px;
	cursor: pointer;
	font-size: 13px;
	font-family: inherit;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.tpod-icon-btn:hover { border-color: var(--tpod-accent); color: var(--tpod-accent); }

.tpod-podcast-hero-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 22px;
}

.tpod-pd-artwork {
	width: 140px;
	height: 140px;
	border-radius: 20px;
	object-fit: cover;
	box-shadow: var(--tpod-shadow);
	flex-shrink: 0;
	background: #000;
}

.tpod-pd-meta { min-width: 0; flex: 1; }

.tpod-pd-title {
	font-size: 24px;
	font-weight: 800;
	margin: 0 0 6px;
	line-height: 1.4;
	color: var(--tpod-text) !important;
}

.tpod-pd-artist {
	font-size: 14px;
	color: var(--tpod-text-muted) !important;
	margin: 0 0 16px;
}

.tpod-pd-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.tpod-follow-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--tpod-accent);
	color: #06110f;
	border: none;
	border-radius: 999px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	transition: transform .12s ease, opacity .15s ease, background .15s ease;
}

.tpod-follow-btn:hover { transform: translateY(-1px); }

.tpod-follow-btn.is-active {
	background: transparent;
	border: 1.5px solid var(--tpod-accent);
	color: var(--tpod-accent);
}

.tpod-follow-btn.is-active .tpod-follow-plus { display: none; }
.tpod-follow-plus { font-size: 16px; line-height: 1; }

.tpod-followers-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--tpod-text-muted);
	font-size: 13px;
	background: color-mix(in srgb, var(--tpod-card-bg) 60%, transparent);
	border: 1px solid var(--tpod-border);
	padding: 8px 14px;
	border-radius: 999px;
}

.tpod-followers-badge svg { color: var(--tpod-accent); flex-shrink: 0; }
.tpod-followers-badge #tpod-pd-followers-count { color: var(--tpod-text); font-weight: 700; }

/* ===================== وضعیت‌ها / متن‌های راهنما ===================== */
/* ===================== اسکلتون لودینگ (برای جلوگیری از پرش ارتفاع باکس) ===================== */
.tpod-skeleton-card { cursor: default; }
.tpod-skeleton-card:hover { transform: none; box-shadow: none; border-color: var(--tpod-border); }

.tpod-skeleton-img {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--tpod-card-bg-2);
	animation: tpod-skeleton-pulse 1.3s ease-in-out infinite;
}

.tpod-skeleton-line {
	height: 10px;
	border-radius: 5px;
	background: var(--tpod-card-bg-2);
	margin: 6px 0;
	animation: tpod-skeleton-pulse 1.3s ease-in-out infinite;
}

@keyframes tpod-skeleton-pulse {
	0%, 100% { opacity: .5; }
	50% { opacity: 1; }
}

/* ===================== ویجت مستقل دنبال‌کردن (برای پست‌های اختصاصی سئوشده) =====================
   این ویجت از html[data-tpod-theme] یا مقادیر پیش‌فرض تیره‌ی تعریف‌شده
   روی html استفاده می‌کند، بدون این‌که کل استایل‌های صفحه‌ی پلاگین
   (padding/max-width/background) را با خودش بیاورد. */
.tpod-follow-widget {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Arial, sans-serif;
	flex-wrap: wrap;
}

.tpod-standalone-follow-btn[disabled] { opacity: .6; cursor: default; }

/* ===================== ویجت امتیازدهی ===================== */
.tpod-rating-widget {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}

.tpod-rating-stars { display: inline-flex; gap: 2px; direction: ltr; }

.tpod-star {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	color: var(--tpod-border);
	padding: 2px;
	transition: color .12s ease, transform .12s ease;
}

.tpod-star:hover { transform: scale(1.15); }
.tpod-star.is-filled { color: #f5b400; }

.tpod-rating-summary { font-size: 12.5px; color: var(--tpod-text-muted) !important; }

/* ===================== ویجت claim مالکیت ===================== */
.tpod-claim-widget { margin-top: 10px; }

.tpod-claim-btn {
	background: transparent;
	border: 1.5px dashed var(--tpod-accent);
	color: var(--tpod-accent) !important;
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}

.tpod-claim-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: color-mix(in srgb, var(--tpod-accent) 15%, transparent);
	color: var(--tpod-accent) !important;
	border-radius: 999px;
	padding: 7px 14px;
	font-size: 12.5px;
	font-weight: 700;
}

/* ===================== بج پادکستر و پاسخ‌های تودرتو کامنت ===================== */
.tpod-comment-owner-badge {
	background: var(--tpod-accent);
	color: #06110f;
	font-size: 10.5px;
	font-weight: 800;
	border-radius: 999px;
	padding: 2px 9px;
}

.tpod-comment-reply-btn {
	background: none;
	border: none;
	color: var(--tpod-accent) !important;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	padding: 6px 0 0;
	font-family: inherit;
}

.tpod-comment-reply-form {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tpod-comment-replies { margin-inline-start: 28px; }
.tpod-comment-replies:not(:empty) { margin-top: 10px; display: flex; flex-direction: column; gap: 10px; }
.tpod-comment-reply { border-inline-start: 2px solid var(--tpod-accent); }

/* ===================== جدول گزارش مدیریتی ===================== */
.tpod-report-table-wrap { overflow-x: auto; margin-bottom: 30px; }

.tpod-report-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
}

.tpod-report-table th,
.tpod-report-table td {
	padding: 12px 14px;
	text-align: start;
	border-bottom: 1px solid var(--tpod-border);
	color: var(--tpod-text) !important;
	white-space: nowrap;
}

.tpod-report-table th {
	color: var(--tpod-text-muted) !important;
	font-weight: 700;
	font-size: 12px;
}

.tpod-report-table tbody tr:hover { background: var(--tpod-card-bg); }

.tpod-report-search-terms {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tpod-report-search-terms li {
	background: var(--tpod-card-bg);
	border: 1px solid var(--tpod-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 12.5px;
	color: var(--tpod-text) !important;
}

.tpod-report-search-terms li span { color: var(--tpod-text-muted) !important; }

@media (max-width: 680px) {
	.tpod-report-table thead { display: none; }
	.tpod-report-table, .tpod-report-table tbody, .tpod-report-table tr, .tpod-report-table td { display: block; width: 100%; }
	.tpod-report-table tr {
		background: var(--tpod-card-bg);
		border: 1px solid var(--tpod-border);
		border-radius: 12px;
		margin-bottom: 12px;
		padding: 4px 0;
	}
	.tpod-report-table td {
		display: flex;
		justify-content: space-between;
		border-bottom: none;
		white-space: normal;
	}
	.tpod-report-table td::before {
		content: attr(data-label);
		color: var(--tpod-text-muted) !important;
		font-size: 12px;
	}
}

/* ===================== کارت پلیر کامپکت [tpod_podcast_card] ===================== */
.tpod-pcard {
	--tpod-pcard-color: #2AA8A0;
	font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Arial, sans-serif;
	background: var(--tpod-pcard-color);
	border-radius: 18px;
	padding: 14px;
	width: 100%;
	box-shadow: 0 8px 22px rgba(0,0,0,.18);
	box-sizing: border-box;
}

.tpod-pcard * { box-sizing: border-box; }

.tpod-pcard-cover-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 12px;
	overflow: hidden;
	background: rgba(0,0,0,.2);
	margin-bottom: 10px;
}

.tpod-pcard-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tpod-pcard-play-btn {
	position: absolute;
	inset: auto auto 10px 10px;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,.92);
	color: #16191c;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0,0,0,.35);
	transition: transform .15s ease;
}

.tpod-pcard-play-btn:hover { transform: scale(1.07); }
.tpod-pcard-play-icon { width: 30px; height: 30px; }
.tpod-pcard-play-icon[data-state="play"] { margin-inline-start: 3px; }

.tpod-pcard-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 8px;
	color: #fff;
}

.tpod-pcard-podcast-name {
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tpod-pcard-episode-name {
	font-size: 12px;
	opacity: .85;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tpod-pcard-seek-wrap { margin-bottom: 10px; }

.tpod-pcard-seek {
	width: 100%;
	display: block;
	direction: ltr;
	appearance: none;
	-webkit-appearance: none;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(to right, #fff var(--tpod-pcard-progress, 0%), rgba(255,255,255,.35) 0);
	cursor: pointer;
	margin: 0;
}

.tpod-pcard-seek::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #fff;
}

.tpod-pcard-seek::-moz-range-thumb {
	width: 11px;
	height: 11px;
	border: none;
	border-radius: 50%;
	background: #fff;
}

.tpod-pcard-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}

.tpod-pcard-next-ep,
.tpod-pcard-prev-ep {
	background: rgba(255,255,255,.16);
	border: none;
	color: #fff !important;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	transition: opacity .15s ease, transform .15s ease, background .15s ease;
}

.tpod-pcard-next-ep svg,
.tpod-pcard-prev-ep svg {
	display: block;
	fill: currentColor;
	pointer-events: none;
}

.tpod-pcard-next-ep:hover,
.tpod-pcard-prev-ep:hover { transform: scale(1.08); background: rgba(255,255,255,.28); }

.tpod-pcard-next-ep.is-nav-disabled,
.tpod-pcard-prev-ep.is-nav-disabled { opacity: .3; pointer-events: none; }

.tpod-pcard-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,.18);
}

.tpod-pcard-link-btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255,255,255,.14);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .15s ease, background .15s ease;
}

.tpod-pcard-link-btn:hover { transform: translateY(-2px); background: rgba(255,255,255,.26); }

.tpod-pcard-follow-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #fff;
	color: var(--tpod-pcard-color);
	border: none;
	border-radius: 999px;
	height: 38px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	font-family: inherit;
	transition: transform .12s ease;
}

.tpod-pcard-follow-btn:hover { transform: translateY(-1px); }
.tpod-pcard-follow-btn.is-active { background: rgba(255,255,255,.2); color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.tpod-pcard-follow-btn .tpod-follow-plus { font-size: 15px; }
.tpod-pcard-follow-btn.is-active .tpod-follow-plus { display: none; }

@media (max-width: 680px) {
	.tpod-pcard { max-width: 100%; }
}

.tpod-status {
	color: var(--tpod-text-muted) !important;
	font-size: 14px;
	margin-bottom: 14px;
	min-height: 18px;
	text-align: center;
}

/* ===================== بخش‌های پیشنهادی: گرید ریسپانسیو وسط‌چین ===================== */
.tpod-featured-sections { margin-bottom: 4px; }
.tpod-featured-section { margin-bottom: 22px; }

.tpod-featured-section h3 {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	color: var(--tpod-text) !important;
}

.tpod-featured-section h3::before {
	content: "";
	width: 4px;
	height: 16px;
	background: var(--tpod-accent);
	border-radius: 4px;
	display: inline-block;
}

.tpod-featured-row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	justify-content: center;
	max-width: 980px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.tpod-featured-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
	.tpod-featured-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* ===================== گرید نتایج جستجو ===================== */
.tpod-results-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 16px;
	justify-content: center;
}

/* گرید صفحه‌ی «دنبال‌شده‌های من»: برخلاف نتایج جستجو (که تعدادشان متغیر
   است)، اینجا همیشه دقیقاً ۴ ستون در دسکتاپ و وسط‌چین می‌خواهیم. */
.tpod-results-grid[data-tpod-subs-list="1"] {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 900px;
	margin: 0 auto;
}

@media (max-width: 680px) {
	.tpod-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tpod-results-grid[data-tpod-subs-list="1"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.tpod-card {
	background: var(--tpod-card-bg);
	border: 1px solid var(--tpod-border);
	border-radius: var(--tpod-radius);
	overflow: hidden;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
	display: flex;
	flex-direction: column;
}

.tpod-card:hover {
	transform: translateY(-4px);
	border-color: var(--tpod-accent);
	box-shadow: 0 10px 24px color-mix(in srgb, var(--tpod-accent) 20%, transparent);
}

.tpod-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	background: #000;
}

.tpod-card-body { padding: 10px 12px 14px; }

.tpod-card-title {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 4px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.tpod-card-artist {
	font-size: 12px;
	color: var(--tpod-text-muted) !important;
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ===================== بدنه صفحه پادکست (توضیحات + اپیزودها) ===================== */
.tpod-podcast-page { animation: tpod-fade-in .25s ease; }

@keyframes tpod-fade-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.tpod-pd-description-wrap { max-width: 780px; margin: 0 0 28px; }

.tpod-pd-description {
	color: var(--tpod-text-muted) !important;
	line-height: 1.9;
	font-size: 14px;
	margin: 0 0 8px;
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: break-word;
	white-space: normal;
}

.tpod-pd-description.is-clamped {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.tpod-pd-description-toggle {
	background: none;
	border: none;
	color: var(--tpod-accent) !important;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	padding: 0;
	font-family: inherit;
}

.tpod-pd-description-toggle:hover { text-decoration: underline; }

.tpod-section-title {
	font-size: 17px;
	font-weight: 700;
	margin: 36px 0 14px;
	color: var(--tpod-text) !important;
}

.tpod-similar-grid,
.tpod-detail-similar-grid { margin-bottom: 8px; }

/* ===================== بخش نظرات ===================== */
.tpod-comments-section { max-width: 780px; }

.tpod-comment-form-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 22px;
}

.tpod-app-wrap .tpod-comment-textarea,
.tpod-comment-textarea {
	width: 100%;
	min-height: 90px;
	resize: vertical;
	background: var(--tpod-card-bg) !important;
	border: 1.5px solid var(--tpod-border) !important;
	border-radius: 14px;
	color: var(--tpod-text) !important;
	-webkit-text-fill-color: var(--tpod-text) !important;
	caret-color: var(--tpod-text);
	font-family: inherit;
	font-size: 14px;
	padding: 14px;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color .2s ease;
}

.tpod-comment-textarea:focus { border-color: var(--tpod-accent) !important; }
.tpod-comment-textarea::placeholder { color: var(--tpod-text-muted) !important; opacity: 1; }

.tpod-comment-submit-btn {
	align-self: flex-start;
	background: var(--tpod-accent);
	color: #06110f;
	border: none;
	border-radius: 999px;
	padding: 10px 22px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	transition: transform .12s ease;
}

.tpod-comment-submit-btn:hover { transform: translateY(-1px); }
.tpod-comment-submit-btn:disabled { opacity: .6; cursor: default; transform: none; }

.tpod-comment-login-hint {
	text-align: start;
	background: var(--tpod-card-bg);
	border: 1px dashed var(--tpod-border);
	border-radius: 12px;
	padding: 14px;
	margin: 0 0 22px;
}

.tpod-comments-list { display: flex; flex-direction: column; gap: 14px; }

.tpod-comment-item {
	background: var(--tpod-card-bg);
	border: 1px solid var(--tpod-border);
	border-radius: 14px;
	padding: 14px 16px;
}

.tpod-comment-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.tpod-comment-author { font-size: 13.5px; color: var(--tpod-text) !important; }
.tpod-comment-date { font-size: 11.5px; color: var(--tpod-text-muted) !important; margin-inline-start: auto; }

.tpod-comment-delete-btn {
	background: none;
	border: none;
	color: var(--tpod-text-muted);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0 2px;
}

.tpod-comment-delete-btn:hover { color: #e5484d; }

.tpod-comment-text {
	font-size: 13.5px;
	line-height: 1.8;
	color: var(--tpod-text-muted) !important;
	margin: 0;
	overflow-wrap: break-word;
}

.tpod-episodes-list { display: flex; flex-direction: column; gap: 10px; }

.tpod-episode-card {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--tpod-card-bg);
	border: 1px solid var(--tpod-border);
	border-radius: 14px;
	padding: 12px;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
	position: relative;
}

.tpod-episode-card:hover { border-color: var(--tpod-accent); background: var(--tpod-card-bg-2); }

.tpod-episode-cover {
	width: 58px;
	height: 58px;
	border-radius: 10px;
	object-fit: cover;
	flex-shrink: 0;
	background: #000;
}

.tpod-episode-play {
	position: relative;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--tpod-accent);
	color: #06110f;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--tpod-accent) 45%, transparent);
	transition: transform .15s ease;
}

.tpod-episode-card:hover .tpod-episode-play { transform: scale(1.08); }
.tpod-episode-play svg { width: 16px; height: 16px; margin-right: -2px; }

.tpod-episode-card.is-playing .tpod-episode-play::after {
	content: "";
	position: absolute;
	inset: -6px;
	border: 2px solid var(--tpod-accent);
	border-radius: 50%;
	animation: tpod-ring 1.4s ease-out infinite;
}

@keyframes tpod-ring {
	0% { transform: scale(.9); opacity: .9; }
	100% { transform: scale(1.5); opacity: 0; }
}

.tpod-episode-meta { flex: 1; min-width: 0; }

.tpod-episode-title {
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--tpod-text) !important;
}

.tpod-episode-sub { font-size: 12px; color: var(--tpod-text-muted) !important; margin: 0; }

/* ===================== پلیر سفارشی، وسط‌چین و شناور ===================== */
.tpod-sticky-player {
	position: fixed;
	left: 0;
	right: 0;
	bottom: var(--tpod-footer-offset, 0px);
	width: 100%;
	background: var(--tpod-card-bg);
	color: var(--tpod-text);
	font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Arial, sans-serif;
	border-top: 1px solid var(--tpod-border);
	border-radius: 18px 18px 0 0;
	z-index: 2147483647;
	box-shadow: 0 -10px 30px rgba(0,0,0,.25);
}

.tpod-sticky-player[hidden] { display: none; }

/* انیمیشن ورود «تاپ‌تاپ» هر بار که پلیر ظاهر می‌شود یا اپیزود جدیدی پخش می‌شود */
@keyframes tpod-player-pop-in {
	0%   { transform: translateY(100%); opacity: 0; }
	55%  { transform: translateY(-10px); opacity: 1; }
	75%  { transform: translateY(4px); }
	100% { transform: translateY(0); }
}

.tpod-sticky-player.tpod-player-pop:not(.is-expanded) {
	animation: tpod-player-pop-in .55s cubic-bezier(.34, 1.56, .64, 1);
}

.tpod-player-collapse-btn {
	display: none;
	position: absolute;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--tpod-border);
	background: var(--tpod-card-bg-2);
	color: var(--tpod-text);
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 3;
}

.tpod-player-seek-wrap { padding: 0; border-radius: 18px 18px 0 0; overflow: hidden; max-width: 900px; margin: 0 auto; }

.tpod-player-seek {
	display: block;
	width: 100%;
	direction: ltr;
	appearance: none;
	-webkit-appearance: none;
	height: 3px;
	background: var(--tpod-border);
	cursor: pointer;
	margin: 0;
}

.tpod-player-seek::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--tpod-accent);
	margin-top: -4.5px;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tpod-accent) 25%, transparent);
	opacity: 0;
	transition: opacity .15s ease;
}

.tpod-player-seek:hover::-webkit-slider-thumb,
.tpod-player-seek:focus::-webkit-slider-thumb { opacity: 1; }

.tpod-player-seek::-moz-range-thumb {
	width: 12px;
	height: 12px;
	border: none;
	border-radius: 50%;
	background: var(--tpod-accent);
}

.tpod-player-seek::-webkit-slider-runnable-track {
	height: 3px;
	background: linear-gradient(to right, var(--tpod-accent) var(--tpod-progress, 0%), var(--tpod-border) 0);
}

.tpod-player-seek::-moz-range-progress {
	background: var(--tpod-accent);
	height: 3px;
}

.tpod-player-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 12px 20px;
	flex-wrap: nowrap;
	max-width: 900px;
	margin: 0 auto;
}

.tpod-player-track-info {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	flex-shrink: 1;
}

.tpod-player-artwork-wrap {
	position: relative;
	flex-shrink: 0;
	border: none;
	background: none;
	padding: 0;
	cursor: pointer;
	border-radius: 10px;
	line-height: 0;
}

.tpod-player-artwork {
	width: 46px;
	height: 46px;
	border-radius: 10px;
	object-fit: cover;
	display: block;
	background: #000;
	transition: transform .15s ease;
}

.tpod-player-artwork-wrap:hover .tpod-player-artwork { transform: scale(1.05); }

.tpod-player-info { display: flex; flex-direction: column; min-width: 0; max-width: 200px; }

.tpod-player-info strong {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--tpod-text) !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tpod-player-info span {
	font-size: 11.5px;
	color: var(--tpod-text-muted) !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tpod-player-divider { width: 1px; align-self: stretch; margin: 6px 0; background: var(--tpod-border); flex-shrink: 0; }

.tpod-player-controls { display: flex; align-items: center; gap: 14px; }

.tpod-player-icon-btn {
	background: none;
	border: none;
	color: var(--tpod-text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	transition: color .15s ease, transform .15s ease;
}

.tpod-player-icon-btn:hover { color: var(--tpod-accent); transform: scale(1.1); }
.tpod-player-icon-btn:disabled { opacity: .3; cursor: default; pointer-events: none; }

.tpod-skip-btn { position: relative; width: 30px; height: 30px; }

.tpod-skip-label {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 9px;
	font-weight: 800;
	font-family: inherit;
	color: inherit;
	pointer-events: none;
	transform: translateY(.5px);
}

.tpod-player-play-btn {
	position: relative;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: none;
	background: var(--tpod-accent);
	color: #06110f;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	box-shadow: 0 4px 16px color-mix(in srgb, var(--tpod-accent) 45%, transparent);
	transition: transform .15s ease, box-shadow .15s ease;
}

.tpod-player-play-btn svg { position: relative; z-index: 1; width: 24px; height: 24px; }
.tpod-player-play-btn #tpod-player-play-icon[data-state="play"] { margin-inline-start: 2px; }

.tpod-player-play-ring {
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	border: 2px solid var(--tpod-accent);
	opacity: 0;
	transform: scale(.85);
	transition: opacity .2s ease, transform .2s ease;
}

.tpod-player-play-btn:hover {
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--tpod-accent) 18%, transparent), 0 4px 16px color-mix(in srgb, var(--tpod-accent) 45%, transparent);
	transform: scale(1.06);
}

.tpod-player-play-btn:hover .tpod-player-play-ring { opacity: 1; transform: scale(1); }
.tpod-player-play-btn:active { transform: scale(.94); }

.tpod-player-time {
	font-size: 11.5px;
	color: var(--tpod-text-muted);
	white-space: nowrap;
	display: flex;
	gap: 3px;
	direction: ltr;
	flex-shrink: 0;
}

.tpod-player-speed-btn {
	background: var(--tpod-card-bg-2);
	border: 1px solid var(--tpod-border);
	color: var(--tpod-text);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 14px;
	cursor: pointer;
	font-family: inherit;
	flex-shrink: 0;
	transition: border-color .15s ease, color .15s ease;
}

.tpod-player-speed-btn:hover { border-color: var(--tpod-accent); color: var(--tpod-accent); }

.tpod-player-minimize-btn svg { transition: transform .2s ease; }

/* ---- حالت مینیمایز‌شده (پلیر کوچک شناور در گوشه) ---- */
.tpod-sticky-player.is-minimized {
	left: 18px;
	right: auto;
	bottom: calc(var(--tpod-footer-offset, 0px) + 18px);
	transform: none;
	width: auto;
	border-radius: 999px;
	border: 1px solid var(--tpod-border);
	box-shadow: var(--tpod-shadow);
}

.tpod-sticky-player.is-minimized .tpod-player-seek-wrap,
.tpod-sticky-player.is-minimized .tpod-player-divider,
.tpod-sticky-player.is-minimized .tpod-player-info,
.tpod-sticky-player.is-minimized .tpod-player-time,
.tpod-sticky-player.is-minimized .tpod-player-speed-btn,
.tpod-sticky-player.is-minimized #tpod-player-share,
.tpod-sticky-player.is-minimized #tpod-player-next,
.tpod-sticky-player.is-minimized #tpod-player-fwd30,
.tpod-sticky-player.is-minimized #tpod-player-back10,
.tpod-sticky-player.is-minimized #tpod-player-prev,
.tpod-sticky-player.is-minimized #tpod-player-expand {
	display: none;
}

.tpod-sticky-player.is-minimized .tpod-player-bar { padding: 8px 10px 8px 14px; gap: 10px; }
.tpod-sticky-player.is-minimized .tpod-player-artwork { width: 38px; height: 38px; }
.tpod-sticky-player.is-minimized .tpod-player-play-btn { width: 38px; height: 38px; }
.tpod-sticky-player.is-minimized .tpod-player-minimize-btn svg { transform: rotate(180deg); }

/* ---- نمای تمام‌صفحه (Now Playing) روی موبایل، با کلیک روی کاور ---- */
.tpod-sticky-player.is-expanded {
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	transform: none;
	width: 100%;
	height: 100%;
	border-radius: 0;
	border: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 2147483647;
}

.tpod-sticky-player.is-expanded .tpod-player-collapse-btn { display: flex; }

.tpod-sticky-player.is-expanded .tpod-player-seek-wrap {
	order: 3;
	padding: 0 30px;
	margin-top: 26px;
}
.tpod-sticky-player.is-expanded .tpod-player-seek { height: 5px; border-radius: 6px; }

.tpod-sticky-player.is-expanded .tpod-player-bar {
	flex-direction: column;
	gap: 22px;
	padding: 40px 24px 20px;
}

.tpod-sticky-player.is-expanded .tpod-player-track-info {
	flex-direction: column;
	text-align: center;
	gap: 18px;
}

.tpod-sticky-player.is-expanded .tpod-player-artwork {
	width: min(280px, 62vw);
	height: min(280px, 62vw);
	border-radius: 22px;
}

.tpod-sticky-player.is-expanded .tpod-player-info { max-width: 100%; align-items: center; }
.tpod-sticky-player.is-expanded .tpod-player-info strong { font-size: 16px; white-space: normal; }
.tpod-sticky-player.is-expanded .tpod-player-divider { display: none; }

.tpod-sticky-player.is-expanded .tpod-player-controls {
	order: 4;
	gap: 22px;
	justify-content: center;
	width: 100%;
}

/* دکمه اشتراک‌گذاری از ردیف اصلی پخش بیرون می‌آید (که نامتقارن نشود و
   دکمه‌ی پلی دقیقاً وسط بماند) و بالای صفحه، کنار دکمه‌ی بستن نمای کامل
   قرار می‌گیرد. */
.tpod-sticky-player.is-expanded #tpod-player-share {
	position: absolute;
	top: 18px;
	inset-inline-start: 20px;
	order: initial;
}

.tpod-sticky-player.is-expanded .tpod-player-speed-btn {
	position: absolute;
	top: 18px;
	inset-inline-end: 20px;
	order: initial;
}

.tpod-sticky-player.is-expanded .tpod-player-time {
	order: 2;
	justify-content: center;
	width: 100%;
}

.tpod-sticky-player.is-expanded .tpod-player-play-btn { width: 64px; height: 64px; }
.tpod-sticky-player.is-expanded .tpod-skip-btn { width: 38px; height: 38px; }
.tpod-sticky-player.is-expanded .tpod-skip-btn svg { width: 32px; height: 32px; }
.tpod-sticky-player.is-expanded .tpod-skip-label { font-size: 10.5px; }

.tpod-sticky-player.is-expanded #tpod-player-expand { display: none; }

.tpod-sticky-player.is-expanded #tpod-player-minimize,
.tpod-sticky-player.is-expanded #tpod-player-close { order: 5; }

/* ===================== واکنش‌گرا ===================== */
@media (max-width: 680px) {
	.tpod-app-wrap { padding-inline: 8px; }
	.tpod-hero-title { font-size: 21px; }
	.tpod-hero-search-state { padding: 30px 14px 28px; }
	.tpod-search-box { height: 54px; }
	.tpod-search-input { font-size: 16px; padding-top: 17px; padding-bottom: 11px; padding-inline: 8px; }
	.tpod-podcast-hero-content { flex-direction: column; align-items: flex-start; gap: 14px; }
	.tpod-pd-artwork { width: 110px; height: 110px; }
	.tpod-pd-title { font-size: 19px; }
	.tpod-icon-btn span { display: none; }
	.tpod-player-info { display: none; }
	.tpod-sticky-player:not(.is-expanded) .tpod-player-divider { display: none; }

	/* نوار فشرده‌ی پلیر در موبایل: فقط کاور (بزرگ و قابل‌لمس) + کنترل‌های
	   اصلی پخش، همه دقیقاً وسط‌چین؛ دکمه‌های کم‌اهمیت‌تر (اشتراک‌گذاری،
	   اپیزود بعدی/قبلی) به نمای تمام‌صفحه منتقل می‌شوند تا شلوغ نشود. */
	.tpod-sticky-player:not(.is-expanded) .tpod-player-bar {
		justify-content: center;
		gap: 14px;
		padding: 10px 14px;
	}
	.tpod-sticky-player:not(.is-expanded) .tpod-player-controls { gap: 12px; }
	.tpod-sticky-player:not(.is-expanded) #tpod-player-share,
	.tpod-sticky-player:not(.is-expanded) #tpod-player-next,
	.tpod-sticky-player:not(.is-expanded) #tpod-player-prev,
	.tpod-sticky-player:not(.is-expanded) .tpod-player-speed-btn,
	.tpod-sticky-player:not(.is-expanded) .tpod-player-time {
		display: none;
	}
	.tpod-sticky-player:not(.is-expanded) .tpod-player-artwork-wrap {
		padding: 4px; /* بزرگ‌کردن ناحیه‌ی قابل‌لمس بدون تغییر سایز بصری کاور */
	}
	.tpod-sticky-player:not(.is-expanded) .tpod-player-artwork {
		width: 52px;
		height: 52px;
	}
}
