/*
Theme Name: Manassa
Theme URI: https://drtabarany.com/
Author: Med ABOURRI
Author URI: https://moroccantraveltrips.com/
Description: قالب عربي سريع ومهيأ لمحركات البحث لموقع الدكتور محمد الطبراني: مؤلفات، تحقيقات، مقالات، محاضرات صوتية ومرئية. لوحة خيارات خاصة، منشئ صفحات بالأقسام، وضع ليلي، مناطق إعلانية، ودعم كامل للغة العربية (RTL). مبني على نواة ووردبريس دون أي إطار خارجي.
Version: 3.0.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: manassa
Tags: news, blog, education, two-columns, left-sidebar, right-sidebar, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks

Manassa is free software distributed under the terms of the GNU GPL v2+.
This theme is original work and is not derived from any commercial theme.
*/

/* =========================================================
   Design tokens
   ========================================================= */
:root {
	--accent: #2f6f80;
	--bg: #ffffff;
	--bg-alt: #f5f6f8;
	--surface: #ffffff;
	--border: #e4e7ec;
	--text: #16181d;
	--text-muted: #5c6472;
	/* Radius scale (2.15.4): xs = labels/chips edges, sm = fields/buttons/thumbs/dropdowns,
	   radius = cards/images/containers, lg = a few large components, pill = real pills/circles.
	   Layout → Corner style re-maps the three middle values (see manassa_dynamic_css). */
	--radius-xs: 2px;
	--radius-sm: 4px;
	--radius: 8px;
	--radius-lg: 10px;
	--radius-pill: 999px;
	--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 2px 8px rgba(16, 24, 40, .06);
	--maxw: 1200px;
	--gap: clamp(16px, 3vw, 32px);
	--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans Arabic", Tahoma, Arial, sans-serif;
	--font-head: Georgia, "Times New Roman", "Noto Serif", serif;
	--font-size: 17px;
	--line-height: 1.7;
	--head-weight: 800;
	--radius-lg: 16px;
	--header-height: 72px;
	--container-wide: 1320px;
	--article-max: 1120px;
	--read: 760px;        /* article text measure (Posts → Reading width) */
	--read-wide: 1000px;  /* alignwide inside an article / page */
	--read-page: 860px;   /* page text measure in "normal" width mode */
	--card-gap: var(--gap);
	--sidebar-position: sticky;
	--sticky-top: 24px;
}
.manassa-sticky-header { --sticky-top: calc(var(--header-height) + 16px); } /* --header-height = the part that stays (whole header, or the menu bar alone in "Menu bar only") */
.admin-bar { --sticky-top: calc(24px + 32px); }
.admin-bar.manassa-sticky-header { --sticky-top: calc(var(--header-height) + 48px); }
@media (max-width: 782px) { .admin-bar { --sticky-top: calc(24px + 46px); } }
/* Up to 600px WordPress lets the admin bar scroll away with the page (position: absolute):
   nothing stays above the sticky parts, so no 46px offset — it left a strip of page above the header. */
@media (max-width: 600px) {
	.admin-bar { --sticky-top: 24px; }
	.admin-bar.manassa-sticky-header { --sticky-top: calc(var(--header-height) + 16px); }
}

:root[data-theme="dark"],
:root:not([data-theme="light"]) {
	/* overridden inside @media below so default (no attr) stays light */
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #0f1115;
		--bg-alt: #161920;
		--surface: #171a21;
		--border: #262b36;
		--text: #e7e9ee;
		--text-muted: #9aa3b2;
		--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .35);
	}
}

:root[data-theme="dark"] {
	--bg: #0f1115;
	--bg-alt: #161920;
	--surface: #171a21;
	--border: #262b36;
	--text: #e7e9ee;
	--text-muted: #9aa3b2;
	--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .35);
}

/* =========================================================
   Base
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-body);
	font-size: var(--font-size);
	line-height: var(--line-height);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; vertical-align: middle; }
.card-thumb img, .entry-featured img, .custom-logo, .manassa-popular__thumb img, .manassa-cats__tile img, .entry-header__media img { display: block; }

a { color: var(--accent); text-decoration: none; }
a:not([class]):hover { text-decoration: underline; }
.entry-content :where(p, li, td, th, blockquote) a:hover { text-decoration: underline; }

h1, h2, h3, h4 { font-family: var(--font-head); line-height: 1.25; color: var(--text); font-weight: var(--head-weight); }

.container { max-width: var(--maxw); margin-inline: auto; padding-inline: 16px; width: 100%; }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px; overflow: hidden;
}
.skip-link {
	position: absolute; inset-block-start: -60px; inset-inline-start: 8px;
	background: var(--accent); color: #fff; padding: 10px 16px; border-radius: var(--radius-sm); z-index: 100;
}
.skip-link:focus { inset-block-start: 8px; }

/* =========================================================
   Header
   ========================================================= */
.site-header { border-block-end: 1px solid var(--border); background: var(--surface); }
.site-header__inner {
	display: flex; align-items: center; gap: var(--gap);
	min-height: 72px; justify-content: space-between;
}
.site-branding { display: flex; flex-direction: column; justify-content: center; }
.site-title { margin: 0; font-size: 1.6rem; font-weight: 800; }
.site-title a { color: var(--text); }
.site-description { margin: 2px 0 0; font-size: .8rem; color: var(--text-muted); }
.custom-logo { max-height: var(--logo-h, 48px); width: auto; }
@media (max-width: 600px) { .custom-logo { max-height: var(--logo-h-m, 36px); } }

/* Menu typography follows the page: body font, the text's weight scale, a tight line-height
   like headings (the body's 1.7 is for reading paragraphs, not labels). Items are one line. */
.main-navigation { margin-inline-start: auto; font-family: var(--font-body); }
.main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.main-navigation li { position: relative; }
.main-navigation a {
	display: block; padding: 10px 14px; color: var(--text);
	font-weight: 600; font-size: .95rem; line-height: 1.4; white-space: nowrap; border-radius: var(--radius-sm);
}
.main-navigation a:hover { background: var(--bg-alt); text-decoration: none; color: var(--accent); }

/* sub-menus: a list of plain items, same rhythm as the lists in the content */
.main-navigation ul ul {
	position: absolute; inset-block-start: 100%; inset-inline-start: 0;
	flex-direction: column; gap: 2px; min-width: 220px; background: var(--surface);
	border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--shadow);
	padding: 6px; display: none; z-index: 50;
}
.main-navigation ul ul a { padding: 8px 12px; font-size: .9rem; font-weight: 500; white-space: normal; }
.main-navigation ul ul .current-menu-item > a { color: var(--accent); }
/* third level: a flyout beside its parent, not under it */
.main-navigation ul ul ul { inset-block-start: -7px; inset-inline-start: 100%; margin-inline-start: 2px; }
.main-navigation li:hover > ul, .main-navigation li:focus-within > ul { display: flex; } /* mouse and keyboard (Tab) alike */

.menu-toggle {
	display: none; background: none; border: 0;
	border-radius: var(--radius-sm); width: 42px; height: 42px; cursor: pointer; color: var(--text);
}
.menu-toggle__bars, .menu-toggle__bars::before, .menu-toggle__bars::after {
	display: block; width: 18px; height: 2px; background: currentColor; margin-inline: auto; position: relative;
}
.menu-toggle__bars::before, .menu-toggle__bars::after { content: ""; position: absolute; inset-inline-start: 0; }
.menu-toggle__bars::before { inset-block-start: -6px; }
.menu-toggle__bars::after { inset-block-start: 6px; }

.site-header__actions { display: flex; align-items: center; gap: 8px; }
.manassa-dark-toggle { width: 42px; height: 42px; border-radius: var(--radius-sm); border: 0; background: transparent; cursor: pointer; color: var(--text); display: grid; place-items: center; }
/* Moon in light mode (switch to dark), sun in dark mode (switch to light). Follows the
   same three states as the colour tokens: explicit data-theme, else the OS preference. */
.manassa-dark-toggle svg { display: block; width: 19px; height: 19px; }
.manassa-dark-toggle__sun { display: none; }
:root[data-theme="dark"] .manassa-dark-toggle__sun { display: block; }
:root[data-theme="dark"] .manassa-dark-toggle__moon { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .manassa-dark-toggle__sun { display: block; }
	:root:not([data-theme="light"]) .manassa-dark-toggle__moon { display: none; }
}

/* =========================================================
   Layout
   ========================================================= */
.site-content { padding-block: var(--gap); }
.content-area {
	width: 100%; max-width: var(--maxw); margin-inline: auto;
	padding-inline: 16px;
}
.content-area--single { max-width: var(--article-max, 1120px); }
.content-area.has-sidebar {
	display: grid; grid-template-columns: minmax(0, 1fr) var(--sidebar-w, 320px); gap: var(--gap); align-items: start;
}
.sidebar { position: var(--sidebar-position); inset-block-start: var(--sticky-top, 16px); }

/* =========================================================
   Cards / grid
   ========================================================= */
.posts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }

.post-card, .magazine-hero article {
	background: var(--surface); border: 1px solid var(--border);
	border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column;
}
.card-thumb { display: block; overflow: hidden; aspect-ratio: var(--thumb-ratio, 16 / 9); background: var(--bg-alt); } /* frame = the images' own shape (Layout → Featured image shape): nothing is cut */
.card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.post-card:hover .card-thumb img { transform: scale(1.04); }
.card-body { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.card-title { margin: 0; font-size: 1.15rem; }
.card-title a { color: var(--text); }
.card-title a:hover { color: var(--accent); text-decoration: none; }
.card-excerpt { color: var(--text-muted); font-size: .95rem; }

.entry-categories { display: flex; flex-wrap: wrap; gap: 6px; }
.cat-badge {
	font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; line-height: 1.5;
	background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent);
	padding: 2px 7px; border-radius: var(--radius-xs); /* an editorial label, not a pill */
}
.cat-badge:hover { background: var(--accent); color: #fff; text-decoration: none; }

.entry-meta { font-size: .82rem; color: var(--text-muted); margin-block-start: auto; }
.entry-meta a { color: var(--text-muted); }
.entry-meta a:hover { color: var(--accent); }

/* =========================================================
   Magazine hero
   ========================================================= */
.magazine-hero {
	display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--gap);
	margin-block-end: var(--gap);
}
.magazine-hero__lead .card-thumb { aspect-ratio: var(--thumb-ratio, 16 / 9); }
.magazine-hero__lead .card-title { font-size: 1.8rem; }
.magazine-hero__side { display: grid; grid-template-rows: repeat(4, 1fr); gap: 12px; }
.magazine-hero__side .magazine-hero__item { flex-direction: row; align-items: stretch; }
.magazine-hero__side .card-thumb { flex: 0 0 140px; align-self: flex-start; aspect-ratio: var(--thumb-ratio, 16 / 9); }
.magazine-hero__side .card-body { padding: 10px 12px; }
.magazine-hero__side .card-title { font-size: .98rem; }

/* =========================================================
   Single
   ========================================================= */
.single-entry { max-width: none; }
.entry-header { margin-block-end: 20px; }
h1.entry-title { font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 10px 0; }
.breadcrumbs { font-size: .82rem; line-height: 1.5; color: var(--text-muted); margin-block-end: 16px; }
.breadcrumbs__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; }
.breadcrumbs__item { display: inline-flex; align-items: center; min-width: 0; }
.breadcrumbs__item + .breadcrumbs__item::before { content: "›"; /* bidi-mirrored: shows ‹ in RTL */ margin-inline: 8px; color: var(--text-muted); opacity: .6; }
.breadcrumbs a { color: var(--text-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.breadcrumbs [aria-current="page"] { color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: min(46ch, 100%); }
/* An SEO plugin's own trail (Yoast spans / Rank Math <p>) in the same look. */
.breadcrumbs--plugin p, .breadcrumbs--plugin .rank-math-breadcrumb { margin: 0; font-size: inherit; }
.breadcrumbs--plugin .separator { margin-inline: 6px; opacity: .6; }
.entry-featured { margin: 0 0 24px; overflow: hidden; } /* square corners: a photograph, not a card */
.entry-featured figcaption { font-size: .8rem; color: var(--text-muted); padding: 8px 2px; }

/* The article font-size option drives the reading text directly. */
.entry-content {
	font-size: var(--font-size, 17px);
	line-height: var(--line-height, 1.7);
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.entry-content > * { margin-block: 0 1.3em; }
.entry-content h2 { font-size: 1.7em; margin-block-start: 1.6em; }
.entry-content h3 { font-size: 1.35em; margin-block-start: 1.4em; }
/* Lists: one indent (not the browser's 40px), a little air between items, nested lists tucked in. */
.entry-content :where(ul, ol):not([class]) { padding-inline-start: 1.5em; }
.entry-content :where(ul, ol):not([class]) li { margin-block-end: .4em; }
.entry-content :where(ul, ol):not([class]) li:last-child { margin-block-end: 0; }
.entry-content li > :where(ul, ol) { margin-block: .4em 0; }
.entry-content li > p { margin-block: 0 .4em; }
.entry-content img { border-radius: var(--radius-sm); }
.entry-content blockquote {
	margin-inline: 0; padding-inline-start: 18px; border-inline-start: 4px solid var(--accent);
	color: var(--text-muted); font-style: italic;
}
.entry-content :where(p, li, td, th, blockquote, figcaption, dd, dt) a { text-decoration: underline; overflow-wrap: anywhere; }
.entry-content :where(p, li, td, th, blockquote, figcaption) a.button, .entry-content :where(p, li, td, th, blockquote) a.wp-block-button__link { text-decoration: none; }

/* Media & embeds never exceed their column. */
.entry-content img,
.entry-content iframe,
.entry-content video,
.entry-content audio,
.entry-content embed,
.entry-content object { max-width: 100%; height: auto; }

/* Tables and preformatted scroll inside themselves, not the page. */
.entry-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.entry-content pre { overflow-x: auto; }
.entry-content figure { max-width: 100%; }

/* Anchor targets clear the (optionally sticky) header + admin bar. */
.entry-content :is(h2, h3, h4) { scroll-margin-top: var(--sticky-top, 80px); }

.entry-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 24px 0 0; }
.entry-tags a {
	font-size: .85rem; background: var(--bg-alt); color: var(--text-muted);
	padding: 4px 11px; border-radius: var(--radius-pill); border: 1px solid var(--border);
}
.entry-tags a:hover { color: var(--accent); text-decoration: none; }

/* Author box — editorial: hairlines above and below, no frame. Avatar · label · name · bio · footer row. */
.author-box {
	display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 4px 20px; align-items: start;
	margin-block-start: 32px; padding-block: 24px;
	border-block: 1px solid var(--border);
}
.author-box__avatar { display: block; }
.author-box__avatar img { display: block; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.author-box__label { margin: 2px 0 2px; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.author-box__name { margin: 0 0 8px; font-family: var(--font-head); font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.author-box__name a { color: var(--text); text-decoration: none; }
.author-box__name a:hover { color: var(--accent); }
.author-box__bio { margin: 0; color: var(--text-muted); font-size: .95rem; line-height: 1.7; }
.author-box__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-block-start: 14px; }
.author-box__more { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 700; color: var(--accent); text-decoration: none; }
.author-box__more:hover { text-decoration: underline; text-underline-offset: 3px; }
.author-box__arrow { display: inline-block; transition: transform .2s; }
.author-box__more:hover .author-box__arrow { transform: translateX(3px); }
[dir="rtl"] .author-box__arrow { transform: scaleX(-1); }
[dir="rtl"] .author-box__more:hover .author-box__arrow { transform: scaleX(-1) translateX(3px); }
.author-box__socials { display: inline-flex; gap: 6px; }
.author-box__social { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--text-muted); background: var(--bg-alt); }
.author-box__social:hover { color: #fff; background: var(--accent); text-decoration: none; }
.author-box__social svg { width: 15px; height: 15px; }

/* =========================================================
   Ad zones
   ========================================================= */
.manassa-ad-zone { margin-block: 16px; text-align: center; }
.manassa-ad-zone--ad-header { margin-block: 0; padding-block: 8px; background: var(--bg-alt); }
.manassa-ad { display: inline-block; max-width: 100%; }
.manassa-ad img { margin-inline: auto; }

/* =========================================================
   Widgets / sidebar
   ========================================================= */
.widget { margin-block-end: 28px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; }
.widget-title { margin: 0 0 14px; font-size: 1.05rem; position: relative; padding-inline-start: 12px; }
.widget-title::before { content: ""; position: absolute; inset-inline-start: 0; inset-block: 2px auto; height: 1em; width: 4px; background: var(--accent); border-radius: 2px; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding-block: 7px; border-block-end: 1px solid var(--border); }
.widget li:last-child { border-block-end: 0; }

/* =========================================================
   Pagination
   ========================================================= */
.pagination { margin-block-start: var(--gap); display: flex; }
.pagination .nav-links { display: flex; gap: 6px; flex-wrap: wrap; margin-inline: auto; }
.pagination .page-numbers {
	display: grid; place-items: center; min-width: 42px; height: 42px; padding-inline: 10px;
	border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text); font-weight: 600;
}
.pagination .page-numbers.current { background: var(--accent); color: #fff; border-color: var(--accent); }
.pagination a.page-numbers:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }

/* =========================================================
   Footer
   ========================================================= */
.site-footer { background: var(--surface); border-block-start: 1px solid var(--border); margin-block-start: var(--gap); }
.manassa-footer-line-accent .site-footer { border-block-start: 3px solid var(--accent); }
.manassa-footer-line-none .site-footer { border-block-start: 0; }
.site-footer__widgets { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); padding-block: 40px; }
.site-footer__widgets .widget { background: transparent; border: 0; padding: 0; }
/* Trust line: centred, between the columns and the bottom bar; icon in the accent colour. */
.site-footer__trust { border-block-start: 1px solid var(--border); }
.site-footer__trust-inner { display: flex; align-items: center; justify-content: center; gap: 10px; padding-block: 16px; text-align: center; }
.site-footer__trust svg { flex: none; color: var(--accent); }
.site-footer__trust-text { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--text-muted); }
.site-footer__trust-text a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
.site-footer__trust-text a:hover { color: var(--accent); }
.site-footer__bottom { border-block-start: 1px solid var(--border); }
.site-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; padding-block: 18px; flex-wrap: wrap; }
.footer-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0; padding: 0; }
.footer-navigation a { color: var(--text-muted); font-size: .9rem; line-height: 1.5; }
.footer-navigation a:hover, .footer-navigation .current-menu-item > a { color: var(--accent); }
.site-info { margin: 0; color: var(--text-muted); font-size: .85rem; line-height: 1.5; }

/* =========================================================
   Page header (archives)
   ========================================================= */
.page-header { margin-block-end: var(--gap); }
.page-title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0; }
.page-title span { color: var(--accent); }
.archive-description { color: var(--text-muted); margin-block-start: 8px; }

/* =========================================================
   Comments (v2.6 — clean list + form, optional <details> collapse)
   ========================================================= */
.comments-area { margin-block-start: 48px; padding-block-start: 32px; border-block-start: 1px solid var(--border); }
.entry-reading--comments { max-width: var(--read); margin-inline: auto; }
.comments-header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-block-end: 20px; }
.comments-title { margin: 0; font-size: 1.35rem; }
.comments-title__count { color: var(--accent); }
.comments-header__add { font-size: .9rem; font-weight: 700; }
.comment-list, .comment-list .children { list-style: none; padding: 0; margin: 0; }
.comment-list .children { margin-inline-start: 56px; }
.comment-item + .comment-item, .comment-list .children .comment-item { margin-block-start: 8px; }
.comment-body { display: flex; gap: 14px; padding: 16px 0; }
.comment-avatar img { width: 44px; height: 44px; border-radius: 50%; display: block; }
.comment-main { flex: 1; min-width: 0; }
.comment-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block-end: 6px; font-size: .9rem; }
.comment-author a { color: var(--text); }
.comment-badge { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); padding: 1px 6px; border-radius: var(--radius-xs); }
.comment-date { color: var(--text-muted); font-size: .82rem; }
.comment-date:hover { color: var(--accent); }
.comment-content { font-size: .98rem; }
.comment-content p { margin: 0 0 .6em; }
.comment-content p:last-child { margin: 0; }
.comment-awaiting { color: var(--text-muted); font-style: italic; font-size: .85rem; margin: 0 0 6px; }
.comment-actions { display: flex; gap: 14px; margin-block-start: 8px; font-size: .82rem; font-weight: 600; }
.comment-actions a { color: var(--text-muted); }
.comment-actions a:hover { color: var(--accent); text-decoration: none; }
.bypostauthor > .comment-body .comment-avatar img { box-shadow: 0 0 0 2px var(--accent); }
.no-comments { color: var(--text-muted); }
.comments-pagination { margin-block: 16px; }

