/**
 * Kanoon — content templates (archive grid, cards, single).
 * RTL-first, lightweight, no framework.
 */

.kanoon-main {
	max-width: var(--kanoon-wide, 1380px);
	margin: 0 auto;
	padding: 32px 20px 64px;
}

/* ---- Archive hero (blurred content image + brand overlay) ---- */
.kanoon-hero {
	position: relative;
	isolation: isolate;          /* own stacking context for the -z pseudos */
	padding: 72px 20px;
	text-align: center;
	color: #fff;
	overflow: hidden;
	background: linear-gradient(135deg, var(--kanoon-primary, #1F5168), #143a49);
}

/* blurred image pulled from the archive's newest thumbnail */
.kanoon-hero::before {
	content: "";
	position: absolute;
	inset: -40px;                /* bleed so blurred edges never show */
	background-image: var(--kanoon-hero-img, none);
	background-size: cover;
	background-position: center;
	filter: blur(16px) saturate(1.1);
	transform: scale(1.12);
	z-index: -2;
}

/* brand-tinted overlay keeps the title legible over any image */
.kanoon-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(31, 81, 104, .85), rgba(15, 42, 53, .93));
	z-index: -1;
}

/* no image -> just the brand gradient background */
.kanoon-hero--plain::before {
	display: none;
}

.kanoon-hero__inner {
	max-width: var(--kanoon-wide, 1380px);
	margin: 0 auto;
}

.kanoon-hero__title {
	font-size: 2.2rem;
	font-weight: 800;
	margin: 0;
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .28);
}

.kanoon-hero__meta {
	margin: 10px 0 0;
	font-size: .95rem;
	opacity: .92;
}

.kanoon-hero__desc {
	margin: 12px auto 0;
	max-width: 680px;
	line-height: 1.9;
	opacity: .9;
}

@media (max-width: 680px) {
	.kanoon-hero {
		padding: 52px 20px;
	}

	.kanoon-hero__title {
		font-size: 1.7rem;
	}
}

/* ---- Card grid ---- */
.kanoon-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}

.kanoon-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}

.kanoon-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
	transform: translateY(-2px);
}

.kanoon-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background: #f3f4f6;
	overflow: hidden;
}

/* نیایش archive: category filter chips */
.kanoon-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 26px;
}

.kanoon-filter__chip {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid #dcdcdc;
	border-radius: 999px;
	background: #fff;
	color: #444;
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}

