:root {
	--mosaic-bg: #222220;
	--mosaic-paper: #f7f3ed;
	--mosaic-muted: rgba(247, 243, 237, 0.68);
	--mosaic-faint: rgba(247, 243, 237, 0.14);
	--mosaic-accent: #ff8768;
	--mosaic-max: 1180px;
	--mosaic-copy: "Farhang2", Farhang, "Farhang Web", "Geeza Pro", "Noto Naskh Arabic", "Droid Arabic Naskh", Tahoma, Arial, sans-serif;
	--mosaic-display: "Farhang2 Black", "Farhang2", Farhang, "Farhang Web", "Geeza Pro", "Noto Naskh Arabic", Tahoma, Arial, sans-serif;
	--mosaic-radius: 18px;
}

@font-face {
	font-family: "Farhang2";
	src: url("../fonts/Farhang2-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Farhang2";
	src: url("../fonts/Farhang2-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Farhang2";
	src: url("../fonts/Farhang2-DemiBold.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Farhang2";
	src: url("../fonts/Farhang2-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Farhang2";
	src: url("../fonts/Farhang2-ExtraBold.woff2") format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Farhang2 Black";
	src: url("../fonts/Farhang2-Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Farhang2";
	src: url("../fonts/Farhang2-Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

* {
	box-sizing: border-box;
}

html {
	background: var(--mosaic-bg);
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--mosaic-bg);
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-size: 18px;
	letter-spacing: 0;
	line-height: 1.8;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.rtl {
	direction: rtl;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.mosaic-site-header {
	position: relative;
	z-index: 10;
	border-bottom: 1px solid rgba(247, 243, 237, 0.1);
	background: var(--mosaic-bg);
}

.mosaic-site-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100% - 48px, var(--mosaic-max));
	min-height: 116px;
	margin: 0 auto;
}

.mosaic-site-header__actions {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.mosaic-site-header__action {
	position: absolute;
	top: 50%;
	display: inline-flex;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	transform: translateY(-50%);
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	color: rgba(247, 243, 237, 1);
	pointer-events: auto;
	background: transparent;
	transition: color 160ms ease, opacity 160ms ease;
}

.mosaic-site-header__action--search {
	left: 0;
}

.mosaic-site-header__action--instagram {
	right: 0;
	color: rgba(247, 243, 237, 1);
}

.mosaic-site-header__action:hover,
.mosaic-site-header__action:focus-visible {
	background: transparent;
	color: var(--mosaic-paper);
	opacity: 0.8;
	outline: none;
}

.mosaic-site-header__action svg {
	display: block;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mosaic-site-header__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(220px, 24vw, 300px);
	height: clamp(60px, 6.8vw, 82px);
	background-image: url("../images/mosaic-logo-white-on-transparent.png?v=20260504");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	min-width: 0;
}

.mosaic-site-header__brand img {
	display: none;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: none;
	object-fit: contain;
}

.mosaic-site-footer__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 18px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--mosaic-muted);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.mosaic-site-footer__nav a:hover {
	color: var(--mosaic-paper);
}

.mosaic-home,
.mosaic-archive,
.mosaic-single,
.mosaic-empty {
	width: min(100% - 48px, var(--mosaic-max));
	margin: 0 auto;
	padding: clamp(28px, 5vw, 54px) 0 clamp(72px, 9vw, 120px);
}

.mosaic-home {
	padding-top: 0;
}

.mosaic-single {
	padding-top: 0;
}

.mosaic-category-filter {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0 0 clamp(34px, 5vw, 54px);
	padding: clamp(10px, 1.4vw, 16px) 0;
	overflow-x: auto;
	border-bottom: 1px solid rgba(247, 243, 237, 0.1);
	scrollbar-width: thin;
}

.mosaic-home .mosaic-category-filter,
.mosaic-single .mosaic-category-filter,
.mosaic-archive .mosaic-category-filter {
	min-height: clamp(58px, 6.2vw, 76px);
}

.mosaic-category-filter__item {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 16px;
	border: 1px solid rgba(247, 243, 237, 0.17);
	border-radius: 999px;
	color: var(--mosaic-muted);
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.mosaic-category-filter__item:hover,
.mosaic-category-filter__item.is-active {
	border-color: rgba(247, 243, 237, 0.58);
	color: var(--mosaic-paper);
}

.mosaic-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 48px);
	align-items: start;
}

.mosaic-card {
	min-width: 0;
}

.mosaic-card__link {
	position: relative;
	display: grid;
	aspect-ratio: 1 / 1;
	place-items: end center;
	overflow: clip;
	border-radius: var(--mosaic-radius);
	background: #111;
	isolation: isolate;
	text-align: center;
	container-type: inline-size;
}

.mosaic-card__image,
.mosaic-card__placeholder {
	position: absolute;
	inset: -8% 0;
	z-index: 0;
	width: 100%;
	height: 116%;
	object-fit: cover;
	filter: none;
	transform: translate3d(0, var(--mosaic-parallax-y, 0px), 0) scale(var(--mosaic-image-scale, 1));
	transition: transform 90ms linear;
	will-change: transform;
}

.mosaic-card__placeholder {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent),
		#333;
}

.mosaic-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			to top,
			rgba(0, 0, 0, 0.92) 0%,
			rgba(0, 0, 0, 0.74) 30%,
			rgba(0, 0, 0, 0.28) 62%,
			rgba(0, 0, 0, 0.48) 100%
		);
}

.mosaic-card__link:hover .mosaic-card__image {
	--mosaic-image-scale: 1.025;
}

.mosaic-card__link:active {
	opacity: 0.82;
	transition: opacity 60ms linear;
}

.mosaic-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: min(86%, 760px);
	height: 100%;
	padding: clamp(24px, 6cqw, 54px) clamp(18px, 5cqw, 34px);
	text-align: center;
}

.mosaic-card__category,
.mosaic-card__meta {
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(12px, 3cqw, 15px);
	font-weight: 800;
	line-height: 1.8;
}

.mosaic-card__title {
	max-width: 13em;
	margin: 16px auto 12px;
	color: #fff;
	font-family: var(--mosaic-display);
	font-size: clamp(
		calc(24px * var(--mosaic-card-title-scale, 1)),
		calc((1.8vw + 2.2cqw) * var(--mosaic-card-title-scale, 1)),
		calc(60px * var(--mosaic-card-title-scale, 1))
	);
	font-weight: 900;
	line-height: 1.14;
	overflow-wrap: anywhere;
	text-wrap: balance;
	height: calc(2.508 * clamp(24px, 1.8vw + 2.2cqw, 60px));
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.mosaic-archive__header {
	max-width: 760px;
	margin: 0 auto clamp(34px, 5vw, 56px);
	text-align: center;
}

.mosaic-archive__header h1,
.mosaic-empty h1 {
	margin: 0;
	font-family: var(--mosaic-display);
	font-size: 4.75rem;
	font-weight: 900;
	line-height: 1.1;
}

.mosaic-archive__description {
	color: var(--mosaic-muted);
}

.mosaic-article-hero {
	position: relative;
	display: grid;
	aspect-ratio: 16 / 9;
	width: min(100%, 980px);
	min-height: clamp(420px, 62vh, 760px);
	max-height: 820px;
	margin: 0 auto clamp(24px, 4.2vw, 42px);
	overflow: hidden;
	border-radius: var(--mosaic-radius);
	background: #111;
	isolation: isolate;
}

.single-post .mosaic-article-hero {
	margin-bottom: clamp(12px, 2.2vw, 24px);
}

.mosaic-article-hero__image,
.mosaic-article-hero__placeholder {
	position: absolute;
	inset: -9% 0;
	z-index: 0;
	width: 100%;
	height: 118%;
	object-fit: cover;
	transform: translate3d(0, var(--mosaic-parallax-y, 0px), 0) scale(var(--mosaic-image-scale, 1));
	will-change: transform;
}

.mosaic-article-hero__placeholder {
	background: #333;
}

@media (pointer: coarse), (any-pointer: coarse) {
	.mosaic-card__image,
	.mosaic-card__placeholder,
	.mosaic-article-hero__image,
	.mosaic-article-hero__placeholder,
	.mosaic-article-media-image {
		transition: none;
		will-change: auto;
	}
}

.mosaic-article-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			to top,
			rgba(0, 0, 0, 0.92) 0%,
			rgba(0, 0, 0, 0.74) 28%,
			rgba(0, 0, 0, 0.30) 60%,
			rgba(0, 0, 0, 0.48) 100%
		);
}

