/**
 * Warm parchment atmosphere for internal pages (aligned with خلوت فلسفی home).
 */

body.khalvat-inner {
	--khalvat-parchment: #c9b089;
	--khalvat-paper: #f3e6cf;
	--khalvat-ink-soft: rgba(62, 42, 24, 0.08);
	--khalvat-ink-mid: rgba(62, 42, 24, 0.14);
	/* Fallback only — khalvat-sticky-sidebar.js sets the live value on body. */
	--khalvat-sticky-side-top: 120px;
	overflow-x: visible;
	min-height: 100%;
	background-color: var(--khalvat-parchment-bg-color, var(--khalvat-parchment, #c9b089)) !important;
	/* Frameless parchment — no side rails / ornamental border. */
	background-image: var(--khalvat-parchment-bg-image, url("../images/khalvat-home/parchment-plain.jpg?v=7")) !important;
	background-position: center top !important;
	/* Less zoom than cover so grain/texture stays readable. */
	background-size: 100% auto !important;
	background-repeat: repeat-y !important;
	background-attachment: scroll !important;
}

html:has(body.khalvat-inner) {
	background-color: var(--khalvat-parchment-bg-color, var(--khalvat-parchment, #c9b089));
	overflow-x: hidden;
}

body.admin-bar.khalvat-inner {
	--khalvat-sticky-side-top: 152px;
}

@media screen and (max-width: 782px) {
	body.admin-bar.khalvat-inner {
		--khalvat-sticky-side-top: 166px;
	}
}

/* Soft brand wash — disabled so the page reads as one flat parchment. */
body.khalvat-inner::before {
	content: none;
	display: none;
}

/* Desktop: fixed wash is fine; keep texture scrolling for reliability. */
@media (min-width: 993px) and (hover: hover) and (pointer: fine) {
	body.khalvat-inner::before {
		position: fixed;
	}
}

/* Keep main chrome above the fixed wash.
   Header stays above page chrome so account dropdown is never buried. */
body.khalvat-inner .irancast-header {
	z-index: 1200;
}

body.khalvat-inner .bread-crumb,
body.khalvat-inner .archive-page,
body.khalvat-inner .single-episode-banner,
body.khalvat-inner .single-episode-content,
body.khalvat-inner footer.irancast-footer,
body.khalvat-inner .irancast-footer {
	position: relative;
	z-index: 1;
}

/* Theme grid-lines motif — off for a flat page. */
body.khalvat-inner .archive-page::before,
body.khalvat-inner .archive-page::after {
	content: none;
	display: none;
}

body.khalvat-inner .archive-page {
	isolation: isolate;
}

body.khalvat-inner .archive-page > .container {
	position: relative;
	z-index: 1;
	/* Space under sticky header curve (not flush — breadcrumbs must clear the black shell). */
	margin-top: 28px !important;
}

body.khalvat-inner .archive-page .archive-content,
body.khalvat-inner .archive-page .single-content {
	position: relative;
	z-index: 1;
}

/* Soft oval wash behind content — removed for a flat parchment page. */
body.khalvat-inner .archive-page .archive-content::before,
body.khalvat-inner .archive-page .single-content::before {
	content: none;
	display: none;
}

/* Breadcrumb: clear the sticky header’s curved black bottom (don’t tuck under it). */
body.khalvat-inner .bread-crumb {
	margin-top: 36px;
	position: relative;
	z-index: 1;
}

body.khalvat-inner .bread-crumb .container {
	padding: 10px 18px;
	border-radius: 14px;
	background: color-mix(in srgb, var(--khalvat-paper) 72%, transparent);
	border: 1px solid var(--khalvat-ink-soft);
	box-shadow: 0 10px 28px rgba(62, 42, 24, 0.06);
	backdrop-filter: blur(2px);
}

body.khalvat-inner .bread-crumb .container nav i,
body.khalvat-inner .bread-crumb .container nav a {
	color: #6a5844;
}

body.khalvat-inner .bread-crumb .container span:nth-child(1),
body.khalvat-inner .bread-crumb .container span:nth-child(2) {
	color: #3e2a18;
	opacity: 1;
}

/* Sort bar + content panels: parchment paper instead of cold white. */
body.khalvat-inner .archive-page .archive-content .archive-sort-sec {
	padding: 14px 18px;
	margin-bottom: 18px;
	border-radius: 16px;
	background: color-mix(in srgb, var(--khalvat-paper) 78%, #fff);
	border: 1px solid var(--khalvat-ink-soft);
	box-shadow: 0 12px 30px rgba(62, 42, 24, 0.07);
}

body.khalvat-inner .archive-page .archive-content .archive-sort-sec p {
	color: #3e2a18;
}

body.khalvat-inner .archive-page .archive-content .archive-sort-sec div a {
	color: #5c4a38;
}

body.khalvat-inner .archive-page .archive-content .archive-sort-sec div a:hover,
body.khalvat-inner .archive-page .archive-content .archive-sort-sec div a.active {
	color: var(--maincolor, #da2f37);
}

/*
 * Sidebar always on the RIGHT (RTL). Archive renders aside first; the
 * khalvat single template renders it last — normalize with flex order.
 */
body.khalvat-inner .archive-page > .container {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	direction: rtl !important;
}

body.khalvat-inner .archive-page .archive-side,
body.khalvat-inner .archive-page .archive-side--khalvat {
	order: 1 !important;
}

body.khalvat-inner .archive-page .archive-content,
body.khalvat-inner .archive-page .single-content {
	order: 2 !important;
	direction: rtl;
	text-align: right;
}

/*
 * Sidebar: theme draws a tall SVG “halo” + absolute black title over the list.
 * Force a simple stacked layout (title, then list) with no glow/overlap.
 * Desktop: pin “دسته‌بندی جلسات” while scrolling, below the sticky header.
 */
body.khalvat-inner .archive-page .archive-side,
body.khalvat-inner .archive-page .archive-side--khalvat {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 6px !important;
	isolation: isolate;
	z-index: 40 !important;
}

/* Search + «دسته‌بندی جلسات»: stacked, search fully above the title (never under it). */
body.khalvat-inner .archive-page .archive-side .archive-side__head {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	position: relative;
	z-index: 2;
	isolation: isolate;
	gap: var(--khalvat-sidebar-head-gap, 6px);
	margin: 0;
}

body.khalvat-inner .archive-page .archive-side .archive-side__head .irancast-sidebar-search {
	margin: 0 !important;
	flex: 0 0 auto;
	position: relative;
	z-index: 3;
	order: 1;
}

body.khalvat-inner .archive-page .archive-side .archive-side__head .irancast-sidebar-search__wrap {
	border-radius: 12px !important;
	height: var(--khalvat-sidebar-search-height, 38px);
	position: relative;
	z-index: 3;
}

body.khalvat-inner .archive-page .archive-side .archive-side__head--no-search .aside-title {
	border-radius: 12px !important;
}

body.khalvat-inner .archive-page .archive-side .archive-side__head .aside-title {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	border-radius: 12px !important;
	margin: 0 !important;
	padding: 6px 10px !important;
	z-index: 1 !important;
	width: 100% !important;
	max-width: none !important;
	order: 2;
}

@media screen and (min-width: 993px) {
	body.khalvat-inner .archive-page .archive-side,
	body.khalvat-inner .archive-page .archive-side--khalvat {
		position: sticky !important;
		top: var(--khalvat-sticky-side-top) !important;
		align-self: flex-start !important;
		max-height: calc(100vh - var(--khalvat-sticky-side-top) - 12px);
		overflow: hidden !important;
		/* Stay visually below header while pinned (header is 1200). */
		z-index: 50 !important;
	}

	body.khalvat-inner .archive-page .archive-side .rest-side {
		overflow-x: hidden !important;
		overflow-y: auto !important;
		flex: 1 1 auto;
		min-height: 0;
		-webkit-overflow-scrolling: touch;
	}

	body.khalvat-sidebar-hide-scrollbar.khalvat-inner .archive-page .archive-side .rest-side {
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	body.khalvat-sidebar-hide-scrollbar.khalvat-inner .archive-page .archive-side .rest-side::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	/* Desktop: compact rows so the tree fits with less scrolling */
	body.khalvat-sidebar-compact.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-tree {
		gap: 3px !important;
	}

	body.khalvat-sidebar-compact.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-link {
		min-height: 28px !important;
		padding: 4px 10px 4px 0 !important;
		font-size: var(--khalvat-sidebar-cat-font-size, 12px) !important;
		line-height: 1.3 !important;
	}

	body.khalvat-sidebar-compact.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-toggle {
		flex: 0 0 26px !important;
		width: 26px !important;
		height: 26px !important;
	}

	body.khalvat-sidebar-compact.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-children {
		max-height: none;
		overflow: visible;
	}

	body.khalvat-sidebar-compact.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-item--child .irancast-category-link {
		min-height: 26px !important;
		font-size: calc(var(--khalvat-sidebar-cat-font-size, 12px) - 0.5px) !important;
		font-weight: 500 !important;
	}

	body.khalvat-sidebar-compact.khalvat-inner .archive-page .archive-side .rest-side {
		padding: 6px 8px 8px !important;
	}
}

@media screen and (max-width: 992px) {
	body.khalvat-inner {
		/* Compact mobile header fallback — JS overwrites with measured bottom. */
		--khalvat-sticky-side-top: 88px;
	}

	body.admin-bar.khalvat-inner {
		--khalvat-sticky-side-top: 120px;
	}

	body.khalvat-inner .archive-page .archive-side,
	body.khalvat-inner .archive-page .archive-side--khalvat {
		/* Off-canvas drawer under sticky header; overflow visible so .handle can peek. */
		position: fixed !important;
		top: var(--khalvat-sticky-side-top) !important;
		right: 0 !important;
		left: auto !important;
		bottom: auto !important;
		width: min(288px, calc(100vw - 48px)) !important;
		max-height: calc(100dvh - var(--khalvat-sticky-side-top) - 12px) !important;
		max-height: calc(100vh - var(--khalvat-sticky-side-top) - 12px) !important;
		overflow: visible !important;
		display: flex !important;
		flex-direction: column !important;
		/* Below header (1200), above page content. */
		z-index: 1100 !important;
	}

	body.khalvat-inner .archive-page .archive-side .archive-side__head {
		flex: 0 0 auto;
	}

	body.khalvat-inner .archive-page .archive-side .rest-side {
		overflow-x: hidden !important;
		overflow-y: auto !important;
		flex: 1 1 auto;
		min-height: 0;
		max-height: none !important;
		-webkit-overflow-scrolling: touch;
	}

	body.khalvat-sidebar-hide-scrollbar.khalvat-inner .archive-page .archive-side .rest-side {
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	body.khalvat-sidebar-hide-scrollbar.khalvat-inner .archive-page .archive-side .rest-side::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	/* Tab that opens «دسته‌بندی جلسات» — must stick out past the closed panel. */
	body.khalvat-inner .archive-page .archive-side > .handle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		position: absolute !important;
		left: -38px !important;
		right: auto !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		z-index: 1101 !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
}

@media screen and (max-width: 782px) {
	body.admin-bar.khalvat-inner {
		--khalvat-sticky-side-top: 134px;
	}
}

body.khalvat-inner .archive-page .archive-side > svg {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	pointer-events: none !important;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search {
	margin-bottom: 8px;
	flex: 0 0 auto;
}

/* When not wrapped in archive-side__head (legacy) */
body.khalvat-inner .archive-page .archive-side > .irancast-sidebar-search {
	margin-bottom: 0;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__wrap {
	display: flex;
	align-items: stretch;
	flex-direction: row;
	width: 100%;
	height: 42px;
	padding: 0;
	gap: 0;
	border-radius: 10px;
	background: var(--SecondMaincolor, #0d1112);
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	box-sizing: border-box;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__wrap:focus-within {
	border-color: color-mix(in srgb, var(--maincolor) 55%, transparent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--maincolor) 35%, transparent);
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__input {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	height: 100%;
	margin: 0;
	padding: 0 14px;
	border: 0;
	background: transparent;
	outline: 0;
	box-shadow: none;
	font-size: 14px;
	line-height: 1.3;
	color: var(--LightParagraphs, #fff);
	font-family: Estedad, Tahoma, sans-serif;
	text-align: right;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__input::placeholder {
	color: var(--LightParagraphs, #fff);
	opacity: 0.45;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__button {
	flex: 0 0 auto;
	margin: 0;
	padding: 0 14px;
	border: 0;
	border-radius: 0;
	background: var(--maincolor, #b08d57);
	color: var(--LightParagraphs, #fff);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.khalvat-inner .archive-page .archive-side .irancast-sidebar-search__button i {
	font-size: 16px;
}

body.khalvat-inner .archive-page .archive-side .aside-title {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	max-width: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	border-radius: 12px !important;
	padding: 8px 12px !important;
	margin: 0 !important;
	z-index: 1 !important;
	box-shadow: none !important;
	filter: none !important;
	flex: 0 0 auto;
	gap: 6px !important;
}

body.khalvat-inner .archive-page .archive-side .aside-title h2 {
	font-size: 14px !important;
	line-height: 1.3 !important;
	margin: 0 !important;
}

body.khalvat-inner .archive-page .archive-side .aside-title i {
	box-shadow: none !important;
	filter: none !important;
	padding: 8px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
}

body.khalvat-inner .archive-page .archive-side .aside-title i::after {
	content: none !important;
	display: none !important;
	box-shadow: none !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side {
	background: #f3e6cf !important;
	border: none !important;
	border-radius: 12px !important;
	margin-top: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	outline: none !important;
	position: relative !important;
	z-index: 0 !important;
	overflow: hidden;
	padding: 8px 10px 10px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side-blog {
	padding-top: 8px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-tree {
	gap: 5px !important;
	margin-top: 0 !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-item {
	gap: 2px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-row {
	gap: 4px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-toggle {
	flex: 0 0 30px !important;
	width: 30px !important;
	border-radius: 8px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-toggle i {
	font-size: 10px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-link {
	overflow: hidden;
	min-height: 32px !important;
	padding: 5px 12px 5px 0 !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-link::before {
	height: 12px !important;
	width: 3px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-children {
	gap: 4px !important;
	margin-top: 3px !important;
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-children:not([hidden]) {
	animation: khalvat-side-accordion-in 0.22s ease-out;
}

@keyframes khalvat-side-accordion-in {
	from {
		opacity: 0.65;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.khalvat-inner .archive-page .archive-side .rest-side .irancast-category-item--child {
	position: relative;
	z-index: 0;
	margin-right: 8px !important;
	padding-right: 8px !important;
}

/* Category intro: warm paper instead of flat #f5f5f5. */
body.khalvat-inner .irancast-category-intro {
	background: color-mix(in srgb, var(--khalvat-paper) 88%, #fff);
	border: 1px solid var(--khalvat-ink-soft);
	box-shadow: 0 14px 36px rgba(62, 42, 24, 0.07);
}

body.khalvat-inner .irancast-subcat-card {
	filter: none;
	transition: transform 0.25s ease;
}

body.khalvat-inner .irancast-subcat-card__media,
body.khalvat-inner .irancast-subcat-card__media img {
	background: var(--CategoryImageBg, #ede8dd);
}

/* Archive session/post cards: same cream as category PNGs (not stark white). */
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .light-shape-bg,
body.khalvat-inner .archive-page .archive-content .all-episodes-sec .each-card .light-shape-bg {
	fill: var(--CategoryImageBg, #ede8dd);
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content img,
body.khalvat-inner .archive-page .archive-content .all-episodes-sec .each-card .content img {
	max-width: 100% !important;
	width: 100%;
	height: auto !important;
	max-height: none;
	object-fit: cover;
	background: var(--CategoryImageBg, #ede8dd);
	/* No mix-blend-mode: it washed out some covers so they only flashed on click. */
	mix-blend-mode: normal;
}

body.khalvat-inner .irancast-subcat-card:hover {
	transform: translateY(-3px);
	filter: none;
}

/* «از کجا شروع کنم؟» pills: warm paper, not cool SiteBackgroundColor */
body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media {
	background-color: var(--CategoryImageBg, var(--khalvat-paper, #ede8dd)) !important;
	border: 1px solid var(--khalvat-ink-soft, rgba(62, 42, 24, 0.1));
	box-shadow: 0 2px 8px rgba(62, 42, 24, 0.06);
}

body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media h3 {
	color: #3e2a18 !important;
}

body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media__num,
body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media i {
	background-color: var(--maincolor, #da2f37) !important;
	color: #fff !important;
}

body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media:hover {
	background-color: var(--maincolor, #da2f37) !important;
	box-shadow: 0 8px 20px rgba(218, 47, 55, 0.28);
}

body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media:hover h3 {
	color: #fff !important;
}

body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media:hover .each-social-media__num,
body.khalvat-inner .irancast-second-advertisement .content .each-card > div .each-social-media:hover i {
	background-color: rgba(255, 255, 255, 0.18) !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
	color: #fff !important;
}

/* Single post reading surface (existing white sub-body → parchment). */
body.khalvat-inner .archive-page .single-content .body .sub-body {
	position: relative;
	z-index: 1;
	background: color-mix(in srgb, var(--khalvat-paper) 90%, #fff);
	border: 1px solid var(--khalvat-ink-soft);
	box-shadow: 0 16px 40px rgba(62, 42, 24, 0.08);
	color: #2c2118;
}

/* Slightly tighter single column (~90% feel at 100% zoom). */
body.khalvat-inner .archive-page .single-content {
	width: min(820px, 100%) !important;
	max-width: 100%;
	box-sizing: border-box;
}

body.khalvat-inner .archive-page .single-content h1 {
	font-size: clamp(16px, 2.1vw, 20px);
	padding: 12px 28px;
	line-height: 1.5;
}

/*
 * Featured-image singles: keep title/meta frame clear of the reading panel
 * (theme default -140px caused the two frames to stack on each other).
 */
body.khalvat-inner .archive-page .single-content:has(.single-blog-main-image) .body {
	margin-top: 20px !important;
}

body.khalvat-inner .archive-page .single-content:has(.single-blog-main-image) .body .sub-body {
	padding-top: 24px !important;
}

body.khalvat-inner .archive-page .single-content .single-blog-main-image {
	position: relative;
	z-index: 2;
}

body.khalvat-inner .archive-page .single-content .single-blog-main-image .details,
body.khalvat-inner .archive-page .single-content .single-blog-main-image .details-shape {
	z-index: 4;
}

body.khalvat-inner .archive-page .single-content .single-blog-main-image .details .each-detail,
body.khalvat-inner .archive-page .single-content .single-blog-main-image .details .each-detail p,
body.khalvat-inner .archive-page .single-content .single-blog-main-image .details .each-detail p a,
body.khalvat-inner .archive-page .single-content .single-blog-main-image .details .each-detail i {
	color: #3e2a18 !important;
}

body.khalvat-inner .archive-page .single-content .single-blog-main-image .details .each-detail i {
	background-color: color-mix(in srgb, var(--khalvat-paper) 70%, #fff) !important;
	border-color: var(--khalvat-ink-soft) !important;
	color: #3e2a18 !important;
}

body.khalvat-inner .archive-page .single-content .khalvat-single-meta,
body.khalvat-inner .archive-page .single-content .content-area .khalvat-single-meta {
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

body.khalvat-inner .archive-page .single-content .khalvat-single-meta .each-detail {
	justify-content: center;
}

/* Inline session player: separate from parchment text panel. */
body.khalvat-inner .archive-page .single-content .khalvat-inline-player {
	position: relative;
	z-index: 2;
	margin: 0 0 18px;
	padding: 0;
}

body.khalvat-inner .archive-page .single-content .khalvat-inline-player .irancast-player {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

body.khalvat-inner .archive-page .single-content .khalvat-inline-player .left-buttons,
body.khalvat-inner .archive-page .single-content .irancast-player--content .left-buttons {
	color: rgba(255, 255, 255, 0.85);
}

body.khalvat-inner .archive-page .single-content .khalvat-inline-player .left-buttons button,
body.khalvat-inner .archive-page .single-content .irancast-player--content .left-buttons button,
body.khalvat-inner .archive-page .single-content .khalvat-inline-player .left-buttons .like-count,
body.khalvat-inner .archive-page .single-content .irancast-player--content .left-buttons .like-count {
	color: rgba(255, 255, 255, 0.85);
}

body.khalvat-inner .archive-page .single-content .khalvat-inline-player .left-buttons button:hover,
body.khalvat-inner .archive-page .single-content .irancast-player--content .left-buttons button:hover {
	color: #fff;
}

body.khalvat-inner .archive-page .single-content .khalvat-inline-player .left-buttons button.liked,
body.khalvat-inner .archive-page .single-content .irancast-player--content .left-buttons button.liked {
	color: #ff5a5a;
}

/* Player download icon — same tone as other controls; stronger when already downloaded */
body.khalvat-inner .irancast-player .left-buttons a.irancast-download-the-episode,
body.khalvat-inner .irancast-player--content .single-player-buttons .left-buttons a.irancast-download-the-episode,
body.khalvat-inner .irancast-player--full .single-player-buttons .left-buttons a.irancast-download-the-episode,
body.khalvat-inner .all-player .left-buttons a.irancast-download-the-episode,
body.khalvat-inner .bottom-details .player-div-dark .left-buttons a.irancast-download-the-episode {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 1em;
	font-size: 16px;
	line-height: 1;
	text-decoration: none !important;
	color: rgba(255, 255, 255, 0.85) !important;
	transition: color 0.2s ease, opacity 0.2s ease, transform 0.15s ease;
}

body.khalvat-inner .irancast-player .left-buttons a.irancast-download-the-episode:hover,
body.khalvat-inner .irancast-player--content .single-player-buttons .left-buttons a.irancast-download-the-episode:hover,
body.khalvat-inner .all-player .left-buttons a.irancast-download-the-episode:hover,
body.khalvat-inner .bottom-details .player-div-dark .left-buttons a.irancast-download-the-episode:hover {
	color: #fff !important;
}

body.khalvat-inner .irancast-player .left-buttons a.irancast-download-the-episode.is-downloaded,
body.khalvat-inner .irancast-player--content .single-player-buttons .left-buttons a.irancast-download-the-episode.is-downloaded,
body.khalvat-inner .irancast-player--full .single-player-buttons .left-buttons a.irancast-download-the-episode.is-downloaded,
body.khalvat-inner .all-player .left-buttons a.irancast-download-the-episode.is-downloaded,
body.khalvat-inner .bottom-details .player-div-dark .left-buttons a.irancast-download-the-episode.is-downloaded,
body.khalvat-inner .irancast-player .left-buttons a.irancast-download-the-episode.is-downloaded:visited,
body.khalvat-inner .irancast-player--content .single-player-buttons .left-buttons a.irancast-download-the-episode.is-downloaded:visited {
	color: var(--khalvat-paper, #f3e6cf) !important;
	opacity: 1;
	filter: drop-shadow(0 0 6px rgba(243, 230, 207, 0.35));
}

/* Audio player stacking — not tucked into parchment. */
body.khalvat-inner .irancast-player,
body.khalvat-inner .all-player,
body.khalvat-inner .player-div-dark {
	position: relative !important;
	z-index: 2 !important;
}

/*
 * No featured-image singles (khalvat template: title + meta card, then body).
 * Keep meta card and parchment panel as separate stacked blocks.
 */
body.khalvat-inner .archive-page .single-content:not(:has(.single-blog-main-image)) .content-area {
	position: relative;
	z-index: 2;
	margin-bottom: 28px !important;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(62, 42, 24, 0.08);
}

body.khalvat-inner .archive-page .single-content:has(.khalvat-inline-player) .content-area,
body.khalvat-inner .archive-page .single-content:has(.khalvat-inline-player) .single-blog-main-image {
	margin-bottom: 16px !important;
}

body.khalvat-inner .archive-page .single-content:not(:has(.single-blog-main-image)) .body {
	position: relative;
	z-index: 1;
	margin-top: 0 !important;
}

body.khalvat-inner .archive-page .single-content:not(:has(.single-blog-main-image)) .body .sub-body {
	padding-top: 24px !important;
}

/* Fallback if a player remains inside sub-body: keep it in normal flow. */
body.khalvat-inner .archive-page .single-content .body .sub-body > .irancast-player:first-child,
body.khalvat-inner .archive-page .single-content .body .sub-body > .irancast-player.irancast-player--content:first-child {
	margin: 0 0 20px;
}

body.khalvat-inner .archive-page .single-content .single-sections {
	background: color-mix(in srgb, var(--khalvat-paper) 78%, #fff);
	border: 1px solid var(--khalvat-ink-soft);
	border-radius: 16px;
	box-shadow: 0 12px 28px rgba(62, 42, 24, 0.06);
}

body.khalvat-inner .archive-page .single-content .irancast-post-faq {
	width: 100%;
	margin-top: 40px;
}

/* مکتوبات test: featured image, then PDF download, then text. */
body.khalvat-inner .archive-page .single-content--maktoobat-hero .maktoobat-featured-hero {
	margin: 0 0 18px;
	text-align: center;
}

body.khalvat-inner .archive-page .single-content--maktoobat-hero .maktoobat-featured-hero img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 16px;
	box-shadow: 0 12px 28px rgba(62, 42, 24, 0.08);
}

body.khalvat-inner .archive-page .single-content--maktoobat-hero .irancast-post-pdf-download--after-hero {
	margin: 0 0 22px;
	text-align: center;
}

body.khalvat-inner .archive-page .single-content--maktoobat-hero .irancast-post-pdf-download--after-hero .laravel-pdf-download {
	margin: 0;
}

body.khalvat-inner .archive-page .single-content--maktoobat-hero .irancast-post-pdf-download--after-hero a {
	display: inline-block;
	padding: 12px 28px;
	background: var(--khalvat-gold, #b08d57);
	color: #fff !important;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
}

body.khalvat-inner .archive-page .single-content .irancast-post-faq .khalvat-qa-chat {
	margin-top: 0;
}

/* Soft ornamental motif — off. */
body.khalvat-inner .archive-page > .container::before,
body.khalvat-inner .archive-page > .container::after {
	content: none;
	display: none;
}

/* Search results / generic content. */
body.khalvat-inner .irancast-search-results,
body.khalvat-inner .search-page,
body.khalvat-inner .page-content {
	position: relative;
}

/* Pages (e.g. پیرامون استاد): clear space under breadcrumb. */
body.khalvat-inner .page-content {
	width: min(1200px, calc(100% - 32px)) !important;
	max-width: 100%;
	box-sizing: border-box;
	margin: 32px auto 48px;
	padding: 8px 4px 24px;
	z-index: 1;
	line-height: 1.9;
	font-size: 16px;
}

/* Only bare page paragraphs (not Elementor / widget copy). */
body.khalvat-inner .page-content > p {
	color: #1f140c;
}

body.khalvat-inner .page-content > p:first-child {
	margin-top: 0;
}

/* About-us dark panel: keep body copy light on black. */
body.khalvat-inner .irancast-about-us .container .content .right-section .desc,
body.khalvat-inner .irancast-about-us .container .content .right-section .desc p {
	color: #fff !important;
}

/* Footer stays readable on parchment. */
body.khalvat-inner footer.irancast-footer,
body.khalvat-inner .irancast-footer {
	position: relative;
	z-index: 2;
}

/* Motion: gentle ambient drift on corner grids. */
@keyframes khalvat-grid-breathe {
	0%,
	100% {
		opacity: 0.38;
		transform: translate3d(0, 0, 0);
	}
	50% {
		opacity: 0.55;
		transform: translate3d(4px, -3px, 0);
	}
}

@keyframes khalvat-glow-pulse {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.82;
	}
}

@media (prefers-reduced-motion: no-preference) {
	body.khalvat-inner::before {
		animation: khalvat-glow-pulse 14s ease-in-out infinite;
	}

	body.khalvat-inner .archive-page::before {
		animation: khalvat-grid-breathe 18s ease-in-out infinite;
	}

	body.khalvat-inner .archive-page::after {
		animation: khalvat-grid-breathe 22s ease-in-out infinite reverse;
	}
}

/* Mobile: lighter ornament so content stays primary. */
@media (max-width: 768px) {
	body.khalvat-inner {
		background-color: var(--khalvat-parchment-bg-color, var(--khalvat-parchment, #c9b089)) !important;
		background-image: var(--khalvat-parchment-bg-image, url("../images/khalvat-home/parchment-plain.jpg?v=7")) !important;
		background-size: 100% auto !important;
		background-repeat: repeat-y !important;
		background-attachment: scroll !important;
		background-position: center top !important;
		/* Avoid iOS bug: overflow + fixed layers hide body backgrounds. */
		overflow-x: visible;
	}

	body.khalvat-inner::before {
		position: absolute;
		opacity: 0.85;
	}

	body.khalvat-inner .archive-page::before,
	body.khalvat-inner .archive-page::after,
	body.khalvat-inner .archive-page > .container::before,
	body.khalvat-inner .archive-page > .container::after {
		opacity: 0.22;
		width: min(200px, 55vw);
		height: min(180px, 45vw);
	}

	body.khalvat-inner .bread-crumb .container {
		margin-inline: 12px;
		width: auto;
		max-width: calc(100% - 24px);
	}
}

/* iOS Safari: fixed backgrounds are unreliable — force scroll texture. */
@supports (-webkit-touch-callout: none) {
	body.khalvat-inner {
		background-attachment: scroll !important;
		background-image: var(--khalvat-parchment-bg-image, url("../images/khalvat-home/parchment-plain.jpg?v=7")) !important;
		background-size: 100% auto !important;
		background-repeat: repeat-y !important;
	}

	body.khalvat-inner::before {
		position: absolute !important;
	}
}

/* -------------------------------------------------------------------------- */
/* Responsive archive/single layout — theme uses fixed px .container widths
   (1200 / 975 / 740 / 322) which overflow or leave dead space between sizes. */
/* -------------------------------------------------------------------------- */

body.khalvat-inner .archive-page > .container,
body.khalvat-inner .bread-crumb > .container {
	width: min(1200px, calc(100% - 32px)) !important;
	max-width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}

body.khalvat-inner .archive-page {
	overflow: visible;
	padding-bottom: 48px;
}

body.khalvat-inner .archive-page .archive-content,
body.khalvat-inner .archive-page .single-content,
body.khalvat-inner .archive-page.archive-page--no-side .archive-content,
body.khalvat-inner .archive-page.archive-page--no-side .single-content {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec,
body.khalvat-inner .archive-page .archive-content .all-episodes-sec {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: flex-start;
	gap: 28px 16px;
	width: 100%;
	box-sizing: border-box;
	direction: rtl;
	text-align: right;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card {
	width: min(288px, 100%);
	max-width: 100%;
	box-sizing: border-box;
	flex: 0 1 288px;
	height: 352px;
	/* Keep title inside the white card shell (theme used top padding + negative margin). */
	padding: 12px 12px 12px 12px !important;
	margin-bottom: 0 !important;
	overflow: visible;
	isolation: isolate;
	text-align: right;
}

/* Keep play/read button inside the card — theme laptop rules used bottom: -14px and cards stacked. */
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card > a {
	bottom: 10px !important;
	left: 12px !important;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc p.read-more-card-desc {
	margin-top: 0 !important;
	padding-top: 6px;
	/* Keep title above the dark hover band so 2-line text stays readable. */
	transform: translateY(-14px);
	line-height: 1.45;
	color: #2c2118 !important;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .sub-shape,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .sub-shape2 {
	top: 0 !important;
	right: 0 !important;
	width: 100% !important;
	height: 100% !important;
	pointer-events: none !important;
}

/* Card tick/save overlays are off on archives; they live on single posts only. */
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .irancast-post-card-tools {
	display: none !important;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content {
	overflow: visible !important;
}

/* Soft hint of the hover frame — very light transparent black at rest. */
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .sub-shape2 .sub-div-relative {
	margin-right: 0 !important;
	width: 100% !important;
	border: none !important;
	box-shadow: none !important;
	background-color: rgba(13, 17, 18, 0.17) !important;
	transition: background-color 0.2s ease-in-out;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card:hover .sub-shape2 .sub-div-relative {
	background-color: var(--SecondMaincolor, #0d1112) !important;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc {
	padding: 12px 18px 36px !important;
	align-items: stretch;
	text-align: right;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc p,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc p.count,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc p.count a,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc p.read-more-card-desc {
	text-align: right !important;
	justify-content: flex-start;
	margin-inline: 0 !important;
	align-self: stretch;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc .time {
	justify-content: flex-start !important;
	text-align: right;
}

/*
 * No-thumbnail categories (e.g. اشارات و تنبیهات): pin title to the same
 * bottom band as image cards, so 1-line / 2-line titles share one baseline.
 */
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card--no-thumb .content {
	justify-content: stretch !important;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card--no-thumb .content .desc {
	padding: 18px 18px 36px !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	text-align: right;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card--no-thumb .content .desc > svg {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	width: 100%;
	height: 18px;
	margin: 6px 0 0;
	flex: 0 0 auto;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card--no-thumb .content .desc > a {
	display: block;
	margin-top: auto !important;
	margin-bottom: 18px;
	flex: 0 0 auto;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card--no-thumb .content .desc p.read-more-card-desc {
	margin-top: 0 !important;
	padding-top: 0 !important;
	min-height: 2.9em;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card--no-thumb .content .desc .time {
	margin-top: 0 !important;
	flex: 0 0 auto;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc .time,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc .time span,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc .time i {
	color: #3e2a18 !important;
	opacity: 0.85 !important;
}

body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card:hover .content .desc .time,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card:hover .content .desc .time span,
body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card:hover .content .desc .time i {
	color: #fff !important;
	opacity: 1 !important;
}

body.khalvat-inner .archive-page .archive-content .archive-sort-sec {
	flex-wrap: wrap;
	gap: 12px 24px;
	width: 100%;
	box-sizing: border-box;
	direction: rtl;
	justify-content: flex-start;
	text-align: right;
}

body.khalvat-inner .archive-page .archive-content .archive-sort-sec > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	justify-content: flex-start;
}

@media screen and (max-width: 1220px) {
	body.khalvat-inner .archive-page > .container,
	body.khalvat-inner .bread-crumb > .container {
		width: min(975px, calc(100% - 32px)) !important;
	}
}

@media screen and (max-width: 992px) {
	body.khalvat-inner .archive-page > .container,
	body.khalvat-inner .bread-crumb > .container {
		width: min(740px, calc(100% - 28px)) !important;
	}

	body.khalvat-inner .archive-page .container {
		margin-top: 24px !important;
		flex-wrap: wrap;
	}

	body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card {
		flex: 0 1 min(288px, calc(50% - 12px));
		width: min(288px, calc(50% - 12px));
	}
}

@media screen and (max-width: 700px) {
	body.khalvat-inner .archive-page .archive-content .all-posts-sec {
		gap: 18px 10px;
		justify-content: flex-start !important;
		align-items: stretch;
	}

	body.khalvat-inner .archive-page .archive-content .all-episodes-sec {
		gap: 24px 12px;
		justify-content: center !important;
		align-items: center;
	}

	/* Writings: two cards per row on mobile. */
	body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card {
		flex: 0 1 calc(50% - 5px);
		width: calc(50% - 5px);
		max-width: none;
		height: 280px;
		margin-bottom: 0 !important;
		margin-inline: 0;
		padding: 8px 6px 8px !important;
	}

	body.khalvat-inner .archive-page .archive-content .all-episodes-sec .each-card {
		flex: 0 1 min(320px, 100%);
		width: min(320px, 100%);
		height: 340px;
		margin-bottom: 0 !important;
		margin-inline: auto;
	}

	body.khalvat-inner .archive-page .archive-content .archive-sort-sec {
		flex-direction: column;
		align-items: stretch;
	}
}

@media screen and (max-width: 576px) {
	body.khalvat-inner .archive-page > .container,
	body.khalvat-inner .bread-crumb > .container {
		width: calc(100% - 20px) !important;
	}

	body.khalvat-inner .archive-page .archive-content .all-posts-sec {
		gap: 14px 8px;
		justify-content: flex-start !important;
	}

	body.khalvat-inner .archive-page .archive-content .all-episodes-sec {
		justify-content: center !important;
	}

	body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card {
		flex: 0 1 calc(50% - 4px);
		width: calc(50% - 4px);
		max-width: none;
		height: 260px;
		padding: 8px 5px 6px !important;
		margin-inline: 0;
	}

	body.khalvat-inner .archive-page .archive-content .all-episodes-sec .each-card {
		flex: 0 1 100%;
		width: min(360px, 100%);
		max-width: 360px;
		height: 340px;
		padding: 12px 10px 10px !important;
		margin-inline: auto;
	}

	body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc {
		padding: 8px 10px 22px !important;
	}

	body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card .content .desc p.read-more-card-desc {
		margin-top: 0 !important;
		font-size: 12px;
		line-height: 1.4;
		transform: translateY(-8px);
	}

	body.khalvat-inner .archive-page .archive-content .all-posts-sec .each-card > a {
		bottom: 8px !important;
		left: 8px !important;
	}

	body.khalvat-inner .archive-page .single-content h1 {
		font-size: clamp(14px, 4.2vw, 18px);
		padding: 10px 16px;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.khalvat-inner .archive-page .single-content .body .sub-body {
		padding: 18px 14px;
	}

	body.khalvat-inner .archive-page .single-content:has(.single-blog-main-image) .body {
		margin-top: 16px !important;
	}

	body.khalvat-inner .archive-page .single-content:has(.single-blog-main-image) .body .sub-body {
		padding-top: 20px !important;
	}

	body.khalvat-inner .archive-page .single-content:not(:has(.single-blog-main-image)) .content-area {
		margin-bottom: 20px !important;
	}

	body.khalvat-inner .archive-page .single-content:not(:has(.single-blog-main-image)) .body {
		margin-top: 0 !important;
	}

	body.khalvat-inner .archive-page .single-content:not(:has(.single-blog-main-image)) .body .sub-body {
		padding-top: 20px !important;
	}

	body.khalvat-inner .archive-page .single-content .khalvat-inline-player {
		margin-bottom: 14px;
	}
}

/* Category archives: three post cards per row on desktop. */
body.khalvat-inner.category .archive-page .archive-content .all-posts-sec {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px 16px;
	justify-content: stretch;
	align-items: stretch;
}

body.khalvat-inner.category .archive-page .archive-content .all-posts-sec .each-card {
	width: 100% !important;
	max-width: none !important;
	flex: none !important;
	min-width: 0;
}

@media screen and (max-width: 768px) {
	body.khalvat-inner.category .archive-page .archive-content .all-posts-sec {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 10px;
	}
}

@media screen and (max-width: 576px) {
	body.khalvat-inner.category .archive-page .archive-content .all-posts-sec {
		gap: 14px 8px;
	}
}

/* Front page (Elementor): same parchment, let body texture show through. */
body.khalvat-inner.home,
body.khalvat-inner.page-id-334 {
	background-color: var(--khalvat-parchment-bg-color, var(--khalvat-parchment, #c9b089)) !important;
	background-image: var(--khalvat-parchment-bg-image, url("../images/khalvat-home/parchment-plain.jpg?v=7")) !important;
	background-position: center top !important;
	background-size: 100% auto !important;
	background-repeat: repeat-y !important;
	background-attachment: scroll !important;
}

body.khalvat-inner.home .elementor,
body.khalvat-inner.home .elementor > .e-con.e-parent,
body.khalvat-inner.page-id-334 .elementor,
body.khalvat-inner.page-id-334 .elementor > .e-con.e-parent {
	background-color: transparent !important;
	background-image: none !important;
}

/* Homepage FAQ — original Irancast accordion, parchment colors. */
body.khalvat-inner .irancast-faq {
	margin: 72px 0 48px;
	position: relative;
	z-index: 1;
}

body.khalvat-inner .irancast-faq .container .content::after {
	display: none;
}

body.khalvat-inner .irancast-faq header h2,
body.khalvat-inner .irancast-faq header > span,
body.khalvat-inner .irancast-faq .container .content .each-faq .the-head p,
body.khalvat-inner .irancast-faq .container .content .each-faq .the-content p {
	color: #1f140c;
}

body.khalvat-inner .irancast-faq header h2 span,
body.khalvat-inner .irancast-faq header i {
	color: var(--maincolor);
}

body.khalvat-inner .irancast-faq header i {
	background-color: #f3e6cf;
	border-color: rgba(62, 42, 24, 0.12);
}

body.khalvat-inner .irancast-faq .container .content .each-faq {
	background-color: #f3e6cf;
	box-shadow: 0 8px 22px rgba(62, 42, 24, 0.08);
}

body.khalvat-inner .irancast-faq .container .content .each-faq .the-head i {
	color: var(--maincolor);
}

body.khalvat-inner .irancast-faq .container .content .faq-righ-svg path,
body.khalvat-inner .irancast-faq .container .content .faq-left-svg path {
	fill: #f3e6cf;
}

@media screen and (max-width: 768px) {
	body.khalvat-inner .irancast-faq {
		margin: 48px 0 32px;
	}

	body.khalvat-inner .irancast-faq .container .content {
		padding: 16px 0 0;
	}
}
