/*
Theme Name: Manassa
Theme URI: https://example.com/manassa
Author: Med ABOURRI
Author URI: https://moroccantraveltrips.com
Description: A fast, SEO-first news & magazine WordPress theme. Native Customizer, dark mode, ad zones, review boxes, WooCommerce support, and full RTL. Built on WordPress core — no bundled framework.
Version: 2.15.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, two-columns, left-sidebar, right-sidebar, buddypress, 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: #c8102e;
	--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); }
.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); } }

: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); } }

.main-navigation { margin-inline-start: auto; }
.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; border-radius: var(--radius-sm);
}
.main-navigation a:hover { background: var(--bg-alt); text-decoration: none; color: var(--accent); }

/* sub-menus */
.main-navigation ul ul {
	position: absolute; inset-block-start: 100%; inset-inline-start: 0;
	flex-direction: column; min-width: 200px; 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 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: 3 / 2; background: var(--bg-alt); }
.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: 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 110px; aspect-ratio: 1; }
.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: 12px; }
.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; }
.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; }

/* =========================================================
   Review box
   ========================================================= */
.manassa-review {
	border: 1px solid var(--border); border-radius: var(--radius);
	background: var(--bg-alt); padding: 18px; margin-block: 24px;
}
.manassa-review__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.manassa-review__name { font-weight: 800; font-size: 1.1rem; font-family: var(--font-head); }
.manassa-review__score {
	font-size: 1.6rem; font-weight: 800; color: var(--accent);
	display: inline-flex; align-items: baseline; gap: 2px;
}
.manassa-review__score small { font-size: .8rem; color: var(--text-muted); font-weight: 600; }
.manassa-review__criteria { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.manassa-review__criteria li { display: grid; grid-template-columns: 120px 1fr 38px; align-items: center; gap: 10px; font-size: .9rem; }
.crit-bar { background: var(--border); border-radius: 999px; height: 8px; overflow: hidden; }
.crit-bar__fill { display: block; height: 100%; background: var(--accent); }
.crit-val { text-align: end; font-weight: 700; }
.manassa-review__verdict { margin-block-start: 14px; color: var(--text-muted); }

/* =========================================================
   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; }
.site-footer__bottom { border-block-start: 1px solid var(--border); }
.site-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 18px; flex-wrap: wrap; }
.footer-navigation ul { list-style: none; display: flex; gap: 16px; margin: 0; padding: 0; }
.footer-navigation a { color: var(--text-muted); font-size: .9rem; }
.site-info { margin: 0; color: var(--text-muted); font-size: .85rem; }

/* =========================================================
   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__toggle {
	display: inline-flex; align-items: center; gap: 6px; height: 42px; padding-inline: 12px;
	border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-alt);
	color: var(--text); cursor: pointer; font-weight: 600; font-size: .9rem;
}
.lang-switcher__toggle:hover { border-color: var(--accent); color: var(--accent); }
.lang-switcher__code { display: none; }
.lang-switcher__caret { width: 0; height: 0; border-inline: 4px solid transparent; border-block-start: 5px solid currentColor; }
.lang-switcher__menu {
	position: absolute; inset-block-start: calc(100% + 6px); inset-inline-end: 0; min-width: 170px;
	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); }
.lang-switcher__menu a:hover { background: var(--bg-alt); text-decoration: none; }
.lang-switcher__menu .is-current a { color: var(--accent); font-weight: 700; }

/* =========================================================
   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; }
.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; }

	.menu-toggle { display: grid; order: 1; }
	.site-footer__widgets { grid-template-columns: repeat(2, 1fr); }
	.manassa-review__criteria li { grid-template-columns: 90px 1fr 32px; }

	/* 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__toggle { padding-inline: 10px; }
}

/* =========================================================
   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: stretch; }
.post-card--horizontal .card-thumb { flex: 0 0 108px; aspect-ratio: 1; }
.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: 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--no-thumb { border-block-start: 3px solid var(--accent); }
.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-inline-start: 3px solid var(--accent); 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: 21 / 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: 54px; height: 40px; 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: 769px) { .menu-toggle { 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; } }

/* 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; margin-block-start: 32px; border-block: 1px solid var(--border); }
.manassa-post-nav__link { display: flex; align-items: center; gap: 14px; padding-block: 18px; color: var(--text); text-decoration: none; min-width: 0; }
.manassa-post-nav__link--prev { padding-inline-end: 18px; }
.manassa-post-nav__link--next { grid-column: 2; flex-direction: row-reverse; text-align: end; padding-inline-start: 18px; border-inline-start: 1px solid var(--border); }
.manassa-post-nav__thumb { flex: none; }
.manassa-post-nav__thumb img { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); }
.manassa-post-nav__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.manassa-post-nav__label { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.manassa-post-nav__link--next .manassa-post-nav__label { justify-content: flex-end; flex-direction: row-reverse; }
[dir="rtl"] .manassa-post-nav__arrow { transform: scaleX(-1); }
.manassa-post-nav__title { font-family: var(--font-head); font-weight: 700; font-size: 1rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.manassa-post-nav__link:hover .manassa-post-nav__title { color: var(--accent); }
.manassa-post-nav__link:hover .manassa-post-nav__label { 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-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, .manassa-review) { 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; }
}

/* 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; }
.entry-header--overlay .entry-title,
.entry-header--overlay .entry-subtitle,
.entry-header--overlay .entry-meta--single,
.entry-header--overlay .entry-meta--single a,
.entry-header--overlay .breadcrumbs,
.entry-header--overlay .breadcrumbs a,
.entry-header--overlay .breadcrumbs [aria-current="page"] { color: #fff; }

@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; }
	.entry-header--overlay .entry-title,
	.entry-header--overlay .breadcrumbs,
	.entry-header--overlay .breadcrumbs a,
	.entry-header--overlay .breadcrumbs [aria-current="page"] { color: var(--text); }
	.entry-header--overlay .entry-subtitle,
	.entry-header--overlay .entry-meta--single,
	.entry-header--overlay .entry-meta--single a { color: var(--text-muted); }
}

/* =========================================================
   Review pros/cons
   ========================================================= */
.manassa-review__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-block-start: 14px; }
.manassa-review__pros h4, .manassa-review__cons h4 { margin: 0 0 6px; font-size: .95rem; }
.manassa-review__pros h4 { color: #1a7f37; }
.manassa-review__cons h4 { color: var(--accent); }
.manassa-review__proscons ul { margin: 0; padding-inline-start: 18px; color: var(--text); }

/* =========================================================
   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 img { width: 60px; height: 44px; 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; }
.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: 72px; height: 54px; 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: 3 / 2; 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 { border-block-start: 3px solid var(--accent); 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, .lang-switcher__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, .lang-switcher__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-review { border: 0; }
.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; }

/* =========================================================
   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: 64px; height: 48px; 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; }

/* =========================================================
   v2.10.2 — plugin templates (Tripvance): the plugin frames its own pages, the theme lends its widths
   Tripvance prints its pages as direct children of .site-content and sizes them itself: every tour
   design centres its content on its own measure (--wptm-frame, --wptm-*-max) and draws its bands and
   heroes edge to edge. Boxing those wrappers from the theme (v2.10.1) cut the full-bleed designs and,
   because the plugin falls back to theme.json's wideSize (1000px) for --wptm-frame, squeezed the
   booking layouts into a column narrower than the site. So the theme no longer boxes them: it hands
   the plugin Manassa's own measure through the plugin's documented tokens. Applies only on pages
   whose template comes from a plugin (body.manassa-plugin-template).
   ========================================================= */
/* 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; }

/* 1. The plugin's measure = Manassa's. body + :where() (0,1,1) outranks the plugin's own root
      declarations (.wptm-tour, .wptm-atlas… at 0,1,0) and nothing else. */
body.manassa-plugin-template :where(.wptm-tour, .wptm-act, .wptm-trf, .wptm-lp, .wptm-hub, .wptm-cars, .wptm-sec) {
	--wptm-container: calc(var(--mn-plugin-max) - 2 * var(--mn-plugin-gutter)); /* content width, like .container */
	--wptm-frame: var(--wptm-container);   /* classic + Salma booking layouts (else theme.json wideSize) */
	--wptm-gutter: var(--mn-plugin-gutter);
	--wptm-atlas-max: var(--mn-plugin-max);   /* design wraps carry their own side padding */
	--wptm-medina-max: var(--mn-plugin-max);
	--wptm-sahara-max: var(--mn-plugin-max);
	--wptm-qamar-max: var(--mn-plugin-max);
	--wptm-zellige-max: var(--mn-plugin-max);
}
/* 2. The tour listings (archive, destination / type / category pages) are the one wrapper the plugin
      leaves to the theme's content area: boxed exactly like .container, as the plugin itself does in
      block themes (.wp-site-blocks > .wptm-archive). */
.manassa-plugin-template .site-content > .wptm-archive {
	inline-size: 100%; max-inline-size: var(--mn-plugin-max); margin-inline: auto; padding-inline: var(--mn-plugin-gutter); box-sizing: border-box;
}
/* 3. Horizontal stretch is cut at its source: media and embeds never exceed their column; intentional
      scrollers (galleries, carousels, maps) keep their own overflow because only the overflowing row is capped. */
.manassa-plugin-template .site-content :where([class^="wptm-"], [class*=" wptm-"]) :where(img, video, iframe, svg, canvas) { max-width: 100%; }
.manassa-plugin-template .site-content :where([class^="wptm-"], [class*=" wptm-"]) { min-width: 0; }
/* 4. Anchors, section links and sticky booking 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: 1.4fr 1fr 1fr; gap: var(--gap); padding-block: 40px; }
.site-footer__blocks:has(> :nth-child(2):last-child) { grid-template-columns: 1.4fr 1fr; }
.site-footer__blocks:has(> :only-child) { grid-template-columns: 1fr; }
.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-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: 8px; }
.site-footer__menu a { color: var(--text-muted); font-size: .95rem; }
.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, .site-footer__blocks:has(> :nth-child(2):last-child) { grid-template-columns: 1fr 1fr; } .site-footer__about { grid-column: 1 / -1; } }
@media (max-width: 600px) { .site-footer__blocks, .site-footer__blocks:has(> :nth-child(2):last-child) { grid-template-columns: 1fr; } }

/* =========================================================
   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; }
	.manassa-post-nav__link--next { grid-column: 1; border-inline-start: 0; padding-inline-start: 0; }
	.manassa-post-nav__link--prev + .manassa-post-nav__link--next { border-block-start: 1px solid var(--border); }
	.manassa-post-nav__link--prev { padding-inline-end: 0; }
	.manassa-post-nav__thumb img { width: 60px; height: 60px; }
	.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: 3 / 2; }
}

/* 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: 768px) {
	.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); }

/* =========================================================
   v2.12 — BuddyPress (buddypress.php, BP Nouveau)
   The theme's tokens drive BuddyPress's surfaces, so light / dark mode and the accent colour
   follow the site. Only colours, fonts and radii are set: BuddyPress keeps its own layout.
   ========================================================= */
.content-area--buddypress .entry-header--plain { margin-block-end: 20px; }
body.buddypress .manassa-bp .entry-header .entry-title { color: var(--text); font-size: clamp(1.7rem, 3.6vw, 2.4rem); font-weight: var(--head-weight); margin: 6px 0 0; }
.manassa-bp__content { font-size: 1rem; line-height: 1.6; }
.manassa-bp__content :where(h2, h3, h4) { font-family: var(--font-head); }
.manassa-bp__content .user-nicename { font-family: var(--font-body); }
.manassa-bp__content a { color: var(--accent); }
.manassa-bp__content img.avatar { border-radius: 50%; }
.manassa-bp__content .bp-navs ul li.selected a,
.manassa-bp__content .bp-navs ul li.current a { color: var(--text); }
.manassa-bp__content .bp-navs ul li a:hover,
.manassa-bp__content .bp-navs ul li a:focus { background: var(--bg-alt); }
.manassa-bp__content .bp-navs ul li .count { background: var(--accent); color: #fff; border: 0; }
.manassa-bp__content .main-navs:not(.vertical) ul li.selected a { background: var(--accent); color: #fff; }
.manassa-bp__content :is(.button, button, input[type="submit"], .bp-button):not(.bp-tooltip):not(.bp-icons) { border-radius: var(--radius-sm); }
.manassa-bp__content :is(input[type="submit"], #aw-whats-new-submit) { background: var(--accent); border-color: var(--accent); color: #fff; }
.manassa-bp__content :is(input[type="text"], input[type="email"], input[type="search"], input[type="url"], input[type="password"], textarea, select) {
	background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius-sm);
}
/* Surfaces BuddyPress paints white / light grey. */
.manassa-bp__content :is(.activity-list .activity-item, .bp-list > li, #whats-new-form, .activity-update-form, .bp-navs, .subnav-filters, .bp-feedback, #item-header, .standard-form, .profile-fields tr, .groups-header, .bp-wrap .item-body > div) {
	border-color: var(--border);
}
.manassa-bp__content :is(.activity-list.bp-list, .activity-update-form, #whats-new-form) { background: var(--bg-alt); border-color: var(--border); }
.manassa-bp__content .activity-list .activity-item { background: var(--surface); box-shadow: none; }
.manassa-bp__content :is(.activity-inner, .activity-meta, .bp-navs, .subnav-filters) { background: transparent; }
.manassa-bp__content .activity-list .activity-item .activity-inner { background: var(--bg-alt); }
.manassa-bp__content .bp-list > li { background: transparent; }
.manassa-bp__content :is(.activity-header, .activity-header a, .item-title a, .list-title a) { color: var(--text); }
.manassa-bp__content :is(.activity-header .time-since, .item-meta, .description, .last-activity) { color: var(--text-muted); }
.manassa-bp__content .main-navs:not(.vertical) ul li.selected .count { background: #fff; color: var(--accent); }

/* 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); }

/* BuddyPress paints some controls through #id selectors: matched here at the same weight. */
body #buddypress :is(#whats-new-form textarea, #whats-new, input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="url"], textarea, select) {
	background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius-sm);
}
body #buddypress .activity-list .activity-item .activity-meta.action { background: var(--bg-alt); }
body #buddypress :is(.bp-navs, .main-navs, .subnav-filters, .activity-update-form, .item-list-tabs) { box-shadow: none; }
body #buddypress .bp-navs { border: 1px solid var(--border); background: transparent; }
body #buddypress .bp-navs li:not(.selected) a { background: transparent; }
body #buddypress :is(.select-wrap, .select-wrap select) { background: var(--surface); border-color: var(--border); color: var(--text); }
.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 only)
   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: 768px) {
	.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; letter-spacing: .005em; }
	.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 parent is tapped (chevron), then listed indented. */
	.main-navigation .menu-item-has-children > 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 > 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 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 { transition: none; }
	}
}