.mosaic-article-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: end;
	width: min(88%, 800px);
	height: 100%;
	margin: 0 auto;
	padding: clamp(28px, 5vw, 58px);
	text-align: center;
}

.mosaic-article-hero__category,
.mosaic-article-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35em 0.7em;
	align-items: center;
	justify-content: center;
	width: 100%;
	color: rgba(255, 255, 255, 0.84);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.8;
	text-align: center;
}

.mosaic-article-hero__title {
	max-width: 13em;
	margin: 18px auto 16px;
	color: #fff;
	font-family: var(--mosaic-display);
	font-size: 5.125rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.mosaic-article__content {
	width: min(100%, 836px);
	margin: 0 auto;
	color: rgba(247, 243, 237, 0.88);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 2.08;
	overflow-wrap: break-word;
}

.single-post .mosaic-article__content,
.single-post .mosaic-article__content p,
.single-post .elementor-widget-container > p,
.single-post .elementor-widget-text-editor {
	color: rgba(247, 243, 237, 0.88);
	font-family: var(--mosaic-copy);
	font-weight: 500;
	text-align: justify;
	/* inter-word stops Blink/Gecko from stretching at intra-word cursive
	   breaks; WebKit ignores it and justifies on word spaces only. */
	text-justify: inter-word;
}

.mosaic-article__content > * {
	margin-top: 0;
	margin-bottom: 34px;
}

.mosaic-article__content a {
	color: #fff;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.mosaic-article__content h2,
.mosaic-article__content h3,
.mosaic-article__content h4,
.single-post .elementor-widget-container > h2,
.single-post .elementor-widget-container > h3,
.single-post .elementor-widget-container > h4 {
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-weight: 700;
	line-height: 1.25;
}

.single-post .elementor-element.elementor-element-cd4decd {
	min-height: 0;
	padding-top: clamp(18px, 3vw, 34px) !important;
	padding-bottom: clamp(18px, 3vw, 34px) !important;
}

.single-post .elementor-element.elementor-element-cd4decd > .elementor-widget-container {
	margin: 0;
	padding: 0;
}

.single-post .elementor-element.elementor-element-cd4decd h2 {
	margin: 0;
	font-family: var(--mosaic-copy);
	font-weight: 700;
}

.mosaic-article__content img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	border-radius: clamp(10px, 1.1vw, 14px);
	object-fit: cover !important;
}

.mosaic-article__content img:not(.emoji):not(.wp-smiley):not(.mosaic-article-media-image) {
	height: auto !important;
	max-height: none !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
}

.mosaic-article__content figure {
	max-width: 100%;
	margin-right: 0;
	margin-left: 0;
}

.mosaic-article-media-frame {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: clip;
	border-radius: clamp(10px, 1.1vw, 14px);
	isolation: isolate;
}

.mosaic-article-media-frame > a,
.mosaic-article-media-frame > picture,
.mosaic-article-media-frame > a > picture {
	display: block;
	width: 100%;
	height: 100%;
}

.mosaic-article-media-image {
	display: block;
	position: absolute;
	inset: -8% 0;
	width: 100%;
	height: 116%;
	border-radius: 0 !important;
	object-fit: cover;
	transform: translate3d(0, var(--mosaic-parallax-y, 0px), 0) scale(1.045);
	transition: transform 90ms linear;
	will-change: transform;
}

.mosaic-article__content .mosaic-article-media-image {
	height: 116% !important;
	aspect-ratio: auto !important;
}

.mosaic-article__content p:has(> img),
.mosaic-article__content p:has(> a > img),
.mosaic-article__content figure:has(img),
.mosaic-article__content .wp-caption:has(img) {
	position: relative !important;
	aspect-ratio: 1 / 1 !important;
	overflow: clip !important;
	border-radius: clamp(10px, 1.1vw, 14px);
}

.mosaic-article__content p:has(> img) > img,
.mosaic-article__content p:has(> a > img) > a,
.mosaic-article__content p:has(> a > img) > a > img,
.mosaic-article__content figure:has(img) img,
.mosaic-article__content .wp-caption:has(img) img {
	position: absolute !important;
	inset: -8% 0 !important;
	width: 100% !important;
	height: 116% !important;
	border-radius: 0 !important;
	object-fit: cover !important;
}

.mosaic-article__content p:has(> a > img) > a {
	display: block;
	height: 116%;
}

.mosaic-article__content iframe,
.mosaic-article__content video,
.mosaic-article__content embed,
.mosaic-article__content object {
	max-width: 100%;
}

.mosaic-article__content > p:first-of-type::first-letter {
	float: right;
	display: inline-flex;
	min-width: 58px;
	min-height: 58px;
	margin: 12px 0 8px 22px;
	align-items: center;
	justify-content: center;
	border: 3px solid rgba(247, 243, 237, 0.92);
	color: #fff;
	font-family: var(--mosaic-display);
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
	text-align: center;
}

.mosaic-share {
	width: min(100%, 760px);
	margin: 0 auto;
	border-top: 1px solid var(--mosaic-faint);
	border-bottom: 1px solid var(--mosaic-faint);
	padding: 18px 0 16px;
}

.mosaic-share__title {
	margin: 0 0 12px;
	color: var(--mosaic-muted);
	font-family: var(--mosaic-copy);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: right;
}

.mosaic-share__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
}