.comment-respond { margin-block-start: 28px; padding: 24px; background: var(--bg-alt); border-radius: var(--radius); }
.comment-reply-title { margin: 0 0 14px; font-size: 1.15rem; display: flex; justify-content: space-between; align-items: baseline; }
.comment-reply-title small a { font-size: .8rem; font-weight: 600; }
.comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.comment-form > p { margin: 0; }
.comment-form .comment-form-comment, .comment-form .comment-form-url, .comment-form .comment-form-cookies-consent, .comment-form .form-submit, .comment-form .logged-in-as, .comment-form .comment-notes { grid-column: 1 / -1; }
.comment-form label { display: block; font-size: .82rem; font-weight: 600; margin-block-end: 4px; color: var(--text-muted); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit;
}
.comment-form input:focus, .comment-form textarea:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: transparent; }
.comment-form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: center; font-size: .85rem; }
.comment-form .comment-form-cookies-consent label { margin: 0; }
.comment-form .form-submit { margin-block-start: 4px; }
.button-accent, .comment-form .submit { display: inline-block; background: var(--accent); color: #fff; border: 0; border-radius: var(--radius-sm); padding: 11px 22px; font-weight: 700; cursor: pointer; font: inherit; font-weight: 700; }
.button-accent:hover, .comment-form .submit:hover { filter: brightness(1.1); }

.comments-toggle > summary { list-style: none; cursor: pointer; display: inline-block; padding: 11px 22px; border-radius: var(--radius-sm); border: 1px solid var(--border); font-weight: 700; color: var(--text); }
.comments-toggle > summary::-webkit-details-marker { display: none; }
.comments-toggle > summary:hover { border-color: var(--accent); color: var(--accent); }
.comments-toggle[open] > summary { margin-block-end: 20px; }

/* =========================================================
   Language switcher (Polylang)
   ========================================================= */
.lang-switcher { position: relative; }
.lang-switcher .lang-switcher__toggle {
	/* Looks like a main-menu item: same type, padding and hover — never a framed box. */
	display: inline-flex; align-items: center; gap: 7px; height: auto; padding: 10px 14px; margin: 0;
	border: 0; outline: 0; box-shadow: none; background: transparent; -webkit-appearance: none; appearance: none;
	border-radius: var(--radius-sm); color: var(--text); cursor: pointer; font: inherit; font-weight: 600; font-size: .95rem; line-height: 1.2;
}
.lang-switcher .lang-switcher__toggle:hover, .lang-switcher.is-open .lang-switcher__toggle { background: var(--bg-alt); color: var(--accent); }
.lang-switcher .lang-switcher__toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.lang-switcher__icon { flex: none; opacity: .85; }
.lang-switcher__name { max-width: 9em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lang-switcher__code { display: none; }
.lang-switcher__caret { flex: none; opacity: .7; transition: none; }
.lang-switcher.is-open .lang-switcher__caret { transform: rotate(180deg); }
/* Follow the menu's "Active / hover style" and "Uppercase menu items" options. */
.manassa-nav-underline .lang-switcher .lang-switcher__toggle { position: relative; border-radius: 0; }
.manassa-nav-underline .lang-switcher .lang-switcher__toggle:hover, .manassa-nav-underline .lang-switcher.is-open .lang-switcher__toggle { background: transparent; }
.manassa-nav-underline .lang-switcher .lang-switcher__toggle::after { content: ""; position: absolute; inset-inline: 14px; inset-block-end: 4px; height: 2px; background: var(--accent); transform: scaleX(0); transition: transform .2s; }
.manassa-nav-underline .lang-switcher .lang-switcher__toggle:hover::after, .manassa-nav-underline .lang-switcher.is-open .lang-switcher__toggle::after { transform: scaleX(1); }
.manassa-nav-solid .lang-switcher .lang-switcher__toggle:hover, .manassa-nav-solid .lang-switcher.is-open .lang-switcher__toggle { background: var(--accent); color: #fff; }
.manassa-nav-uppercase .lang-switcher .lang-switcher__toggle { text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; }
.lang-switcher__menu {
	position: absolute; inset-block-start: calc(100% + 6px); inset-inline-end: 0; min-width: 170px; max-width: min(260px, calc(100vw - 32px));
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
	box-shadow: var(--shadow); padding: 6px; margin: 0; list-style: none; display: none; z-index: 70;
}
.lang-switcher.is-open .lang-switcher__menu { display: block; }
.lang-switcher__menu li { padding: 0; border: 0; }
.lang-switcher__menu a { display: block; padding: 8px 12px; border-radius: var(--radius-xs); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lang-switcher__menu a:hover, .lang-switcher__menu a:focus-visible { background: var(--bg-alt); text-decoration: none; outline: none; }
.lang-switcher__menu .is-current a { color: var(--accent); font-weight: 700; }
/* Stacked / centered headers put the tools at the start of the bar: open the menu towards the end instead. */
.manassa-header-centered .site-header__navbar .lang-switcher__menu { inset-inline-end: auto; inset-inline-start: 0; }
/* Long translated labels must not break the tools row. */
.manassa-nav-button { max-width: 16em; overflow: hidden; text-overflow: ellipsis; }

/* =========================================================
   Social links
   ========================================================= */
.social-links { display: flex; gap: 8px; flex-wrap: wrap; }
.social-links__item {
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: var(--radius-sm);
	background: var(--bg-alt); color: var(--text-muted); border: 1px solid var(--border);
}
.social-links__item:hover { background: var(--accent); color: #fff; border-color: var(--accent); text-decoration: none; }
.social-links--footer { margin-block-start: 16px; }

/* =========================================================
   Footer top (about + widgets)
   ========================================================= */
.site-footer__top { display: flex; flex-wrap: wrap; gap: var(--gap); padding-block: 40px; }
.site-footer__about { flex: 1 1 280px; max-width: 380px; }
.site-footer__about .custom-logo { margin-block-end: 12px; max-height: 48px; width: auto; }
.site-footer__name { font-family: var(--font-head); font-size: 1.3rem; font-weight: 800; display: block; margin-block-end: 10px; }
.site-footer__about-text { color: var(--text-muted); font-size: .95rem; line-height: 1.6; text-align: justify; text-justify: inter-word; }
/* "Home" link under the About text: same size as the link lists, an arrow-free house icon. */
.site-footer__home { margin: 12px 0 0; font-size: .95rem; line-height: 1.5; }
.site-footer__home a { display: inline-flex; align-items: center; gap: 6px; color: var(--text); font-weight: 600; }
.site-footer__home a:hover { color: var(--accent); text-decoration: none; }
.site-footer__home svg { flex: none; color: var(--accent); }
.site-footer__home + .social-links { margin-block-start: 14px; }
.site-footer__widgets { flex: 3 1 480px; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); padding-block: 0; }

/* =========================================================
   Reduced motion
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important; animation-iteration-count: 1 !important;
		transition-duration: .01ms !important; scroll-behavior: auto !important;
	}
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1024px) {
	.content-area.has-sidebar { grid-template-columns: minmax(0, 1fr); }
	.sidebar { position: static; }
}
@media (max-width: 768px) {
	.posts-grid { grid-template-columns: 1fr; }
	.magazine-hero { grid-template-columns: 1fr; }
	.magazine-hero__lead .card-title { font-size: 1.4rem; }

	.site-footer__widgets { grid-template-columns: repeat(2, 1fr); }
}
/* Header below 1024px (tablets, phones in landscape, phones): the menu becomes the drawer — a
   row of items with icons does not fit beside a logo and the tools on a 900px screen. */
@media (max-width: 1024px) {
	.menu-toggle { display: grid; order: 1; }

	/* Header order (all header styles): menu | logo | actions */
	.site-header__inner { gap: 10px; min-height: 60px; }
	.site-branding { order: 2; margin-inline: auto; text-align: center; align-items: center; }
	.site-header__actions { order: 3; }
	.site-title { font-size: 1.25rem; }

	/* Compact language label on mobile */
	.lang-switcher__name { display: none; }
	.lang-switcher__code { display: inline; }
	.lang-switcher .lang-switcher__toggle { padding-inline: 8px; gap: 5px; }
}

/* =========================================================
   v2 — grids, cards, sections
   ========================================================= */
.posts-grid--1 { grid-template-columns: 1fr; }
.posts-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.posts-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.posts-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.home-section { padding-block: clamp(22px, 4vw, 42px); }
.home-section + .home-section { padding-block-start: 0; }
.home-section.has-bg { background: var(--bg-alt); }
.home-section.has-bg + .home-section.has-bg { padding-block-start: clamp(22px, 4vw, 42px); }
.home-section.is-compact { padding-block: 16px; }
.home-section.is-wide .container { max-width: var(--container-wide); }
.home-section.is-full .container { max-width: none; }

.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-block-end: 18px; }
.section-head .section-title { margin: 0; }
.section-more { font-size: .85rem; font-weight: 700; color: var(--accent); white-space: nowrap; }
.section-more:hover { text-decoration: underline; }

.section-title { font-size: 1.4rem; margin: 0 0 18px; position: relative; padding-inline-start: 14px; }
.section-title::before { content: ""; position: absolute; inset-inline-start: 0; inset-block: 3px auto; height: 1em; width: 5px; background: var(--accent); border-radius: 3px; }
.section-title a { color: var(--text); }
.section-title a:hover { color: var(--accent); text-decoration: none; }

/* Card variants */
.post-card--horizontal { flex-direction: row; align-items: flex-start; }
.post-card--horizontal .card-thumb { flex: 0 0 144px; aspect-ratio: var(--thumb-ratio, 16 / 9); }
.post-card--horizontal .card-body { padding: 12px 14px; }
.post-card--horizontal .card-title { font-size: 1rem; }
.post-card--compact .card-title { font-size: 1.02rem; }
.post-card--minimal { border: 0; background: transparent; border-radius: 0; border-block-start: 2px solid var(--accent); padding-block-start: 12px; }
.post-card--overlay { position: relative; border: 0; }
.post-card--overlay .card-thumb { aspect-ratio: var(--thumb-ratio, 16 / 9); }
.post-card--overlay .card-body { position: absolute; inset: 0; justify-content: flex-end; padding: 18px; background: linear-gradient(transparent, rgba(0,0,0,.82)); color: #fff; }
.post-card--overlay .card-title a { color: #fff; }
.post-card--overlay .entry-meta, .post-card--overlay .entry-meta a { color: #e7e9ee; }

/* No-image states: never collapse or overlay onto nothing. */
.post-card--overlay.post-card--no-thumb .card-body { position: static; background: var(--surface); color: var(--text); min-height: 150px; }
.post-card--overlay.post-card--no-thumb .card-title a { color: var(--text); }
.post-card--overlay.post-card--no-thumb .entry-meta,
.post-card--overlay.post-card--no-thumb .entry-meta a { color: var(--text-muted); }
.post-card--horizontal.post-card--no-thumb { border-block-start: 1px solid var(--border); }

/* Hero variants */
.magazine-hero--three { grid-template-columns: repeat(3, 1fr); }
.magazine-hero--split { grid-template-columns: 1fr 1fr; }
.magazine-hero--full { grid-template-columns: 1fr; }
.magazine-hero--full .magazine-hero__lead .card-thumb { aspect-ratio: var(--thumb-ratio, 16 / 9); }
.magazine-hero--main2 .magazine-hero__side { grid-template-rows: repeat(2, 1fr); }

/* Category / editorial / list blocks */
.cat-block { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--gap); }
.cat-block__list { display: flex; flex-direction: column; gap: 12px; }
.editorial-block { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--gap); }
.editorial-block__side { display: flex; flex-direction: column; gap: 12px; }
.post-list { display: flex; flex-direction: column; gap: 14px; }

/* =========================================================
   Top bar
   ========================================================= */
.manassa-topbar { background: var(--bg-alt); color: var(--text-muted); font-size: .82rem; border-block-end: 1px solid var(--border); }
.manassa-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.manassa-topbar a { color: inherit; }
.manassa-topbar a:hover { color: var(--accent); }
.manassa-topbar__start, .manassa-topbar__end { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.manassa-topbar__menu { list-style: none; display: flex; gap: 16px; margin: 0; padding: 0; }
.manassa-topbar .social-links--topbar { gap: 4px; }
.manassa-topbar .social-links__item { width: 28px; height: 28px; background: transparent; border: 0; color: inherit; }
.manassa-topbar .social-links__item:hover { background: transparent; color: var(--accent); }

/* =========================================================
   Ticker
   ========================================================= */
.manassa-ticker { background: var(--surface); border-block-end: 1px solid var(--border); }
.manassa-ticker__inner { display: flex; align-items: center; gap: 14px; min-height: 44px; }
.manassa-ticker__label { background: var(--accent); color: #fff; font-weight: 800; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--radius-xs); white-space: nowrap; }
.manassa-ticker__list { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; }
.manassa-ticker__item { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.manassa-ticker__item a { color: var(--text); font-weight: 600; }

/* =========================================================
   Search
   ========================================================= */
.manassa-search-trigger { width: 42px; height: 42px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-alt); color: var(--text); cursor: pointer; display: grid; place-items: center; }
.manassa-search-trigger:hover { border-color: var(--accent); color: var(--accent); }
.manassa-search-overlay { position: fixed; inset: 0; background: rgba(8,10,14,.86); z-index: 9999; display: flex; align-items: flex-start; justify-content: center; padding: 10vh 16px 16px; }
.manassa-search-overlay[hidden] { display: none; }
.manassa-search-overlay__close { position: absolute; inset-block-start: 16px; inset-inline-end: 22px; background: none; border: 0; color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer; }
.manassa-search-overlay__inner { width: min(680px, 100%); }
.manassa-search-input { width: 100%; font-size: 1.35rem; padding: 16px 18px; border-radius: var(--radius-sm); border: 0; background: #fff; color: #16181d; }
.manassa-search-results { margin-block-start: 14px; background: var(--surface); border-radius: var(--radius-sm); overflow: hidden auto; max-height: 60vh; }
.manassa-search-result { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-block-end: 1px solid var(--border); }
.manassa-search-result:hover { background: var(--bg-alt); text-decoration: none; }
.manassa-search-result img { width: 64px; height: auto; aspect-ratio: var(--thumb-ratio, 16 / 9); object-fit: cover; border-radius: var(--radius-sm); }
.msr-title { display: block; color: var(--text); font-weight: 600; }
.msr-meta { display: block; color: var(--text-muted); font-size: .8rem; }
.manassa-search-msg { padding: 16px; margin: 0; color: var(--text-muted); }
.manassa-search-msg.is-error { color: var(--accent); }
.manassa-search-results:empty { display: none; }

/* =========================================================
   Header system (v2.7): layouts, stacked nav bar, tools, dark nav, sticky
   ========================================================= */
.site-header__actions { display: flex; align-items: center; gap: 8px; }
.manassa-tool, .manassa-search-trigger, .manassa-dark-toggle, .menu-toggle {
	width: 42px; height: 42px; border-radius: var(--radius-sm); border: 1px solid transparent; background: transparent;
	color: var(--text); display: grid; place-items: center; cursor: pointer; padding: 0; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
.manassa-tool:hover, .manassa-search-trigger:hover, .manassa-dark-toggle:hover, .menu-toggle:hover { background: var(--bg-alt); color: var(--accent); text-decoration: none; }
@media (min-width: 1025px) { .menu-toggle, .mobile-menu__sub { display: none; } }
.manassa-tool--avatar { padding: 0; overflow: hidden; }
.manassa-tool--avatar img { width: 100%; height: 100%; object-fit: cover; }
.manassa-nav-button { padding: 9px 18px; font-size: .9rem; white-space: nowrap; }
.social-links--nav { gap: 4px; }
.social-links--nav .social-links__item { width: 36px; height: 36px; border: 0; background: transparent; }
.manassa-header-shadow .site-header { box-shadow: 0 1px 6px rgba(16, 24, 40, .06); }
.manassa-header-stretch .site-header .container { max-width: none; }

/* Stacked layouts: branding row + nav bar row */
.site-header__bar--stacked .site-header__inner { justify-content: center; min-height: 96px; }
.site-header__navbar { border-block-start: 1px solid var(--border); }
.site-header__navbar-inner { display: flex; align-items: center; gap: var(--gap); min-height: 54px; }
.site-header__navbar .main-navigation { margin-inline-start: 0; }
.site-header__navbar .site-header__actions { margin-inline-start: auto; }
.site-header__brand-m { display: none; }
.manassa-header-centered .site-header__bar--stacked .site-branding { align-items: center; text-align: center; }
.manassa-header-centered .site-header__navbar-inner { justify-content: center; }
.manassa-header-centered .site-header__navbar .site-header__actions { margin-inline-start: 0; }
.manassa-header-news .site-header__bar--stacked .site-header__inner { justify-content: space-between; }
.manassa-header-news .manassa-ad-zone--ad-header-side { margin: 0; }

/* Inline variants */
.manassa-header-compact .site-header__inner { min-height: 58px; }
.manassa-header-compact .custom-logo { max-height: calc(var(--logo-h, 48px) * .8); }
.manassa-header-minimal .site-description, .manassa-header-minimal .site-header__actions .social-links { display: none; }
.manassa-header-minimal .main-navigation a { font-weight: 500; }
.manassa-header-split .site-header__inner { justify-content: center; }
.manassa-header-split .site-branding { order: 2; margin-inline: 24px; }
.manassa-header-split .main-navigation { order: 1; margin-inline-start: 0; flex: 1; display: flex; justify-content: flex-end; }
.manassa-header-split .site-header__actions { order: 3; flex: 1; }

/* Nav item styles */
.manassa-nav-uppercase .main-navigation > ul > li > a { text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; }
.manassa-nav-underline .main-navigation > ul > li > a { border-radius: 0; position: relative; }
.manassa-nav-underline .main-navigation > ul > li > a:hover { background: transparent; }
.manassa-nav-underline .main-navigation > ul > li > a::after { content: ""; position: absolute; inset-inline: 14px; inset-block-end: 4px; height: 2px; background: var(--accent); transform: scaleX(0); transition: transform .2s; }
.manassa-nav-underline .main-navigation > ul > li > a:hover::after, .manassa-nav-underline .main-navigation > ul > li.current-menu-item > a::after { transform: scaleX(1); }
.manassa-nav-solid .main-navigation > ul > li > a:hover, .manassa-nav-solid .main-navigation > ul > li.current-menu-item > a { background: var(--accent); color: #fff; }
.main-navigation > ul > li.current-menu-item > a { color: var(--accent); }

/* Dark menu bar */
.manassa-nav-dark .site-header__navbar { --surface: #15181f; --bg-alt: #232733; --border: #2c3140; --text: #f2f3f5; --text-muted: #aab1bf; background: var(--surface); color: var(--text); border-block-start: 0; }
.manassa-nav-dark:not(.manassa-header-centered):not(.manassa-header-news) .main-navigation > ul { background: #15181f; border-radius: var(--radius-sm); padding: 2px; }
.manassa-nav-dark:not(.manassa-header-centered):not(.manassa-header-news) .main-navigation > ul > li > a { color: #f2f3f5; }
.manassa-nav-dark:not(.manassa-header-centered):not(.manassa-header-news) .main-navigation > ul > li > a:hover { background: #232733; color: #fff; }

/* Sticky */
.manassa-sticky-header .site-header { position: sticky; inset-block-start: 0; z-index: 200; transition: transform .25s; }
.manassa-sticky-up .site-header.is-hidden { transform: translateY(-100%); }
.admin-bar.manassa-sticky-header .site-header { inset-block-start: 32px; }
@media (max-width: 782px) { .admin-bar.manassa-sticky-header .site-header { inset-block-start: 46px; } }
/* "Menu bar only": the whole header is sticky with a negative offset equal to the logo row
   (--brand-h, measured by theme.js), so the row scrolls out and the menu bar parks at the top. */
.manassa-sticky-nav .site-header { inset-block-start: calc(-1 * var(--brand-h, 0px)); transition: none; }
.admin-bar.manassa-sticky-nav .site-header { inset-block-start: calc(32px - var(--brand-h, 0px)); }
@media (max-width: 782px) { .admin-bar.manassa-sticky-nav .site-header { inset-block-start: calc(46px - var(--brand-h, 0px)); } }
@media (max-width: 600px) {
	.admin-bar.manassa-sticky-header .site-header { inset-block-start: 0; }
	.admin-bar.manassa-sticky-nav .site-header { inset-block-start: calc(-1 * var(--brand-h, 0px)); }
}
.manassa-sticky-nav .site-header__navbar { background: var(--surface); }
.manassa-header-shadow.manassa-sticky-nav .site-header { box-shadow: none; }
.manassa-header-shadow.manassa-sticky-nav .site-header.is-stuck .site-header__navbar { box-shadow: 0 1px 6px rgba(16, 24, 40, .06); }
/* Logo in the menu bar (stacked layouts, desktop only — on phones the drawer header carries the brand). */
.site-header__navlogo { display: none; flex: none; align-items: center; margin-inline-end: 8px; }
.site-header__navlogo-img { display: block; width: auto; }
/* Dark-mode version of the menu-bar logo: in dark mode, or always on a dark menu bar. */
.site-header__navlogo-img--dark { display: none; }
:root[data-theme="dark"] .has-dark .site-header__navlogo-img--dark, .manassa-nav-dark .has-dark .site-header__navlogo-img--dark { display: block; }
:root[data-theme="dark"] .has-dark .site-header__navlogo-img:not(.site-header__navlogo-img--dark), .manassa-nav-dark .has-dark .site-header__navlogo-img:not(.site-header__navlogo-img--dark) { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .has-dark .site-header__navlogo-img--dark { display: block; }
	:root:not([data-theme="light"]) .has-dark .site-header__navlogo-img:not(.site-header__navlogo-img--dark) { display: none; }
}
@media (min-width: 1025px) {
	.site-header__navlogo { display: flex; }
	.manassa-nav-logo-stuck .site-header__navlogo { display: none; }
	.manassa-nav-logo-stuck .site-header.is-stuck .site-header__navlogo { display: flex; animation: mn-navlogo .2s ease; }
	.manassa-header-centered .site-header__navbar .site-header__navlogo { margin-inline-end: 16px; }
}
@keyframes mn-navlogo { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .manassa-nav-logo-stuck .site-header.is-stuck .site-header__navlogo { animation: none; } }

/* Top bar dark variant */
.manassa-topbar-dark .manassa-topbar { --surface: #15181f; --bg-alt: #232733; --border: #2c3140; --text: #f2f3f5; --text-muted: #aab1bf; --accent: #fff; background: #15181f; color: #cfd4dc; border-block-end: 0; }
.manassa-topbar__text { color: var(--text-muted); }
.manassa-topbar__login { font-weight: 600; font-size: .85rem; }

/* Slide sidebar (off-canvas) */
.manassa-slide-backdrop { position: fixed; inset: 0; background: rgba(5, 7, 12, .55); z-index: 300; opacity: 0; transition: opacity .25s; }
.manassa-slide-backdrop.is-open { opacity: 1; }
.manassa-slide { position: fixed; inset-block: 0; inset-inline-end: 0; width: min(360px, 90vw); background: var(--surface); color: var(--text); z-index: 301; padding: 64px 24px 24px; overflow-y: auto; transform: translateX(100%); transition: transform .3s; box-shadow: var(--shadow); }
[dir="rtl"] .manassa-slide { transform: translateX(-100%); }
.manassa-slide.is-open { transform: none; }
.manassa-slide__close { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; }
.manassa-slide .widget { margin-block-end: 28px; }
body.manassa-slide-open { overflow: hidden; }

/* Login popup */
.manassa-login { border: 0; border-radius: var(--radius-lg); padding: 32px; width: min(400px, 92vw); background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.manassa-login::backdrop { background: rgba(5, 7, 12, .6); }
.manassa-login__close { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; }
.manassa-login__title { margin: 0 0 16px; font-size: 1.3rem; }
.manassa-login .login-username, .manassa-login .login-password, .manassa-login .login-remember, .manassa-login .login-submit { margin: 0 0 12px; }
.manassa-login label { display: block; font-size: .85rem; font-weight: 600; margin-block-end: 4px; color: var(--text-muted); }
.manassa-login .login-remember label { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.manassa-login input[type="text"], .manassa-login input[type="password"] { width: 100%; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); font: inherit; }
.manassa-login .login-submit input { width: 100%; background: var(--accent); color: #fff; border: 0; border-radius: var(--radius-sm); padding: 12px; font: inherit; font-weight: 700; cursor: pointer; }
.manassa-login__links { margin: 0; font-size: .85rem; text-align: center; color: var(--text-muted); }

/* =========================================================
   Single — subtitle, meta, share, progress, nav, layouts
   ========================================================= */
.entry-subtitle { font-size: 1.2rem; color: var(--text-muted); font-family: var(--font-head); font-weight: 400; margin: 6px 0 12px; }
.entry-meta--single { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.meta-sep { color: var(--border); }

.manassa-share { display: flex; gap: 8px; flex-wrap: wrap; margin-block: 16px; }
.manassa-share__btn { width: 40px; height: 40px; border-radius: var(--radius-sm); display: grid; place-items: center; background: var(--bg-alt); border: 1px solid var(--border); color: var(--text-muted); cursor: pointer; }
.manassa-share__btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); text-decoration: none; }
.manassa-share__btn--copy.is-copied { background: #1a7f37; color: #fff; border-color: #1a7f37; }

.manassa-progress { position: fixed; inset-block-start: 0; inset-inline: 0; height: 3px; z-index: 300; pointer-events: none; }
.manassa-progress span { display: block; height: 100%; width: 0; background: var(--accent); }


.manassa-related { margin-block-start: 32px; }
/* Previous / next — two columns split by a hairline, no frames. The next link mirrors the previous
   one (thumbnail at the far edge, text aligned to it); a lone link keeps its own side. */
.manassa-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-block-start: 32px; padding-block-start: 18px; border-block-start: 1px solid var(--border); }
.manassa-post-nav__link { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--text); text-decoration: none; }
.manassa-post-nav__link--next { grid-column: 2; text-align: end; }
.manassa-post-nav__label { font-size: .8rem; color: var(--text-muted); }
.manassa-post-nav__title { font-family: var(--font-head); font-weight: 600; font-size: 1rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .15s; }
.manassa-post-nav__link:hover { text-decoration: none; }
.manassa-post-nav__link:hover .manassa-post-nav__title { color: var(--accent); }

/* Reading measure: constrain typographic children, not the container,
   so wide/full blocks can be wider while text stays readable. */
.entry-reading { min-width: 0; }
.entry-reading > .entry-crumbs,
.entry-reading > .entry-header,
.entry-reading > .entry-footer,
.entry-reading > .entry-featured,
.entry-reading > .entry-content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, dl, blockquote, pre, table, figure, hr, address, details, .wp-block-image, .wp-block-embed, .wp-block-quote, .wp-block-pullquote, .wp-block-group, .wp-block-columns, .wp-block-list, .wp-block-table, .wp-block-buttons, .wp-block-gallery, .wp-block-media-text, .wp-block-separator, .wp-block-code, .wp-block-verse, .wp-block-cover, .wp-block-heading, .wp-block-paragraph, .manassa-highlights, .manassa-inline-related, .manassa-sources, .manassa-table-scroll, .manassa-format-media, .manassa-ad-zone, .mn-media, .mn-book, .mn-book__reader) { max-width: min(var(--read), 100%); margin-inline: auto; }
/* Unknown wrappers (plugin output, shortcodes, raw HTML) keep the full column width on purpose. */

/* Gutenberg alignment inside the reading column (same values as theme.json contentSize / wideSize). */
.entry-content > .alignwide { max-width: min(var(--read-wide), 100%); }
.entry-content > .alignfull { max-width: 100%; }
.entry-content > .aligncenter { margin-inline: auto; }

/* Share: horizontal row by default; on phones/tablets it moves below the article. */
.entry-share { margin: 0; }
@media (max-width: 1079px) {
	.entry-body { display: flex; flex-direction: column; }
	.entry-share { order: 2; margin-block-start: 24px; padding-block-start: 16px; border-block-start: 1px solid var(--border); }
}

/* Desktop: share becomes a sticky left rail only when present. */
@media (min-width: 1080px) {
	.manassa-post.has-share .entry-body {
		display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 28px; align-items: start;
	}
	.manassa-post.has-share .entry-share { position: sticky; inset-block-start: var(--sticky-top); }
	.manassa-post.has-share .manassa-share { flex-direction: column; margin: 0; }
}

/* Breadcrumb above an image that comes before the title (media-first, full-width, overlay, parallax). */
/* Pulled up a little and given more room below: the trail sits midway between the header and the
   image instead of hugging the image (was 32px above / 12px below; now ⅔ of the page gap on both sides). */
.entry-crumbs .breadcrumbs { margin-block: calc(-1 * var(--gap) / 3) calc(var(--gap) * 2 / 3); }
.entry-crumbs:empty { display: none; }

/* Layout: full-width featured — image spans the article, wider than text. */
.entry-featured--full { margin: 0 0 24px; overflow: hidden; }
.entry-featured--full img { width: 100%; }

/* Layout: minimal — narrower measure, no featured image. */
.manassa-post--minimal { --read: 680px; }
.manassa-post--minimal .entry-featured { display: none; }

/* Layout: magazine — wider measure, bigger title, lead paragraph. */
.manassa-post--magazine { --read: 820px; }
.manassa-post--magazine .entry-title { font-size: clamp(2rem, 5vw, 3rem); }
.manassa-post--magazine .entry-content > p:first-of-type { font-size: 1.15em; }

/* Layout: hero overlay — grows with the title, never crops; stacks on phones. */
.entry-header--overlay { position: relative; overflow: hidden; margin-block-end: 24px; }
.entry-header--overlay .entry-header__media { position: absolute; inset: 0; z-index: 0; }
.entry-header--overlay .entry-header__media img { width: 100%; height: 100%; object-fit: cover; }
.entry-header--overlay::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(transparent 15%, rgba(0,0,0,.82)); }
.entry-header--overlay .entry-header__overlay { position: relative; z-index: 2; display: flex; align-items: flex-end; min-height: clamp(300px, 42vw, 520px); }
.entry-header--overlay .entry-header__overlay-inner { width: 100%; max-width: var(--read); margin-inline: auto; padding: 0 20px 26px; }
/* Text on the photo is always white on the dark gradient — the doubled class outranks colour
   schemes that tint headings (a tinted title vanished on dark images). Phones stack the
   title under the image, so there it keeps the scheme's own colours. */
@media (min-width: 601px) {
	.entry-header.entry-header--overlay :is(.entry-title, .entry-subtitle, .entry-meta--single, .entry-meta--single a, .breadcrumbs, .breadcrumbs a, .breadcrumbs [aria-current="page"]) { color: #fff; }
	.entry-header.entry-header--overlay .entry-title { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
	.entry-header.entry-header--overlay .entry-subtitle { opacity: .9; }
}

@media (max-width: 600px) {
	.entry-header--overlay { overflow: visible; }
	.entry-header--overlay .entry-header__media { position: static; }
	.entry-header--overlay .entry-header__media img { height: auto; }
	.entry-header--overlay::after { display: none; }
	.entry-header--overlay .entry-header__overlay { min-height: 0; }
	.entry-header--overlay .entry-header__overlay-inner { padding: 14px 0 0; max-width: none; }
}

/* =========================================================
   Popular widget, back-to-top, newsletter, 404, mega menu
   ========================================================= */
.manassa-popular { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.manassa-popular li { border: 0; padding: 0; }
.manassa-popular__item { display: flex; gap: 10px; align-items: center; }
.manassa-popular__thumb { flex: none; }
.manassa-popular__thumb img { width: 88px; height: auto; aspect-ratio: var(--thumb-ratio, 16 / 9); object-fit: cover; border-radius: var(--radius-sm); }
.manassa-popular__title { display: block; color: var(--text); font-weight: 600; font-size: .92rem; }
.manassa-popular__meta { color: var(--text-muted); font-size: .78rem; }

.manassa-to-top { position: fixed; inset-block-end: 20px; inset-inline-end: 20px; width: 44px; height: 44px; border-radius: 50%; background: var(--accent); color: #fff; border: 0; cursor: pointer; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s, transform .25s, visibility .25s; z-index: 250; }
.manassa-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }

.manassa-newsletter { background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 28px; text-align: center; }
.manassa-newsletter__hint { color: var(--text-muted); font-size: .9rem; }

.manassa-404-cats ul { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 10px 0 0; }
.manassa-404-cats a { background: var(--bg-alt); border: 1px solid var(--border); padding: 5px 12px; border-radius: var(--radius-pill); color: var(--text); }
.manassa-404-cats a:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }

/* CSS mega menu — add the class "mega-menu" to a top-level menu item */
.main-navigation li.mega-menu { position: static; }
.main-navigation li.mega-menu > ul { inset-inline: 0; width: 100%; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 18px; }
.main-navigation li.mega-menu:hover > ul, .main-navigation li.mega-menu:focus-within > ul { display: grid; }
/* Each second-level item is a column: its heading, then its own items listed under it (no flyout). */
.main-navigation li.mega-menu > ul > li > a { font-weight: 700; color: var(--text-muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.main-navigation li.mega-menu > ul > li > ul { position: static; display: flex; min-width: 0; border: 0; box-shadow: none; padding: 0; margin: 2px 0 0; }
.main-navigation li.is-closed > ul, .main-navigation li.mega-menu.is-closed > ul { display: none; } /* closed with Escape; cleared when focus leaves the item */

/* =========================================================
   v2.2 — newsroom extras
   ========================================================= */
/* Announcement bar */
.manassa-notice { background: var(--accent); color: #fff; font-size: .92rem; }
.manassa-notice__inner { display: flex; align-items: center; gap: 14px; padding-block: 9px; }
.manassa-notice__text { flex: 1; }
.manassa-notice__btn { background: #fff; color: var(--accent); font-weight: 700; padding: 4px 12px; border-radius: var(--radius-sm); white-space: nowrap; }
.manassa-notice__btn:hover { text-decoration: none; opacity: .9; }
.manassa-notice__close { background: transparent; border: 0; color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; padding: 0 4px; }

/* Dark-mode logo swap */
.custom-logo-pair { display: contents; }
.custom-logo-link--dark { display: none; }
:root[data-theme="dark"] .custom-logo-pair .custom-logo-link--dark { display: inline-block; }
:root[data-theme="dark"] .custom-logo-pair .custom-logo-link:not(.custom-logo-link--dark) { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .custom-logo-pair .custom-logo-link--dark { display: inline-block; }
	:root:not([data-theme="light"]) .custom-logo-pair .custom-logo-link:not(.custom-logo-link--dark) { display: none; }
}

/* Story highlights */
.manassa-highlights { background: var(--bg-alt); border-inline-start: 4px solid var(--accent); border-radius: var(--radius-sm); padding: 16px 20px; margin-block: 0 24px; }
.manassa-highlights__title { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); margin: 0 0 8px; font-family: var(--font-body); }
.manassa-highlights ul { margin: 0; padding-inline-start: 1.1em; }
.manassa-highlights li { margin-block: 4px; font-size: .98rem; }

/* Video / audio head */
.manassa-format-media { margin: 0 0 24px; border-radius: var(--radius); overflow: hidden; }
.manassa-format-media iframe, .manassa-format-media video { display: block; width: 100%; }
.manassa-format-media--video iframe { aspect-ratio: 16 / 9; height: auto; }

/* Source & via */
.manassa-sources { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-block: 24px 0; font-size: .9rem; }
.manassa-sources__label { font-weight: 700; color: var(--text-muted); text-transform: uppercase; font-size: .75rem; letter-spacing: .06em; }
.manassa-sources a, .manassa-sources span:not(.manassa-sources__label) { background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 3px 12px; color: var(--text); }
.manassa-sources a:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }

/* Inline "read also" */
.manassa-inline-related { margin-block: 20px; padding: 12px 16px; border: 1px solid var(--border); border-inline-start: 4px solid var(--accent); border-radius: var(--radius-sm); background: var(--surface); font-family: var(--font-body); }
.manassa-inline-related__label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); display: block; margin-block-end: 2px; }
.manassa-inline-related a { font-weight: 700; color: var(--text); }

/* "Check also" fly-in */
.manassa-check-also { position: fixed; inset-block-end: 24px; inset-inline-end: 24px; width: min(320px, calc(100vw - 32px)); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px 16px; z-index: 240; transform: translateX(20px); opacity: 0; transition: transform .3s, opacity .3s; }
.manassa-check-also.is-visible { transform: none; opacity: 1; }
.manassa-check-also__label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); display: block; margin-block-end: 8px; }
.manassa-check-also__link { display: flex; gap: 12px; align-items: center; color: var(--text); font-weight: 700; font-size: .95rem; line-height: 1.35; }
.manassa-check-also__link img { width: 88px; height: auto; aspect-ratio: var(--thumb-ratio, 16 / 9); object-fit: cover; border-radius: var(--radius-sm); flex: none; }
.manassa-check-also__close { position: absolute; inset-block-start: 6px; inset-inline-end: 8px; border: 0; background: transparent; color: var(--text-muted); font-size: 1.3rem; line-height: 1; cursor: pointer; }
body:has(.manassa-check-also.is-visible) .manassa-to-top { inset-block-end: 150px; }

/* Lightbox (native dialog) */
.manassa-lightbox { border: 0; padding: 0; background: transparent; max-width: 96vw; max-height: 96vh; }
.manassa-lightbox::backdrop { background: rgba(5, 7, 12, .9); }
.manassa-lightbox img { display: block; max-width: 96vw; max-height: 86vh; width: auto; height: auto; border-radius: var(--radius-sm); margin-inline: auto; }
.manassa-lightbox__caption { color: #e7e9ee; text-align: center; font-size: .9rem; margin: 10px 0 0; }
.entry-content img:not(a img) { cursor: zoom-in; }

/* Load more / infinite */
.manassa-paging { margin-block-start: var(--gap); }
.manassa-paging .pagination { margin-block-start: 0; }
.manassa-paging--loadmore .pagination, .manassa-paging--infinite .pagination { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } /* crawlable, invisible */
.manassa-loadmore { display: block; margin: 8px auto 0; padding: 12px 28px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface); color: var(--text); font-weight: 700; cursor: pointer; }
.manassa-loadmore:hover { border-color: var(--accent); color: var(--accent); }
.manassa-loadmore:disabled { opacity: .6; cursor: progress; }
.manassa-paging--infinite .manassa-loadmore { opacity: 0; pointer-events: none; height: 1px; padding: 0; margin: 0; border: 0; }
.manassa-loadmore__status { text-align: center; color: var(--text-muted); font-size: .9rem; margin: 10px 0 0; }
.manassa-loadmore__status:empty { display: none; }
/* Infinite scroll: after a failed fetch the hidden button comes back as a visible "retry". */
.manassa-paging--infinite:has(.manassa-loadmore__status:not(:empty)) .manassa-loadmore { opacity: 1; pointer-events: auto; height: auto; padding: 12px 32px; margin: 8px auto 0; border: 1px solid var(--border); }

/* Author archive header */
.author-hero { display: flex; gap: 20px; align-items: center; }
.author-hero__avatar img { width: 96px; height: 96px; border-radius: 50%; }
.author-hero__bio { color: var(--text-muted); margin: 6px 0 4px; max-width: 60ch; }
.author-hero__count { font-size: .85rem; color: var(--text-muted); margin: 0; }

/* Category hero inside the archive column (not the full-width <main> of built pages) */
.site-main:not(.site-main--built) .home-section { padding-block: 0 var(--gap); }
.site-main:not(.site-main--built) .home-section .container { padding: 0; max-width: none; }

/* Posts widget styles */
.manassa-popular--numbered { counter-reset: none; }
.manassa-popular__num { flex: none; width: 34px; font-family: var(--font-head); font-size: 1.6rem; font-weight: var(--head-weight); color: var(--accent); line-height: 1; opacity: .85; }
.manassa-popular__item.is-big { flex-direction: column; align-items: stretch; gap: 8px; }
.manassa-popular__item.is-big .manassa-popular__thumb img { width: 100%; height: auto; aspect-ratio: var(--thumb-ratio, 16 / 9); border-radius: var(--radius-sm); }
.manassa-popular__item.is-big .manassa-popular__title { font-size: 1.05rem; }
.manassa-popular--first-big .manassa-popular__item:not(.is-big) { padding-block-start: 10px; border-block-start: 1px solid var(--border); }

/* =========================================================
   v2.4 — builder: rows, section sidebars, slider, heading styles, dark bg
   ========================================================= */
.home-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); align-items: start; }
.home-row .home-section { padding-block: 0; }
.home-row .home-section .container { padding: 0; max-width: none; }
.container:has(> .home-row) { padding-block-end: clamp(22px, 4vw, 42px); }
div.container + .home-section { padding-block-start: 0; }
.container:has(> .home-row):first-child { padding-block-start: clamp(22px, 4vw, 42px); }
.home-row .home-section.has-bg { padding: clamp(16px, 3vw, 28px); border-radius: var(--radius); }

.home-section__cols { display: grid; grid-template-columns: minmax(0, 1fr) var(--sidebar-w, 320px); gap: var(--gap); align-items: start; }
.home-section__cols.has-side-left { grid-template-columns: var(--sidebar-w, 320px) minmax(0, 1fr); }
.home-section__cols.has-side-left .home-section__main { order: 2; }
.home-section__side { position: var(--sidebar-position); inset-block-start: var(--sticky-top); display: grid; gap: var(--gap); }
.home-section__main > .section-head:first-child { margin-block-start: 0; }

.home-section.bg-dark { --bg: #0f1115; --bg-alt: #161920; --surface: #171a21; --border: #262b36; --text: #e7e9ee; --text-muted: #9aa3b2; background: var(--bg); color: var(--text); }
.home-section.bg-dark + .home-section.bg-dark { padding-block-start: clamp(22px, 4vw, 42px); }
.home-section.bg-custom { background: var(--bg-alt); }

.home-section.title-line .section-head { border-block-end: 2px solid var(--border); position: relative; padding-block-end: 8px; }
.home-section.title-line .section-title::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: -2px; width: 72px; height: 2px; background: var(--accent); }
.home-section.title-boxed .section-title { display: inline-block; background: var(--accent); color: #fff; padding: 4px 14px; border-radius: var(--radius-sm); font-size: 1rem; }
.home-section.title-boxed .section-title a { color: inherit; }
.home-section.title-center .section-head { display: flex; justify-content: center; align-items: center; text-align: center; flex-direction: column; gap: 4px; }

.manassa-slider { position: relative; }
.manassa-slider__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-block-end: 4px; }
.manassa-slider__track::-webkit-scrollbar { display: none; }
.manassa-slider__item { flex: 0 0 min(100%, 420px); scroll-snap-align: start; }
.manassa-slider__item .post-card--overlay { height: 100%; }
.manassa-slider__btn { position: absolute; inset-block-start: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--text); font-size: 1.6rem; line-height: 1; cursor: pointer; z-index: 2; box-shadow: var(--shadow); display: grid; place-items: center; }
.manassa-slider__btn--prev { inset-inline-start: -8px; }
.manassa-slider__btn--next { inset-inline-end: -8px; }
.manassa-slider__btn:hover { color: var(--accent); border-color: var(--accent); }

.manassa-section-more { margin-block-start: 20px; }
.manassa-html { max-width: none; }

/* =========================================================
   v2.6 — card / widget styles (Layout → Card style, Widget style)
   ========================================================= */
/* Clean: no borders, no boxes; rounded media, generous whitespace */
.manassa-cards-clean .post-card, .manassa-cards-clean .magazine-hero article { border: 0; background: transparent; border-radius: 0; overflow: visible; }
.manassa-cards-clean .card-thumb { border-radius: var(--radius); }
.manassa-cards-clean .card-body { padding: 12px 0 0; }
.manassa-cards-clean .post-card--horizontal .card-body { padding: 0; padding-inline-start: 14px; }
.manassa-cards-clean .post-card--horizontal .card-thumb { border-radius: var(--radius-sm); }
.manassa-cards-clean .magazine-hero__side .card-thumb { border-radius: var(--radius-sm); } /* small thumbnails share one radius */
.manassa-cards-clean .post-list .post-card + .post-card { border-block-start: 1px solid var(--border); padding-block-start: 14px; }
.manassa-cards-clean .post-card--overlay { overflow: hidden; border-radius: var(--radius); }
.manassa-cards-clean .post-card--overlay .card-body { padding: 18px; }
.manassa-cards-clean .post-card--no-thumb { border: 0; padding-block-start: 0; }
.manassa-cards-clean .post-card--no-thumb .card-body { padding-block-start: 12px; }
.manassa-cards-clean .post-card--overlay.post-card--no-thumb .card-body { background: var(--bg-alt); border-radius: var(--radius); border-block-start: 0; padding: 18px; }
.manassa-cards-clean .magazine-hero__side .magazine-hero__item { border: 0; }
.manassa-cards-clean .magazine-hero__side .magazine-hero__item + .magazine-hero__item { border-block-start: 1px solid var(--border); padding-block-start: 12px; }
/* Clean: the same "no frame" rule for every small control — header tools, menu toggle, language
   switcher, social icons, share buttons, pagination, load-more, tags, slider arrows, 404 chips.
   Hover/current states keep a soft fill or the accent color, never a box. */
.manassa-cards-clean :is(.manassa-tool, .manassa-search-trigger, .manassa-dark-toggle, .menu-toggle, .social-links__item, .manassa-share__btn, .pagination .page-numbers, .manassa-loadmore, .comments-toggle > summary, .manassa-slider__btn, .manassa-404-cats a, .manassa-sources a, .manassa-sources span:not(.manassa-sources__label), .entry-tags a) { border-color: transparent; background: transparent; box-shadow: none; }
.manassa-cards-clean :is(.manassa-tool, .manassa-search-trigger, .manassa-dark-toggle, .menu-toggle, .social-links__item, .manassa-share__btn, .manassa-slider__btn):hover { background: var(--bg-alt); border-color: transparent; color: var(--accent); }
.manassa-cards-clean :is(.pagination a.page-numbers, .manassa-loadmore, .comments-toggle > summary, .manassa-404-cats a, .manassa-sources a, .entry-tags a) { background: var(--bg-alt); }
.manassa-cards-clean :is(.pagination a.page-numbers, .manassa-loadmore, .comments-toggle > summary, .manassa-404-cats a, .manassa-sources a, .entry-tags a):hover { color: var(--accent); border-color: transparent; }
.manassa-cards-clean .pagination .page-numbers.current { background: var(--accent); color: #fff; }
.manassa-cards-clean .manassa-share__btn--copy.is-copied { background: #1a7f37; color: #fff; }
.manassa-cards-clean .manassa-slider__btn { background: var(--surface); box-shadow: var(--shadow); }
.manassa-cards-clean .manassa-dark-toggle { background: transparent; }
.manassa-cards-clean .social-links__item { width: 36px; height: 36px; }
.manassa-cards-clean .site-header__actions { gap: 2px; }
.manassa-cards-clean .manassa-inline-related, .manassa-cards-clean .manassa-newsletter { border-color: transparent; }
.manassa-cards-clean .manassa-check-also { border: 0; }
/* Shadow */
.manassa-cards-shadow .post-card, .manassa-cards-shadow .magazine-hero article { border: 0; box-shadow: var(--shadow); }
/* Widgets */
.manassa-widgets-clean .widget { border: 0; background: transparent; padding: 0; margin-block-end: 36px; }
.manassa-widgets-clean .widget-title { padding-inline-start: 0; padding-block-end: 10px; border-block-end: 2px solid var(--border); }
.manassa-widgets-clean .widget-title::before { inset-block: auto -2px; height: 2px; width: 48px; inset-inline-start: 0; border-radius: 0; }
.manassa-widgets-clean .widget li { border-block-end-color: color-mix(in srgb, var(--border) 60%, transparent); }

/* Rendering performance: skip layout of off-screen blocks until needed */
.site-footer { content-visibility: auto; contain-intrinsic-size: auto 400px; }

/* Banner hero */
.manassa-banner { position: relative; border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-alt); padding: clamp(32px, 6vw, 72px) clamp(20px, 5vw, 64px); text-align: center; }
.manassa-banner.has-image { background-size: cover; background-position: center; color: #fff; min-height: 340px; display: grid; place-items: center; }
.manassa-banner.has-image::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,.65)); }
.manassa-banner__inner { position: relative; max-width: 720px; margin-inline: auto; }
.manassa-banner__title { margin: 0 0 12px; font-size: clamp(1.7rem, 4vw, 2.8rem); line-height: 1.15; }
.manassa-banner.has-image .manassa-banner__title { color: #fff; }
.manassa-banner__text { font-size: 1.08rem; opacity: .92; }
.manassa-banner__btn { margin-block-start: 18px; }
.home-section.is-full .manassa-banner { border-radius: 0; }

/* Categories grid */
.manassa-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.manassa-cats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.manassa-cats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.manassa-cats__tile { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; background: color-mix(in srgb, var(--accent) 12%, var(--bg-alt)); color: var(--text); }
.manassa-cats__tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.manassa-cats__tile:hover img { transform: scale(1.05); }
.manassa-cats__tile.has-image { color: #fff; }
.manassa-cats__tile.has-image::before { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(0,0,0,.75)); }
.manassa-cats__body { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 16px; display: flex; flex-direction: column; gap: 2px; }
.manassa-cats__name { font-family: var(--font-head); font-weight: var(--head-weight); font-size: 1.15rem; }
.manassa-cats__count { font-size: .8rem; opacity: .85; }
.manassa-cats__tile:not(.has-image) .manassa-cats__body { inset-block-start: 0; justify-content: center; align-items: center; text-align: center; border-block-start: 4px solid var(--accent); }
.manassa-cats__tile:hover { text-decoration: none; }

/* =========================================================
   2.23 — Row layout (Archives / Articles page → "Image beside the text")
   One article per row: the picture whole on one side, the text on the other, no card box;
   a hairline between rows. Phones stack picture over text.
   ========================================================= */
.post-rows { display: flex; flex-direction: column; }
.post-rows .post-card--row {
	display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 10fr); gap: clamp(18px, 3vw, 32px); align-items: start;
	background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible;
	padding-block: clamp(22px, 3vw, 32px);
}
.post-rows .post-card--row:first-child { padding-block-start: 0; }
.post-rows .post-card--row + .post-card--row { border-block-start: 1px solid var(--border); }
.post-rows .post-card--row .card-thumb { border-radius: 0; } /* a photograph, not a card */
.post-rows .post-card--row:hover .card-thumb img { transform: none; opacity: .92; }
.post-rows .post-card--row .card-thumb img { transition: opacity .2s; }
.post-rows .post-card--row .card-body { padding: 0; gap: 10px; }
.post-rows .post-card--row .entry-categories { order: -2; }
.post-rows .post-card--row .entry-meta { order: -1; margin: 0; }
.post-rows .post-card--row .card-title { font-size: clamp(1.2rem, 1.1rem + .6vw, 1.55rem); line-height: 1.3; }
.post-rows .post-card--row .card-excerpt { font-size: .98rem; line-height: 1.65; }
.post-rows .post-card--row.post-card--no-thumb { grid-template-columns: minmax(0, 1fr); border-block-start-width: 1px; }
.post-rows .post-card--row.post-card--no-thumb:first-child { border-block-start: 0; }
.post-rows .post-card--row.post-card--no-thumb .card-body { border: 0; padding: 0; background: transparent; }
.card-more {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-block-start: 6px;
	min-height: 42px; padding: 9px 18px; background: var(--accent); color: #fff; border-radius: var(--radius-sm);
	font-size: .9rem; font-weight: 700; line-height: 1.3; text-decoration: none;
}
.card-more::after { content: "\2192"; transition: transform .2s; }
[dir="rtl"] .card-more::after { content: "\2190"; }
.card-more:hover { color: #fff; text-decoration: none; filter: brightness(1.08); }
.card-more:hover::after { transform: translateX(3px); }
[dir="rtl"] .card-more:hover::after { transform: translateX(-3px); }
@media (max-width: 640px) {
	.post-rows .post-card--row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) { .card-more::after, .post-rows .post-card--row .card-thumb img { transition: none; } }

/* =========================================================
   v2.8 — article layouts, post info, share bar, inline related, comments modes
   ========================================================= */
.manassa-read--narrow { --read: 680px; }
.manassa-read--wide { --read: 860px; }

/* Layout: centered title block */
.entry-header--centered { text-align: center; }
.entry-header--centered .breadcrumbs__list, .entry-header--centered .entry-categories, .entry-header--centered .entry-meta--single { justify-content: center; }
.entry-header--centered .entry-title { font-size: clamp(1.9rem, 4.5vw, 2.8rem); }

/* Layout: media first */
.manassa-post--media-first .entry-reading > .entry-featured:first-child { margin-block-start: 0; }

/* Layout: parallax banner */
.entry-parallax { height: clamp(260px, 48vh, 520px); background-size: cover; background-position: center; background-attachment: fixed; margin-block-end: 28px; }
@media (max-width: 1024px), (prefers-reduced-motion: reduce) { .entry-parallax { background-attachment: scroll; } }

/* Drop cap */
.has-dropcap .entry-content > p:first-of-type::first-letter { float: inline-start; font-family: var(--font-head); font-size: 3.6em; line-height: .85; font-weight: var(--head-weight); color: var(--accent); padding-inline-end: 10px; padding-block-start: 4px; }

/* Responsive tables */
.manassa-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-block: 1.4em; max-width: 100%; }
.site-main { min-width: 0; }
.manassa-table-scroll table { min-width: 560px; margin: 0; }

/* Post info — avatar + stacked ("author card") layout */
.entry-meta__avatar { border-radius: 50%; vertical-align: middle; margin-inline-end: 8px; }
.entry-meta--stacked { display: flex; align-items: center; gap: 12px; }
.entry-meta--stacked .byline { display: block; font-weight: 700; font-size: .95rem; color: var(--text); }
.entry-meta--stacked .byline a { color: var(--text); }
.entry-meta--stacked .entry-meta__line { margin-block-start: 2px; }
.entry-meta--stacked .entry-meta__avatar { width: 44px; height: 44px; margin: 0; }

/* Share: below-article bar (with optional labels) */
.entry-share--below { margin-block: 24px 0; padding-block-start: 20px; border-block-start: 1px solid var(--border); }
.manassa-share--below { display: flex; flex-wrap: wrap; gap: 8px; }
.manassa-share.has-labels .manassa-share__btn { width: auto; padding: 0 14px 0 10px; gap: 8px; font-size: .85rem; font-weight: 600; }
.manassa-share.has-labels .manassa-share__btn span { white-space: nowrap; }

/* Inline related — list with thumbnails */
.manassa-inline-related ul { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.manassa-inline-related li a { display: flex; align-items: center; gap: 12px; color: var(--text); font-weight: 700; line-height: 1.35; }
.manassa-inline-related li img { width: 80px; height: auto; aspect-ratio: var(--thumb-ratio, 16 / 9); object-fit: cover; border-radius: var(--radius-sm); flex: none; }
.manassa-inline-related li a:hover { color: var(--accent); text-decoration: none; }

/* Author box links */

/* Comments modes */
.manassa-comments-compact .comment-body { padding: 10px 0; gap: 10px; }
.manassa-comments-compact .comment-avatar img { width: 32px; height: 32px; }
.manassa-comments-compact .comment-content { font-size: .92rem; }
.manassa-comments-compact .comment-list .children { margin-inline-start: 36px; }
.manassa-comments-noavatar .comment-avatar { display: none; }

/* Floating video (video-format posts) */
.manassa-format-media--video { position: relative; }
.manassa-format-media--video.is-floating { position: fixed; inset-block-end: 20px; inset-inline-end: 20px; width: min(380px, 60vw); z-index: 260; margin: 0; box-shadow: var(--shadow); border-radius: var(--radius); }
.manassa-video-close { display: none; position: absolute; inset-block-start: -12px; inset-inline-start: -12px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: var(--text); color: var(--bg); font-size: 18px; line-height: 1; cursor: pointer; z-index: 2; }
.manassa-format-media--video.is-floating .manassa-video-close { display: grid; place-items: center; }
.manassa-video-placeholder { margin-block-end: 24px; }

/* =========================================================
   v2.9 — page builder blocks: content, spacer, video, newsletter form,
   image backgrounds, visibility, spacing
   ========================================================= */
.manassa-page-content { max-width: var(--read); margin-inline: auto; }
.manassa-page-content > .alignwide { max-width: min(var(--read-wide), 100%); margin-inline: auto; }
.manassa-page-content > .alignfull { max-width: none; width: 100%; }
.manassa-spacer { display: block; }
.manassa-video { border-radius: var(--radius); overflow: hidden; max-width: 960px; margin-inline: auto; }
.manassa-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; }
.manassa-video video { display: block; width: 100%; }
.manassa-video__caption { text-align: center; color: var(--text-muted); font-size: .9rem; margin: 10px 0 0; }
.manassa-newsletter__text { color: var(--text-muted); margin: -8px 0 18px; }
.manassa-newsletter__form { display: flex; gap: 8px; max-width: 480px; margin-inline: auto; }
.manassa-newsletter__form input[type="email"] { flex: 1; min-width: 0; padding: 12px 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit; }
.manassa-newsletter__form input:focus { outline: 2px solid var(--accent); border-color: transparent; }
.home-section.bg-image { position: relative; background-size: cover; background-position: center; color: #fff; --text: #fff; --text-muted: #e7e9ee; --surface: rgba(0,0,0,.35); --border: rgba(255,255,255,.25); --bg-alt: rgba(255,255,255,.12); }
.home-section.bg-image::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.home-section.bg-image > .container { position: relative; }
.home-section.bg-image .section-title, .home-section.bg-image .section-title a, .home-section.bg-image .card-title a { color: #fff; }
.home-section.is-large { padding-block: clamp(40px, 7vw, 80px); }
.home-section.is-none { padding-block: 0; }
.home-section + .home-section.is-large { padding-block-start: clamp(40px, 7vw, 80px); }
.hide-on-mobile { }
@media (max-width: 768px) { .hide-on-mobile { display: none !important; } .manassa-newsletter__form { flex-direction: column; } }
@media (min-width: 769px) { .hide-on-desktop { display: none !important; } }

/* =========================================================
   v2.10 — width system: content-width modes + plugin-content wrapper
   Scale: --read (text) < --article-max (article column) < --maxw (site)
          < --container-wide (wide) < full (edge to edge)
   ========================================================= */
.content-area--normal { max-width: var(--maxw); }
.content-area--normal.content-area--single { max-width: var(--article-max, 1120px); }
.content-area--wide { max-width: var(--container-wide); }
.content-area--full { max-width: none; padding-inline: 0; }
.content-area--full .entry-header--plain { max-width: min(var(--read-page), calc(100% - 32px)); margin-inline: auto; }
.entry-content :is(.alignfull, .wp-block-cover) img { border-radius: 0; }
/* Full-width pages (layout option or the "Full width" template): blocks marked Full width reach the
   window edges, Wide ones the wide container, and running text keeps a readable, centred measure. */
.content-area--full .entry-content.entry-content--plain > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, dl, blockquote, pre, table, hr, .wp-block-image:not(.alignfull):not(.alignwide), .wp-block-embed:not(.alignfull):not(.alignwide), .wp-block-quote, .wp-block-list, .wp-block-table:not(.alignfull):not(.alignwide), .wp-block-buttons, .wp-block-heading, .wp-block-paragraph, .wp-block-separator, .page-links) { max-width: min(var(--read-page), calc(100% - 32px)); margin-inline: auto; }
.content-area--full .entry-content.entry-content--plain > .alignwide { max-width: min(var(--container-wide), calc(100% - 32px)); margin-inline: auto; }
.content-area--full .manassa-plain > .entry-featured { max-width: var(--maxw); margin-inline: auto; }
.content-area--full .entry-reading--comments, .content-area--full .manassa-ad-zone { padding-inline: 16px; }

/* Plain content (pages, plugin post types): no measure on wrappers; text blocks stay readable in "normal" mode */
.manassa-plain .entry-header--plain { margin-block-end: 20px; }
.entry-header--plain.entry-header--empty { margin-block-end: 0; }
.page-header:not(:has(> :not(.screen-reader-text))) { margin-block-end: 0; }
.manassa-plain .entry-header--plain .entry-title { font-size: clamp(1.7rem, 3.6vw, 2.4rem); margin: 6px 0 0; }
.manassa-plain .entry-featured { margin-block-end: 24px; }
.content-area--normal .manassa-plain .entry-header--plain,
.content-area--normal .manassa-plain .entry-featured,
.content-area--normal .entry-content--plain > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, dl, blockquote, pre, table, figure, hr, .wp-block-image, .wp-block-embed, .wp-block-quote, .wp-block-group, .wp-block-columns, .wp-block-list, .wp-block-table, .wp-block-buttons, .wp-block-gallery, .wp-block-media-text, .wp-block-separator, .wp-block-heading, .wp-block-paragraph) { max-width: min(var(--read-page), 100%); margin-inline: auto; }
.content-area--normal .entry-content--plain > .alignwide { max-width: min(var(--read-wide), 100%); margin-inline: auto; }
.content-area--normal .entry-content--plain > .alignfull { max-width: none; }
/* Plugin post types rendered through the theme wrapper carry .entry-content--plugin instead of
   .entry-content, so no article rule (heading sizes, margins, tables, images, quotes, links) reaches
   their components — nothing to reset, nothing to revert. Only a neutral base size is set. */
.manassa-plugin-content .entry-content--plugin { font-size: 1rem; line-height: 1.6; }
.manassa-plugin-content .entry-reading--comments { max-width: var(--read); margin-inline: auto; }

/* =========================================================
   Plugin templates: a plugin that ships its own page templates prints its wrappers as direct
   children of .site-content. The theme lends them its measure through three variables declared
   on <body> (body.manassa-plugin-template, set in inc/post-settings.php) and keeps media inside
   the column; the plugin's own CSS does the rest.
   ========================================================= */
/* Declared on <body> (not :root): --sticky-top is set by body classes (.admin-bar, .manassa-sticky-header). */
body.manassa-plugin-template {
	--mn-plugin-max: var(--maxw);                 /* normal: the site width            */
	--mn-plugin-gutter: 16px;                     /* same side gutter as .container    */
	--mn-plugin-sticky-offset: var(--sticky-top); /* measured header (+ admin bar)     */
}
body.manassa-plugin-template--wide { --mn-plugin-max: var(--container-wide, 1320px); }
body.manassa-plugin-template--full { --mn-plugin-max: 100vw; }
.manassa-plugin-template .site-content :where(img, video, iframe, svg, canvas) { max-width: 100%; }
/* Anchors, section links and sticky boxes clear the (sticky) header. */
.manassa-plugin-template :where(h1, h2, h3, h4, [id]) { scroll-margin-top: calc(var(--mn-plugin-sticky-offset) + 8px); }

/* =========================================================
   v2.10.1 — theme-built footer (About · Contact · Links)
   ========================================================= */
.site-footer__blocks { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: var(--gap); padding-block: 40px; }
.site-footer__blocks--1 { grid-template-columns: minmax(0, 1fr); }
.site-footer__blocks--2 { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.site-footer__blocks--4 { grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); }
.site-footer__blocks .site-footer__about { max-width: none; }
.site-footer__heading { margin: 0 0 14px; font-size: 1.05rem; }
.site-footer__contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.site-footer__contact-list li { display: flex; gap: 10px; align-items: flex-start; color: var(--text-muted); font-size: .95rem; line-height: 1.5; }
.site-footer__contact-list svg { flex: none; margin-top: 3px; color: var(--accent); }
.site-footer__contact-list a { color: var(--text); }
.site-footer__contact-phone a, .site-footer__contact-email a { direction: ltr; unicode-bidi: isolate; }
.site-footer__contact-list a:hover { color: var(--accent); }
.site-footer__contact .social-links { margin-block-start: 16px; }
.site-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.site-footer__menu a { color: var(--text-muted); font-size: .95rem; line-height: 1.5; }
.site-footer__menu a:hover { color: var(--accent); }
.site-footer__menu .current-menu-item > a { color: var(--text); }
@media (max-width: 900px) { .site-footer__blocks[class] { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-footer__blocks.site-footer__blocks--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .site-footer__about { grid-column: 1 / -1; } }
@media (max-width: 600px) { .site-footer__blocks[class] { grid-template-columns: 1fr 1fr; } .site-footer__contact { grid-column: 1 / -1; } }

/* =========================================================
   v2.10.1 — consistency: control heights, focus states, overflow safety
   ========================================================= */
/* One height for primary actions and form controls (44px touch target). */
.button-accent, .comment-form .submit, .manassa-loadmore, .manassa-newsletter__form button, .comments-toggle > summary { min-height: 44px; padding-block: 10px; line-height: 1.3; }
.manassa-loadmore:disabled, .button-accent:disabled, .comment-form .submit:disabled { opacity: .6; cursor: progress; filter: none; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .manassa-newsletter__form input[type="email"], .manassa-login input[type="text"], .manassa-login input[type="password"] { min-height: 44px; }
/* Visible keyboard focus everywhere (hover styles already exist). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.manassa-search-input:focus-visible { outline-offset: 0; }
/* Long words / URLs in headings and cards never force a horizontal scroll. */
h1, h2, h3, h4, .card-title, .entry-title, .page-title, .widget-title, .section-title, .breadcrumbs { overflow-wrap: anywhere; }
.site-content { overflow-x: clip; }
@media (max-width: 600px) {
	.comment-list .children { margin-inline-start: 12px; }
	.manassa-comments-compact .comment-list .children { margin-inline-start: 12px; }
	.author-box { grid-template-columns: 56px minmax(0, 1fr); gap: 4px 14px; }
	.author-box__avatar img { width: 56px; height: 56px; }
}

/* =========================================================
   v2 responsive
   ========================================================= */
@media (max-width: 900px) {
	.posts-grid--3, .posts-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.home-row, .home-section__cols, .home-section__cols.has-side-left { grid-template-columns: 1fr; }
	.manassa-cats, .manassa-cats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.comment-list .children { margin-inline-start: 24px; }
	.comment-form { grid-template-columns: 1fr; }
	.home-section__cols.has-side-left .home-section__main { order: 0; }
	.home-section__side { position: static; }
	.cat-block, .editorial-block, .magazine-hero--three, .magazine-hero--split { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.posts-grid--2, .posts-grid--3, .posts-grid--4 { grid-template-columns: 1fr; }
	.manassa-post-nav { grid-template-columns: 1fr; gap: 16px; }
	.manassa-post-nav__link--next { grid-column: 1; }
	.manassa-topbar__menu { display: none; }
	.author-hero { flex-direction: column; text-align: center; }
	.manassa-notice__inner { flex-wrap: wrap; }
	.manassa-check-also { inset-inline: 16px; width: auto; }
	.manassa-format-media--video.is-floating { inset-inline: 12px; inset-block-end: 12px; width: auto; }
	.post-card--overlay .card-title { font-size: 1.1rem; }
}

@media (max-width: 480px) {
	.site-footer__widgets { grid-template-columns: 1fr; }
	.magazine-hero__side .magazine-hero__item { flex-direction: column; }
	.magazine-hero__side .card-thumb { flex-basis: auto; aspect-ratio: var(--thumb-ratio, 16 / 9); }
}

/* Mobile header: one row for every header style. Stacked layouts hide the
   branding row and show a compact brand inside the nav bar instead. */
@media (max-width: 1024px) {
	.site-header__bar--stacked { display: none; }
	.site-header__navbar { border-block-start: 0; }
	.site-header__navbar-inner { gap: 10px; min-height: 60px; }
	.site-header__brand-m { display: flex; align-items: center; margin-inline: auto; }
	.site-header__brand-m .site-title { margin: 0; font-size: 1.2rem; }
	.site-header__navbar .site-header__actions { margin-inline-start: 0; }
	.manassa-header-split .site-branding { order: 2; margin-inline: auto; }
	.manassa-header-split .menu-toggle { flex: 0; }
	.manassa-header-split .site-header__actions { flex: 0; }
	.social-links--nav, .manassa-nav-button, .manassa-tool--random, .manassa-login-trigger { display: none; }
	.manassa-nav-dark .site-header__navbar .menu-toggle, .manassa-nav-dark .site-header__navbar .manassa-tool, .manassa-nav-dark .site-header__navbar .manassa-search-trigger, .manassa-nav-dark .site-header__navbar .manassa-dark-toggle { color: #f2f3f5; }
}

/* =========================================================
   v2.11 — Articles page (home.php + "Articles page" template)
   ========================================================= */
.page-header--blog { margin-block-end: calc(var(--gap) * 1.25); padding-block-end: 18px; border-block-end: 1px solid var(--border); }
.page-header--blog .page-title { margin-block: 0; }
.blog-intro { max-width: 72ch; font-size: 1.02rem; line-height: 1.7; }
.blog-intro > :first-child { margin-block-start: 0; }
.blog-intro > :last-child { margin-block-end: 0; }
.author-box + .manassa-post-nav { margin-block-start: 0; border-block-start: 0; }

/* =========================================================
   v2.12 — Left / right sidebar (global option or per post/page)
   ========================================================= */
@media (min-width: 1025px) {
	.manassa-sidebar-start .content-area.has-sidebar { grid-template-columns: var(--sidebar-w) minmax(0, 1fr); }
	.manassa-sidebar-start .content-area.has-sidebar > .site-main { order: 2; }
}

/* =========================================================
   v2.12 — WordPress core classes (theme-review set) + sticky posts
   ========================================================= */
.alignleft { float: left; margin: .3em 1.4em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.4em; }
[dir="rtl"] .alignleft { margin: .3em 1.4em 1em 0; }
[dir="rtl"] .alignright { margin: .3em 0 1em 1.4em; }
.aligncenter { display: block; margin-inline: auto; }
.entry-content::after { content: ""; display: table; clear: both; }
.wp-caption { max-width: 100%; margin-block-end: 1.3em; }
.wp-caption img { display: block; }
.wp-caption-text, .gallery-caption { font-size: .8rem; color: var(--text-muted); padding: 8px 2px 0; text-align: center; }
.gallery { display: grid; grid-template-columns: repeat(var(--gallery-cols, 3), minmax(0, 1fr)); gap: 8px; margin-block-end: 1.3em; }
.gallery-columns-2 { --gallery-cols: 2; } .gallery-columns-4 { --gallery-cols: 4; } .gallery-columns-5 { --gallery-cols: 5; }
.gallery-item { margin: 0; }
.gallery-item img { width: 100%; height: auto; display: block; }
.bypostauthor > .comment-body .comment-author { color: var(--accent); }
@media (max-width: 600px) { .alignleft, .alignright { float: none; margin-inline: 0; } }

/* Sticky posts: a small "Featured" label on the card, never a frame. */
.card-sticky {
	display: inline-flex; align-items: center; gap: 6px; margin-block-end: 8px; margin-inline-end: 8px;
	font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent);
}
.card-sticky::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.post-card.sticky .card-title a { color: var(--text); }

/* Core search form (classic Search widget, get_search_form()) in the theme's look. */
.search-form { display: flex; gap: 8px; max-width: 100%; }
.search-form label { flex: 1; min-width: 0; margin: 0; }
.search-form .search-field { width: 100%; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit; }
.search-form .search-field:focus { outline: 2px solid var(--accent); border-color: transparent; }
.search-form .search-submit { flex: none; padding: 0 18px; border: 0; border-radius: var(--radius-sm); background: var(--accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.search-form .search-submit:hover { filter: brightness(.92); }

.manassa-404-cats { margin-block-end: 8px; }
.error-404 .search-form, .manassa-404 .search-form { margin-block-end: var(--gap); }

/* Core Search block (sidebar / footer widgets) in the theme's look, light and dark. */
.wp-block-search__inside-wrapper { gap: 8px; }
.wp-block-search__input { padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit; }
.wp-block-search__input:focus { outline: 2px solid var(--accent); border-color: transparent; }
.wp-block-search__button { margin: 0; padding: 0 18px; border: 0; border-radius: var(--radius-sm); background: var(--accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.wp-block-search__button-inside .wp-block-search__inside-wrapper { padding: 4px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.wp-block-search__button-inside .wp-block-search__input { border: 0; }
.wp-block-search__label { font-weight: 700; }

/* =========================================================
   v2.14 — Articles page hero band (inc/blog-hero.php)
   Colours arrive as variables on the section; the band is the first thing in .site-content,
   flush under the header, full width (the theme's boxed layout keeps it inside the box).
   ========================================================= */
.blog-hero {
	position: relative; margin: calc(-1 * var(--gap)) 0 var(--gap);
	background: var(--hero-bg); color: var(--hero-ink);
	border-block-end: 3px solid var(--hero-line);
	padding: clamp(40px, 6vw, 58px) 16px clamp(38px, 5.5vw, 54px);
}
.blog-hero__inner { position: relative; max-width: 920px; margin-inline: auto; text-align: center; }
/* dotted ornaments either side on wide screens */
.blog-hero__inner::before, .blog-hero__inner::after {
	content: ""; position: absolute; top: 8px; width: 58px; height: 58px; pointer-events: none;
	background: radial-gradient(circle, color-mix(in srgb, var(--hero-ink) 16%, transparent) 2px, transparent 2.5px); background-size: 14px 14px;
}
.blog-hero__inner::before { inset-inline-start: -90px; }
.blog-hero__inner::after { inset-inline-end: -90px; }
.blog-hero .breadcrumbs { justify-content: center; margin-block-end: 18px; color: var(--hero-ink-soft); }
.blog-hero .breadcrumbs__list { justify-content: center; }
.blog-hero .breadcrumbs a, .blog-hero .breadcrumbs [aria-current="page"], .blog-hero .breadcrumbs__item + .breadcrumbs__item::before { color: var(--hero-ink-soft); }
.blog-hero .breadcrumbs a:hover { color: var(--hero-accent); }
.blog-hero__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; font-weight: 600; color: var(--hero-accent); margin-block-end: 16px; }
.blog-hero__eyebrow::before, .blog-hero__eyebrow::after { content: ""; width: 32px; height: 1px; background: var(--hero-accent); opacity: .55; }
.blog-hero__title { font-family: var(--font-head); font-weight: 600; font-size: clamp(1.9rem, 4.6vw, 3.25rem); line-height: 1.18; margin: 0 0 16px; color: var(--hero-ink); }
.blog-hero__title em { font-style: italic; font-weight: 500; color: var(--hero-accent); position: relative; white-space: nowrap; }
.blog-hero__title em::after { content: ""; position: absolute; inset-inline: 0; bottom: -4px; height: 2px; background: linear-gradient(90deg, transparent, var(--hero-accent), transparent); }
.blog-hero__text { font-size: clamp(.95rem, 1.6vw, 1.03rem); line-height: 1.8; color: var(--hero-ink-soft); max-width: 660px; margin: 0 auto 30px; }
.blog-hero__text :is(b, strong) { font-weight: 700; color: var(--hero-ink); }
.blog-hero__text a { color: var(--hero-accent); text-decoration: underline; text-underline-offset: 3px; }
.blog-hero__teamlabel { display: block; font-size: .66rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--hero-ink-soft); opacity: .8; margin-block-end: 16px; }
.blog-hero__team { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 880px; }
.blog-hero__team--1 { grid-template-columns: 1fr; max-width: 300px; }
.blog-hero__team--2 { grid-template-columns: repeat(2, 1fr); max-width: 560px; }
.blog-hero__team--3 { grid-template-columns: repeat(3, 1fr); max-width: 720px; }
.blog-hero__member {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
	background: var(--hero-glass); border: 1px solid var(--hero-edge); border-radius: var(--radius); padding: 18px 14px 16px;
	transition: background .3s, border-color .3s, transform .3s;
}
.blog-hero__member:hover { border-color: color-mix(in srgb, var(--hero-accent) 45%, transparent); transform: translateY(-3px); }
.blog-hero__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--hero-accent); background: color-mix(in srgb, var(--hero-accent) 14%, transparent); border: 1px solid color-mix(in srgb, var(--hero-accent) 30%, transparent); }
.blog-hero__icon svg { width: 20px; height: 20px; }
.blog-hero__member b { font-family: var(--font-head); font-size: .9rem; font-weight: 600; letter-spacing: .02em; line-height: 1.35; color: var(--hero-ink); }
.blog-hero__member small { font-size: .7rem; letter-spacing: .03em; line-height: 1.55; color: var(--hero-ink-soft); }
.blog-hero--compact { padding-block: clamp(22px, 3.5vw, 32px) clamp(20px, 3vw, 28px); }
.blog-hero--compact .breadcrumbs { margin-block-end: 10px; }
.blog-hero--compact .blog-hero__eyebrow { margin-block-end: 8px; }
.blog-hero__title--sm { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0; }
.blog-hero--compact .blog-hero__inner::before, .blog-hero--compact .blog-hero__inner::after { display: none; }
.blog-hero__divider { display: flex; align-items: center; justify-content: center; gap: 12px; margin-block-start: 30px; }
.blog-hero__divider span { display: block; height: 1px; width: 56px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--hero-accent) 45%, transparent)); }
.blog-hero__divider span:last-child { background: linear-gradient(270deg, transparent, color-mix(in srgb, var(--hero-accent) 45%, transparent)); }
.blog-hero__divider i { display: block; width: 8px; height: 8px; background: var(--hero-accent); transform: rotate(45deg); opacity: .7; }
@media (max-width: 1060px) { .blog-hero__inner::before, .blog-hero__inner::after { display: none; } }
@media (max-width: 820px) { .blog-hero__team, .blog-hero__team--3 { grid-template-columns: repeat(2, 1fr); max-width: 560px; } }
@media (max-width: 480px) {
	.blog-hero__eyebrow::before, .blog-hero__eyebrow::after { width: 18px; }
	.blog-hero__team, .blog-hero__team--2, .blog-hero__team--3 { grid-template-columns: 1fr; max-width: 300px; }
}
@media (prefers-reduced-motion: reduce) { .blog-hero__member { transition: none; } .blog-hero__member:hover { transform: none; } }

/* =========================================================
   v2.15 — Mobile menu: a side drawer (phones and tablets, below 1025px)
   Colours follow Header → Mobile menu: light (site surface), dark, or the accent colour.
   Each Site style sets the one that fits its niche. The nav element itself is the drawer;
   the toggle button sits in the header. Desktop is untouched.
   ========================================================= */
.mobile-menu__head, .mobile-menu__foot, .mobile-menu__backdrop { display: none; }
@media (max-width: 1024px) {
	.main-navigation {
		position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 400;
		width: min(340px, 84vw); display: flex; flex-direction: column;
		background: var(--mm-bg, var(--surface)); color: var(--mm-ink, var(--text));
		border-end-end-radius: var(--radius-sm); /* the edge that touches the screen stays straight */
		box-shadow: 0 0 0 1px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .18);
		transform: translateX(-100%); transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s .32s; visibility: hidden;
		margin: 0;
	}
	[dir="rtl"] .main-navigation { transform: translateX(100%); }
	.main-navigation.is-open { transform: none; visibility: visible; transition: transform .32s cubic-bezier(.2, .8, .2, 1); }
	.mobile-menu__backdrop { display: block; position: fixed; inset: 0; z-index: 390; background: rgba(12, 14, 18, .5); opacity: 0; pointer-events: none; transition: opacity .25s; }
	/* Items settle in one after another once the panel is in. */
	.main-navigation > ul > li { opacity: 0; transform: translateX(-10px); transition: opacity .3s ease, transform .3s ease; }
	[dir="rtl"] .main-navigation > ul > li { transform: translateX(10px); }
	.main-navigation.is-open > ul > li { opacity: 1; transform: none; }
	.main-navigation.is-open > ul > li:nth-child(1) { transition-delay: .08s; } .main-navigation.is-open > ul > li:nth-child(2) { transition-delay: .12s; }
	.main-navigation.is-open > ul > li:nth-child(3) { transition-delay: .16s; } .main-navigation.is-open > ul > li:nth-child(4) { transition-delay: .2s; }
	.main-navigation.is-open > ul > li:nth-child(5) { transition-delay: .24s; } .main-navigation.is-open > ul > li:nth-child(n+6) { transition-delay: .28s; }
	.mobile-menu__backdrop.is-open { opacity: 1; pointer-events: auto; }
	html.manassa-menu-open { overflow: hidden; }
	.admin-bar .main-navigation { inset-block-start: 46px; }
	.admin-bar .mobile-menu__backdrop { inset-block-start: 46px; }

	.mobile-menu__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 10px 12px 10px 20px; border-block-end: 1px solid var(--mm-line, var(--border)); }
	[dir="rtl"] .mobile-menu__head { padding: 10px 20px 10px 12px; }
	.mobile-menu__head > div { min-width: 0; }
	.mobile-menu__brand { display: block; font-family: var(--font-head); font-weight: 700; font-size: 1.1rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.mobile-menu__tagline { display: block; margin-block-start: 2px; font-size: .76rem; line-height: 1.4; opacity: .62; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.mobile-menu__close { flex: none; display: grid; place-items: center; width: 40px; height: 40px; margin-inline-start: auto; border: 0; border-radius: var(--radius-sm); background: transparent; color: inherit; cursor: pointer; opacity: .85; }
	.mobile-menu__close:hover, .mobile-menu__close:focus-visible { background: var(--mm-soft, var(--bg-alt)); opacity: 1; }
	.mobile-menu__close svg { width: 18px; height: 18px; }

	.main-navigation > ul { flex: 1; overflow-y: auto; overscroll-behavior: contain; display: block; padding: 6px 20px 12px; }
	.main-navigation > ul > li + li { border-block-start: 1px solid var(--mm-line, var(--border)); }
	.main-navigation ul li { position: static; }
	.main-navigation a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 0; border-radius: 0; color: inherit; font-size: 1rem; font-weight: 600; line-height: 1.4; letter-spacing: .005em; white-space: normal; }
	.site-header .site-description { display: none; } /* the tagline lives in the drawer on phones */
	.main-navigation a:hover, .main-navigation a:active { background: transparent; color: var(--mm-accent, var(--accent)); }
	/* The current page: a short accent dash before the label, like a bookmark. */
	.main-navigation > ul > li.current-menu-item > a,
	.main-navigation > ul > li.current-menu-ancestor > a { color: var(--mm-accent, var(--accent)); }
	.main-navigation > ul > li.current-menu-item > a::before,
	.main-navigation > ul > li.current-menu-ancestor > a::before { content: ""; width: 14px; height: 2px; flex: none; background: currentColor; margin-inline-end: 2px; }
	/* Submenus: closed until the chevron button is tapped, then listed indented. The link itself
	   navigates. (Pages cached without the button keep the old chevron on the link: a tap expands.) */
	.main-navigation .menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
	.main-navigation .menu-item-has-children > a { min-width: 0; }
	.main-navigation .menu-item-has-children > ul { grid-column: 1 / -1; }
	.mobile-menu__sub { display: grid; place-items: center; width: 44px; height: 44px; margin-inline-end: -8px; border: 0; border-radius: var(--radius-sm); background: transparent; color: inherit; opacity: .6; cursor: pointer; }
	.mobile-menu__sub:hover, .mobile-menu__sub:focus-visible { opacity: 1; background: var(--mm-soft, var(--bg-alt)); }
	.mobile-menu__sub svg { transition: transform .2s; }
	.main-navigation .is-expanded > .mobile-menu__sub svg { transform: rotate(180deg); }
	.main-navigation .menu-item-has-children:not(:has(> .mobile-menu__sub)) > a::after { content: ""; margin-inline-start: auto; width: 8px; height: 8px; flex: none; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; /* physical sides: the chevron points down in LTR and RTL alike */ transform: rotate(45deg); opacity: .55; transition: transform .2s; margin-inline-end: 4px; }
	.main-navigation .menu-item-has-children.is-expanded:not(:has(> .mobile-menu__sub)) > a::after { transform: rotate(-135deg); }
	.main-navigation ul ul { display: none; position: static; min-width: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0 0 8px 14px; border-inline-start: 2px solid var(--mm-line, var(--border)); margin: 0 0 8px; }
	[dir="rtl"] .main-navigation ul ul { padding: 0 14px 8px 0; }
	.main-navigation ul ul ul { margin: 0; }
	.main-navigation li.mega-menu > ul > li > a { font-size: 1rem; font-weight: 600; text-transform: none; letter-spacing: .005em; color: inherit; }
	.main-navigation li.is-expanded > ul { display: block; }
	.main-navigation li:hover > ul, .main-navigation li:focus-within > ul { display: none; }
	.main-navigation li.is-expanded:hover > ul, .main-navigation li.is-expanded:focus-within > ul { display: block; }
	.main-navigation ul ul a { font-weight: 500; font-size: .94rem; min-height: 42px; padding: 9px 0; opacity: .9; }
	.main-navigation li.mega-menu > ul { grid-template-columns: 1fr; width: auto; gap: 0; padding: 0 0 6px 12px; }
	.main-navigation li.mega-menu:hover > ul, .main-navigation li.mega-menu:focus-within > ul { display: none; } /* tap / focus alone never opens it in the drawer */
	.main-navigation li.mega-menu.is-expanded > ul { display: block; }

	.mobile-menu__foot { display: flex; flex-direction: column; gap: 10px; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-block-start: 1px solid var(--mm-line, var(--border)); }
	.social-links--drawer { display: flex; gap: 6px; }
	.social-links--drawer .social-links__item { width: 36px; height: 36px; border: 0; border-radius: var(--radius-sm); background: transparent; color: inherit; opacity: .85; }
	.social-links--drawer .social-links__item:hover { background: var(--mm-accent, var(--accent)); color: #fff; }
	.mobile-menu__copy { font-size: .72rem; opacity: .55; letter-spacing: .02em; }

	/* Any desktop nav rule that would colour or box the list is neutralised in the drawer. */
	.manassa-nav-dark:not(.manassa-header-centered):not(.manassa-header-news) .main-navigation > ul,
	.manassa-nav-underline .main-navigation > ul > li > a::after,
	.manassa-nav-solid .main-navigation > ul > li > a:hover { background: transparent; }
	.manassa-nav-dark:not(.manassa-header-centered):not(.manassa-header-news) .main-navigation > ul > li > a { color: inherit; }
	.manassa-nav-solid .main-navigation > ul > li.current-menu-item > a { background: transparent; color: var(--mm-accent, var(--accent)); }
	.manassa-nav-underline .main-navigation > ul > li > a::after { display: none; }
	.manassa-nav-uppercase .main-navigation > ul > li > a { font-size: .9rem; }

	/* Palettes */
	.manassa-mobile-menu-dark .main-navigation { --mm-bg: #15181f; --mm-ink: #f2f3f5; --mm-line: rgba(255, 255, 255, .1); --mm-soft: rgba(255, 255, 255, .08); --mm-accent: var(--accent-dark, var(--accent)); }
	.manassa-mobile-menu-accent .main-navigation { --mm-bg: var(--accent); --mm-ink: #fff; --mm-line: rgba(255, 255, 255, .18); --mm-soft: rgba(255, 255, 255, .14); --mm-accent: #fff; }
	.manassa-mobile-menu-accent .main-navigation a:hover, .manassa-mobile-menu-accent .main-navigation a:active { color: #fff; opacity: .8; }
	.manassa-mobile-menu-accent .social-links--drawer .social-links__item:hover { background: #fff; color: var(--accent); }
	@media (prefers-reduced-motion: reduce) {
		.main-navigation, .main-navigation.is-open, .main-navigation > ul > li, .mobile-menu__backdrop, .mobile-menu__sub svg { transition: none; }
	}
}

/* =========================================================
   v2.16 — Page builder: Sections → Blocks
   Section = container (width, heading, background, sidebar, spacing).
   Blocks sit in .section-blocks (full or half of the content column).
   Everything here is scoped to .home-section / .section-* — nothing leaks.
   Corners: square (0) on every new component; post cards keep the theme radius scale.
   ========================================================= */

/* --- Square corners for everything the builder prints (2.x pieces included) --- */
.section-block .manassa-video, .section-block .manassa-banner, .section-block .manassa-newsletter, .section-block .manassa-cats__tile, .section-block .manassa-cats__tile img,
.section-block .manassa-slider__btn, .section-block .manassa-loadmore, .home-row .home-section.has-bg { border-radius: 0; }
.section-block .manassa-slider__btn { width: 40px; height: 40px; box-shadow: none; }

/* --- Posts grids inside a block: columns follow the space the block really has ---
   The chosen column count is the maximum; each card keeps at least --card-min, so a 3-column
   grid in a half block beside a sidebar becomes 1 column instead of 180px cards. The gap
   shrinks with the block (container units). Same rule on the page and on the builder canvas. */
.section-block .posts-grid { --card-min: 220px; --g: clamp(12px, 4cqi, var(--gap)); gap: var(--g); }
.section-block .posts-grid--2 { grid-template-columns: repeat(auto-fit, minmax(max(var(--card-min), calc((100% - var(--g)) / 2)), 1fr)); }
.section-block .posts-grid--3 { grid-template-columns: repeat(auto-fit, minmax(max(var(--card-min), calc((100% - 2 * var(--g)) / 3)), 1fr)); }
.section-block .posts-grid--4 { --card-min: 200px; grid-template-columns: repeat(auto-fit, minmax(max(var(--card-min), calc((100% - 3 * var(--g)) / 4)), 1fr)); }
.section-block .manassa-titles { --card-min: 200px; }
/* Book covers keep their column width even when the row is not full (auto-fill): two books never become two posters. */
.section-block .posts-grid--book.posts-grid--2 { --card-min: 180px; grid-template-columns: repeat(auto-fill, minmax(max(var(--card-min), calc((100% - var(--g)) / 2)), 1fr)); }
.section-block .posts-grid--book.posts-grid--3 { --card-min: 180px; grid-template-columns: repeat(auto-fill, minmax(max(var(--card-min), calc((100% - 2 * var(--g)) / 3)), 1fr)); }
.section-block .posts-grid--book.posts-grid--4 { --card-min: 160px; grid-template-columns: repeat(auto-fill, minmax(max(var(--card-min), calc((100% - 3 * var(--g)) / 4)), 1fr)); }
.section-block .manassa-cats { gap: clamp(12px, 4cqi, var(--gap)); }

/* --- Blocks grid --- */
.section-blocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sec-gap, var(--gap)); align-items: start; }
.section-block { grid-column: 1 / -1; min-width: 0; container-type: inline-size; }
.section-block.is-half { grid-column: span 1; }
.section-blocks { container-type: inline-size; }
.block-title { font-size: 1.05rem; margin: 0 0 12px; padding-inline-start: 10px; border-inline-start: 3px solid var(--accent); line-height: 1.3; }
.section-block.block-spacer { grid-column: 1 / -1; }

/* --- Heading: H2 + optional description + "view all" --- */
.section-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 12px; margin-block-end: 18px; }
.section-head .section-title { margin: 0; }
.section-head .section-desc { grid-column: 1; margin: 0; color: var(--text-muted); font-size: .95rem; max-width: 60ch; }
.section-head .section-more { grid-column: 2; grid-row: 1; }
.home-section.title-plain .section-title { padding-inline-start: 0; }
.home-section.title-plain .section-title::before { display: none; }
.home-section.title-line .section-title::before { display: none; }
.home-section.title-line .section-title { padding-inline-start: 0; }
.home-section.title-boxed .section-title::before { display: none; }
.home-section.title-boxed .section-title { padding-inline-start: 14px; }
.home-section.title-center .section-head { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.home-section.title-center .section-head .section-more, .home-section.title-center .section-head .section-desc { grid-column: 1; grid-row: auto; }
.home-section.title-center .section-title { padding-inline-start: 0; }
.home-section.title-center .section-title::before { position: static; display: block; width: 40px; height: 3px; margin: 0 auto 10px; }

/* --- Width + custom spacing ('' inherits the preset; 0 is a value) --- */
.home-section.has-pad-top { padding-block-start: var(--sec-pt) !important; }
.home-section.has-pad-bottom { padding-block-end: var(--sec-pb) !important; }
@media (max-width: 768px) {
	.home-section.has-pad-top-m { padding-block-start: var(--sec-pt-m) !important; }
	.home-section.has-pad-bottom-m { padding-block-end: var(--sec-pb-m) !important; }
}

/* --- Background on an inner surface (background limited to the content width) --- */
.section-surface { position: relative; border-radius: 0; padding: clamp(18px, 3vw, 32px); }
.section-surface.has-bg { background: var(--bg-alt); }
.section-surface.bg-dark { --bg: #0f1115; --bg-alt: #161920; --surface: #171a21; --border: #262b36; --text: #e7e9ee; --text-muted: #9aa3b2; background: var(--bg); color: var(--text); }
.section-surface.bg-custom { background: var(--bg-alt); }
.section-surface.bg-image { overflow: hidden; background-size: cover; background-position: center; color: #fff; --text: #fff; --text-muted: #e7e9ee; --surface: rgba(0,0,0,.35); --border: rgba(255,255,255,.25); --bg-alt: rgba(255,255,255,.12); }
.section-surface.bg-image::before { content: ""; position: absolute; inset: 0; background: var(--overlay, rgba(0, 0, 0, .55)); }
.section-surface.bg-image > * { position: relative; }
.section-surface.bg-image .section-title, .section-surface.bg-image .card-title a, .section-surface.bg-image .block-title { color: #fff; }
.home-section.is-full .section-surface { border-radius: 0; }
/* Overlay colour / opacity from the section (page-width image background) */
.home-section.bg-image::before { background: var(--overlay, rgba(0, 0, 0, .55)); }
.home-section.bg-image .block-title { color: #fff; }
/* Light / dark scheme: readable text, links and buttons whatever the background */
.home-section.scheme-dark, .section-surface.scheme-dark, .home-section.scheme-dark .section-surface { --bg: #0f1115; --bg-alt: #161920; --surface: #171a21; --border: #262b36; --text: #e7e9ee; --text-muted: #9aa3b2; color: var(--text); }
.home-section.scheme-dark:not(.has-bg):not(:has(> .container > .section-surface.has-bg)) { background: var(--bg); }
.home-section.scheme-light { --bg: #ffffff; --bg-alt: #f5f6f8; --surface: #ffffff; --border: #e4e7ec; --text: #16181d; --text-muted: #5c6472; color: var(--text); }
.home-section.scheme-light.bg-image, .home-section.scheme-light .section-surface.bg-image { --text: #16181d; --text-muted: #5c6472; color: var(--text); }
.home-section.scheme-light.bg-image .section-title, .home-section.scheme-light.bg-image .card-title a, .home-section.scheme-light.bg-image .block-title,
.home-section.scheme-light .section-surface.bg-image .section-title, .home-section.scheme-light .section-surface.bg-image .block-title { color: var(--text); }
.home-section.scheme-dark .section-title, .home-section.scheme-dark .section-title a, .home-section.scheme-dark .card-title a, .home-section.scheme-dark .block-title, .home-section.scheme-dark a:not(.button-accent) { color: var(--text); }
.home-section.scheme-dark .section-more { color: var(--accent); }
.home-section.scheme-dark .post-card, .home-section.scheme-dark .magazine-hero article, .home-section.scheme-dark .manassa-newsletter, .home-section.scheme-dark .manassa-cta { background: var(--surface); border-color: var(--border); }

/* --- Section sidebar: "right" / "left" are what the visitor sees, in LTR and RTL alike --- */
.home-section__cols.has-side-right { grid-template-columns: minmax(0, 1fr) var(--sidebar-w, 320px); }
.home-section__cols.has-side-right .home-section__main { order: 0; }
.home-section__cols.has-side-left { grid-template-columns: var(--sidebar-w, 320px) minmax(0, 1fr); }
.home-section__cols.has-side-left .home-section__main { order: 2; }
[dir="rtl"] .home-section__cols.has-side-right { grid-template-columns: var(--sidebar-w, 320px) minmax(0, 1fr); }
[dir="rtl"] .home-section__cols.has-side-right .home-section__main { order: 2; }
[dir="rtl"] .home-section__cols.has-side-left { grid-template-columns: minmax(0, 1fr) var(--sidebar-w, 320px); }
[dir="rtl"] .home-section__cols.has-side-left .home-section__main { order: 0; }
.home-section__cols.side-sticky .home-section__side { position: sticky; inset-block-start: var(--sticky-top); align-self: start; }
.home-section__cols.side-static .home-section__side { position: static; }
.home-section__side .manassa-popular, .home-section__side .widget { min-width: 0; }

/* --- Posts blocks: tiles, text list --- */
.manassa-tiles .post-card--overlay .card-thumb { aspect-ratio: var(--thumb-ratio, 16 / 9); }
.manassa-tiles .post-card--overlay .card-title { font-size: 1.05rem; }
.manassa-titles { gap: 0; }
.manassa-titles .post-card--minimal { border-block-start: 1px solid var(--border); padding-block: 10px; border-radius: 0; }
.manassa-titles .post-card--minimal:first-child { border-block-start: 0; padding-block-start: 0; }
.manassa-titles .post-card--minimal .card-body { padding: 0; gap: 4px; }
.manassa-titles .post-card--minimal .card-title { font-size: 1rem; }
.manassa-titles.posts-grid--2, .manassa-titles.posts-grid--3, .manassa-titles.posts-grid--4 { column-gap: var(--gap); }
.manassa-titles.posts-grid--2 .post-card--minimal:nth-child(2), .manassa-titles.posts-grid--3 .post-card--minimal:nth-child(-n+3), .manassa-titles.posts-grid--4 .post-card--minimal:nth-child(-n+4) { border-block-start: 0; padding-block-start: 0; }

/* --- Slider: items per view, dots, autoplay (blocks.js) --- */
.manassa-slider { --per-eff: var(--per, 3); --slide-gap: 16px; }
.manassa-slider__track { gap: var(--slide-gap); scroll-behavior: smooth; outline: none; }
.manassa-slider__track:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 0; }
.manassa-slider__item { flex: 0 0 calc((100% - (var(--per-eff) - 1) * var(--slide-gap)) / var(--per-eff)); min-width: 0; }
.manassa-slider__image { margin: 0; }
.manassa-slider__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.manassa-slider__image figcaption { font-size: .85rem; color: var(--text-muted); margin-block-start: 6px; text-align: center; }
.manassa-slider:not(.has-arrows) .manassa-slider__btn { display: none; }
.manassa-slider__dots { display: flex; justify-content: center; gap: 8px; margin-block-start: 12px; }
.manassa-slider__dot { width: 9px; height: 9px; border-radius: 0; border: 0; padding: 0; background: var(--border); cursor: pointer; }
.manassa-slider__dot[aria-selected="true"] { background: var(--accent); }
.manassa-slider__dot:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .manassa-slider__track { scroll-behavior: auto; } }

/* --- Video: stable ratio, click-to-load poster, playlist --- */
.manassa-video { position: relative; max-width: none; background: #000; }
.manassa-video.ratio-16-9 { aspect-ratio: 16 / 9; }
.manassa-video.ratio-4-3 { aspect-ratio: 4 / 3; }
.manassa-video.ratio-1-1 { aspect-ratio: 1; }
.manassa-video.ratio-21-9 { aspect-ratio: 21 / 9; }
.manassa-video iframe, .manassa-video video, .manassa-video .wp-video { position: absolute; inset: 0; width: 100% !important; height: 100%; aspect-ratio: auto; }
.manassa-video .wp-video video, .manassa-video .mejs-container { width: 100% !important; height: 100% !important; }
.manassa-video__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; background: #000; cursor: pointer; display: block; }
.manassa-video__play img { width: 100%; height: 100%; object-fit: cover; opacity: .85; display: block; }
.manassa-video__icon { position: absolute; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); width: 68px; height: 48px; border-radius: 0; background: var(--accent); }
.manassa-video__icon::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-40%, -50%); border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
[dir="rtl"] .manassa-video__icon { transform: translate(50%, -50%); }
[dir="rtl"] .manassa-video__icon::after { transform: translate(40%, -50%) scaleX(-1); }
.manassa-video__play:hover .manassa-video__icon { filter: brightness(1.1); }
.manassa-video__play:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.manassa-video__fallback { margin: 0; padding: 18px; border: 1px solid var(--border); border-radius: 0; background: var(--surface); text-align: center; }
.manassa-playlist { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: var(--gap); align-items: start; }
.manassa-playlist__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-height: min(520px, 70vh); overflow: auto; }
.manassa-playlist__item { margin: 0; }
.manassa-playlist__btn { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; padding: 6px; border: 1px solid var(--border); border-radius: 0; background: var(--surface); color: var(--text); text-align: start; cursor: pointer; font: inherit; }
.manassa-playlist__btn img { width: 96px; height: 54px; object-fit: cover; border-radius: 0; display: block; }
.manassa-playlist__num { width: 96px; height: 54px; display: grid; place-items: center; background: var(--bg-alt); border-radius: 0; font-weight: 700; color: var(--text-muted); }
.manassa-playlist__title { font-weight: 600; font-size: .95rem; line-height: 1.3; }
.manassa-playlist__btn:hover { border-color: var(--accent); }
.manassa-playlist__item.is-active .manassa-playlist__btn { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
[dir="rtl"] .manassa-playlist__item.is-active .manassa-playlist__btn { box-shadow: inset -3px 0 0 var(--accent); }
.manassa-playlist__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* --- Gallery, image + text, CTA, text, spacer --- */
.manassa-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.manassa-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.manassa-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.manassa-gallery__item { margin: 0; }
.manassa-gallery__item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.manassa-gallery__item figcaption { font-size: .85rem; color: var(--text-muted); margin-block-start: 6px; }
.manassa-imagetext { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap); align-items: center; }
.manassa-imagetext.img-end .manassa-imagetext__media { order: 2; }
.manassa-imagetext.no-image { grid-template-columns: 1fr; }
.manassa-imagetext__media img { display: block; width: 100%; height: auto; border-radius: 0; }
.manassa-imagetext__body { max-width: none; }
.manassa-imagetext__body > :first-child { margin-block-start: 0; }
.manassa-imagetext__btn { margin-block-start: 12px; }
.manassa-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--border); border-radius: 0; background: var(--surface); }
.manassa-cta__title { margin: 0 0 4px; font-size: 1.3rem; }
.manassa-cta__desc { color: var(--text-muted); }
.manassa-cta__desc > :last-child { margin-block-end: 0; }
.manassa-cta__btn { white-space: nowrap; }
.manassa-text { max-width: none; }
.manassa-text > :first-child { margin-block-start: 0; }
.manassa-text > :last-child { margin-block-end: 0; }
.manassa-spacer { height: var(--h, 40px); }
.manassa-spacer.has-line { height: auto; padding-block: calc(var(--h, 40px) / 2); }
.manassa-spacer.has-line::before { content: ""; display: block; border-block-start: 1px solid var(--border); }

/* --- Narrow content column (beside a sidebar, half blocks): cards, grids, sliders follow it --- */
@container (max-width: 720px) {
	.manassa-cats, .manassa-cats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.manassa-slider { --per-eff: min(var(--per, 3), 2); }
	.manassa-playlist { grid-template-columns: 1fr; }
	.manassa-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.magazine-hero__lead .card-title { font-size: 1.4rem; }
}
@container (max-width: 520px) {
	.section-block.is-half { grid-column: 1 / -1; }
	.manassa-slider { --per-eff: 1; }
	.cat-block, .editorial-block, .magazine-hero, .magazine-hero--three, .magazine-hero--split, .manassa-imagetext { grid-template-columns: 1fr; }
	.manassa-imagetext.img-end .manassa-imagetext__media { order: 0; }
	.manassa-gallery, .manassa-gallery--2, .manassa-gallery--3, .manassa-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.manassa-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 900px) {
	.home-section__cols.has-side-right, .home-section__cols.has-side-left, [dir="rtl"] .home-section__cols.has-side-right, [dir="rtl"] .home-section__cols.has-side-left { grid-template-columns: 1fr; }
	.home-section__cols .home-section__main, [dir="rtl"] .home-section__cols .home-section__main { order: 0; }
	.home-section__cols.side-sticky .home-section__side { position: static; }
	.home-section__cols.side-hide-mobile .home-section__side { display: none; }
	.manassa-playlist { grid-template-columns: 1fr; }
	.manassa-playlist__list { max-height: none; }
}
@media (max-width: 600px) {
	.section-block.is-half { grid-column: 1 / -1; }
	.manassa-slider { --per-eff: 1; }
	.manassa-imagetext { grid-template-columns: 1fr; }
	.manassa-imagetext.img-end .manassa-imagetext__media { order: 0; }
	.manassa-gallery, .manassa-gallery--2, .manassa-gallery--3, .manassa-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.manassa-cta { flex-direction: column; align-items: flex-start; }
	.section-surface { padding: 16px; }
}

/* =========================================================
   v2.19 — Homepage logo + loading screen
   ========================================================= */
.custom-logo-link picture { display: contents; }
.manassa-preloader { display: none; }
.manassa-preload .manassa-preloader {
	display: grid; place-items: center; position: fixed; inset: 0; z-index: 100000;
	background: var(--pl-bg, var(--bg)); transition: opacity .4s ease;
}
.manassa-preload body { overflow: hidden; }
.manassa-preloader img { width: var(--pl-w, 160px); max-width: 70vw; height: auto; }
.manassa-preloader.is-hidden { opacity: 0; pointer-events: none; }
@media (max-width: 768px) { .manassa-totop-desktop-only .manassa-to-top { display: none; } }

/* =========================================================
   v2.19.3 — Search results (box, filter tabs, cards) + 404 page
   ========================================================= */
.search-header { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.search-header__form { display: flex; gap: 8px; max-width: 640px; width: 100%; }
.search-header__form input[type="search"] { flex: 1 1 auto; min-width: 0; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit; }
.search-header__form input[type="search"]:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: transparent; }
.search-header__form .button-accent { flex: none; }
.search-filters { margin-inline: -4px; }
.search-filters__list { display: flex; gap: 6px; margin: 0; padding: 4px; list-style: none; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.search-filters__list li { flex: none; margin: 0; padding: 0; border: 0; }
.search-filters__tab { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text); font-weight: 600; font-size: .92rem; white-space: nowrap; }
.search-filters__tab:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }
.search-filters__tab.is-active { background: var(--accent); border-color: var(--accent); color: #fff; }
.search-filters__tab:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.search-filters__count { font-size: .78rem; font-weight: 700; opacity: .75; }
.search-card__type { display: inline-block; margin-block-end: 8px; padding: 3px 8px; border-radius: var(--radius-xs, 2px); background: var(--bg-alt); color: var(--text-muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.search-empty { padding: 32px 0; color: var(--text-muted); }
.search-empty__title { margin: 0 0 6px; color: var(--text); font-size: 1.25rem; font-weight: 700; }
.error-404__head { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px; max-width: 680px; margin: 0 auto 40px; text-align: center; }
.error-404__media { max-width: 100%; margin: 0; }
.error-404__image { display: block; width: auto; max-width: min(420px, 100%); height: auto; }
.error-404__title { margin: 0; }
.error-404__text { color: var(--text-muted); }
.error-404__text p { margin: 0; }
.error-404__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 18px; width: 100%; }
.error-404__actions .search-header__form { max-width: 460px; }
.error-404__home { font-weight: 600; }
@media (max-width: 600px) {
	.search-header__form .button-accent { padding-inline: 14px; }
	.error-404__actions .search-header__form { max-width: none; }
}

/* =========================================================
   v2.19.4 — Main-menu icons (inc/menu-icons.php)
   Body class manassa-nav-icons--inline | --stacked. Inline SVG only; the drawer (<=1024px) is always a row.
   ========================================================= */
.mn-ico { display: inline-flex; flex: none; opacity: .85; transition: opacity .2s, transform .2s; }
.mn-ico__svg { display: block; }
.manassa-nav-icons .main-navigation a { display: flex; align-items: center; gap: 8px; }
.manassa-nav-icons .main-navigation a:hover .mn-ico, .manassa-nav-icons .main-navigation .current-menu-item > a .mn-ico { opacity: 1; }
.manassa-nav-icons .main-navigation ul ul .mn-ico__svg { width: 16px; height: 16px; }
@media (min-width: 1025px) {
	.manassa-nav-icons--stacked .main-navigation > ul > li > a { flex-direction: column; justify-content: center; gap: 3px; padding-block: 8px; font-size: .78rem; text-align: center; }
	.manassa-nav-icons--stacked .main-navigation > ul > li > a .mn-ico__svg { width: 22px; height: 22px; }
	.manassa-nav-icons--stacked .main-navigation > ul > li > a:hover .mn-ico { transform: translateY(-2px); }
	.manassa-nav-icons--stacked .main-navigation > ul > li.menu-item-has-children > a { position: relative; }
}
@media (max-width: 1024px) {
	.manassa-nav-icons-nomobile .mn-ico { display: none; }
	.manassa-nav-icons .main-navigation > ul > li > a .mn-ico { color: var(--mm-accent, var(--accent)); }
}
/* Icon only (menu setting or per item): the name stays in the link — hidden, then shown as a tooltip on hover / keyboard focus.
   Desktop only; the drawer always shows the name. clip-path (not visibility) keeps it in the accessible name. */
@media (min-width: 1025px) {
	.main-navigation > ul > li.mn-icon-only > a { position: relative; padding-inline: 11px; }
	.main-navigation > ul > li.mn-icon-only > a .mn-ico { opacity: 1; }
	.main-navigation > ul > li.mn-icon-only > a .mn-ico__svg { width: 20px; height: 20px; }
	.manassa-nav-icons--stacked .main-navigation > ul > li.mn-icon-only > a .mn-ico__svg { width: 22px; height: 22px; }
	.main-navigation > ul > li.mn-icon-only > a .mn-txt {
		position: absolute; inset-block-start: calc(100% + 8px); left: 50%; transform: translate(-50%, -3px);
		padding: 5px 9px; border-radius: var(--radius-sm); background: var(--text); color: var(--surface);
		font-size: .75rem; font-weight: 600; line-height: 1.3; letter-spacing: normal; text-transform: none; white-space: nowrap;
		box-shadow: var(--shadow); pointer-events: none; z-index: 60;
		opacity: 0; clip-path: inset(50%); transition: opacity .15s, transform .15s;
	}
	.main-navigation > ul > li.mn-icon-only > a .mn-txt::before { content: ""; position: absolute; inset-block-end: 100%; left: 50%; margin-left: -5px; border: 5px solid transparent; border-block-end-color: var(--text); }
	.main-navigation > ul > li.mn-icon-only > a:hover .mn-txt,
	.main-navigation > ul > li.mn-icon-only > a:focus-visible .mn-txt { opacity: 1; clip-path: none; transform: translate(-50%, 0); }
	/* An open dropdown already names the item: no tooltip over it. */
	.main-navigation > ul > li.mn-icon-only.menu-item-has-children:hover > a .mn-txt { opacity: 0; clip-path: inset(50%); }
}
@media (prefers-reduced-motion: reduce) { .mn-ico, .mn-txt { transition: none; } }

/* =========================================================
   v2.20.1 — phones: menu button style and position
   (Header → Main Nav → "Phones: menu button …")
   ========================================================= */
.manassa-mtoggle-stagger .menu-toggle__bars { width: 20px; background: linear-gradient(currentColor, currentColor) 0 0 / 13px 100% no-repeat; }
[dir="rtl"] .manassa-mtoggle-stagger .menu-toggle__bars { background-position: 100% 0; }
.manassa-mtoggle-stagger .menu-toggle__bars::before { width: 20px; }
.manassa-mtoggle-stagger .menu-toggle__bars::after { width: 8px; }
.manassa-mtoggle-two .menu-toggle__bars { background: transparent; }
.manassa-mtoggle-two .menu-toggle__bars::before { inset-block-start: -4px; }
.manassa-mtoggle-two .menu-toggle__bars::after { inset-block-start: 4px; }
body.manassa-mtoggle-boxed .site-header button.menu-toggle { border: 1px solid var(--border); } /* outranks the "clean" reset of small controls */
.manassa-mtoggle-label .menu-toggle { width: auto; padding-inline: 10px; gap: 8px; grid-auto-flow: column; align-items: center; }
.manassa-mtoggle-label .menu-toggle__bars { margin: 0; }
.menu-toggle__label { font-size: .85rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
@media (max-width: 1024px) {
	/* Every header layout (classic row and stacked nav bar) uses the same order. */
	.menu-toggle { order: 1; }
	.site-branding, .site-header__brand-m { order: 2; margin-inline: auto; }
	.site-header__actions { order: 3; }
	.manassa-mtoggle-pos-after .site-branding, .manassa-mtoggle-pos-after .site-header__brand-m,
	.manassa-mtoggle-pos-end .site-branding, .manassa-mtoggle-pos-end .site-header__brand-m { order: 0; margin-inline: 0; text-align: start; }
	.manassa-mtoggle-pos-after .site-branding, .manassa-mtoggle-pos-end .site-branding { align-items: flex-start; } /* column flex: logo and title to the start edge */
	.manassa-mtoggle-pos-after .site-header .site-header__actions,
	.manassa-mtoggle-pos-end .site-header .site-header__actions { margin-inline-start: auto; }
	.manassa-mtoggle-pos-end .menu-toggle { order: 4; }
}

/* =========================================================
   v2.21.0 — spacing & alignment pass
   ========================================================= */
/* Homepage hero, side list (clean cards): text never touches its thumbnail. */
.manassa-cards-clean .magazine-hero__side .card-body { padding: 0; padding-inline-start: 14px; }
@media (max-width: 480px) { .manassa-cards-clean .magazine-hero__side .card-body { padding: 12px 0 0; } }

/* Footer: one rhythm for every column (contact rows = link rows), icons aligned with the text edge. */
.site-footer__blocks { row-gap: 32px; }
.site-footer__heading { line-height: 1.3; }
.site-footer__menu { gap: 10px; }
.site-footer__menu li, .site-footer__contact-list li { font-size: .95rem; line-height: 1.5; }
.site-footer__about .custom-logo { display: block; }
.site-footer__about-text p { margin: 0 0 .6em; }
.site-footer__about-text p:last-child { margin-block-end: 0; }
.manassa-cards-clean .site-footer .social-links--footer { margin-inline-start: -8px; } /* frameless 36px buttons: the glyph lines up with the text */
.footer-navigation ul { flex-wrap: wrap; row-gap: 6px; }

/* Article with the share rail (desktop): related posts and comments start where the text starts. */
@media (min-width: 1080px) {
	.manassa-post.has-share .manassa-related { padding-inline-start: 76px; } /* rail 48px + gap 28px */
	.site-main:has(.manassa-post.has-share) .entry-reading--comments { max-width: calc(var(--read) + 76px); padding-inline-start: 76px; }
}

/* =========================================================
   v3.0.0 — Colour scheme: Tabarany (Colors → Colour scheme)
   One palette for the whole site, for drtabarany.com: deep slate teal (identity: headings,
   menu, footer, dark sections) · warm off-white paper (surfaces) · calm teal links and
   buttons · soft gold for lines, icons and footer headings — quiet colours for a reading site.
   Gold is never text on white (2.2:1): icons, lines, or text on teal only.
   ========================================================= */
.manassa-scheme-tabarany {
	--tb-ink: #234B5E;
	--tb-ink-dark: #18343F;
	--tb-ink-light: #2F5D72;
	--tb-accent: #2F6F80;
	--tb-accent-dark: #255A68;
	--tb-gold: #CDB07A;
	--tb-gold-light: #DCC496;
	--tb-gold-soft: #F2EEE5;
	--tb-cream: #FAF8F3;
	--tb-border: #E2DCD0;
	--tb-text: #1F2A30;
	--tb-text-muted: #5C6B73;
	--tb-white: #FFFFFF;
	--tb-whatsapp: #25D366;
	/* roles (dark mode swaps these) */
	--tb-heading: var(--tb-ink);
	--tb-on-accent: #fff;
	--tb-accent-hover: var(--tb-accent-dark);
	--tb-bar: var(--tb-ink-dark);
	/* theme surfaces */
	--bg: var(--tb-cream);
	--bg-alt: var(--tb-gold-soft);
	--surface: var(--tb-white);
	--border: var(--tb-border);
	--text: var(--tb-text);
	--text-muted: var(--tb-text-muted);
}
:root[data-theme="dark"] .manassa-scheme-tabarany {
	--bg: #101b21; --bg-alt: #17262d; --surface: #132128; --border: #263a44;
	--text: #e6eef1; --text-muted: #a9bcc4;
	--tb-heading: #e6eef1; --tb-on-accent: var(--tb-ink-dark); --tb-accent-hover: var(--tb-gold-light); --tb-bar: #0b151a;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .manassa-scheme-tabarany {
		--bg: #101b21; --bg-alt: #17262d; --surface: #132128; --border: #263a44;
		--text: #e6eef1; --text-muted: #a9bcc4;
		--tb-heading: #e6eef1; --tb-on-accent: var(--tb-ink-dark); --tb-accent-hover: var(--tb-gold-light); --tb-bar: #0b151a;
	}
}

/* Headings: H1/H2 in deep teal, H3/H4 in body ink. */
.manassa-scheme-tabarany :is(h1, h2, .entry-title, .page-title, .section-title, .section-title a, .widget-title) { color: var(--tb-heading); }
.manassa-scheme-tabarany :is(h3, h4) { color: var(--text); }
.manassa-scheme-tabarany .section-title::before,
.manassa-scheme-tabarany .home-section.title-line .section-title::after,
.manassa-scheme-tabarany .widget-title::before { background: var(--tb-gold); }
.manassa-scheme-tabarany .entry-content a:hover { color: var(--tb-heading); }

/* Top bar: deep teal, white text, gold icons. */
.manassa-scheme-tabarany .manassa-topbar {
	--surface: var(--tb-bar); --bg-alt: rgba(255, 255, 255, .08); --border: rgba(255, 255, 255, .12);
	--text: #fff; --text-muted: rgba(255, 255, 255, .82); --accent: var(--tb-gold);
	background: var(--tb-bar); color: rgba(255, 255, 255, .86); border-block-end: 0;
}
.manassa-scheme-tabarany .manassa-topbar svg { color: var(--tb-gold); }

/* Main menu (desktop): white bar, near-black items, teal when active, 2px gold underline. The phone drawer keeps its own colours. */
@media (min-width: 1025px) {
	.manassa-scheme-tabarany .site-header .main-navigation > ul > li > a { color: var(--text); }
	.manassa-scheme-tabarany .site-header .main-navigation > ul > li > a:hover,
	.manassa-scheme-tabarany .site-header .main-navigation > ul > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a { color: var(--accent); background: transparent; }
	.manassa-scheme-tabarany .site-header .main-navigation > ul > li > a::after,
	.manassa-scheme-tabarany .lang-switcher .lang-switcher__toggle::after { background: var(--tb-gold); }
	.manassa-scheme-tabarany .site-header .main-navigation > ul > li:is(.current-menu-ancestor, .current-menu-parent) > a::after { transform: scaleX(1); }
	.manassa-scheme-tabarany .main-navigation ul ul a { color: var(--text); }
	.manassa-scheme-tabarany .main-navigation ul ul a:hover { background: var(--bg-alt); color: var(--tb-heading); }
}
.manassa-scheme-tabarany :is(.manassa-search-trigger, .manassa-dark-toggle, .manassa-tool, .menu-toggle) { color: var(--text); }
.manassa-scheme-tabarany .site-header { background: var(--surface); }

/* Buttons: teal, darker teal on hover; on dark surfaces gold with deep-teal text. */
.manassa-scheme-tabarany :is(.button-accent, .comment-form .submit, .search-form .search-submit, .manassa-newsletter__form button, .manassa-to-top, .pagination .page-numbers.current) { color: var(--tb-on-accent); }
.manassa-scheme-tabarany :is(.button-accent, .comment-form .submit, .search-form .search-submit, .manassa-newsletter__form button):hover { background: var(--tb-accent-hover); filter: none; color: var(--tb-on-accent); }
.manassa-scheme-tabarany .home-section.bg-image .button-accent,
.manassa-scheme-tabarany .section-surface.bg-image .button-accent { background: var(--tb-gold); color: var(--tb-ink-dark); }
.manassa-scheme-tabarany .home-section.bg-image .button-accent:hover,
.manassa-scheme-tabarany .section-surface.bg-image .button-accent:hover { background: var(--tb-gold-light); color: var(--tb-ink-dark); }

/* Badges (category / type): soft gold, teal text. */
.manassa-scheme-tabarany .cat-badge { background: var(--bg-alt); color: var(--accent); }
.manassa-scheme-tabarany .cat-badge:hover { background: var(--accent); color: var(--tb-on-accent); }

/* Forms: white fields, hairline border, teal focus. */
.manassa-scheme-tabarany :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select):focus { border-color: var(--tb-heading); outline-color: var(--tb-heading); }
.manassa-scheme-tabarany :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline-color: var(--tb-heading); }

/* Dark sections (CTA, testimonials): deep teal with white text and gold accents. */
.manassa-scheme-tabarany :is(.home-section.bg-dark, .section-surface.bg-dark, .home-section.scheme-dark, .section-surface.scheme-dark) {
	--bg: var(--tb-ink); --bg-alt: var(--tb-ink-light); --surface: var(--tb-ink-light); --border: rgba(255, 255, 255, .14);
	--text: #fff; --text-muted: #c5d5db; --accent: var(--tb-gold); --tb-heading: #fff; --tb-on-accent: var(--tb-ink-dark); --tb-accent-hover: var(--tb-gold-light);
}

/* Footer: teal body (from the scheme), gold headings, light links, deep-teal bottom bar. */
.manassa-scheme-tabarany .site-footer { --accent: var(--tb-gold); }
.manassa-scheme-tabarany.manassa-footer-line-accent .site-footer { border-block-start-color: var(--tb-gold); }
.manassa-scheme-tabarany .site-footer :is(.site-footer__heading, .widget-title, .site-footer__name) { color: var(--tb-gold); }
.manassa-scheme-tabarany .site-footer :is(.site-footer__menu a, .widget a, .site-footer__contact-list a) { color: #E6EEF1; }
.manassa-scheme-tabarany .site-footer :is(.site-footer__menu a, .widget a, .site-footer__contact-list a, .footer-navigation a):hover { color: var(--tb-gold); }
.manassa-scheme-tabarany .site-footer__bottom { background: var(--tb-bar); color: #B5C6CD; border-block-start-color: rgba(255, 255, 255, .1); --text-muted: #B5C6CD; }
.manassa-scheme-tabarany .site-footer__bottom :is(a, .site-info) { color: #B5C6CD; }

/* WhatsApp keeps its own teal. */
.manassa-scheme-tabarany :is(.social-links__item--whatsapp, .manassa-share__btn--whatsapp):hover { background: var(--tb-whatsapp); border-color: var(--tb-whatsapp); color: #fff; }

/* Dark mode without a dark-mode logo: the (dark calligraphy) logo sits on a small paper plate. */
:root[data-theme="dark"] .manassa-scheme-tabarany .custom-logo-link:not(.custom-logo-link--dark) img,
.manassa-scheme-tabarany .site-footer__about .custom-logo-link:not(.custom-logo-link--dark) img { background: #f3f1ec; padding: 4px 10px; border-radius: 6px; box-sizing: content-box; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .manassa-scheme-tabarany .custom-logo-link:not(.custom-logo-link--dark) img { background: #f3f1ec; padding: 4px 10px; border-radius: 6px; box-sizing: content-box; }
}

/* v2.22.1 — dark-mode contrast guard (assets/js/theme.js): a drop cap whose colour fails on its backdrop */
[data-mn-fl]::first-letter { color: var(--mn-fl) !important; }


/* v2.24.0 — Related articles: always clean, whatever the card style — the photograph, the title,
   nothing boxed around them (no white frame, border or shadow; no category badge). */
.manassa-related .post-card,
.manassa-related .post-card:hover { border: 0; background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
.manassa-related .card-thumb { border-radius: 0; } /* a photograph, not a card (as in the archive rows) */
.manassa-related .card-thumb img { transition: opacity .2s; }
.manassa-related .post-card:hover .card-thumb img { transform: none; opacity: .92; }
.manassa-related .card-body { padding: 12px 0 0; gap: 6px; }
.manassa-related .post-card--horizontal .card-body { padding: 0; padding-inline-start: 14px; }
.manassa-related .post-list .post-card + .post-card { border-block-start: 1px solid var(--border); padding-block-start: 14px; }
.manassa-related .card-title { font-size: 1.02rem; line-height: 1.4; }
.manassa-related .post-card--no-thumb { padding-block-start: 10px; }
.manassa-related .post-card--no-thumb .card-body { padding-block-start: 0; }
@media (prefers-reduced-motion: reduce) { .manassa-related .card-thumb img { transition: none; } }

/* =========================================================
   v3.0.0 — Content types: audio · video · gallery · book (inc/content-types.php)
   A quiet head above the text: the type in small capitals with its icon, the player or the
   grid, then details in a two-column list. Cards carry a small badge over the picture.
   ========================================================= */
.mn-media { margin: 0 0 28px; }
.mn-media__head { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: .82rem; font-weight: 700; color: var(--accent); }
.mn-media__head svg { flex: none; }
.mn-media--audio { padding: 22px 24px; border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(135deg, var(--surface), var(--bg-alt)); }
/* Cassette: the recording as a tape — the title on its label, reels that turn while it plays — and the
   controls beside it (under it on phones). Pure CSS; audio.js only adds .is-playing. */
.mn-cassette { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 24px 32px; align-items: center; }
.mn-cassette__tape { width: 100%; max-width: 320px; margin-inline: auto; }
.mn-cassette__shell { position: relative; aspect-ratio: 100 / 64; padding: 6% 6% 0; border-radius: 10px; background: linear-gradient(160deg, var(--tb-ink, #2b3f4a), var(--tb-ink-dark, #18343f)); box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 -2px 0 rgba(0, 0, 0, .25); color: var(--tb-ink-dark, #18343f); }
.mn-cassette__shell::before, .mn-cassette__shell::after { content: ""; position: absolute; top: 3.5%; width: 2.6%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .35), rgba(0, 0, 0, .35)); }
.mn-cassette__shell::before { left: 2.6%; }
.mn-cassette__shell::after { right: 2.6%; }
.mn-cassette__label { position: relative; height: 66%; padding: 5% 6% 0; border-radius: 6px 6px 3px 3px; background: var(--tb-cream, #faf8f3); border-block-start: 5px solid var(--tb-gold, #cdb07a); text-align: center; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.mn-cassette__name { display: block; font-family: var(--font-head); font-size: clamp(.78rem, .6rem + .6vw, .95rem); font-weight: 700; line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.mn-cassette__label small { display: block; margin-top: 2px; font-size: .68rem; color: var(--tb-muted, #5c6b73); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mn-cassette__window { position: absolute; left: 18%; right: 18%; bottom: 7%; height: 36%; display: flex; align-items: center; justify-content: space-between; padding: 0 5%; border-radius: 999px; background: #10191d; box-shadow: inset 0 2px 6px rgba(0, 0, 0, .6), 0 0 0 2px rgba(0, 0, 0, .08); }
.mn-cassette__reel { width: 30%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #eee8dc 0 23%, #2b3a42 24% 36%, #5b4636 37% 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); -webkit-mask: radial-gradient(circle, #000 0 36%, transparent 37%), repeating-conic-gradient(#000 0 15deg, transparent 15deg 30deg); mask: radial-gradient(circle, #000 0 36%, transparent 37%), repeating-conic-gradient(#000 0 15deg, transparent 15deg 30deg); -webkit-mask-composite: source-over; mask-composite: add; }
.mn-cassette__run { flex: 1 1 auto; height: 22%; margin: 0 4%; background: linear-gradient(to bottom, #2a211c, #4a3a30 50%, #2a211c); border-radius: 2px; }
.mn-cassette__foot { position: absolute; inset-inline: 22%; bottom: 0; height: 16%; display: flex; justify-content: space-between; align-items: flex-end; padding: 0 10% 3%; border-radius: 0 0 8px 8px; }
.mn-cassette__foot i { width: 7%; height: 42%; border-radius: 2px; background: rgba(0, 0, 0, .35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
.mn-cassette.is-playing .mn-cassette__reel { animation: mn-spin 2.6s linear infinite; }
@keyframes mn-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .mn-cassette.is-playing .mn-cassette__reel { animation: none; } }
.mn-cassette__panel { min-width: 0; }
.mn-cassette__panel .mn-media__head { margin-bottom: 10px; }
.mn-cassette__panel .mn-media__details { margin: 0 0 16px; padding: 0; border: 0; font-size: .9rem; }
@media (max-width: 680px) {
	.mn-media--audio { padding: 20px 18px; }
	.mn-media__download { flex: 1 1 auto; }
	.mn-cassette { grid-template-columns: 1fr; gap: 18px; }
	.mn-cassette__tape { max-width: 300px; }
}
/* Player: native <audio> until audio.js takes over (is-ready), then play button · seek bar · tools. */
.mn-player audio { display: block; width: 100%; accent-color: var(--accent); }
.mn-player.is-ready audio { display: none; }
.mn-player.is-ready { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; }
.mn-player__play, .mn-player__skip, .mn-player__speed { display: none; }
.mn-player.is-ready :is(.mn-player__play, .mn-player__skip, .mn-player__speed) { display: inline-flex; align-items: center; justify-content: center; }
.mn-player__play { width: 56px; height: 56px; border: 0; border-radius: 50%; background: var(--accent); color: #fff; cursor: pointer; flex: none; transition: transform .15s, filter .15s; }
.mn-player__play:hover { filter: brightness(1.08); transform: scale(1.04); }
.mn-player__play:focus-visible { outline: 3px solid var(--tb-gold, var(--accent)); outline-offset: 2px; }
.mn-player__ico-pause, .is-playing .mn-player__ico-play { display: none; }
.is-playing .mn-player__ico-pause { display: inline-flex; }
.is-waiting .mn-player__play { animation: mn-pulse 1s ease-in-out infinite; }
@keyframes mn-pulse { 50% { opacity: .6; } }
.mn-player__body { display: none; min-width: 0; }
.mn-player.is-ready .mn-player__body { display: block; }
.mn-player__seek { --p: 0%; width: 100%; height: 6px; margin: 8px 0 6px; appearance: none; -webkit-appearance: none; background: linear-gradient(to right, var(--accent) var(--p), var(--border) var(--p)); border-radius: 999px; cursor: pointer; }
[dir="rtl"] .mn-player__seek { background: linear-gradient(to left, var(--accent) var(--p), var(--border) var(--p)); }
.mn-player__seek::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--surface); border: 3px solid var(--accent); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.mn-player__seek::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--surface); border: 3px solid var(--accent); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.mn-player__times { display: flex; justify-content: space-between; font-size: .82rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.mn-player__tools { display: flex; gap: 6px; align-items: center; }
.mn-player__skip, .mn-player__speed { position: relative; min-width: 40px; height: 40px; padding: 0 8px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 700; }
.mn-player__skip span { position: absolute; font-size: .55rem; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -40%); }
[dir="rtl"] .mn-player__skip span { transform: translate(50%, -40%); }
.mn-player__skip:hover, .mn-player__speed:hover { background: var(--bg-alt); }
.mn-player__speed { min-width: 48px; border: 1px solid var(--border); }
@media (max-width: 560px) {
	.mn-player.is-ready { grid-template-columns: auto minmax(0, 1fr); }
	.mn-player__tools { grid-column: 1 / -1; justify-content: center; }
}
.mn-media__details { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px 24px; margin: 14px 0 0; padding: 12px 0 0; border-block-start: 1px solid var(--border); font-size: .92rem; }
.mn-media__details > div { display: flex; gap: 8px; align-items: baseline; min-width: 0; }
.mn-media__details dt { color: var(--text-muted); flex: none; }
.mn-media__details dt::after { content: ":"; }
.mn-media__details dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.mn-media__actions { display: flex; margin: 16px 0 0; }
.mn-media__download { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 20px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text); font-weight: 600; font-size: .95rem; text-decoration: none; }
.mn-media__download:hover { border-color: var(--accent); color: var(--accent); }
/* Buttons printed inside the article keep their own colours (the content link rules would underline / recolour them). */
.entry-content :is(.mn-book__actions, .mn-media__actions) a { text-decoration: none; }
.entry-content a.button-accent:hover { color: #fff; }
.entry-content a.mn-book__download:hover, .entry-content a.mn-media__download:hover { color: var(--accent); }
.entry-content a.mn-book__download.is-done:hover { color: #fff; }
.mn-media__download::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat; }
.mn-media--video .manassa-playlist { margin: 0; }
.mn-media--video .mn-media__details { padding-inline: 2px; }
.mn-media--gallery .manassa-gallery { margin: 0; }

/* A series: the episodes under the player — number, title, a small download arrow; the current one in colour. */
.mn-player__now { margin: 0 0 4px; font-size: .92rem; font-weight: 700; color: var(--tb-ink, var(--text)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mn-episodes { list-style: none !important; margin: 16px 0 0; padding: 0; border-block-start: 1px solid var(--border); max-height: 280px; overflow: auto; }
.mn-episodes li { display: flex; align-items: center; gap: 6px; border-block-end: 1px dashed var(--border); }
.mn-episodes li::marker { content: ""; }
.mn-episode { flex: 1 1 auto; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 44px; padding: 6px 4px; border: 0; background: transparent; color: var(--text); font: inherit; font-size: .95rem; text-align: start; cursor: pointer; }
.mn-episode:hover { color: var(--accent); }
.mn-episode__n { flex: none; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--bg-alt); font-size: .78rem; font-weight: 700; color: var(--text-muted); }
.mn-episode__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mn-episode.is-current { color: var(--accent); font-weight: 700; }
.mn-episode.is-current .mn-episode__n { background: var(--accent); color: #fff; }
.mn-cassette.is-playing .mn-episode.is-current .mn-episode__n { animation: mn-pulse 1.2s ease-in-out infinite; }
.mn-episode__dl { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: var(--radius-sm); color: var(--text-muted); }
.mn-episode__dl::before { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat; }
.mn-episode__dl:hover { color: var(--accent); background: var(--bg-alt); }

/* Visitor sort on book pages: two pills above the grid. */
.mn-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; }
.mn-sort__label { font-size: .88rem; color: var(--text-muted); margin-inline-end: 4px; }
.mn-sort__opt { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 16px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text); font-size: .9rem; font-weight: 600; text-decoration: none; }
.mn-sort__opt:hover { border-color: var(--accent); color: var(--accent); }
.mn-sort__opt.is-on { background: var(--accent); border-color: var(--accent); color: #fff; }
/* Two groups (publication · author's death), each with its two directions as joined pills. */
.mn-sort__group { display: inline-flex; align-items: center; gap: 0; margin-inline-end: 10px; }
.mn-sort__name { font-size: .85rem; font-weight: 600; color: var(--text-muted); margin-inline-end: 8px; }
.mn-sort__group .mn-sort__opt { gap: 6px; padding: 4px 14px; border-radius: 0; margin-inline-start: -1px; }
.mn-sort__group .mn-sort__opt:first-of-type { border-start-start-radius: 999px; border-end-start-radius: 999px; margin-inline-start: 0; }
.mn-sort__group .mn-sort__opt:last-of-type { border-start-end-radius: 999px; border-end-end-radius: 999px; }
.mn-sort__group .mn-sort__opt.is-on { position: relative; z-index: 1; }
.mn-sort__opt svg { flex: none; }
@media (max-width: 600px) { .mn-sort__label { flex-basis: 100%; } .mn-sort__group { margin-inline-end: 0; } }
/* Year of printing on book covers: a quiet pill in the lower corner, beside the "book" badge above. */
.card-thumb .card-year { position: absolute; inset-block-end: 10px; inset-inline-start: 10px; z-index: 1; padding: 2px 8px; border-radius: var(--radius-xs, 2px); background: rgba(250, 248, 243, .88); color: var(--tb-ink, #1f2a30); font-size: .7rem; font-weight: 700; line-height: 1.5; letter-spacing: 0; backdrop-filter: blur(4px); font-variant-numeric: tabular-nums; }
.card-body > .card-year { display: none; }

/* Book card: the cover as a volume (no frame: a spine, page edges, a soft shadow), the title, a byline
   (author · editor), one labelled line per fact, the reader buttons and the download button. */
.mn-book { display: grid; gap: 26px 32px; margin: 0 0 28px; padding: 28px 30px; border-radius: var(--radius); background: linear-gradient(135deg, var(--surface), var(--bg-alt)); border: 1px solid var(--border); }
.mn-book.has-cover { grid-template-columns: minmax(160px, 220px) 1fr; align-items: start; }
.mn-book__cover { margin: 0; padding: 14px 10px 22px; perspective: 1400px; }
.mn-book__volume { position: relative; transform: rotateY(-14deg) rotateX(2deg); transform-origin: right center; transform-style: preserve-3d; transition: transform .45s ease; }
.rtl .mn-book__volume, [dir="rtl"] .mn-book__volume { transform: rotateY(14deg) rotateX(2deg); transform-origin: right center; }
.mn-book__cover:hover .mn-book__volume { transform: rotateY(0) rotateX(0); }
.mn-book__volume img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: top center; border-radius: 2px 6px 6px 2px; box-shadow: 0 24px 36px -18px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .12); }
[dir="rtl"] .mn-book__volume img { border-radius: 6px 2px 2px 6px; }
/* spine: a darker fold along the bound edge (right in Arabic books) */
.mn-book__volume::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 7%; border-radius: 6px 0 0 6px; background: linear-gradient(to left, rgba(0, 0, 0, .28), rgba(0, 0, 0, .05) 45%, rgba(255, 255, 255, .25) 70%, rgba(0, 0, 0, .12)); pointer-events: none; }
/* page edges along the opening side */
.mn-book__volume::after { content: ""; position: absolute; inset-block: 4px 3px; inset-inline-end: -6px; width: 6px; border-radius: 0 2px 2px 0; background: repeating-linear-gradient(to bottom, #f6f2ea 0 2px, #d9d2c4 2px 3px); box-shadow: 1px 0 2px rgba(0, 0, 0, .15); transform: translateZ(-1px); }
.mn-book__label { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 4px 12px; border-radius: 999px; background: color-mix(in srgb, var(--tb-gold, var(--accent)) 14%, var(--surface)); border: 1px solid color-mix(in srgb, var(--tb-gold, var(--accent)) 55%, transparent); color: var(--tb-ink, var(--text)); font-size: .8rem; font-weight: 700; }
.mn-book__label svg { color: var(--tb-gold, var(--accent)); }
.mn-book__title { margin: 2px 0 0; font-family: var(--font-head); font-size: clamp(1.3rem, 1.05rem + 1vw, 1.8rem); line-height: 1.4; font-weight: 700; color: var(--tb-ink, var(--text)); }
.mn-book__facts { margin: 14px 0 0; border-block-start: 1px solid var(--border); }
.mn-book__row { display: flex; flex-wrap: wrap; gap: 0 28px; border-block-end: 1px dashed var(--border); }
.mn-book__row:last-child { border-block-end: 0; }
.mn-book__fact { flex: 1 1 auto; display: flex; align-items: baseline; gap: 12px; padding: 9px 0; min-width: 0; }
.mn-book__fact.is-num { flex-grow: 0; }
.mn-book__fact.is-num b { white-space: nowrap; }
.mn-book__fact span { flex: none; font-size: .82rem; color: var(--text-muted); }
.mn-book__fact:only-child span { min-width: 5.5em; }
.mn-book__fact b { font-size: .95rem; font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.mn-book__fact.is-num b { font-size: .92rem; }
.mn-book__fact.is-who b { font-size: 1.05rem; font-weight: 700; color: var(--tb-ink, var(--text)); }
.mn-book__fact.is-who span { color: var(--accent); font-weight: 600; }
.mn-book__fact b small { font-size: .8rem; font-weight: 500; color: var(--text-muted); white-space: nowrap; }
/* Nothing to open: a quiet line where the buttons would be. */
.mn-book__na { grid-column: 1 / -1; margin: 0; padding-block-start: 18px; border-block-start: 1px solid var(--border); text-align: center; font-size: .92rem; color: var(--text-muted); }
/* The cover is the way in: a button around the picture, nothing else changes. */
.mn-book__cover-btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; }
.mn-book__cover-btn:focus-visible { outline: 3px solid var(--tb-gold, var(--accent)); outline-offset: 4px; border-radius: 4px; }
/* Buttons: one centred row under the whole card, the two sharing it; each on its own line on phones. */
.mn-book__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 16px; margin: 0; padding-block-start: 22px; border-block-start: 1px solid var(--border); }
.mn-book__actions > * { flex: 1 1 220px; max-width: 320px; min-height: 50px; padding: 10px 22px; font-size: 1rem; border-radius: var(--radius-sm); }
.mn-book__read { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.mn-book__read svg { flex: none; }
/* Download: a quiet outlined button that fills with colour for a few seconds, then hands the file over. */
.mn-book__download { position: relative; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); color: var(--text); font-weight: 700; text-decoration: none; overflow: hidden; isolation: isolate; --wait: 6000ms; }
.mn-book__download:hover { border-color: var(--accent); color: var(--accent); }
.mn-book__download-fill { position: absolute; inset: 0; width: 0; background: color-mix(in srgb, var(--accent) 22%, transparent); z-index: -1; }
.mn-book__download-label::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-inline-end: 8px; vertical-align: -2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat; }
.mn-book__download-wait { display: none; }
.mn-book__download.is-filling { color: var(--text); border-color: var(--accent); pointer-events: none; }
.mn-book__download.is-filling .mn-book__download-fill { animation: mn-fill var(--wait) linear forwards; }
.mn-book__download.is-filling .mn-book__download-label { display: none; }
.mn-book__download.is-filling .mn-book__download-wait { display: inline; }
.mn-book__download.is-done { color: #fff; border-color: var(--accent); }
.mn-book__download.is-done .mn-book__download-fill { width: 100%; background: var(--accent); }
@keyframes mn-fill { from { width: 0; } to { width: 100%; } }
@media (max-width: 600px) {
	.mn-book { padding: 22px 18px; gap: 22px; }
	.mn-book.has-cover { grid-template-columns: 1fr; }
	.mn-book .mn-book__cover { max-width: 200px; margin-inline: auto; padding-block: 10px 18px; }
	.mn-book__title { text-align: center; }
	.mn-book__label { display: flex; width: max-content; margin-inline: auto; }
	.mn-book__actions > * { flex-basis: 100%; max-width: none; }
}
@media (max-width: 480px) {
	.mn-book__row { flex-direction: column; }
	.mn-book__fact span { min-width: 5.5em; }
	.mn-book__row .mn-book__fact + .mn-book__fact { border-block-start: 1px dashed var(--border); }
}

/* In-page reader: a panel under the book card — toolbar, then the scroll view or the flipbook. */
.mn-reader { margin: -8px 0 28px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-alt); overflow: hidden; }
.mn-reader[hidden] { display: none; }
.mn-reader:focus { outline: none; }
.mn-reader__bar { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--surface); border-block-end: 1px solid var(--border); }
.mn-reader__title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; font-size: .95rem; color: var(--tb-ink, var(--text)); }
.mn-reader__page { font-variant-numeric: tabular-nums; font-size: .9rem; color: var(--text-muted); white-space: nowrap; }
.mn-reader__cur, .mn-reader__tot { direction: ltr; unicode-bidi: isolate; }
.mn-reader__tools { display: flex; align-items: center; gap: 2px; }
.mn-reader__tools button { display: inline-flex; align-items: center; gap: 6px; min-width: 38px; height: 38px; padding: 0 10px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.mn-reader__tools button:hover { background: var(--bg-alt); }
.mn-reader__modes { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--bg-alt); border: 1px solid var(--border); margin-inline-end: 6px; }
.mn-reader__modes .mn-reader__mode { height: 32px; min-width: 0; padding: 0 12px; border-radius: 999px; font-size: .82rem; }
.mn-reader__modes .mn-reader__mode:hover { background: var(--surface); }
.mn-reader__modes .mn-reader__mode[aria-pressed="true"] { background: var(--accent); color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .18); }
.mn-reader:fullscreen .mn-reader__modes { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .12); }
.mn-reader:fullscreen .mn-reader__modes .mn-reader__mode:hover { background: rgba(255, 255, 255, .12); }
.mn-reader__nav, .mn-reader__close { font-size: 1.5rem; line-height: 1; }
.mn-reader__stage { position: relative; }
.mn-reader:not(.is-book) .mn-reader__stage { max-height: 82vh; overflow: auto; overscroll-behavior: contain; }
.mn-reader__scroll { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 12px; }
.mn-reader__slot { background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); }
.mn-reader__slot canvas { display: block; }
.mn-reader__status { position: absolute; inset-inline: 0; inset-block-start: 40%; margin: 0; text-align: center; color: var(--text-muted); }
.mn-reader__status a { color: var(--accent); text-decoration: underline; }
.mn-reader__book { padding: 22px 8px 26px; overflow: hidden; }
.mn-reader:not(.is-book) .mn-reader__stage { min-height: 160px; }
.mn-reader.is-book .mn-reader__stage { min-height: 200px; }
/* full screen: dark room, the book fills the window */
.mn-reader:fullscreen { background: #22262a; border: 0; border-radius: 0; display: flex; flex-direction: column; }
.mn-reader:fullscreen .mn-reader__bar { background: #1b1f22; border-color: rgba(255, 255, 255, .08); color: #f3f4f6; }
.mn-reader:fullscreen .mn-reader__title, .mn-reader:fullscreen .mn-reader__page, .mn-reader:fullscreen .mn-reader__tools button { color: #e5e7eb; }
.mn-reader:fullscreen .mn-reader__tools button:hover { background: rgba(255, 255, 255, .1); }
.mn-reader:fullscreen .mn-reader__stage { flex: 1 1 auto; min-height: 0; max-height: none; overflow: auto; display: flex; align-items: center; justify-content: center; }
.mn-reader:fullscreen:not(.is-book) .mn-reader__stage { display: block; }

/* Flipbook: the spread on a dark board (page edges showing on both sides); each sheet has two
   faces and turns over the spine. The empty side at the start / end is the inside of the cover. */
.mn-reader__scroll[hidden], .mn-reader__book[hidden] { display: none; }
.mn-board { position: relative; width: max-content; max-width: 100%; margin: 0 auto; padding: 10px 18px; border-radius: 8px; background: linear-gradient(135deg, #3b3129, #221b17); box-shadow: 0 30px 50px -26px rgba(0, 0, 0, .65), inset 0 0 0 1px rgba(255, 255, 255, .06); }
.mn-board::before, .mn-board::after { content: ""; position: absolute; inset-block: 13px; width: 9px; background: repeating-linear-gradient(to bottom, #f4efe6 0 1px, #d2c9b8 1px 2px, #ebe5d9 2px 3px); opacity: .9; }
.mn-board::before { left: 8px; border-radius: 2px 0 0 2px; }
.mn-board::after { right: 8px; border-radius: 0 2px 2px 0; }
.mn-flip { position: relative; width: calc(var(--w) * 2); height: var(--h); perspective: 2600px; background: #efe9dc; }
.mn-flip.is-single { width: var(--w); overflow: hidden; }
.mn-flip::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, #f2ede2, #e4ddcd); pointer-events: none; }
.mn-flip::after { content: ""; position: absolute; inset-block: 0; left: 50%; width: 40px; transform: translateX(-50%); background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, .18) 50%, rgba(0, 0, 0, 0)); pointer-events: none; z-index: 250; }
.mn-flip.is-single::after { display: none; }
.mn-sheet { position: absolute; top: 0; width: var(--w); height: var(--h); transform-style: preserve-3d; transition: transform .95s cubic-bezier(.33, .08, .22, 1); cursor: pointer; }
.mn-sheet.is-moving { will-change: transform; }
/* RTL (Arabic): unread sheets wait on the left; a sheet turns over its right edge to the right. */
.rtl .mn-sheet, [dir="rtl"] .mn-sheet { left: 0; transform-origin: right center; }
.rtl .mn-sheet.is-turned, [dir="rtl"] .mn-sheet.is-turned { transform: rotateY(180deg); }
/* LTR: unread sheets wait on the right; a sheet turns over its left edge to the left. */
html:not(.rtl):not([dir="rtl"]) .mn-sheet { left: var(--w); transform-origin: left center; }
html:not(.rtl):not([dir="rtl"]) .mn-sheet.is-turned { transform: rotateY(-180deg); }
.mn-flip.is-single .mn-sheet { left: 0; }
.mn-face { position: absolute; inset: 0; background: #fff; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .04); }
.mn-face--back { transform: rotateY(180deg); }
.mn-face.is-blank { background: linear-gradient(135deg, #f2ede2, #e4ddcd); }
.mn-face canvas { display: block; }
/* paper shading: a soft shadow toward the spine, stronger while the sheet moves */
.mn-face::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55; transition: opacity .45s; }
.rtl .mn-face--front::after, [dir="rtl"] .mn-face--front::after { background: linear-gradient(to left, rgba(0, 0, 0, .16), rgba(0, 0, 0, 0) 24%); }
.rtl .mn-face--back::after, [dir="rtl"] .mn-face--back::after { background: linear-gradient(to right, rgba(0, 0, 0, .16), rgba(0, 0, 0, 0) 24%); }
html:not(.rtl):not([dir="rtl"]) .mn-face--front::after { background: linear-gradient(to right, rgba(0, 0, 0, .16), rgba(0, 0, 0, 0) 24%); }
html:not(.rtl):not([dir="rtl"]) .mn-face--back::after { background: linear-gradient(to left, rgba(0, 0, 0, .16), rgba(0, 0, 0, 0) 24%); }
.mn-sheet.is-moving .mn-face::after { opacity: 1; }
.mn-sheet.is-moving .mn-face { box-shadow: 0 14px 28px -10px rgba(0, 0, 0, .45); }
.mn-flip.is-single .mn-face::after { display: none; }
@media (max-width: 600px) { .mn-board { padding: 8px 12px; } .mn-board::before, .mn-board::after { width: 6px; inset-block: 10px; } .mn-board::before { left: 5px; } .mn-board::after { right: 5px; } }
@media (prefers-reduced-motion: reduce) { .mn-sheet { transition: none; } }
@media (max-width: 600px) {
	.mn-reader__title { display: none; }
	.mn-reader__modes .mn-reader__mode { padding: 0 10px; }
	.mn-reader__bar { gap: 4px; padding: 6px 8px; }
	.mn-reader__book { padding: 14px 6px 18px; }
}

/* Card badge: over the picture (or with the text when there is none). */
.card-type { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: var(--radius-xs, 2px); background: rgba(16, 27, 33, .72); color: #fff; font-size: .7rem; font-weight: 700; line-height: 1.4; backdrop-filter: blur(4px); }
.card-type small { font-weight: 500; opacity: .85; }
.card-type small::before { content: "·"; margin-inline-end: 5px; }
.card-thumb { position: relative; }
.card-thumb .card-type { position: absolute; inset-block-start: 10px; inset-inline-start: 10px; z-index: 1; }
.card-body > .card-type { align-self: flex-start; background: var(--bg-alt); color: var(--accent); margin-block-end: 6px; }
.post-card--overlay .card-thumb .card-type { inset-block-start: auto; inset-block-end: 10px; }

/* =========================================================
   v3.0.0 — Author intro block (portrait beside a welcome) + "Gold rule" heading style
   + one rhythm for every homepage section of the Tabarany scheme.
   ========================================================= */
.mn-intro { --mn-photo: clamp(220px, 22vw, 300px); position: relative; display: grid; grid-template-columns: var(--mn-photo) minmax(0, 1fr); align-items: center; gap: clamp(28px, 4vw, 56px); width: 100%; max-width: 1080px; margin-inline: auto; padding: clamp(24px, 3.5vw, 44px) clamp(20px, 4vw, 48px); border-radius: var(--radius); overflow: hidden;
	background: radial-gradient(60% 70% at 100% 0%, color-mix(in srgb, var(--tb-gold, var(--accent)) 16%, transparent), transparent 70%), radial-gradient(45% 60% at 0% 100%, color-mix(in srgb, var(--tb-gold, var(--accent)) 10%, transparent), transparent 70%), var(--surface); }
.mn-intro.img-end { grid-template-columns: minmax(0, 1fr) var(--mn-photo); }
.mn-intro.img-end .mn-intro__photo { order: 2; }
.mn-intro.no-image { grid-template-columns: minmax(0, 1fr); }
.mn-intro::after { content: ""; position: absolute; inset-block-start: 18px; inset-inline-end: 22px; width: 10px; height: 10px; background: var(--tb-gold, var(--accent)); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); opacity: .7; }
.mn-intro__photo { position: relative; margin: 10px; }
.mn-intro__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: top center; border-radius: var(--radius); outline: 3px solid var(--tb-gold, var(--accent)); outline-offset: 0; }
.mn-intro__photo::before { content: ""; position: absolute; inset: -10px; border: 1.5px dashed color-mix(in srgb, var(--tb-gold, var(--accent)) 70%, transparent); border-radius: calc(var(--radius) + 8px); pointer-events: none; }
.mn-intro__photo::after { content: ""; position: absolute; inset-block-start: -14px; inset-inline-start: -14px; width: 9px; height: 9px; background: var(--tb-gold, var(--accent)); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.mn-intro__body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.mn-intro__eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 5px 16px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--tb-gold, var(--accent)) 55%, transparent); background: color-mix(in srgb, var(--tb-gold, var(--accent)) 12%, var(--surface)); color: var(--tb-ink, var(--text)); font-size: .85rem; font-weight: 700; }
.mn-intro__eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--tb-gold, var(--accent)); }
.mn-intro__title { margin: 16px 0 0; font-family: var(--font-head); font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); line-height: 1.3; font-weight: 700; color: var(--tb-ink, var(--text)); text-wrap: balance; }
.mn-intro__rule { display: flex; align-items: center; gap: 8px; margin: 16px 0 14px; }
.mn-intro__rule::before { content: ""; width: 64px; height: 1.5px; background: var(--tb-gold, var(--accent)); }
.mn-intro__rule::after { content: ""; width: 7px; height: 7px; background: var(--tb-gold, var(--accent)); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.mn-intro__text { font-size: 1.08rem; line-height: 1.9; color: var(--text); }
.mn-intro__text p { margin: 0; max-width: 42ch; }
.mn-intro__text p:first-child { font-family: var(--font-head); font-weight: 700; color: var(--tb-ink, var(--text)); font-size: 1.18rem; }
.mn-intro__btn { margin-block-start: 22px; }
/* Entrance: the welcome rises in, one line after the other, once, gently (0.6 s each, 0.1 s apart); the
   portrait settles in beside it. Off for visitors who asked for less motion. */
@keyframes mn-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes mn-settle { from { opacity: 0; transform: scale(.97) translateY(8px); } to { opacity: 1; transform: none; } }
.mn-intro__eyebrow, .mn-intro__title, .mn-intro__rule, .mn-intro__text, .mn-intro__btn { animation: mn-rise .6s cubic-bezier(.2, .7, .2, 1) both; }
.mn-intro__title { animation-delay: .1s; }
.mn-intro__rule { animation-delay: .2s; }
.mn-intro__text { animation-delay: .3s; }
.mn-intro__btn { animation-delay: .4s; }
.mn-intro__photo { animation: mn-settle .8s cubic-bezier(.2, .7, .2, 1) both; animation-delay: .15s; }
@media (prefers-reduced-motion: reduce) { .mn-intro__eyebrow, .mn-intro__title, .mn-intro__rule, .mn-intro__text, .mn-intro__btn, .mn-intro__photo { animation: none; } }
/* The welcome continues the white header: no gap, no card — one white band under the menu, a gold hairline closing it. */
.manassa-scheme-tabarany .site-main--built > .home-section--intro:first-child { padding-block: 0; margin-block-start: calc(-1 * var(--gap)); background: radial-gradient(40% 80% at 100% 0%, color-mix(in srgb, var(--tb-gold, var(--accent)) 12%, transparent), transparent 70%) var(--surface); border-block-end: 1px solid var(--border); }
.manassa-scheme-tabarany .site-main--built > .home-section--intro:first-child .mn-intro { border-radius: 0; border: 0; box-shadow: none; padding-inline: 0; padding-block: clamp(28px, 4vw, 48px); background: transparent; overflow: visible; }
.manassa-scheme-tabarany .site-main--built > .home-section--intro:first-child .mn-intro::after { display: none; }
@media (max-width: 820px) {
	.mn-intro, .mn-intro.img-end { grid-template-columns: 1fr; text-align: center; gap: 28px; }
	.mn-intro.img-end .mn-intro__photo { order: 0; }
	.mn-intro__photo { width: min(200px, 60vw); margin: 10px auto 4px; }
	.mn-intro__title { font-size: clamp(1.7rem, 1.2rem + 3vw, 2.2rem); }
	.mn-intro__body { align-items: center; }
	.mn-intro__text p { max-width: none; }
}
.home-section.is-full .mn-intro { border-radius: 0; }

/* Heading style "Gold rule": the title with a short gold bar under it, the "view all" link as a quiet pill. */
.home-section.title-rule .section-head { align-items: end; margin-block-end: 22px; }
.home-section.title-rule .section-title { padding-inline-start: 0; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.35; }
.home-section.title-rule .section-title::before { display: none; }
.home-section.title-rule .section-title::after { content: ""; display: block; width: 44px; height: 3px; margin-block-start: 8px; border-radius: 2px; background: var(--tb-gold, var(--accent)); }
.home-section.title-rule .section-more { font-size: .85rem; font-weight: 600; padding: 6px 14px; border: 1px solid var(--border); border-radius: 999px; color: var(--accent); text-decoration: none; align-self: start; }
.home-section.title-rule .section-more:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.home-section.title-rule .section-desc { grid-column: 1; }

/* Tabarany scheme: every built section shares one rhythm — the same vertical padding whether it has
   a background or not, the same heading height and gap below it. Backgrounds reach the page edges. */
.manassa-scheme-tabarany .site-main--built > .home-section { padding-block: clamp(30px, 4vw, 48px); }
.manassa-scheme-tabarany .site-main--built > .home-section + .home-section:not(.has-bg) { padding-block-start: 0; }
.manassa-scheme-tabarany .site-main--built > .home-section.has-bg + .home-section { padding-block-start: clamp(30px, 4vw, 48px); }
.manassa-scheme-tabarany .site-main--built > .home-section.has-bg { padding-block: clamp(28px, 3.6vw, 44px); }
/* After the welcome band the next section keeps its top padding (this line must follow the "+ .home-section:not(.has-bg)" reset above, same specificity). */
.manassa-scheme-tabarany .site-main--built > .home-section--intro:first-child + .home-section:not(.has-bg) { padding-block-start: clamp(30px, 4vw, 48px); }
.manassa-scheme-tabarany .site-main--built > .home-section.has-bg { background: var(--bg-alt); }
/* Section-page hero (a compact dark banner): no double padding, no stray margin under the text. */
.manassa-scheme-tabarany .site-main--built > .home-section.is-compact.has-bg { padding-block: clamp(10px, 2vw, 18px); }
.home-section.is-compact .manassa-banner { padding-block: clamp(26px, 4vw, 44px); }
.manassa-banner__text > :last-child { margin-block-end: 0; }
.manassa-scheme-tabarany .site-main--built .section-head { min-height: 0; }
.manassa-scheme-tabarany .site-main--built .section-head .section-more { align-self: center; }
/* "Line" heading style in this scheme: a hairline, not a bar, and the gold mark under the words only. */
.manassa-scheme-tabarany .home-section.title-line .section-head { border-block-end: 0; padding-block-end: 0; margin-block-end: 22px; }
.manassa-scheme-tabarany .home-section.title-line .section-title { font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.35; }
.manassa-scheme-tabarany .home-section.title-line .section-title::after { width: 44px; height: 3px; inset-block-end: -11px; border-radius: 2px; background: var(--tb-gold, var(--accent)); }
.manassa-scheme-tabarany .home-row .home-section.has-bg { padding: clamp(20px, 3vw, 32px); border-radius: var(--radius); }
.manassa-scheme-tabarany .site-main--built > .home-section--intro { padding-block-start: clamp(20px, 3vw, 32px); }

/* Bookshelf carousel (a slider limited to books): portrait covers, title under, quiet card. */
.manassa-slider--book .post-card { background: transparent; border: 0; box-shadow: none; }
.manassa-slider--book .card-thumb { aspect-ratio: 3 / 4; border-radius: var(--radius-sm); overflow: hidden; box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .5); }
.manassa-slider--book .card-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.manassa-slider--book .card-body { padding: 12px 2px 0; }
.manassa-slider--book .card-title { font-size: 1rem; line-height: 1.5; }
@media (max-width: 600px) { .manassa-slider.manassa-slider--book { --per-eff: 2; } .manassa-slider--book .card-title { font-size: .9rem; } }

/* Inline play (audio posts in lists and cards): a round button with the duration beside it. */
.mn-play-row { display: inline-flex; align-items: center; gap: 10px; margin: 2px 0 4px; }
.mn-play { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--accent); color: #fff; cursor: pointer; flex: none; transition: transform .15s, filter .15s; }
.mn-play:hover { filter: brightness(1.08); transform: scale(1.05); }
.mn-play:focus-visible { outline: 3px solid var(--tb-gold, var(--accent)); outline-offset: 2px; }
.mn-play .mn-play__q, .mn-play.is-playing .mn-play__p { display: none; }
.mn-play.is-playing .mn-play__q { display: block; }
.mn-play.is-playing { background: var(--tb-ink, var(--text)); }
.mn-play-row__dur { font-size: .82rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }

/* Audio lectures list (a list block limited to audio): numbered rows on a soft panel, play button first. */
.post-list--audio { gap: 8px; }
.post-list--audio .post-card--horizontal { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 14px; padding: 12px 14px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); transition: border-color .15s, box-shadow .15s; }
.post-list--audio .post-card--horizontal:hover { border-color: var(--tb-gold, var(--accent)); box-shadow: 0 6px 18px -12px rgba(0, 0, 0, .35); }
.post-list--audio .post-card--horizontal .card-thumb { display: none; }
.post-list--audio .card-body { padding: 0; gap: 4px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px; }
.post-list--audio .card-body .mn-play-row { grid-row: 1 / span 2; margin: 0; flex-direction: column; gap: 2px; }
.post-list--audio .card-body .card-title { grid-column: 2; font-size: 1rem; line-height: 1.5; }
.post-list--audio .card-body .card-type { display: none; }
.post-list--audio .card-body .entry-meta { grid-column: 2; }
.manassa-cards-clean .post-list--audio .post-card + .post-card { border-block-start: 1px solid var(--border); padding-block-start: 12px; }

/* Books in a grid (a grid block limited to books): portrait covers with the title under. */
.posts-grid--book .post-card { background: transparent; border: 0; box-shadow: none; }
.posts-grid--book .card-thumb { aspect-ratio: 3 / 4; border-radius: var(--radius-sm); overflow: hidden; box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .5); }
.posts-grid--book .card-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.posts-grid--book .card-body { padding: 12px 2px 0; }
@media (max-width: 600px) { .posts-grid--book[class] { grid-template-columns: repeat(2, minmax(0, 1fr)); } .posts-grid--book .card-title { font-size: .95rem; } }

/* Video cards (grids, tiles and lists limited to videos): a 16:9 still with a play circle that
   brightens on hover; the duration badge stays. Same card everywhere, so the homepage sample and
   the Videos page match. */
.posts-grid--video .card-thumb, .post-list--video .card-thumb { position: relative; aspect-ratio: 16 / 9; }
.posts-grid--video .card-thumb::after, .post-list--video .card-thumb::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: rgba(16, 27, 33, .62) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") 55% 50% / 24px no-repeat; box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); transition: transform .25s ease, background-color .25s ease; z-index: 1; pointer-events: none; }
[dir="rtl"] .posts-grid--video .card-thumb::after, [dir="rtl"] .post-list--video .card-thumb::after { margin: -26px -26px 0 0; }
.post-list--video .card-thumb::after { width: 38px; height: 38px; margin: -19px 0 0 -19px; background-size: 18px; }
[dir="rtl"] .post-list--video .card-thumb::after { margin: -19px -19px 0 0; }
.posts-grid--video .post-card:hover .card-thumb::after, .post-list--video .post-card:hover .card-thumb::after { transform: scale(1.08); background-color: var(--accent); }
.posts-grid--video .card-type { inset-block-start: auto; inset-block-end: 10px; }
.posts-grid--video .card-title { font-size: 1.02rem; line-height: 1.55; }
@media (prefers-reduced-motion: reduce) { .posts-grid--video .card-thumb::after, .post-list--video .card-thumb::after { transition: none; } }

/* News timeline (category archives recognised as news): a line on the start side, a round
   month/year marker on it, each item with its day on the line and the card beside it. Posts
   without a picture get a "news" placeholder (paper + headline bars, CSS only). */
.mn-timeline { --tl-x: 34px; list-style: none; margin: 8px 0 0; padding: 0 0 8px; position: relative; }
.mn-timeline::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: var(--tl-x); width: 2px; background: var(--border); }
/* Motion: each item owns the piece of line under its dot; it draws downwards as the item scrolls
   into view, while the item itself rises in and the month marker pops. JS (timeline.js) only
   adds .is-in; without it, or with reduced motion, everything is simply there. */
.mn-timeline__item::after { content: ""; position: absolute; inset-inline-start: var(--tl-x); inset-block-start: 14px; inset-block-end: -30px; width: 2px; background: var(--accent); opacity: .55; transform: scaleY(0); transform-origin: top; }
.mn-timeline__item:last-child::after { display: none; }
.mn-timeline.has-js .mn-timeline__item, .mn-timeline.has-js .mn-timeline__month { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1); }
.mn-timeline.has-js .mn-timeline__item::before { transform: scale(0); transition: transform .35s cubic-bezier(.2, .7, .2, 1) .25s; }
.mn-timeline.has-js .mn-timeline__item::after { transition: transform .9s cubic-bezier(.4, 0, .2, 1) .3s; }
.mn-timeline.has-js .mn-timeline__month span { transform: scale(.6); transition: transform .5s cubic-bezier(.2, .9, .3, 1.3); }
.mn-timeline.has-js .is-in { opacity: 1; transform: none; }
.mn-timeline.has-js .is-in::before, .mn-timeline.has-js .mn-timeline__month.is-in span { transform: none; }
.mn-timeline.has-js .is-in::after, .mn-timeline:not(.has-js) .mn-timeline__item::after { transform: scaleY(1); }
@media (prefers-reduced-motion: reduce) { .mn-timeline.has-js .mn-timeline__item, .mn-timeline.has-js .mn-timeline__month, .mn-timeline.has-js .mn-timeline__item::before, .mn-timeline.has-js .mn-timeline__month span { opacity: 1; transform: none; transition: none; } .mn-timeline__item::after { transform: scaleY(1); transition: none; } }
.mn-timeline__month { position: relative; margin: 0 0 18px; padding-inline-start: 0; }
.mn-timeline__month span { position: relative; z-index: 1; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 68px; height: 68px; border-radius: 50%; background: var(--surface); border: 2px solid var(--tb-gold, var(--accent)); color: var(--tb-ink, var(--text)); text-align: center; line-height: 1.15; }
.mn-timeline__month b { font-family: var(--font-head); font-size: .92rem; font-weight: 700; }
.mn-timeline__month small { font-size: .7rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.mn-timeline__item { position: relative; margin: 0 0 30px; padding-inline-start: calc(var(--tl-x) + 30px); }
.mn-timeline__item::before { content: ""; position: absolute; inset-inline-start: calc(var(--tl-x) - 5px); inset-block-start: 9px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--bg); z-index: 1; }
.mn-timeline__item:hover::before { background: var(--tb-gold, var(--accent)); }
.mn-timeline__date { display: block; margin: 0 0 10px; font-size: .85rem; font-weight: 600; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.mn-timeline .mn-news { display: grid; grid-template-columns: minmax(200px, 320px) minmax(0, 1fr); gap: 18px 24px; align-items: start; }
.mn-timeline .mn-news .card-thumb { aspect-ratio: 16 / 10; border-radius: var(--radius); overflow: hidden; }
.mn-timeline .mn-news .card-body { padding: 2px 0 0; }
.mn-timeline .mn-news .card-title { font-size: clamp(1.05rem, 1rem + .4vw, 1.3rem); line-height: 1.55; margin: 0 0 8px; }
.mn-timeline .mn-news .card-excerpt { font-size: .95rem; line-height: 1.8; color: var(--text-muted); }
.mn-news__more { display: inline-block; align-self: flex-start; margin-block-start: 6px; font-size: .85rem; font-weight: 600; color: var(--accent); text-decoration: none; border-block-end: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.mn-news__more:hover { border-color: currentColor; }
/* No picture: a sheet of paper with a headline and text bars, the word "news" under it. */
.mn-news__ph { position: relative; display: grid; place-items: center; background: linear-gradient(135deg, color-mix(in srgb, var(--tb-gold, var(--accent)) 16%, var(--bg-alt)), var(--bg-alt)); border: 1px solid var(--border); }
.mn-news__ph::before { content: ""; width: 38%; aspect-ratio: 3 / 4; border-radius: 3px; background:
	linear-gradient(var(--tb-gold, var(--accent)), var(--tb-gold, var(--accent))) 18% 16% / 64% 7% no-repeat,
	linear-gradient(var(--border), var(--border)) 18% 34% / 64% 3% no-repeat,
	linear-gradient(var(--border), var(--border)) 18% 44% / 64% 3% no-repeat,
	linear-gradient(var(--border), var(--border)) 18% 54% / 64% 3% no-repeat,
	linear-gradient(var(--border), var(--border)) 18% 64% / 44% 3% no-repeat,
	var(--surface); box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .08); transform: rotate(-4deg); }
.mn-news__ph span { position: absolute; inset-block-end: 10px; inset-inline-start: 10px; padding: 3px 10px; border-radius: 999px; background: var(--surface); border: 1px solid color-mix(in srgb, var(--tb-gold, var(--accent)) 55%, transparent); color: var(--tb-ink, var(--text)); font-size: .75rem; font-weight: 700; }
.mn-timeline + .manassa-paging { margin-block-start: 8px; }
@media (max-width: 700px) {
	.mn-timeline { --tl-x: 28px; }
	.mn-timeline__month span { width: 56px; height: 56px; }
	.mn-timeline__month b { font-size: .8rem; }
	.mn-timeline__item { padding-inline-start: calc(var(--tl-x) + 20px); margin-block-end: 26px; }
	.mn-timeline .mn-news { grid-template-columns: 1fr; gap: 12px; }
	.mn-timeline .mn-news .card-thumb { max-width: 100%; }
}

/* Manuscript viewer: a toolbar, a dark stage with the page picture (zoom and drag), the source
   line and the transcription under it. Full screen keeps the same parts. */
.mn-ms { margin: 0 0 28px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.mn-ms__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 8px 10px; background: var(--bg-alt); border-block-end: 1px solid var(--border); }
.mn-ms__group { display: inline-flex; align-items: center; gap: 4px; }
.mn-ms__btn { display: inline-flex; align-items: center; gap: 6px; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; text-decoration: none; }
.mn-ms__btn:hover { background: var(--surface); border-color: var(--border); color: var(--accent); }
.mn-ms__btn:focus-visible { outline: 3px solid var(--tb-gold, var(--accent)); outline-offset: 1px; }
.mn-ms__btn.is-on { background: var(--accent); border-color: var(--accent); color: #fff; }
.mn-ms__zoom { min-width: 3.6em; text-align: center; font-size: .85rem; font-variant-numeric: tabular-nums; color: var(--text-muted); }
.mn-ms__stage { position: relative; display: grid; place-items: center; height: clamp(360px, 70vh, 760px); overflow: hidden; background: #1f2528 radial-gradient(60% 60% at 50% 40%, #2d3538, #1f2528); cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.mn-ms__stage.is-dragging { cursor: grabbing; }
.mn-ms__stage:focus-visible { outline: 3px solid var(--tb-gold, var(--accent)); outline-offset: -3px; }
.mn-ms .mn-ms__img { position: absolute; top: 50%; left: 50%; max-width: none; max-height: none; transform: translate(-50%, -50%); transform-origin: center; will-change: transform; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .8); }
.mn-ms__stage:not(.is-ready) .mn-ms__img { max-width: 100%; max-height: 100%; } /* before the script runs: the page simply fits */
.mn-ms__source { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 14px; font-size: .88rem; color: var(--text-muted); border-block-end: 1px solid var(--border); }
.mn-ms__source svg { color: var(--tb-gold, var(--accent)); flex: none; }
.mn-ms__text { padding: 18px 22px 22px; line-height: 2; font-size: 1.05rem; }
.mn-ms__text[hidden] { display: none; }
.mn-ms .mn-ms__text-title { margin: 0 0 10px; font-family: var(--font-head); font-size: 1rem; font-weight: 700; color: var(--tb-ink, var(--text)); display: flex; align-items: center; gap: 10px; }
.mn-ms__text-title::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.mn-ms__text p { margin: 0 0 .8em; }
.mn-ms__text p:last-child { margin-block-end: 0; }
.mn-ms.is-fs { display: grid; grid-template-rows: auto 1fr auto; height: 100%; border: 0; border-radius: 0; }
.mn-ms.is-fs .mn-ms__stage { height: auto; }
.mn-ms.is-fs .mn-ms__text { max-height: 30vh; overflow: auto; }
@media (max-width: 600px) { .mn-ms__stage { height: clamp(280px, 60vh, 520px); } .mn-ms__btn span { display: none; } .mn-ms__text { padding: 14px 16px 18px; } }