.kanoon-filter__chip:hover {
	border-color: var(--kanoon-primary, #1F5168);
	color: var(--kanoon-primary, #1F5168);
}

.kanoon-filter__chip.is-active {
	background: var(--kanoon-primary, #1F5168);
	border-color: var(--kanoon-primary, #1F5168);
	color: #fff;
}

/* نیایش hub: "latest" strip + browse-by-series grid (main /messages/ archive) */
.kanoon-hub__section {
	margin: 0 0 44px;
}

.kanoon-hub__title {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 18px;
	color: #1a1a1a;
}

.kanoon-hub__latest {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(240px, 260px);
	gap: 20px;
	overflow-x: auto;
	padding-bottom: 10px;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}

.kanoon-hub__latest > .kanoon-card {
	scroll-snap-align: start;
}

.kanoon-hub__series {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 22px;
}

.kanoon-series-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.kanoon-series-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	background: #f3f4f6;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
	transition: box-shadow .2s ease, transform .2s ease;
}

.kanoon-series-card:hover .kanoon-series-card__thumb {
	box-shadow: 0 10px 26px rgba(0, 0, 0, .16);
	transform: translateY(-3px);
}

.kanoon-series-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}

.kanoon-series-card:hover .kanoon-series-card__thumb img {
	transform: scale(1.05);
}

.kanoon-series-card__thumb--empty {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--kanoon-primary, #1F5168), #143a49);
}

.kanoon-series-card__count {
	position: absolute;
	inset-inline-end: 10px;
	bottom: 10px;
	background: rgba(0, 0, 0, .72);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1;
	padding: 5px 11px;
	border-radius: 999px;
}

.kanoon-series-card__title {
	margin-top: 11px;
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.55;
	color: #1a1a1a;
	transition: color .15s ease;
}

.kanoon-series-card:hover .kanoon-series-card__title {
	color: var(--kanoon-primary, #1F5168);
}

/* Back-to-archive link on a single نیایش series page */
.kanoon-back {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 26px;
	color: var(--kanoon-primary, #1F5168);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
}

.kanoon-back::before {
	content: "»";
	font-size: 1.15em;
	line-height: 1;
}

.kanoon-back:hover {
	text-decoration: underline;
}

/* Series format switch (audio ↔ video) on a single series page */
.kanoon-formtabs {
	display: flex;
	gap: 10px;
	margin: 0 0 26px;
}

.kanoon-formtab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 20px;
	border: 1px solid #dcdcdc;
	border-radius: 999px;
	background: #fff;
	color: #444;
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}

.kanoon-formtab:hover {
	border-color: var(--kanoon-primary, #1F5168);
	color: var(--kanoon-primary, #1F5168);
}

.kanoon-formtab.is-active {
	background: var(--kanoon-primary, #1F5168);
	border-color: var(--kanoon-primary, #1F5168);
	color: #fff;
}

.kanoon-formtab__n {
	font-size: .8rem;
	opacity: .75;
	background: rgba(0, 0, 0, .08);
	padding: 1px 9px;
	border-radius: 999px;
}

.kanoon-formtab.is-active .kanoon-formtab__n {
	background: rgba(255, 255, 255, .22);
	opacity: .95;
}

/* نیایش series badge, overlaid on the card thumbnail (start corner = right in RTL) */
.kanoon-card__badge {
	position: absolute;
	top: 10px;
	inset-inline-start: 10px;
	max-width: calc(100% - 20px);
	background: var(--kanoon-red, #C6000E);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1;
	padding: 5px 11px;
	border-radius: 999px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

.kanoon-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kanoon-card__thumb--empty {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #f3f4f6, #e9eaee);
}

/* Book covers (portrait) and author headshots (portrait) shouldn't be cropped by
   the default landscape thumbnail — give them a portrait frame and show the whole
   image (contain). */
.kanoon-card.type-book .kanoon-card__thumb {
	aspect-ratio: 2 / 3;
}

.kanoon-card.type-kanoon_author .kanoon-card__thumb {
	aspect-ratio: 3 / 4;
}

.kanoon-card.type-book .kanoon-card__thumb img,
.kanoon-card.type-kanoon_author .kanoon-card__thumb img {
	object-fit: contain;
}

.kanoon-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 14px 16px 18px;
}

.kanoon-card__title {
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.6;
	margin: 0;
}

.kanoon-card__title a {
	color: #1a1a1a;
	text-decoration: none;
}

.kanoon-card__title a:hover {
	color: #c0392b;
}

.kanoon-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: .85rem;
	color: #777;
	margin: 0;
}

.kanoon-card__author a {
	color: #c0392b;
	text-decoration: none;
}

.kanoon-card__excerpt {
	font-size: .9rem;
	color: #555;
	line-height: 1.8;
	margin: 0;
}

/* ---- Pagination ---- */
.kanoon-pagination {
	margin-top: 40px;
}

.kanoon-pagination .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	margin: 0 3px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	text-decoration: none;
	color: #333;
}

.kanoon-pagination .page-numbers.current {
	background: #c0392b;
	border-color: #c0392b;
	color: #fff;
}

.kanoon-empty {
	color: #777;
	padding: 40px 0;
}

/* ---- Single ---- */
/* Full page width, matching archives/home (was a narrow 820 reading column). */
.kanoon-single {
	max-width: var(--kanoon-wide, 1380px);
}

.kanoon-single__title {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.5;
	margin: 0 0 8px;
}

.kanoon-single__subtitle {
	font-size: 1.15rem;
	color: #666;
	margin: 0 0 16px;
}

.kanoon-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	color: #777;
	font-size: .92rem;
	margin-bottom: 20px;
}

.kanoon-single__meta a {
	color: #c0392b;
	text-decoration: none;
}

.kanoon-single__thumb {
	margin: 0 0 24px;
	border-radius: 12px;
	overflow: hidden;
}

.kanoon-single__thumb img {
	width: 100%;
	height: auto;
	display: block;
}

.kanoon-single__content {
	line-height: 2.1;
	font-size: 1.05rem;
	color: #222;
}

.kanoon-single__content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.kanoon-embed {
	margin: 20px 0;
}

.kanoon-embed iframe {
	width: 100%;
	border: 0;
	border-radius: 10px;
}

/* ---- Single detail blocks ---- */
.kanoon-detail {
	margin: 24px 0;
	padding: 18px 20px;
	background: #faf9f7;
	border: 1px solid #eee;
	border-radius: 12px;
}

.kanoon-detail__row {
	display: flex;
	gap: 8px;
	padding: 6px 0;
	font-size: .95rem;
}

.kanoon-detail__row dt {
	color: #888;
	min-width: 90px;
	margin: 0;
}

.kanoon-detail__row dd {
	margin: 0;
	font-weight: 500;
}

.kanoon-download {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	background: #c0392b;
	color: #fff;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 600;
}

.kanoon-download:hover {
	background: #a93226;
	color: #fff;
}

/* ---- Imanname chapters (legacy text layout) ---- */
.kanoon-chapter-section {
	margin: 28px 0;
}

.kanoon-chapter-section h2 {
	font-size: 1.3rem;
	border-bottom: 2px solid #c0392b;
	display: inline-block;
	padding-bottom: 4px;
	margin-bottom: 12px;
}

/* ---- Imanname (اعتقادنامه) dedicated layout ---- */
.kanoon-single--imanname { max-width: var(--kanoon-wide, 1380px); }

/* Compact banner header (was a full-height image before). */
.kanoon-imanname__header {
	margin: 14px 0 8px;
}
.kanoon-imanname__header.has-thumb {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	min-height: 200px;
	display: flex;
	align-items: flex-end;
	background-image: linear-gradient(180deg, rgba(20,40,50,.15), rgba(20,40,50,.82)), var(--kanoon-imanname-img);
	background-size: cover;
	background-position: center;
	padding: 22px 26px;
}
.kanoon-imanname__header.has-thumb .kanoon-single__title { color: #fff; }
.kanoon-imanname__header.has-thumb .kanoon-single__meta { color: rgba(255,255,255,.85); }
.kanoon-imanname__header-inner { max-width: 900px; }

/* Two columns on desktop: sticky TOC (right, RTL) + content. */
.kanoon-imanname {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 36px;
	max-width: 1060px;
	margin: 26px auto 0;
}

.kanoon-imanname__toc {
	position: sticky;
	top: 88px;
	align-self: start;
	background: #faf9f7;
	border: 1px solid #eee;
	border-radius: 14px;
	padding: 16px 18px;
	max-height: calc(100vh - 110px);
	overflow: auto;
}
.kanoon-imanname__toc-title {
	font-size: 1rem;
	font-weight: 800;
	margin: 0 0 10px;
	color: var(--kanoon-primary, #1F5168);
}
.kanoon-imanname__toc-list {
	margin: 0;
	padding-inline-start: 20px;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.kanoon-imanname__toc-item.is-sub { margin-inline-start: 12px; list-style: circle; }
.kanoon-imanname__toc-item a {
	color: #333;
	text-decoration: none;
	font-size: .92rem;
	line-height: 1.7;
}
.kanoon-imanname__toc-item a:hover { color: var(--kanoon-red, #C6000E); }

/* Each creed section: anchored, offset so links don't hide under the sticky nav. */
.kanoon-imanname__section,
.kanoon-imanname__content :is(h2, h3)[id] {
	scroll-margin-top: 90px;
}
.kanoon-imanname__section { margin: 0 0 30px; }
.kanoon-imanname__h,
.kanoon-imanname__content h2 {
	font-size: 1.3rem;
	border-bottom: 2px solid var(--kanoon-red, #C6000E);
	display: inline-block;
	padding-bottom: 4px;
	margin: 0 0 12px;
}
.kanoon-imanname__content h3 { font-size: 1.08rem; margin: 22px 0 8px; }

@media (max-width: 900px) {
	.kanoon-imanname {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.kanoon-imanname__toc {
		position: static;
		max-height: none;
	}
}

/* Tables inside single content (e.g. creed comparison tables), horizontally
   scrollable on narrow screens via the .kanoon-table-wrap the content provides. */
.kanoon-table-wrap {
	overflow-x: auto;
	margin: 22px 0;
	border-radius: 10px;
	border: 1px solid #e8e8e8;
}
.kanoon-single__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .94rem;
	line-height: 1.9;
	min-width: 520px;
}
.kanoon-single__content th,
.kanoon-single__content td {
	border: 1px solid #e8e8e8;
	padding: 10px 13px;
	text-align: start;
	vertical-align: top;
}
.kanoon-single__content thead th {
	background: var(--kanoon-primary, #1F5168);
	color: #fff;
	font-weight: 700;
}
.kanoon-single__content tbody tr:nth-child(even) { background: #faf9f7; }

/* ---- Single: shared polish (breadcrumb, meta icons, share) ---- */
.kanoon-crumbs {
	font-size: .85rem;
	color: #999;
	margin: 0 0 18px;
}

.kanoon-crumbs a {
	color: #999;
	text-decoration: none;
}

.kanoon-crumbs a:hover {
	color: var(--kanoon-primary, #1F5168);
}

.kanoon-crumbs__sep {
	margin: 0 6px;
	color: #ccc;
}

.kanoon-crumbs [aria-current] {
	color: #555;
}

.kanoon-single__meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.kanoon-single__meta svg {
	opacity: .65;
}

.kanoon-share {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #eee;
}

.kanoon-share__label {
	font-size: .9rem;
	color: #777;
}

.kanoon-share__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #e2e2e2;
	background: #fff;
	color: #555;
	cursor: pointer;
	text-decoration: none;
	transition: background .15s, border-color .15s, color .15s;
}

.kanoon-share__btn:hover {
	color: #fff;
}

.kanoon-share__btn--tg:hover {
	background: #229ED9;
	border-color: #229ED9;
}

.kanoon-share__btn--wa:hover {
	background: #25D366;
	border-color: #25D366;
}

.kanoon-share__copy:hover {
	background: var(--kanoon-primary, #1F5168);
	border-color: var(--kanoon-primary, #1F5168);
}

.kanoon-share__copy.is-copied {
	background: #108010;
	border-color: #108010;
	color: #fff;
}

.kanoon-share__copy.is-copied::after {
	content: "کپی شد";
	position: absolute;
	bottom: calc(100% + 6px);
	right: 50%;
	transform: translateX(50%);
	background: #108010;
	color: #fff;
	font-size: .7rem;
	padding: 2px 8px;
	border-radius: 6px;
	white-space: nowrap;
}

/* ---- Single layout: media (podcast / video / sermon) ---- */
.kanoon-single__media-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 960px;
	margin: 0 0 26px;
}

.kanoon-single__video .kanoon-embed {
	margin: 0;
}

.kanoon-single__video .kanoon-embed iframe,
.kanoon-single__video iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 12px;
	display: block;
	box-shadow: 0 12px 36px rgba(31, 81, 104, .15);
}

.kanoon-single__audio iframe {
	width: 100%;
	height: 166px;
	border: 0;
	border-radius: 12px;
	display: block;
}

.kanoon-single__player {
	margin: 0 0 26px;
}

/* ---- Single layout: ویدیو (course view: player + playlist sidebar) ---- */
.kanoon-video__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: start;
}

.kanoon-single--video.has-playlist .kanoon-video__layout {
	grid-template-columns: minmax(0, 1fr) 340px;   /* RTL: main (right) | playlist (left) */
}

.kanoon-video__player {
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(31, 81, 104, .15);
	margin-bottom: 18px;
}

.kanoon-video__player iframe,
.kanoon-video__player img {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	object-fit: cover;
}

/* Prev / next lesson */
.kanoon-video__seriesnav {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 18px 0;
}

.kanoon-video__seriesnav-link {
	flex: 1 1 220px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 12px 16px;
	background: #faf9f7;
	border: 1px solid #eee;
	border-radius: 10px;
	text-decoration: none;
	transition: border-color .15s, background .15s;
}

.kanoon-video__seriesnav-link:hover {
	border-color: var(--kanoon-primary, #1F5168);
	background: #fff;
}

.kanoon-video__seriesnav-link--next {
	text-align: left;
}

.kanoon-video__seriesnav-dir {
	color: var(--kanoon-red, #C6000E);
	font-size: .8rem;
	font-weight: 700;
}

.kanoon-video__seriesnav-title {
	color: #1a1a1a;
	font-weight: 600;
	line-height: 1.5;
}

/* Playlist sidebar */
.kanoon-video__playlist {
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	position: sticky;
	top: 20px;
}

.kanoon-video__playlist-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: var(--kanoon-primary, #1F5168);
	color: #fff;
}

.kanoon-video__playlist-title {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	font-size: .98rem;
}

.kanoon-video__playlist-title:hover {
	color: #fff;
	text-decoration: underline;
}

.kanoon-video__playlist-count {
	font-size: .82rem;
	opacity: .85;
	white-space: nowrap;
}

.kanoon-video__autoplay {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 11px 16px;
	border-bottom: 1px solid #eee;
	font-size: .9rem;
	color: #444;
	cursor: pointer;
}

.kanoon-video__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 560px;
	overflow-y: auto;
}

.kanoon-video__item a {
	display: grid;
	grid-template-columns: 26px 96px 1fr;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	text-decoration: none;
	border-bottom: 1px solid #f2f2f2;
	transition: background .12s;
}

.kanoon-video__item a:hover {
	background: #f6f8f9;
}

.kanoon-video__item.is-active a {
	background: #eef4f6;
}

.kanoon-video__item-index {
	color: #999;
	font-size: .85rem;
	text-align: center;
}

.kanoon-video__item.is-active .kanoon-video__item-index {
	color: var(--kanoon-red, #C6000E);
}

.kanoon-video__item-thumb {
	aspect-ratio: 16 / 9;
	background: #e9ecef;
	border-radius: 6px;
	overflow: hidden;
}

.kanoon-video__item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kanoon-video__item-title {
	font-size: .9rem;
	line-height: 1.5;
	color: #222;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.kanoon-video__item.is-active .kanoon-video__item-title {
	font-weight: 700;
	color: var(--kanoon-primary, #1F5168);
}

@media (max-width: 900px) {
	.kanoon-single--video.has-playlist .kanoon-video__layout {
		grid-template-columns: 1fr;
	}

	.kanoon-video__playlist {
		position: static;
	}

	.kanoon-video__list {
		max-height: 420px;
	}
}

.kanoon-single__player .kanoon-embed {
	margin: 0;
}

.kanoon-single--media .kanoon-single__player iframe {
	width: 100%;
	max-width: 960px;          /* a player needn't span the full page width */
	min-height: 420px;
	border: 0;
	border-radius: 12px;
	display: block;
	box-shadow: 0 12px 36px rgba(31, 81, 104, .15);
}

/* ---- Single layout: نیایش (message) ---- */
/* A نیایش with no video shows its cover art at album size, not full width. */
.kanoon-single--message .kanoon-single__thumb {
	max-width: 320px;
}

.kanoon-message__series {
	display: inline-block;
	background: var(--kanoon-red, #C6000E);
	color: #fff;
	font-weight: 700;
	font-size: .8rem;
	line-height: 1;
	padding: 7px 16px;
	border-radius: 999px;
	text-decoration: none;
	margin-bottom: 14px;
	transition: background .15s;
}

.kanoon-message__series:hover {
	background: #a30009;
	color: #fff;
}

.kanoon-message__media {
	margin: 8px 0 26px;
	max-width: 960px;
}

.kanoon-message__media--video .kanoon-embed {
	margin: 0;
}

.kanoon-message__media--video .kanoon-embed iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 12px;
	display: block;
	box-shadow: 0 12px 36px rgba(31, 81, 104, .15);
}

.kanoon-message__media--audio iframe {
	width: 100%;
	height: 166px;
	border: 0;
	border-radius: 12px;
	display: block;
}

/* In-series prev/next navigation */
.kanoon-message__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 34px 0;
}

.kanoon-message__navlink {
	flex: 1 1 240px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 20px;
	background: #faf9f7;
	border: 1px solid #eee;
	border-radius: 12px;
	text-decoration: none;
	transition: border-color .15s, background .15s, box-shadow .15s;
}

.kanoon-message__navlink:hover {
	border-color: var(--kanoon-primary, #1F5168);
	background: #fff;
	box-shadow: 0 8px 22px rgba(31, 81, 104, .1);
}

.kanoon-message__navlink--next {
	text-align: left;
}

.kanoon-message__navdir {
	color: var(--kanoon-red, #C6000E);
	font-size: .8rem;
	font-weight: 700;
}

.kanoon-message__navtitle {
	color: #1a1a1a;
	font-weight: 600;
	line-height: 1.6;
}

/* ---- Single layout: book (cover + info, then description) ---- */

.kanoon-book__top {
	display: grid;
	grid-template-columns: 300px 1fr;   /* RTL: cover (right) | info (left) */
	gap: 40px;
	align-items: start;
	margin-bottom: 32px;
}

.kanoon-book__cover img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .18);
	display: block;
}

.kanoon-book__cover--empty {
	display: block;
	aspect-ratio: 2 / 3;
	border-radius: 12px;
	background: linear-gradient(135deg, #eef2f4, #e3e8ea);
}

.kanoon-book__info .kanoon-single__title {
	margin-top: 0;
}

.kanoon-book__specs {
	margin: 18px 0 22px;
}

.kanoon-book__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 22px 0;
}

.kanoon-book__buy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	background: var(--kanoon-primary, #1F5168);
	color: #fff;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 600;
	transition: background .15s;
}

.kanoon-book__buy:hover {
	background: #173f4e;
	color: #fff;
}

.kanoon-book__info .kanoon-share {
	margin-top: 22px;
}

@media (max-width: 680px) {
	.kanoon-book__top {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.kanoon-book__cover {
		max-width: 220px;
	}

	.kanoon-single--media .kanoon-single__player iframe {
		min-height: 320px;
	}
}

/* ---- Single layout: author profile ---- */
.kanoon-author__profile {
	display: grid;
	grid-template-columns: 200px 1fr;   /* RTL: photo (right) | info (left) */
	gap: 36px;
	align-items: start;
	margin-bottom: 40px;
}

.kanoon-author__photo img,
.kanoon-author__photo--empty {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
	display: block;
	box-shadow: 0 12px 34px rgba(31, 81, 104, .16);
}

.kanoon-author__photo--empty {
	background: linear-gradient(135deg, #eef2f4, #e3e8ea);
}

.kanoon-author__name {
	font-size: 2rem;
	font-weight: 800;
	margin: 0 0 4px;
}

.kanoon-author__en {
	color: #999;
	font-size: 1rem;
	margin: 0 0 10px;
}

.kanoon-author__life,
.kanoon-author__site {
	color: #777;
	font-size: .92rem;
	margin: 0 0 6px;
}

.kanoon-author__site a {
	color: var(--kanoon-primary, #1F5168);
	text-decoration: none;
}

.kanoon-author__bio {
	line-height: 2.1;
	color: #333;
	margin-top: 16px;
}

.kanoon-author__works {
	margin-top: 12px;
}

.kanoon-author__works-title {
	font-size: 1.4rem;
	font-weight: 800;
	margin: 0 0 22px;
	padding-bottom: 10px;
	position: relative;
}

.kanoon-author__works-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	inset-inline-start: 0;
	width: 56px;
	height: 3px;
	background: var(--kanoon-red, #C6000E);
}

@media (max-width: 680px) {
	.kanoon-author__profile {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.kanoon-author__photo {
		max-width: 200px;
	}
}

/* ---- Search hero refine form ---- */
.kanoon-hero-search {
	display: flex;
	max-width: 520px;
	margin: 20px auto 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
}

.kanoon-hero-search input {
	flex: 1;
	min-width: 0;
	border: 0;
	padding: 14px 18px;
	font: inherit;
	color: #1a1a1a;
	background: #fff;
	outline: none;
}

.kanoon-hero-search button {
	flex: 0 0 auto;
	border: 0;
	padding: 14px 26px;
	background: var(--kanoon-red, #C6000E);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s;
}

.kanoon-hero-search button:hover {
	background: #a40009;
}

/* ---- Static page content ---- */
.kanoon-page__content {
	max-width: 800px;
	margin: 0 auto;
	line-height: 2.1;
	font-size: 1.05rem;
	color: #222;
}

.kanoon-page__content p {
	margin: 0 0 18px;
}

.kanoon-page__content h2 {
	font-size: 1.5rem;
	font-weight: 800;
	margin: 32px 0 14px;
}

.kanoon-page__content h3 {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 26px 0 12px;
}

.kanoon-page__content img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.kanoon-page__content a {
	color: var(--kanoon-primary, #1F5168);
}

/* ---- Contact form ---- */
.kanoon-contact {
	max-width: 760px;
	margin: 0 auto;
}

.kanoon-contact__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.kanoon-contact__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.kanoon-contact label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: .92rem;
	color: #555;
}

.kanoon-contact input,
.kanoon-contact textarea {
	border: 1px solid #d8dee1;
	border-radius: 10px;
	padding: 12px 14px;
	font: inherit;
	color: #1a1a1a;
	background: #fff;
	outline: none;
	transition: border-color .15s;
}

.kanoon-contact input:focus,
.kanoon-contact textarea:focus {
	border-color: var(--kanoon-primary, #1F5168);
}

.kanoon-contact textarea {
	resize: vertical;
}

.kanoon-contact__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.kanoon-contact__submit {
	align-self: flex-start;
	border: 0;
	padding: 13px 34px;
	background: var(--kanoon-primary, #1F5168);
	color: #fff;
	border-radius: 10px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s;
}

.kanoon-contact__submit:hover {
	background: #173f4e;
}

.kanoon-contact__notice {
	margin: 0 0 18px;
	padding: 12px 16px;
	border-radius: 8px;
	font-weight: 600;
}

.kanoon-contact__notice--ok {
	background: #e7f6e7;
	color: #1a6b1a;
}

.kanoon-contact__notice--err {
	background: #fdeaea;
	color: #b3261e;
}

@media (max-width: 600px) {
	.kanoon-contact__row {
		grid-template-columns: 1fr;
	}
}

/* ---- Single: related block ---- */
.kanoon-related {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid #eee;
}

.kanoon-related__title {
	font-size: 1.4rem;
	font-weight: 800;
	margin: 0 0 22px;
	padding-bottom: 10px;
	position: relative;
}

.kanoon-related__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	inset-inline-start: 0;
	width: 56px;
	height: 3px;
	background: var(--kanoon-red, #C6000E);
}

/* ---- 404 ---- */
.kanoon-404 {
	text-align: center;
}

.kanoon-404__lead {
	color: #666;
	margin: 0 0 18px;
	font-size: 1.05rem;
}

.kanoon-404__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.kanoon-404__link {
	display: inline-block;
	padding: 10px 22px;
	border: 1px solid #d8dee1;
	border-radius: 999px;
	color: var(--kanoon-primary, #1F5168);
	text-decoration: none;
	font-weight: 600;
	transition: background .15s, color .15s, border-color .15s;
}

.kanoon-404__link:hover {
	background: var(--kanoon-primary, #1F5168);
	color: #fff;
	border-color: var(--kanoon-primary, #1F5168);
}

/* ---- Book audiobook player + episode playlist ---- */
.kanoon-audiobook {
	margin: 30px 0;
}
.kanoon-audiobook__title {
	font-size: 1.3rem;
	border-bottom: 2px solid var(--kanoon-red, #C6000E);
	display: inline-block;
	padding-bottom: 4px;
	margin: 0 0 16px;
}
.kanoon-audiobook.has-list .kanoon-audiobook__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 22px;
	align-items: start;
}
.kanoon-audiobook__player {
	border-radius: 12px;
	overflow: hidden;
	background: #000;
}
.kanoon-audiobook__player iframe {
	width: 100%;
	display: block;
	border: 0;
}
.kanoon-audiobook[data-type="audio"] .kanoon-audiobook__player {
	background: transparent;
}
.kanoon-audiobook[data-type="audio"] .kanoon-audiobook__player iframe {
	height: 166px;
}
.kanoon-audiobook[data-type="video"] .kanoon-audiobook__player {
	aspect-ratio: 16 / 9;
}
.kanoon-audiobook[data-type="video"] .kanoon-audiobook__player iframe {
	height: 100%;
}

.kanoon-audiobook__list {
	margin: 0;
	padding: 6px;
	list-style: none;
	counter-reset: none;
	max-height: 460px;
	overflow: auto;
	background: #faf9f7;
	border: 1px solid #eee;
	border-radius: 12px;
}
.kanoon-audiobook__item { margin: 0; }
.kanoon-audiobook__ep {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 9px 10px;
	background: none;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	text-align: start;
	font: inherit;
	color: #222;
}
.kanoon-audiobook__ep:hover { background: #f0ece7; }
.kanoon-audiobook__item.is-active .kanoon-audiobook__ep {
	background: var(--kanoon-primary, #1F5168);
	color: #fff;
}
.kanoon-audiobook__ep-index {
	flex: 0 0 26px;
	text-align: center;
	font-size: .82rem;
	opacity: .8;
}
.kanoon-audiobook__ep-title {
	font-size: .92rem;
	line-height: 1.6;
}

@media (max-width: 820px) {
	.kanoon-audiobook.has-list .kanoon-audiobook__layout {
		grid-template-columns: 1fr;
	}
	.kanoon-audiobook__list { max-height: 320px; }
}