.mosaic-share__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(247, 243, 237, 0.26);
	border-radius: 999px;
	background: rgba(247, 243, 237, 0.02);
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.mosaic-share__button:hover,
.mosaic-share__button:focus-visible {
	border-color: rgba(247, 243, 237, 0.62);
	color: #fff;
	background: rgba(247, 243, 237, 0.08);
	outline: none;
}

.mosaic-share__button-content {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.mosaic-share__icon {
	width: 13px;
	height: 13px;
	flex: 0 0 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mosaic-share__label {
	white-space: nowrap;
}

.mosaic-share__button--copy.is-copied {
	border-color: rgba(247, 243, 237, 0.72);
	background: rgba(247, 243, 237, 0.18);
}

.mosaic-related {
	margin: clamp(58px, 8vw, 96px) auto 0;
}

.mosaic-related__header {
	margin-bottom: 26px;
	border-top: 1px solid var(--mosaic-faint);
	padding-top: 22px;
}

.mosaic-related__header h2 {
	margin: 0;
	font-family: var(--mosaic-copy);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
}

.mosaic-pagination {
	margin-top: 46px;
	text-align: center;
}

.mosaic-pagination ul,
.mosaic-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mosaic-pagination a,
.mosaic-pagination span {
	display: inline-flex;
	min-width: 40px;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(247, 243, 237, 0.18);
	border-radius: 999px;
	color: var(--mosaic-muted);
	font-weight: 800;
}

.mosaic-pagination .current,
.mosaic-pagination a:hover {
	border-color: rgba(247, 243, 237, 0.62);
	color: #fff;
}

.mosaic-site-footer {
	border-top: 1px solid rgba(247, 243, 237, 0.1);
}

.mosaic-site-footer__inner {
	--mosaic-footer-logo-width: clamp(96px, 11vw, 128px);
	display: grid;
	grid-template-columns: minmax(var(--mosaic-footer-logo-width), 1fr) minmax(0, auto) minmax(var(--mosaic-footer-logo-width), 1fr);
	column-gap: clamp(16px, 2.6vw, 36px);
	row-gap: 14px;
	align-items: center;
	width: min(100% - 48px, var(--mosaic-max));
	margin: 0 auto;
	padding: 28px 0;
	color: var(--mosaic-muted);
	font-size: 14px;
}

.mosaic-site-footer__brand {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	width: var(--mosaic-footer-logo-width);
	height: auto;
	background: none;
}

.mosaic-site-footer__brand img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

.mosaic-site-footer__menu {
	justify-self: center;
	min-width: 0;
	width: 100%;
	display: flex;
	justify-content: center;
}

.mosaic-site-footer__nav {
	justify-self: center;
	max-width: 100%;
	margin-inline: auto;
}

.mosaic-site-footer__spacer {
	display: block;
	justify-self: start;
	width: var(--mosaic-footer-logo-width);
	min-width: var(--mosaic-footer-logo-width);
}

/* Defensive cleanup for plugin/legacy blocks that can leak into previews. */
.mosaic-single .sharedaddy,
.mosaic-single .sd-sharing-enabled,
.mosaic-single .addtoany_share_save_container,
.mosaic-single .heateor_sss_sharing_container,
.mosaic-single .post-share,
.mosaic-single .share-bar,
.mosaic-single .social-share,
.mosaic-single .single-post-box,
.mosaic-single .comments-area,
.mosaic-single .comment-respond,
.mosaic-single [class*="rbi-"],
.mosaic-single [class*="rbc-"],
.mosaic-single [class*="ruby-"] {
	display: none !important;
}

.mosaic-single .wp-block-image,
.mosaic-single .wp-caption {
	max-width: 100%;
}

.mosaic-empty {
	min-height: 55vh;
	text-align: center;
}

/* Contact page typography + RTL form polish */
body.page-id-1481 .elementor-widget-text-editor,
body.page-id-1481 .elementor-widget-text-editor p {
	color: rgba(247, 243, 237, 0.88);
	font-family: var(--mosaic-copy);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 2.02;
	text-align: justify;
	text-justify: inter-word;
}

body.page-id-1481 .wpcf7,
body.page-id-1481 .wpcf7 form {
	direction: rtl;
	text-align: right;
	font-family: var(--mosaic-copy);
}

body.page-id-1481 .wpcf7 p {
	margin: 0 0 16px;
}

body.page-id-1481 .wpcf7 label {
	display: block;
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.55;
	text-align: right;
	direction: rtl;
}

body.page-id-1481 .wpcf7 .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
}

body.page-id-1481 .wpcf7 input:not([type="submit"]),
body.page-id-1481 .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body.page-id-1481 .wpcf7 textarea,
body.page-id-1481 .wpcf7 select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid rgba(247, 243, 237, 0.24);
	border-radius: 8px;
	background: rgba(247, 243, 237, 0.03);
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.7;
	direction: rtl;
	text-align: right;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease;
}

body.page-id-1481 .wpcf7 textarea {
	min-height: 170px;
	resize: vertical;
}

body.page-id-1481 .wpcf7 ::placeholder {
	color: rgba(247, 243, 237, 0.58);
}

body.page-id-1481 .wpcf7 input:not([type="submit"]):focus,
body.page-id-1481 .wpcf7 textarea:focus,
body.page-id-1481 .wpcf7 select:focus {
	border-color: rgba(247, 243, 237, 0.56);
	background: rgba(247, 243, 237, 0.07);
}

body.page-id-1481 .wpcf7 .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid rgba(247, 243, 237, 0.3);
	border-radius: 999px;
	background: rgba(247, 243, 237, 0.05);
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

body.page-id-1481 .wpcf7 .wpcf7-submit:hover,
body.page-id-1481 .wpcf7 .wpcf7-submit:focus-visible {
	border-color: rgba(247, 243, 237, 0.64);
	background: rgba(247, 243, 237, 0.11);
	color: #fff;
	outline: none;
}

body.page-id-1481 .wpcf7 .wpcf7-response-output {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 8px;
	border-color: rgba(247, 243, 237, 0.28);
	color: var(--mosaic-paper);
	font-family: var(--mosaic-copy);
	font-size: 0.96rem;
	text-align: right;
}

/* Impressum page: hide duplicated large page heading ("شناسنامه"). */
body.page-id-2357 .mosaic-page > .mosaic-archive__header {
	display: none;
}

/* Datenschutz page: hide duplicated large Persian page heading. */
body.page-id-3 .mosaic-page > .mosaic-archive__header {
	display: none;
}

@media (max-width: 980px) {
	.mosaic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mosaic-site-header__inner {
		width: min(100% - 36px, var(--mosaic-max));
	}

	.mosaic-archive__header h1,
	.mosaic-empty h1,
	.mosaic-article-hero__title {
		font-size: 4rem;
	}

	.mosaic-article__content {
		font-size: 1.25rem;
	}

	.mosaic-article-hero {
		min-height: clamp(480px, 72vh, 720px);
	}
}

@media (max-width: 720px) {
	.mosaic-site-header__inner {
		min-height: 98px;
		padding: 10px 0;
	}

	.mosaic-site-header__brand {
		width: clamp(175px, 50vw, 240px);
		height: clamp(48px, 13.5vw, 66px);
	}

	.mosaic-site-header__action {
		width: 38px;
		height: 38px;
	}

	.mosaic-site-header__action svg {
		width: 18px;
		height: 18px;
	}

	.mosaic-home,
	.mosaic-archive,
	.mosaic-single,
	.mosaic-empty,
	.mosaic-site-header__inner,
	.mosaic-site-footer__inner {
		width: min(100% - 28px, var(--mosaic-max));
	}

	.mosaic-grid {
		grid-template-columns: 1fr;
	}

	.mosaic-article-hero {
		aspect-ratio: auto;
		min-height: min(720px, calc(100vh - 120px));
		border-radius: 14px;
	}

	.single-post .mosaic-article-hero {
		aspect-ratio: 1 / 1;
		min-height: 0;
		max-height: none;
	}

	.mosaic-article-hero__title {
		font-size: 3.25rem;
		line-height: 1.12;
	}

	.mosaic-article-hero__content {
		width: min(92%, 520px);
		padding: 28px 16px;
	}

	.mosaic-article-hero__category,
	.mosaic-article-hero__meta {
		font-size: 14px;
	}

	.mosaic-card__title {
		font-size: clamp(
			calc(22px * var(--mosaic-card-title-scale, 1)),
			calc(8.4vw * var(--mosaic-card-title-scale, 1)),
			calc(46px * var(--mosaic-card-title-scale, 1))
		);
	}

	.mosaic-card__link {
		border-radius: 14px;
	}

	.mosaic-article__content {
		font-size: 1.125rem;
		line-height: 2;
	}

	.mosaic-share__button {
		min-height: 40px;
		padding: 0 14px;
		font-size: 14px;
	}

	.mosaic-article__content > p:first-of-type::first-letter {
		min-width: 48px;
		min-height: 48px;
		margin: 10px 0 6px 16px;
		font-size: 36px;
	}

	.mosaic-site-footer__inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.mosaic-site-footer__brand {
		justify-self: center;
		width: clamp(110px, 34vw, 132px);
		height: auto;
	}

	.mosaic-site-footer__spacer {
		display: none;
	}
}

@media (max-width: 420px) {
	.mosaic-home,
	.mosaic-archive,
	.mosaic-single,
	.mosaic-empty,
	.mosaic-site-header__inner,
	.mosaic-site-footer__inner {
		width: min(100% - 22px, var(--mosaic-max));
	}

	.mosaic-card__content {
		width: 90%;
		padding: 24px 14px;
	}

	.mosaic-share__actions {
		gap: 8px;
	}

	.mosaic-share__button {
		flex: 1 1 calc(50% - 8px);
	}

	.mosaic-share__button-content {
		gap: 6px;
	}

	.mosaic-share__icon {
		width: 12px;
		height: 12px;
		flex-basis: 12px;
	}

	.mosaic-card__title {
		font-size: clamp(
			calc(20px * var(--mosaic-card-title-scale, 1)),
			calc(9.2vw * var(--mosaic-card-title-scale, 1)),
			calc(34px * var(--mosaic-card-title-scale, 1))
		);
		line-height: 1.18;
	}

	.mosaic-archive__header h1,
	.mosaic-empty h1,
	.mosaic-article-hero__title {
		font-size: 2.75rem;
	}

	.mosaic-related__header h2 {
		font-size: 2rem;
	}
}

/* ===== Mosaic Reader (ported from previews/carousel-reader.html) ===== */
:root{--ease:cubic-bezier(.4,0,.2,1);--ease-card:cubic-bezier(.22,.85,.24,1);--ease-soft:cubic-bezier(.33,1,.4,1);}
.reader{position:fixed;inset:0;z-index:100;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s;}
.reader.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.reader:not(.is-open) .slide{pointer-events:none!important;} /* blayout() sets inline pointer-events:auto on visible slides; a descendant keeps that even when .reader is none, so a closed (opacity:0) overlay would still eat clicks on the cards beneath — neutralize the leftover slides */
.reader__ambient{position:absolute;inset:0;overflow:hidden;}
.reader__ambient .amb{position:absolute;inset:-18%;background-size:cover;background-position:center;filter:blur(74px) saturate(1.45) brightness(.5);transform:scale(1.18);opacity:0;transition:opacity 1.1s var(--ease);}
.reader__scrim{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 16%,rgba(20,20,18,.5) 0%,rgba(18,18,16,.8) 48%,rgba(10,10,9,.94) 100%);}
.reader__grain{position:absolute;inset:0;opacity:.045;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}
.reader__vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 240px 60px rgba(0,0,0,.6);}
.reader__bar{position:absolute;inset-block-start:0;inset-inline:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:clamp(12px,1.8vw,20px) clamp(16px,3vw,38px);pointer-events:none;}
.reader__bar > *{pointer-events:auto;}
.reader__left{display:flex;align-items:center;gap:10px;}
.iconbtn:disabled{opacity:.35;cursor:default;}
.iconbtn:disabled:hover{background:rgba(247,243,237,.04);border-color:rgba(247,243,237,.2);}
.reader__brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;text-align:center;}
.reader__logo{width:clamp(104px,11vw,132px);height:30px;background:url("https://mosaic-magazine.de/wp-content/themes/mosaic-visual/assets/images/mosaic-logo-white-on-transparent.png") center/contain no-repeat;}
.reader__slogan{font-size:9px;font-weight:600;color:rgba(247,243,237,.44);letter-spacing:.05em;white-space:nowrap;line-height:1;}
.reader__counter{font-weight:700;font-size:clamp(13px,1.6vw,16px);color:rgba(247,243,237,.92);font-variant-numeric:tabular-nums;min-width:64px;}
.reader__counter small{color:rgba(247,243,237,.4);margin-inline-start:.3em;}
.iconbtn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,243,237,.2);border-radius:999px;background:rgba(247,243,237,.04);color:#fff;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s,border-color .2s,transform .25s,color .2s;}
.iconbtn:hover{background:rgba(247,243,237,.12);border-color:rgba(247,243,237,.5);}
.iconbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.reader__close:hover{transform:rotate(90deg);}
.reader__music.is-on{color:var(--mosaic-accent);border-color:rgba(255,135,104,.55);background:rgba(255,135,104,.12);}
.reader__back{display:inline-flex;align-items:center;gap:8px;padding:0 16px 0 14px;height:42px;border:1px solid rgba(247,243,237,.2);border-radius:999px;background:rgba(247,243,237,.04);color:#fff;font-family:inherit;font-weight:700;font-size:13px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s,border-color .2s;}
.reader__back:hover{background:rgba(247,243,237,.12);border-color:rgba(247,243,237,.5);}
.reader__back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.reader.is-reading .reader__counter{display:none;}
.reader:not(.is-reading) .reader__back{display:none;}

/* BROWSE coverflow */
.browse{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;perspective:2000px;transform:translateY(46px) scale(.99);opacity:0;transition:transform .7s var(--ease-card),opacity .55s var(--ease-soft);}
.reader.is-open .browse{transform:none;opacity:1;}
.reader.is-reading .browse{opacity:0;visibility:hidden;transform:scale(.96);pointer-events:none;transition:opacity .5s var(--ease-soft),transform .55s var(--ease-card),visibility .55s;}
.browse__track{position:relative;width:100%;height:min(76vh,700px);transform-style:preserve-3d;transition:transform .66s var(--ease-card);will-change:transform;}
.slide{position:absolute;inset-block-start:50%;inset-inline-start:50%;height:min(76vh,700px);aspect-ratio:4/5;transform-style:preserve-3d;transition:transform .74s var(--ease-card),opacity .55s var(--ease-soft);cursor:pointer;will-change:transform,opacity;backface-visibility:hidden;}
.slide__inner{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 44px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(247,243,237,.05);}
.slide__img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;}
.slide.is-active .slide__img{animation:kb 16s ease-out forwards;}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.slide__ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 28%,rgba(0,0,0,.26) 60%,rgba(0,0,0,.42) 100%);}
.slide:not(.is-active) .slide__inner{filter:brightness(.66) saturate(.9);}
.slide__c{position:absolute;inset-block-end:0;inset-inline:0;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(20px,3vw,40px) clamp(18px,3vw,38px) clamp(24px,3.2vw,44px);}
.slide__cat{display:inline-flex;padding:5px 14px;border-radius:999px;background:rgba(247,243,237,.1);border:1px solid rgba(247,243,237,.32);color:#fff;font-size:clamp(10px,1.2vw,12px);font-weight:700;letter-spacing:.04em;margin-bottom:13px;}
.slide__title{margin:0;color:#fff;font-family:var(--mosaic-copy);font-weight:700;line-height:1.25;font-size:clamp(19px,2.8vw,33px);max-width:14em;text-wrap:balance;}
.slide__dek{margin:13px 0 0;max-width:28em;color:rgba(247,243,237,.82);font-weight:400;font-size:clamp(12px,1.45vw,15px);line-height:1.95;}
.slide__meta{margin-top:14px;display:flex;align-items:center;gap:10px;color:rgba(247,243,237,.6);font-size:clamp(11px,1.2vw,13px);font-weight:600;}
.slide__meta .sep{width:3px;height:3px;border-radius:50%;background:rgba(247,243,237,.4);}
.slide__cta{margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding:0 20px;min-height:44px;border-radius:999px;background:var(--mosaic-paper);color:#1a1a18;font-family:inherit;font-weight:700;font-size:clamp(12px,1.4vw,15px);cursor:pointer;border:0;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 30px -12px rgba(247,243,237,.45);}
.slide__cta:hover{transform:translateY(-2px);}
.slide__cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.slide__dek,.slide__meta,.slide__cta{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s;pointer-events:none;}
.slide.is-active .slide__dek,.slide.is-active .slide__meta,.slide.is-active .slide__cta{opacity:1;transform:none;pointer-events:auto;}
.slide:not(.is-active) .slide__title{font-size:clamp(15px,1.9vw,22px);font-weight:600;}
.browse__nav{position:absolute;inset-block-start:50%;z-index:7;width:clamp(44px,3.6vw,54px);height:clamp(44px,3.6vw,54px);transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,243,237,.2);border-radius:999px;background:rgba(20,20,18,.32);color:#fff;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .2s,border-color .2s;}
.browse__nav:hover{background:rgba(247,243,237,.14);border-color:rgba(247,243,237,.55);}
.browse__nav--next{inset-inline-start:clamp(10px,3vw,42px);} .browse__nav--prev{inset-inline-end:clamp(10px,3vw,42px);}
.browse__nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.browse__nav[disabled]{opacity:.22;pointer-events:none;}
.browse__dots{position:absolute;inset-block-end:clamp(16px,2.4vw,28px);inset-inline:0;z-index:7;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:0 20px;}
.reader.is-reading .browse__dots{opacity:0;pointer-events:none;transition:opacity .3s;}
.browse__dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(247,243,237,.3);cursor:pointer;transition:width .35s var(--ease),background .3s;}
.browse__dot.is-active{width:26px;background:var(--mosaic-accent);}
.browse__hint{position:absolute;inset-block-end:clamp(44px,5.4vw,58px);inset-inline:0;z-index:6;text-align:center;color:rgba(247,243,237,.4);font-size:12px;font-weight:600;pointer-events:none;opacity:0;transition:opacity .5s .4s;}
.reader.is-open:not(.is-reading) .browse__hint{opacity:1;}
.browse__hint kbd{display:inline-block;padding:1px 7px;margin:0 2px;border:1px solid rgba(247,243,237,.22);border-radius:6px;font-family:inherit;font-size:11px;color:rgba(247,243,237,.66);}
/* flat click-zones over the left/right coverflow gaps. z:5 sits above the slides (trapped in #btrack's will-change stacking context) yet below the nav/dots (z:6-7), so side articles focus on click while the arrows still work. Disabled on mobile (swipe handles it). */
.browse__zone{position:absolute;z-index:5;cursor:pointer;background:transparent;border:0;padding:0;-webkit-tap-highlight-color:transparent;}
@media (max-width:760px){.browse__zone{display:none;}}

/* ── READ: coverflow of 3 cards, positions via CSS calc (no JS measuring) ── */
.read{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;perspective:2000px;opacity:0;visibility:hidden;transition:opacity .55s var(--ease-soft),visibility .55s;}
.reader.is-reading .read{opacity:1;visibility:visible;}
.rstage{position:relative;width:100%;height:min(76vh,700px);transform-style:preserve-3d;--cw:calc(min(76vh,700px) * 0.8);--sp:calc(var(--cw) * 0.62);}
.rcard{position:absolute;inset-block-start:50%;inset-inline-start:50%;height:min(76vh,700px);aspect-ratio:4/5;transform-style:preserve-3d;transition:transform .74s var(--ease-card),opacity .55s var(--ease-soft);cursor:pointer;transform:translate(50%,-50%);will-change:transform,opacity;backface-visibility:hidden;}
.rcard[data-slot="C"]{transform:translate(50%,-50%);z-index:30;cursor:default;}
.rcard[data-slot="R"]{transform:translate(50%,-50%) translateX(var(--sp)) translateZ(-160px) rotateY(-16deg) scale(.86);z-index:20;}
.rcard[data-slot="L"]{transform:translate(50%,-50%) translateX(calc(-1 * var(--sp))) translateZ(-160px) rotateY(16deg) scale(.86);z-index:20;}
.rcard__inner{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;background:#15150f;display:flex;flex-direction:column;box-shadow:0 44px 80px -30px rgba(0,0,0,.82),0 0 0 1px rgba(247,243,237,.06);}
.rcard:not([data-slot="C"]) .rcard__inner::after{content:"";position:absolute;inset:0;z-index:6;background:rgba(18,16,10,.2);}
.rcard--img .rcard__inner{background:#0d0d0c;}
.rcard--img .mimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s var(--ease),transform 9s ease-out;transform:scale(1.05);}
.rcard--img .mimg.on{opacity:1;transform:scale(1.12);}
.rcard--img .imgov{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(0,0,0,.62),transparent 42%);}
.rcard__tag{position:absolute;inset-block-start:14px;inset-inline-end:14px;z-index:3;padding:4px 11px;border-radius:999px;background:rgba(0,0,0,.34);backdrop-filter:blur(8px);color:rgba(255,255,255,.82);font-size:11px;font-weight:700;letter-spacing:.04em;}
.rcard__tag--ad{background:rgba(187,91,52,.9);color:#fff;}
.rcard__imgcap{position:absolute;inset-block-end:0;inset-inline:0;z-index:3;padding:18px 20px;color:rgba(255,255,255,.9);font-size:13px;font-weight:600;line-height:1.7;}
/* text card */
.rtext{display:flex;flex-direction:column;height:100%;padding:clamp(20px,2.1vw,30px) clamp(20px,2.1vw,30px) clamp(12px,1.4vw,16px);}
.rtext__head{position:relative;flex:0 0 auto;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid rgba(247,243,237,.13);}
.rtext__topline{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rtext__fs{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto;}
.rtext__fslabel{font-family:var(--mosaic-copy);font-size:11px;font-weight:600;color:#8a8472;}
/* one-time discoverability nudge for the size control */
.rtext__hint{position:absolute;z-index:6;top:30px;left:0;background:#26241e;color:#ece5d4;font-size:10.5px;font-weight:600;line-height:1.5;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 10px 24px -10px rgba(0,0,0,.55);opacity:0;transform:translateY(-4px);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none;}
.rtext__hint.show{opacity:1;transform:none;}
.rtext__hint[hidden]{display:none;}
.rtext__hint::before{content:"";position:absolute;top:-4px;left:17px;width:9px;height:9px;background:#26241e;transform:rotate(45deg);}
.rtext__fsbtn{border:0;background:none;padding:0;line-height:1;cursor:pointer;font-family:var(--mosaic-display);font-weight:800;color:inherit;transition:opacity .2s,color .2s;}
.rtext__fsbtn--sm{font-size:13px;}
.rtext__fsbtn--lg{font-size:20px;}
.rtext__fsbtn:hover:not(:disabled){opacity:.55;}
.rtext__fsbtn:disabled{opacity:.28;cursor:default;}
.rtext__fsdiv{width:1px;height:15px;flex:0 0 auto;background:rgba(38,36,30,.28);}
/* only show the size control on the text card while it is the one being read (centered) */
.rcard--text:not([data-slot="C"]) .rtext__fs{display:none;}
.rtext__cat{color:var(--mosaic-accent);font-weight:700;font-size:11.5px;letter-spacing:.1em;}
.rtext__title{margin:7px 0 0;font-family:var(--mosaic-copy);font-weight:700;font-size:clamp(18px,2vw,25px);line-height:1.3;color:#fff;}
.rtext__meta{margin-top:9px;display:flex;align-items:center;gap:9px;color:rgba(247,243,237,.55);font-size:12px;font-weight:600;}
.rtext__meta .sep{width:3px;height:3px;border-radius:50%;background:rgba(247,243,237,.4);}
.rtext__vp{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;}
.rtext__pages{position:absolute;inset:0;transition:transform .52s var(--ease-soft);will-change:transform;}
.spage{position:absolute;inset:0;display:flex;flex-direction:column;transition:transform .56s var(--ease-soft),opacity .42s ease;will-change:transform,opacity;}
.spage__body{flex:1 1 auto;min-height:0;overflow:hidden;padding-top:12px;display:flex;flex-direction:column;justify-content:flex-start;}
.spage__body--center{justify-content:center;}
.spage__p{margin:0 0 11px;font-family:var(--mosaic-copy);font-weight:400;font-size:calc(clamp(14px,1.35vw,16px) * var(--read-fs,1));line-height:1.95;color:rgba(247,243,237,.86);text-align:right;}
.spage__h{margin:3px 0 9px;font-family:var(--mosaic-copy);font-weight:700;font-size:calc(clamp(15px,1.6vw,18px) * var(--read-fs,1));line-height:1.5;color:#fff;}
.spage--end{align-items:center;justify-content:center;text-align:center;}
.spage--end .em{font-family:var(--mosaic-display);font-weight:900;letter-spacing:.04em;font-size:clamp(30px,4vw,44px);line-height:1.15;color:var(--mosaic-accent);}
.spage--end .er{width:46px;height:1px;background:rgba(247,243,237,.2);margin:15px auto 16px;}
.spage--end .et{margin:0;font-weight:700;font-size:18px;color:#fff;}
.spage--end .ed{margin:9px auto 0;max-width:20em;color:rgba(247,243,237,.6);font-size:13px;line-height:1.85;}
.rtext__pager{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:12px;padding-top:11px;}
.rtext__prog{position:relative;flex:1 1 auto;height:2px;border-radius:2px;background:rgba(247,243,237,.13);overflow:hidden;max-width:150px;}
.rtext__prog i{position:absolute;inset-block:0;inset-inline-start:0;width:0;background:var(--mosaic-accent);transition:width .5s var(--ease);}
.rtext__pn{color:rgba(247,243,237,.74);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;min-width:58px;text-align:center;}
.parrow{width:38px;height:38px;flex:0 0 auto;border-radius:999px;border:1px solid rgba(247,243,237,.2);background:rgba(247,243,237,.05);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,opacity .2s;}
.parrow:hover{background:rgba(247,243,237,.14);border-color:rgba(247,243,237,.5);}
.parrow[disabled]{opacity:.24;pointer-events:none;}
.parrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
/* comments card */
.rcmt{display:flex;flex-direction:column;height:100%;}
.rcmt__head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:18px 18px 13px;border-bottom:1px solid rgba(247,243,237,.12);color:#fff;font-weight:700;font-size:14.5px;}
.rcmt__head svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.8;}
.rcmt__list{flex:1 1 auto;overflow-y:auto;padding:4px 16px 6px;scrollbar-width:thin;}
.cmt{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid rgba(247,243,237,.09);}
.cmt:last-child{border-bottom:0;}
.cmt__av{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12.5px;}
.cmt__b{flex:1 1 auto;min-width:0;}
.cmt__top{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;}
.cmt__name{font-weight:700;color:#fff;font-size:12.5px;}
.cmt__time{color:rgba(247,243,237,.5);font-size:11px;}
.cmt__txt{margin:4px 0 0;color:rgba(247,243,237,.8);font-size:12.5px;line-height:1.8;}
.cmt__meta{margin-top:5px;}
.cmt__reply{background:none;border:0;padding:0;color:rgba(247,243,237,.55);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:color .2s;}
.cmt__reply:hover{color:rgba(247,243,237,.9);}
.cmt__rtoggle{display:flex;align-items:center;gap:8px;margin-top:9px;background:none;border:0;padding:0;color:rgba(247,243,237,.6);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:color .2s;}
.cmt__rtoggle::before{content:"";width:22px;height:1px;background:currentColor;opacity:.5;}
.cmt__rtoggle:hover{color:rgba(247,243,237,.92);}
.cmt__replies{margin-top:6px;display:flex;flex-direction:column;gap:0;}
.cmt__replies .cmt{padding:9px 0;border-bottom:0;}
.cmt--reply .cmt__av{width:27px;height:27px;font-size:11px;}
.cmt--new{animation:cnew .5s ease both;}
@keyframes cnew{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.cform{flex:0 0 auto;padding:11px 15px calc(13px + env(safe-area-inset-bottom));border-top:1px solid rgba(247,243,237,.1);}
.cform input,.cform textarea{width:100%;margin-bottom:7px;padding:8px 11px;border:1px solid rgba(247,243,237,.16);border-radius:9px;background:rgba(247,243,237,.05);color:#fff;font-family:var(--mosaic-copy);font-size:12.5px;line-height:1.7;direction:rtl;text-align:right;outline:none;transition:border-color .2s,background .2s;}
.cform input::placeholder,.cform textarea::placeholder{color:rgba(247,243,237,.45);}
.cform input:focus,.cform textarea:focus{border-color:var(--mosaic-accent);background:rgba(247,243,237,.08);}
.cform textarea{min-height:52px;resize:none;}
.cform__replying{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:11.5px;font-weight:600;color:rgba(247,243,237,.6);}
.cform__replying[hidden]{display:none;}
.cform__replying b{color:#fff;font-weight:800;}
.cform__rcancel{margin-inline-start:auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:rgba(247,243,237,.1);color:inherit;font-size:13px;line-height:1;cursor:pointer;}
.rcard--cmt .cform__rcancel{background:rgba(38,36,30,.12);}
.cform__send{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;border-radius:999px;background:var(--mosaic-paper);color:#1a1a18;font-family:inherit;font-weight:700;font-size:13px;border:0;cursor:pointer;transition:transform .2s;}
.cform__send:hover{transform:translateY(-1px);}
.cform__send svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
/* mobile-only comments affordances — hidden on desktop (where comments are a swappable card) */
.rcmt-fab{display:none;}
.rcmt__close{display:none;}
.rcard__peek{position:absolute;inset-block-end:14px;inset-inline-start:50%;transform:translateX(50%);z-index:7;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none;}
.rcard:not([data-slot="C"]) .rcard__peek{opacity:.92;}
/* invisible side hit-zones — the 3D-rotated side cards don't match their bounding box, so a flat zone reliably catches "bring this card to center" clicks */
.rzone{position:absolute;top:0;bottom:0;width:33%;z-index:25;border:0;margin:0;padding:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.rzone--left{left:0;} .rzone--right{right:0;}
.read.cmt-center .rzone--left,.read.img-center .rzone--right{cursor:default;}

/* ── bone (استخوانی) reading cards + black ink ── */
.rcard--text .rcard__inner,.rcard--cmt .rcard__inner{background:#e7e0cf;box-shadow:0 44px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(38,36,30,.1);}
.rcard--text .rtext__cat{color:#bb5b34;}
.rcard--text .rtext__fsbtn--sm{color:#2a2820;}
.rcard--text .rtext__fsbtn--lg{color:#bb5b34;}
.rcard--text .rtext__fsdiv{background:rgba(38,36,30,.28);}
.rcard--text .rtext__title{color:#26241e;}
.rcard--text .rtext__meta{color:#736d5e;}
.rcard--text .rtext__head{border-bottom-color:rgba(38,36,30,.16);}
.rcard--text .spage__p{color:#34312a;}
.rcard--text .spage__h{color:#221f19;}
.rcard--text .spage--end .em{color:#bb5b34;}
.rcard--text .spage--end .er{background:rgba(38,36,30,.18);}
.rcard--text .spage--end .et{color:#26241e;}
.rcard--text .spage--end .ed{color:#736d5e;}
.rcard--text .rtext__prog{background:rgba(38,36,30,.14);}
.rcard--text .rtext__prog i{background:#bb5b34;}
.rcard--text .rtext__pn{color:#6f6a5b;}
.rcard--text .parrow{border-color:rgba(38,36,30,.22);background:rgba(38,36,30,.05);color:#2a2820;}
.rcard--text .parrow:hover{background:rgba(38,36,30,.12);border-color:rgba(38,36,30,.45);}
.rcard--cmt .rcmt__head{color:#26241e;border-bottom-color:rgba(38,36,30,.16);}
.rcard--cmt .rcmt__head svg{opacity:.7;}
.rcard--cmt .cmt{border-bottom-color:rgba(38,36,30,.12);}
.rcard--cmt .cmt__name{color:#26241e;}
.rcard--cmt .cmt__time{color:#8a8472;}
.rcard--cmt .cmt__txt{color:#3c3930;}
.rcard--cmt .cmt__reply,.rcard--cmt .cmt__rtoggle{color:#8a8472;}
.rcard--cmt .cmt__reply:hover,.rcard--cmt .cmt__rtoggle:hover{color:#bb5b34;}
.rcard--cmt .cform__replying{color:#736d5e;}
.rcard--cmt .cform__replying b{color:#26241e;}
.rcard--cmt .cform{border-top-color:rgba(38,36,30,.14);}
.rcard--cmt .cform input,.rcard--cmt .cform textarea{background:#f6f1e6;color:#26241e;border-color:rgba(38,36,30,.18);}
.rcard--cmt .cform input::placeholder,.rcard--cmt .cform textarea::placeholder{color:#9a937f;}
.rcard--cmt .cform input:focus,.rcard--cmt .cform textarea:focus{border-color:#bb5b34;background:#fff;}
.rcard--cmt .cform__send{background:#26241e;color:#ece5d4;}

.ctoggle{display:none;}
@media(max-width:1024px){.rstage{--cw:calc(min(72vh,640px) * 0.8);height:min(72vh,640px);}.rstage,.rcard{height:min(72vh,640px);}}
@media(max-width:760px){
  .read{align-items:stretch;perspective:none;}
  .rstage{perspective:none;transform-style:flat;height:100%;width:100%;display:flex;flex-direction:column;}
  .rcard{position:relative;inset:auto;height:auto;aspect-ratio:auto;width:100%;transform:none!important;transition:none;}
  .rcard__inner{border-radius:0;}
  .rcard--img{height:28vh;flex:0 0 auto;}
  .rcard--text{flex:1 1 auto;min-height:0;}
  .rcard--cmt{position:fixed;inset:0;transform:translateY(102%)!important;transition:transform .45s var(--ease)!important;}
  .read.show-cmt .rcard--cmt{transform:none!important;z-index:130;}
  .rcard:not([data-slot="C"]) .rcard__inner::after{display:none;}
  .rcard__peek{display:none;}
  .rzone{display:none;}
  .reader__slogan{display:none;}
  .rcmt-fab{display:inline-flex;align-items:center;gap:7px;position:fixed;z-index:118;inset-block-end:calc(86px + env(safe-area-inset-bottom));inset-inline-start:16px;padding:10px 15px;border:0;border-radius:999px;background:#26241e;color:#ece5d4;font-family:var(--mosaic-copy);font-weight:700;font-size:13px;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);cursor:pointer;}
  .rcmt-fab svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
  .read.show-cmt .rcmt-fab{display:none;}
  .rcmt__close{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:auto;width:32px;height:32px;border:0;border-radius:999px;background:rgba(38,36,30,.08);color:#26241e;cursor:pointer;}
  .rcmt__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
}
@media(prefers-reduced-motion:reduce){.slide.is-active .slide__img{animation:none;}.reader *{transition-duration:.2s!important;}.rcard--img .mimg{transition:opacity .2s!important;}}
