/* Samaanta Foundation — supplementary styles. Tokens live in theme.json. */

.samaanta-skip-link:focus {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 100000;
	display: block;
	width: auto;
	height: auto;
	padding: 0.75rem 1.25rem;
	clip: auto;
	clip-path: none;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--brand-red-dark);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--preset--shadow--lifted);
	font-weight: 600;
	text-decoration: underline;
}

/* Constrain prose to a comfortable measure (brief 3.4: 65-75 chars). */
:where(.entry-content) > p {
	max-width: var(--wp--custom--measure);
}

/* Minimum touch target (WCAG 2.5.8). */
:where(.wp-block-button__link, .wp-block-navigation-item__content) {
	min-height: var(--wp--custom--touch-target);
	display: inline-flex;
	align-items: center;
}

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

/* ---------------------------------------------------------------
   Fellows archive filters
   Plain GET form: works without JS, produces shareable URLs.
   --------------------------------------------------------------- */

.samaanta-filter {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: var(--wp--preset--spacing--20);
	align-items: end;
	padding: var(--wp--preset--spacing--30);
	margin-block-end: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
}

.samaanta-filter__field {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

.samaanta-filter__field label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--ink-soft);
}

.samaanta-filter__field input,
.samaanta-filter__field select {
	width: 100%;
	min-height: var(--wp--custom--touch-target);
	padding: 0.5rem 0.75rem;
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
	/* border-strong (3.06:1), not border — WCAG 1.4.11 non-text contrast. */
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--sm);
}

.samaanta-filter__field input:focus-visible,
.samaanta-filter__field select:focus-visible {
	outline: 2px solid var(--wp--preset--color--brand-red-dark);
	outline-offset: 2px;
}

.samaanta-filter__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.samaanta-filter__submit {
	min-height: var(--wp--custom--touch-target);
	padding: 0.5rem 1.5rem;
	font: inherit;
	font-weight: 600;
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--brand-red-dark);
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	cursor: pointer;
	transition: background var(--wp--custom--transition--fast);
}

.samaanta-filter__submit:hover {
	background: var(--wp--preset--color--brand-red-darker);
}

.samaanta-filter__submit:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 2px;
}

.samaanta-filter__reset {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--touch-target);
	color: var(--wp--preset--color--brand-red-dark);
	font-size: var(--wp--preset--font-size--small);
}

.samaanta-filter__count {
	margin-block-end: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--small);
}

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

/* ---------------------------------------------------------------
   Header / footer chrome
   --------------------------------------------------------------- */

.samaanta-header {
	position: sticky;
	top: 0;
	z-index: 100;
}

.samaanta-header__actions {
	gap: var(--wp--preset--spacing--30);
}

/* Header layout: keep nav on one line, let it wrap to overlay below tablet. */
.samaanta-header__actions { flex-wrap: nowrap; }
.samaanta-header .wp-block-navigation { flex-wrap: nowrap; }
@media (max-width: 1100px) {
	.samaanta-header .wp-block-site-title { font-size: 1.05rem; }
	.samaanta-header__actions { gap: var(--wp--preset--spacing--20); }
}


/* Keep the donate CTA visible on mobile; the nav collapses behind the
   overlay toggle but the primary action should never be hidden. */
@media (max-width: 600px) {
	.samaanta-header__donate .wp-block-button__link {
		padding-inline: 1rem;
		font-size: 0.8125rem;
	}
}

.samaanta-footer__list ul,
.samaanta-footer__list {
	list-style: none;
	padding-left: 0;
	display: grid;
	gap: 0.5rem;
}

.samaanta-footer a {
	text-decoration: none;
}

.samaanta-footer a:hover,
.samaanta-footer a:focus-visible {
	text-decoration: underline;
}

.samaanta-footer a:focus-visible {
	outline: 2px solid var(--wp--preset--color--surface);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------
   Homepage
   --------------------------------------------------------------- */

.samaanta-hero__title { max-width: 16ch; }
.samaanta-hero__accent { color: var(--wp--preset--color--brand-red-dark); }
.samaanta-hero__lede { max-width: 46ch; }

.samaanta-metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	padding-left: 0;
	margin-block-start: var(--wp--preset--spacing--40);
}

.samaanta-metric {
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
}

.samaanta-metric__value {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-1);
	line-height: 1;
	color: var(--wp--preset--color--brand-red-dark);
}

.samaanta-metric__prefix,
.samaanta-metric__suffix { font-size: 0.6em; }

.samaanta-metric__label {
	margin: 0.5rem 0 0;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.samaanta-metric__desc {
	margin: 0.25rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink-soft);
}

.samaanta-metric__period {
	margin: 0.5rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.samaanta-metric__empty {
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface-warm);
	border: 1px dashed var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--md);
	font-size: var(--wp--preset--font-size--small);
}

.samaanta-steps {
	counter-reset: step;
	list-style: none;
	padding-left: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: var(--wp--preset--spacing--30);
	margin-block-start: var(--wp--preset--spacing--40);
}

.samaanta-steps li {
	counter-increment: step;
	position: relative;
	padding-top: 2.75rem;
}

.samaanta-steps li::before {
	content: counter(step);
	position: absolute;
	top: 0;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1rem;
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--brand-red-dark);
	border-radius: var(--wp--custom--radius--pill);
}

/* ---------------------------------------------------------------
   Fellow profile
   --------------------------------------------------------------- */

.samaanta-profile__portrait img {
	width: 100%;
	object-fit: cover;
	box-shadow: var(--wp--preset--shadow--lifted);
}

/* Cohort chip — the term renders as a link, so style the anchor. */
.samaanta-chip a {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-red-dark);
	text-decoration: none;
	font-weight: 600;
}

.samaanta-chip a:hover { border-color: var(--wp--preset--color--brand-red-dark); }

.samaanta-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: var(--wp--preset--spacing--20);
	margin-block: var(--wp--preset--spacing--30) 0;
	padding-block-start: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--border);
}

.samaanta-facts__row dt {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.125rem;
}

.samaanta-facts__row dd {
	margin: 0;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.samaanta-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	list-style: none;
	padding-left: 0;
	margin-block-start: var(--wp--preset--spacing--30);
}

.samaanta-links a {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--touch-target);
	padding-inline: 1rem;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.samaanta-links a:hover {
	border-color: var(--wp--preset--color--brand-red-dark);
	background: var(--wp--preset--color--surface-warm);
}

.samaanta-quote {
	max-width: 34ch;
	margin-inline: auto;
	padding: 0;
	border: 0;
	text-align: center;
}

.samaanta-quote p {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-3);
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
	margin: 0;
}

.samaanta-quote p::before { content: "\201C"; }
.samaanta-quote p::after  { content: "\201D"; }

.samaanta-quote cite {
	display: block;
	margin-block-start: var(--wp--preset--spacing--20);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	color: var(--wp--preset--color--muted);
}

.samaanta-story__section + .samaanta-story__section {
	margin-block-start: var(--wp--preset--spacing--40);
}

.samaanta-story h2 {
	font-size: var(--wp--preset--font-size--h-4);
	margin-block-end: 0.5rem;
}

.samaanta-story p { max-width: var(--wp--custom--measure); }

/* ---------------------------------------------------------------
   Fellow cards (archive grid)

   Spacing follows a deliberate rhythm rather than a single gap:
   image -> name is tight (0.875rem) because they are one unit;
   name -> meta is tighter still (0.25rem); the card's own padding
   is asymmetric (more at the bottom) so the text block sits
   optically centred rather than mathematically centred.
   --------------------------------------------------------------- */

.samaanta-fellow-grid {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}

.samaanta-fellow-grid .wp-block-post {
	display: flex;
	flex-direction: column;
	padding: 0.5rem 0.5rem 1.25rem;
	border-radius: var(--wp--custom--radius--lg);
	background: transparent;
	transition: background var(--wp--custom--transition--base),
	            transform var(--wp--custom--transition--base),
	            box-shadow var(--wp--custom--transition--base);
}

.samaanta-fellow-grid .wp-block-post:hover {
	transform: translateY(-4px);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--lifted);
}

.samaanta-fellow-grid .wp-block-post-featured-image {
	margin: 0 0 0.875rem;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface-alt);
}

.samaanta-fellow-grid .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	object-fit: cover;
	transition: transform var(--wp--custom--transition--slow);
}

.samaanta-fellow-grid .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

/* Fellow without a portrait: a deliberate placeholder, not a collapsed card. */
.samaanta-fellow-grid .wp-block-post:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 3 / 4;
	margin-bottom: 0.875rem;
	border-radius: var(--wp--custom--radius--md);
	background:
		radial-gradient(circle at 50% 38%, rgba(26,22,24,.06) 0 22%, transparent 23%),
		radial-gradient(circle at 50% 106%, rgba(26,22,24,.06) 0 34%, transparent 35%),
		var(--wp--preset--color--surface-warm);
}

.samaanta-fellow-grid .wp-block-post-title {
	margin: 0 0 0.25rem;
	line-height: 1.25;
}

.samaanta-fellow-grid .wp-block-post-title a {
	text-decoration: none;
	text-underline-offset: 3px;
}

.samaanta-fellow-grid .wp-block-post:hover .wp-block-post-title a {
	text-decoration: underline;
}

/* Cohort sits above the name as a small eyebrow. */
.samaanta-fellow-grid .wp-block-post-terms {
	margin: 0;
	line-height: 1.4;
}

.samaanta-card__meta {
	margin-top: 0.125rem;
	gap: 0.375rem;
}

.samaanta-card__meta .wp-block-post-terms a {
	text-decoration: none;
	color: inherit;
}

.samaanta-card__meta .wp-block-post-terms a:hover {
	text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
	.samaanta-fellow-grid .wp-block-post,
	.samaanta-fellow-grid .wp-block-post-featured-image img {
		transition: none;
	}
	.samaanta-fellow-grid .wp-block-post:hover { transform: none; }
	.samaanta-fellow-grid .wp-block-post:hover .wp-block-post-featured-image img { transform: none; }
}

/* ---------------------------------------------------------------
   ITEM 5 — Nepal-inspired motif

   A single geometric band derived from the stepped triangular forms
   found in Newari temple woodwork and Nepali textile borders.
   Deliberately used in ONLY three places site-wide (see
   docs/design-system.md): under the hero, above the donation CTA,
   and above the footer. Beyond that it stops being a signature and
   becomes decoration.
   --------------------------------------------------------------- */

.samaanta-motif {
	/* Core .wp-block-separator ships max-width + auto margins, which
	   collapsed this to a ~100px stub. Override all three. */
	width: 100%;
	max-width: none;
	height: 14px;
	border: 0;
	margin-inline: 0;
	margin-block: 0;
	background-color: var(--wp--preset--color--brand-red-dark);
	-webkit-mask-image: var(--samaanta-motif-mask);
	mask-image: var(--samaanta-motif-mask);
	-webkit-mask-size: 44px 14px;
	mask-size: 44px 14px;
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	opacity: 0.6;
}

:root {
	--samaanta-motif-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='14'%3E%3Cpath d='M4 13 L11 3 L18 13 Z' fill='%23000'/%3E%3Cpath d='M26 13 L33 3 L40 13 Z' fill='%23000' opacity='.45'/%3E%3C/svg%3E");
}

.samaanta-motif--light { opacity: 0.3; }

/* ---------------------------------------------------------------
   ITEM 3 — Editorial story feature

   Full-bleed image with an overlapping text card. This is the one
   section on the homepage that breaks the grid, which is what makes
   the page read as authored rather than assembled.
   --------------------------------------------------------------- */

.samaanta-feature { position: relative; }

/* Core ships .wp-block-image img{height:auto} at higher specificity, which
   defeated the height clamp and let the image render at full natural height.
   Qualify with the block class to win. */
.wp-block-image.samaanta-feature__media img {
	display: block;
	width: 100%;
	height: clamp(18rem, 40vw, 30rem);
	object-fit: cover;
}

.samaanta-feature__media { margin: 0; }

.samaanta-feature__card {
	max-width: 34rem;
	margin-top: -6rem;
	margin-left: auto;
	margin-right: auto;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--xl);
	box-shadow: var(--wp--preset--shadow--lifted);
	position: relative;
	z-index: 2;
}

@media (min-width: 900px) {
	.samaanta-feature__card {
		margin-right: max(2rem, calc(50% - 36rem));
		margin-left: auto;
	}
}

.samaanta-feature__eyebrow {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-red-dark);
}

.samaanta-feature__pullquote {
	margin: var(--wp--preset--spacing--30) 0;
	padding-left: 1.25rem;
	border-left: 3px solid var(--wp--preset--color--brand-red-dark);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-4);
	line-height: 1.35;
	color: var(--wp--preset--color--ink);
}

@media (max-width: 600px) {
	.samaanta-feature__card {
		margin-top: -3rem;
		padding: var(--wp--preset--spacing--30);
	}
}

/* ---------------------------------------------------------------
   ITEM 4 — Section rhythm

   Sections previously all used the same padding, so every section
   read at identical volume. These modifiers vary density: quiet
   sections breathe, dense sections tighten, and the feature runs
   flush.
   --------------------------------------------------------------- */

.samaanta-section--tight  { padding-block: var(--wp--preset--spacing--50) !important; }
.samaanta-section--flush  { padding-block: 0 !important; }
.samaanta-section--airy   { padding-block: clamp(6rem, 12vw, 10rem) !important; }

/* Lede paragraph directly after a section heading reads larger. */
.samaanta-lede {
	max-width: 52ch;
	margin-inline-start: 0;
	margin-inline-end: auto;
	font-size: var(--wp--preset--font-size--body-large);
	color: var(--wp--preset--color--ink-soft);
}

/* ---------------------------------------------------------------
   Events
   --------------------------------------------------------------- */

.samaanta-event__status {
	display: inline-block;
	margin: 0 0 var(--wp--preset--spacing--20);
	padding: 0.25rem 0.75rem;
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.samaanta-event__status--upcoming {
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--success);
}

.samaanta-event__status--past {
	color: var(--wp--preset--color--ink-soft);
	background: var(--wp--preset--color--border);
}

.samaanta-event__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--30);
}

.samaanta-event__register {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--touch-target);
	padding-inline: 1.75rem;
	background: var(--wp--preset--color--brand-red-dark);
	color: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--pill);
	font-weight: 600;
	text-decoration: none;
}

.samaanta-event__register:hover { background: var(--wp--preset--color--brand-red-darker); }

.samaanta-event__calendar {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--touch-target);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.samaanta-event__closed {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.samaanta-event-row {
	gap: var(--wp--preset--spacing--30);
	align-items: flex-start;
	padding-block: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* ---------------------------------------------------------------
   Partners
   --------------------------------------------------------------- */

.samaanta-partner-group + .samaanta-partner-group { margin-top: var(--wp--preset--spacing--50); }

.samaanta-partner-group h2 {
	font-size: var(--wp--preset--font-size--h-4);
	margin-bottom: var(--wp--preset--spacing--30);
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.samaanta-partner-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	padding-left: 0;
	margin: 0;
}

/* Uniform tile so logos of different dimensions still align — the brief
   explicitly warns against a wall of differently sized logos. */
.samaanta-partner a,
.samaanta-partner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	text-align: center;
	text-decoration: none;
	color: inherit;
}

.samaanta-partner__logo {
	display: grid;
	place-items: center;
	width: 100%;
	height: 6.5rem;
	padding: 0.75rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
}

.samaanta-partner__logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	object-fit: contain;
}

.samaanta-partner__placeholder {
	width: 60%;
	height: 2.5rem;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--surface-alt);
}

.samaanta-partner__name {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.samaanta-partner a:hover .samaanta-partner__logo { border-color: var(--wp--preset--color--brand-red-dark); }

/* ---------------------------------------------------------------
   Team
   --------------------------------------------------------------- */

.samaanta-team-group + .samaanta-team-group { margin-top: var(--wp--preset--spacing--50); }

.samaanta-team-group h2 {
	font-size: var(--wp--preset--font-size--h-4);
	margin-bottom: var(--wp--preset--spacing--30);
}

.samaanta-person-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.samaanta-person__photo img,
.samaanta-person__photo--empty {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--surface-warm);
	display: block;
}

.samaanta-person__name {
	margin: 0.75rem 0 0.125rem;
	font-size: var(--wp--preset--font-size--body);
}

.samaanta-person__role {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--brand-red-dark);
	font-weight: 600;
}

.samaanta-person__bio {
	margin: 0.375rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink-soft);
}

/* ---------------------------------------------------------------
   Publications
   --------------------------------------------------------------- */

.samaanta-pub-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	padding-left: 0;
	margin: var(--wp--preset--spacing--40) 0 0;
}

.samaanta-pub {
	display: flex;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
}

.samaanta-pub__cover { flex: 0 0 5.5rem; }

.samaanta-pub__cover img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--sm);
}

.samaanta-pub__title { margin: 0 0 0.25rem; font-size: var(--wp--preset--font-size--body); }

.samaanta-pub__meta,
.samaanta-pub__excerpt {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.samaanta-pub__link {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--touch-target);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.samaanta-pub__size { color: var(--wp--preset--color--muted); font-weight: 400; }

/* ---------------------------------------------------------------
   Breadcrumbs
   --------------------------------------------------------------- */
.samaanta-breadcrumbs { margin-block-end: var(--wp--preset--spacing--30); }
.samaanta-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.samaanta-breadcrumbs li + li::before { content: "/"; margin-inline-end: 0.5rem; color: var(--wp--preset--color--border-strong); }
.samaanta-breadcrumbs a { color: var(--wp--preset--color--brand-red-dark); text-decoration: none; }
.samaanta-breadcrumbs a:hover { text-decoration: underline; }
.samaanta-breadcrumbs [aria-current="page"] { color: var(--wp--preset--color--ink-soft); }

/* ---------------------------------------------------------------
   Forms
   --------------------------------------------------------------- */
.samaanta-form-wrap { max-width: 40rem; }
.samaanta-form { display: grid; gap: var(--wp--preset--spacing--30); }
.samaanta-field { display: grid; gap: 0.375rem; }
.samaanta-field label { font-weight: 600; color: var(--wp--preset--color--ink-soft); }
.samaanta-req { color: var(--wp--preset--color--brand-red-dark); }

.samaanta-field input,
.samaanta-field textarea,
.samaanta-field select {
	width: 100%;
	min-height: var(--wp--custom--touch-target);
	padding: 0.625rem 0.75rem;
	font: inherit;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--sm);
}
.samaanta-field textarea { min-height: 8rem; resize: vertical; }

.samaanta-field input:focus-visible,
.samaanta-field textarea:focus-visible,
.samaanta-field select:focus-visible {
	outline: 2px solid var(--wp--preset--color--brand-red-dark);
	outline-offset: 2px;
}

.samaanta-field.has-error input,
.samaanta-field.has-error textarea,
.samaanta-field.has-error select { border-color: var(--wp--preset--color--error); }

.samaanta-field-error { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--error); }

.samaanta-check { display: flex; gap: 0.5rem; align-items: flex-start; font-weight: 400; }
.samaanta-check input { width: auto; min-height: auto; margin-top: 0.25rem; }

.samaanta-form__submit {
	justify-self: start;
	min-height: var(--wp--custom--touch-target);
	padding: 0.75rem 2rem;
	font: inherit;
	font-weight: 600;
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--brand-red-dark);
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	cursor: pointer;
	transition: background var(--wp--custom--transition--fast);
}
.samaanta-form__submit:hover { background: var(--wp--preset--color--brand-red-darker); }
.samaanta-form__submit:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 2px; }

/* Honeypot: hidden from humans, present for bots. */
.samaanta-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.samaanta-form-errors {
	padding: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface-warm);
	border: 1px solid var(--wp--preset--color--error);
	border-radius: var(--wp--custom--radius--md);
}
.samaanta-form-errors ul { margin: 0.5rem 0 0; padding-left: 1.25rem; }
.samaanta-form-errors a { color: var(--wp--preset--color--error); }

.samaanta-form-success {
	padding: var(--wp--preset--spacing--40);
	background: color-mix(in srgb, var(--wp--preset--color--success) 10%, white);
	border: 1px solid var(--wp--preset--color--success);
	border-radius: var(--wp--custom--radius--md);
}
.samaanta-form-success p { margin: 0; color: var(--wp--preset--color--success); font-weight: 600; }

/* ---------------------------------------------------------------
   Donation panel
   --------------------------------------------------------------- */
.samaanta-donate { display: grid; gap: var(--wp--preset--spacing--30); max-width: 44rem; }
.samaanta-donate__card {
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
}
.samaanta-donate__card h2 { margin-top: 0; font-size: var(--wp--preset--font-size--h-4); }
.samaanta-donate__amounts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: var(--wp--preset--spacing--30); }
.samaanta-donate__amount {
	display: inline-flex; align-items: center; min-height: var(--wp--custom--touch-target);
	padding-inline: 1.25rem; font-weight: 600; text-decoration: none;
	color: var(--wp--preset--color--brand-red-dark);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
}
.samaanta-donate__amount:hover { border-color: var(--wp--preset--color--brand-red-dark); background: var(--wp--preset--color--surface-warm); }
.samaanta-donate__cta, .samaanta-donate__wallet {
	display: inline-flex; align-items: center; min-height: var(--wp--custom--touch-target);
	padding-inline: 1.75rem; font-weight: 600; text-decoration: none;
	color: var(--wp--preset--color--surface); background: var(--wp--preset--color--brand-red-dark);
	border-radius: var(--wp--custom--radius--pill);
}
.samaanta-donate__cta:hover, .samaanta-donate__wallet:hover { background: var(--wp--preset--color--brand-red-darker); }
.samaanta-donate__wallets { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.samaanta-donate__wallet { background: var(--wp--preset--color--teal); }
.samaanta-donate__bank pre {
	white-space: pre-wrap; font-family: var(--wp--preset--font-family--body);
	background: var(--wp--preset--color--surface-alt); padding: var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--md); margin: 0;
}

/* Donation additions: test badge, paypal, secure note, QR */
.samaanta-donate__test {
	display:inline-block; margin-left:.5rem; padding:1px 8px; font-size:.7rem; font-weight:700;
	text-transform:uppercase; letter-spacing:.03em; color:var(--wp--preset--color--surface);
	background:var(--wp--preset--color--warning); border-radius:var(--wp--custom--radius--pill);
}
.samaanta-donate__wallet--paypal { background:#003087; }
.samaanta-donate__wallet--paypal:hover { background:#001f5c; }
.samaanta-donate__cta, .samaanta-donate__wallet { margin-top:.25rem; }
.samaanta-donate__secure {
	font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--muted);
	display:flex; gap:.5rem; align-items:center;
}
.samaanta-donate__secure::before { content:"\1F512"; }
.samaanta-donate__qr { margin:0; text-align:center; }
.samaanta-donate__qr img { width:180px; height:180px; object-fit:contain; border:1px solid var(--wp--preset--color--border); border-radius:var(--wp--custom--radius--md); padding:.5rem; background:#fff; }
.samaanta-donate__qr figcaption { font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--muted); margin-top:.5rem; }

/* Donation: eSewa/number detail + transparency notes */
.samaanta-donate__detail { display:flex; flex-direction:column; gap:.1rem; padding:.5rem 0; }
.samaanta-donate__detail-label { font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--muted); }
.samaanta-donate__detail-value { font-size:var(--wp--preset--font-size--h-4); color:var(--wp--preset--color--ink); }
.samaanta-donate__detail-sub { font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--ink-soft); }
.samaanta-donate__note { font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--ink-soft); margin:.25rem 0; }

/* ---------------------------------------------------------------
   Content components: values, timeline, stat-cite, press band
   --------------------------------------------------------------- */

/* Values grid */
.samaanta-values { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:var(--wp--preset--spacing--30); list-style:none; padding-left:0; margin:var(--wp--preset--spacing--40) 0 0; }
.samaanta-value { padding:var(--wp--preset--spacing--40); background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--border); border-radius:var(--wp--custom--radius--lg); }
.samaanta-value__num { font-family:var(--wp--preset--font-family--display); font-size:var(--wp--preset--font-size--h-3); color:var(--wp--preset--color--brand-red-dark); line-height:1; }
.samaanta-value h3 { margin:.5rem 0 .5rem; font-size:var(--wp--preset--font-size--h-4); }
.samaanta-value p { margin:0; color:var(--wp--preset--color--ink-soft); }

/* Timeline (Our Story) */
.samaanta-timeline { list-style:none; padding-left:0; margin:var(--wp--preset--spacing--40) 0 0; position:relative; }
.samaanta-timeline::before { content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:var(--wp--preset--color--border); }
.samaanta-timeline li { position:relative; padding:0 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); }
.samaanta-timeline li::before { content:""; position:absolute; left:0; top:6px; width:20px; height:20px; border-radius:50%; background:var(--wp--preset--color--brand-red-dark); border:4px solid var(--wp--preset--color--surface); box-shadow:0 0 0 1px var(--wp--preset--color--border); }
.samaanta-timeline .year { font-family:var(--wp--preset--font-family--display); font-weight:600; color:var(--wp--preset--color--brand-red-dark); }
.samaanta-timeline h3 { margin:.1rem 0 .35rem; font-size:var(--wp--preset--font-size--h-4); }
.samaanta-timeline p { margin:0; color:var(--wp--preset--color--ink-soft); max-width:var(--wp--custom--measure); }

/* Stat with citation (Higher Education page) */
.samaanta-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:var(--wp--preset--spacing--30); list-style:none; padding-left:0; margin:var(--wp--preset--spacing--40) 0; }
.samaanta-stat { padding:var(--wp--preset--spacing--40); background:var(--wp--preset--color--surface-alt); border-radius:var(--wp--custom--radius--lg); }
.samaanta-stat__value { font-family:var(--wp--preset--font-family--display); font-size:var(--wp--preset--font-size--h-1); line-height:1; color:var(--wp--preset--color--brand-red-dark); }
.samaanta-stat__label { margin:.5rem 0 .25rem; font-weight:600; }
.samaanta-stat__cite { font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--muted); }

/* Press band ("As featured in") */
.samaanta-press { text-align:center; }
.samaanta-press__label { font-size:var(--wp--preset--font-size--small); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--wp--preset--color--muted); }
.samaanta-press__items { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:var(--wp--preset--spacing--40); margin-top:var(--wp--preset--spacing--30); }
.samaanta-press__item { font-family:var(--wp--preset--font-family--display); font-size:var(--wp--preset--font-size--h-4); color:var(--wp--preset--color--ink-soft); }

/* Editorial hero strip for the three-word brand line */
.samaanta-triad { display:flex; flex-wrap:wrap; gap:1.5rem; }
.samaanta-triad span { font-family:var(--wp--preset--font-family--display); font-weight:600; font-size:var(--wp--preset--font-size--h-2); }
.samaanta-triad span:nth-child(1){ color:var(--wp--preset--color--brand-red-dark); }
.samaanta-triad span:nth-child(2){ color:var(--wp--preset--color--teal); }
.samaanta-triad span:nth-child(3){ color:var(--wp--preset--color--amber); }

/* ---------------------------------------------------------------
   Navigation — dropdowns styled to the brand system
   --------------------------------------------------------------- */

/* Top-level items */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.samaanta-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink);
	font-weight: 500;
	text-decoration: none;
	padding: 0.4rem 0.15rem;
	transition: color var(--wp--custom--transition--fast);
}

/* Top-level hover / focus → brand red with an animated underline */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative;
}
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0.15rem; right: 0.15rem; bottom: -2px;
	height: 2px;
	background: var(--wp--preset--color--brand-red-dark);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--wp--custom--transition--base);
}
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--brand-red-dark);
}
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

/* Current page — brand red + persistent underline */
.samaanta-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--brand-red-dark);
	font-weight: 600;
}
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"]::after {
	transform: scaleX(1);
}

/* Dropdown panel */
.samaanta-header .wp-block-navigation__submenu-container {
	min-width: 15rem;
	padding: 0.5rem;
	margin-top: 0.5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--lifted);
	/* gentle reveal */
	opacity: 0;
	transform: translateY(6px);
	transition: opacity var(--wp--custom--transition--base), transform var(--wp--custom--transition--base);
}
.samaanta-header .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
.samaanta-header .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container,
.samaanta-header .wp-block-navigation__submenu-container:not([aria-hidden="true"]) {
	opacity: 1;
	transform: translateY(0);
}

/* small pointer notch */
.samaanta-header .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: -5px; left: 1.25rem;
	width: 10px; height: 10px;
	background: var(--wp--preset--color--surface);
	border-left: 1px solid var(--wp--preset--color--border);
	border-top: 1px solid var(--wp--preset--color--border);
	transform: rotate(45deg);
}

/* Dropdown items */
.samaanta-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 0.6rem 0.85rem;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--ink-soft);
	font-weight: 500;
	white-space: nowrap;
	transition: background var(--wp--custom--transition--fast), color var(--wp--custom--transition--fast);
}
.samaanta-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { content: none; }
.samaanta-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.samaanta-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--surface-warm);
	color: var(--wp--preset--color--brand-red-dark);
}
.samaanta-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--surface-warm);
	color: var(--wp--preset--color--brand-red-dark);
	font-weight: 600;
}

/* caret alignment + colour on hover */
.samaanta-header .wp-block-navigation-submenu__toggle svg { transition: transform var(--wp--custom--transition--fast); }
.samaanta-header .wp-block-navigation-item:hover .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
	.samaanta-header .wp-block-navigation__submenu-container,
	.samaanta-header .wp-block-navigation-item__content::after,
	.samaanta-header .wp-block-navigation-submenu__toggle svg { transition: none; }
}

/* Tighten submenu vertical rhythm (core adds flex gap) */
.samaanta-header .wp-block-navigation__submenu-container { gap: 0.1rem; }
.samaanta-header .wp-block-navigation__submenu-container .wp-block-navigation-item { margin: 0; }

/* ---------------------------------------------------------------
   Fellow-stories slider (accessible carousel)
   No-JS fallback: slides stack and are all visible.
   --------------------------------------------------------------- */
.samaanta-slider { position: relative; }
.samaanta-slider__track { list-style: none; margin: 0; padding: 0; }

/* Enhanced (JS on): horizontal track, one slide visible */
.samaanta-slider.is-enhanced { overflow: hidden; border-radius: var(--wp--custom--radius--xl); }
.samaanta-slider.is-enhanced .samaanta-slider__track {
	display: flex;
	transition: transform var(--wp--custom--transition--slow);
}
.samaanta-slider.is-enhanced .samaanta-slide {
	flex: 0 0 100%;
	min-width: 100%;
}

.samaanta-slide {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	background: var(--wp--preset--color--surface-warm);
	border-radius: var(--wp--custom--radius--xl);
	overflow: hidden;
}
.samaanta-slider.is-enhanced .samaanta-slide { border-radius: 0; }

/* No-JS: space stacked slides */
.samaanta-slider:not(.is-enhanced) .samaanta-slide + .samaanta-slide { margin-top: var(--wp--preset--spacing--30); }

.samaanta-slide__media { min-height: 22rem; }
.samaanta-slide__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.samaanta-slide__img--empty { background:
	radial-gradient(circle at 50% 40%, rgba(26,22,24,.06) 0 22%, transparent 23%),
	var(--wp--preset--color--surface-alt); min-height: 22rem; }

.samaanta-slide__body {
	padding: var(--wp--preset--spacing--50);
	display: flex; flex-direction: column; justify-content: center; gap: 0.5rem;
}
.samaanta-slide__cohort { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--brand-red-dark); }
.samaanta-slide__quote { margin: 0; padding: 0; border: 0; }
.samaanta-slide__quote p {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-3);
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
}
.samaanta-slide__quote p::before { content: "\201C"; }
.samaanta-slide__quote p::after { content: "\201D"; }
.samaanta-slide__name { margin: 0.25rem 0 0; font-size: var(--wp--preset--font-size--h-4); }
.samaanta-slide__link {
	align-self: start; margin-top: 0.5rem;
	font-weight: 600; color: var(--wp--preset--color--brand-red-dark);
}

/* Controls */
.samaanta-slider__controls {
	display: flex; align-items: center; justify-content: center; gap: 0.75rem;
	margin-top: var(--wp--preset--spacing--30);
}
.samaanta-slider:not(.is-enhanced) .samaanta-slider__controls { display: none; }
.samaanta-slider__btn {
	width: var(--wp--custom--touch-target); height: var(--wp--custom--touch-target);
	display: grid; place-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink); font-size: 1.1rem; cursor: pointer;
	transition: background var(--wp--custom--transition--fast), border-color var(--wp--custom--transition--fast);
}
.samaanta-slider__btn:hover { background: var(--wp--preset--color--surface-warm); border-color: var(--wp--preset--color--brand-red-dark); }
.samaanta-slider__btn:focus-visible { outline: 2px solid var(--wp--preset--color--brand-red-dark); outline-offset: 2px; }
.samaanta-slider__dots { display: flex; gap: 0.5rem; }
.samaanta-slider__dot {
	/* 24px hit area (WCAG 2.5.8) with a 12px visual dot via background-clip */
	width: 24px; height: 24px; padding: 0; border: 0; cursor: pointer;
	background: transparent; position: relative;
	transition: transform var(--wp--custom--transition--fast);
}
.samaanta-slider__dot::before {
	content: ""; position: absolute; inset: 6px;
	border-radius: 50%; background: var(--wp--preset--color--border-strong);
	transition: background var(--wp--custom--transition--fast);
}
.samaanta-slider__dot[aria-current="true"]::before { background: var(--wp--preset--color--brand-red-dark); }
.samaanta-slider__dot[aria-current="true"] { transform: scale(1.2); }
.samaanta-slider__dot:focus-visible { outline: 2px solid var(--wp--preset--color--brand-red-dark); outline-offset: 2px; }

@media (max-width: 720px) {
	.samaanta-slide { grid-template-columns: 1fr; }
	.samaanta-slide__media { min-height: 16rem; }
	.samaanta-slide__body { padding: var(--wp--preset--spacing--40); }
}
@media (prefers-reduced-motion: reduce) {
	.samaanta-slider.is-enhanced .samaanta-slider__track { transition: none; }
}

/* Video facade (click-to-play — no YouTube cookie/JS until user clicks) */
.samaanta-video {
	position: relative; aspect-ratio: 16/9; margin-top: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--lg); overflow: hidden; cursor: pointer;
	background:
		radial-gradient(circle at 50% 45%, rgba(255,255,255,.06), transparent 60%),
		var(--wp--preset--color--brand-red-darker);
}
.samaanta-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.samaanta-video__play {
	position:absolute; inset:0; margin:auto; width:5rem; height:5rem;
	display:grid; place-items:center; cursor:pointer;
	background:rgba(255,255,255,.95); border:0; border-radius:50%;
	box-shadow:var(--wp--preset--shadow--lifted);
	transition:transform var(--wp--custom--transition--fast), background var(--wp--custom--transition--fast);
}
.samaanta-video__play:hover { transform:scale(1.06); background:#fff; }
.samaanta-video__play:focus-visible { outline:3px solid var(--wp--preset--color--surface); outline-offset:3px; }
.samaanta-video__icon { font-size:1.5rem; color:var(--wp--preset--color--brand-red-dark); margin-left:.25rem; }

/* ---------------------------------------------------------------
   Nav caret alignment — center the dropdown chevron with its label
   --------------------------------------------------------------- */
.samaanta-header .wp-block-navigation-item.wp-block-navigation-submenu {
	display: flex;
	align-items: center;
	gap: 0.15rem;
}
.samaanta-header .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-right: 0;
}
.samaanta-header .wp-block-navigation-submenu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	padding: 0;
	margin: 0;
	line-height: 0;
	color: inherit;
}
.samaanta-header .wp-block-navigation-submenu__toggle svg {
	display: block;
	width: 0.7em;
	height: 0.7em;
	margin-top: -0.05em; /* optical centre with the cap-height of the label */
}
/* caret follows the label colour on hover / current */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item:hover .wp-block-navigation-submenu__toggle,
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item:focus-within .wp-block-navigation-submenu__toggle {
	color: var(--wp--preset--color--brand-red-dark);
}

/* Homepage newsletter section — center the single-field form */
.samaanta-newsletter .samaanta-form-wrap { max-width: 32rem; margin-inline: auto; }
.samaanta-newsletter .samaanta-form { gap: var(--wp--preset--spacing--20); }
.samaanta-newsletter .samaanta-form__submit { justify-self: center; }

/* ---------------------------------------------------------------
   Homepage polish
   --------------------------------------------------------------- */

/* Centered Education Plus triad */
.samaanta-triad--center { justify-content: center; margin-block: 0.5rem 1rem; }
.samaanta-triad--center span { font-size: var(--wp--preset--font-size--h-1); }

/* Impact: cap at a tidy 3-per-row so 6 metrics = 2 clean rows */
.samaanta-metrics { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); max-width: 66rem; }
@media (min-width: 900px) { .samaanta-metrics { grid-template-columns: repeat(3, 1fr); } }

/* Hero image: give the placeholder a warmer, layered treatment + real photos
   sit cleanly inside the same frame */
.samaanta-hero__image img {
	box-shadow: var(--wp--preset--shadow--lifted);
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

/* Press band: tighten the vertical space so it reads as a band, not a void */
.samaanta-press { padding-block: 0; }

/* Slider: give the empty text panel a touch more presence */
.samaanta-slide__body { gap: 0.75rem; }

/* ---------------------------------------------------------------
   Hero image slider (full-bleed slides with overlay text)
   Reuses the accessible engine; hero-specific presentation here.
   --------------------------------------------------------------- */
.samaanta-hero-slider { position: relative; border-radius: 0; }
.samaanta-hero-slider .samaanta-slider__track { display: flex; }
.samaanta-hero-slider.is-enhanced { overflow: hidden; }

.samaanta-hero-slide {
	position: relative;
	display: block;                 /* override the fellow-slide grid */
	flex: 0 0 100%;
	min-width: 100%;
	min-height: clamp(26rem, 62vh, 40rem);
	background: var(--wp--preset--color--brand-red-darker);
	border-radius: 0;
	overflow: hidden;
}
/* No-JS: stack hero slides with a little spacing */
.samaanta-hero-slider:not(.is-enhanced) .samaanta-hero-slide + .samaanta-hero-slide { margin-top: 2px; }

.samaanta-hero-slide__media { position: absolute; inset: 0; }
.samaanta-hero-slide__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.samaanta-hero-slide__img--empty { background:
	radial-gradient(circle at 70% 30%, rgba(255,255,255,.08), transparent 60%),
	var(--wp--preset--color--brand-red-darker); }

/* Legible overlay — dark gradient from the left where the text sits */
.samaanta-hero-slide__overlay {
	position: relative; z-index: 1;
	min-height: inherit;
	display: flex; align-items: center;
	padding: clamp(1.5rem, 5vw, 4rem);
	background: linear-gradient(90deg, rgba(20,15,16,.78) 0%, rgba(20,15,16,.55) 42%, rgba(20,15,16,.15) 72%, transparent 100%);
}
@media (max-width: 720px) {
	.samaanta-hero-slide__overlay { background: linear-gradient(0deg, rgba(20,15,16,.82) 0%, rgba(20,15,16,.5) 55%, rgba(20,15,16,.25) 100%); align-items: flex-end; }
}
.samaanta-hero-slide__inner { max-width: 34rem; color: #fff; }
.samaanta-hero-slide__eyebrow {
	display: inline-block; margin-bottom: .75rem;
	font-size: var(--wp--preset--font-size--small); font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase; color: #fff;
	background: var(--wp--preset--color--brand-red-dark);
	padding: .25rem .75rem; border-radius: var(--wp--custom--radius--pill);
}
.samaanta-hero-slide__heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.05; color: #fff;
}
.samaanta-hero-slide__text {
	margin: 1rem 0 0; font-size: var(--wp--preset--font-size--body-large);
	color: rgba(255,255,255,.92); max-width: 30rem;
}
.samaanta-hero-slide__cta {
	display: inline-flex; align-items: center; min-height: var(--wp--custom--touch-target);
	margin-top: 1.5rem; padding-inline: 1.75rem; font-weight: 600;
	color: var(--wp--preset--color--brand-red-darker); background: #fff;
	border-radius: var(--wp--custom--radius--pill); text-decoration: none;
	transition: transform var(--wp--custom--transition--fast);
}
.samaanta-hero-slide__cta:hover { transform: translateY(-2px); }
.samaanta-hero-slide__cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* Controls overlaid at the bottom for the hero variant */
.samaanta-hero-slider .samaanta-slider__controls {
	position: absolute; z-index: 2; left: 0; right: 0; bottom: clamp(.75rem, 2vw, 1.5rem);
	margin-top: 0;
}
.samaanta-hero-slider .samaanta-slider__dot { background: transparent; }
.samaanta-hero-slider .samaanta-slider__dot::before { background: rgba(255,255,255,.55); }
.samaanta-hero-slider .samaanta-slider__dot[aria-current="true"]::before { background: #fff; }
.samaanta-hero-slider .samaanta-slider__btn { background: rgba(255,255,255,.9); border-color: transparent; }

/* ---------------------------------------------------------------
   Compact image slider (hero card) — image-only, rounded frame
   --------------------------------------------------------------- */
.samaanta-image-slider { position: relative; }
.samaanta-image-slider .samaanta-imgslide__frame {
	border-radius: var(--wp--custom--radius--xl);
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--lifted);
	background: var(--wp--preset--color--surface-alt);
}
.samaanta-image-slider .samaanta-slider__track { display: flex; }
.samaanta-image-slider.is-enhanced .samaanta-slider__track {
	transition: transform var(--wp--custom--transition--slow);
}
.samaanta-imgslide {
	flex: 0 0 100%;
	min-width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border-radius: 0;
	display: block;
	aspect-ratio: 4 / 3;
}
.samaanta-imgslide__img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* No-JS: stack the images */
.samaanta-image-slider:not(.is-enhanced) .samaanta-imgslide + .samaanta-imgslide { margin-top: 2px; }

/* Controls: centered under the card */
.samaanta-image-slider .samaanta-slider__controls { margin-top: var(--wp--preset--spacing--20); }
.samaanta-image-slider:not(.is-enhanced) .samaanta-slider__controls { display: none; }
@media (prefers-reduced-motion: reduce) {
	.samaanta-image-slider.is-enhanced .samaanta-slider__track { transition: none; }
}

/* ---------------------------------------------------------------
   Image slider zoom + lightbox
   --------------------------------------------------------------- */
.samaanta-imgslide__zoom {
	display: block; position: relative; width: 100%; height: 100%;
	cursor: zoom-in; line-height: 0;
}
.samaanta-imgslide__zoom:focus-visible { outline: 3px solid var(--wp--preset--color--brand-red-dark); outline-offset: -3px; }
.samaanta-imgslide__zoomicon {
	position: absolute; top: .75rem; right: .75rem;
	width: 2rem; height: 2rem; display: grid; place-items: center;
	font-size: 1rem; color: var(--wp--preset--color--ink);
	background: rgba(255,255,255,.9); border-radius: var(--wp--custom--radius--pill);
	box-shadow: var(--wp--preset--shadow--soft);
	opacity: 0; transform: scale(.9);
	transition: opacity var(--wp--custom--transition--fast), transform var(--wp--custom--transition--fast);
}
.samaanta-imgslide__zoom:hover .samaanta-imgslide__zoomicon,
.samaanta-imgslide__zoom:focus-visible .samaanta-imgslide__zoomicon { opacity: 1; transform: scale(1); }

/* Lightbox */
.samaanta-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; }
.samaanta-lightbox[hidden] { display: none; }
.samaanta-lightbox__backdrop { position: absolute; inset: 0; background: rgba(20,15,16,.88); cursor: zoom-out; }
.samaanta-lightbox__dialog {
	position: relative; z-index: 1;
	max-width: min(92vw, 1100px); max-height: 90vh;
	display: flex; flex-direction: column; align-items: center;
}
.samaanta-lightbox__img {
	max-width: 92vw; max-height: 82vh; width: auto; height: auto;
	object-fit: contain; border-radius: var(--wp--custom--radius--md);
	box-shadow: 0 20px 60px rgba(0,0,0,.5); background: #000;
}
.samaanta-lightbox__counter { margin: .75rem 0 0; color: rgba(255,255,255,.85); font-size: var(--wp--preset--font-size--small); }
.samaanta-lightbox__btn {
	position: absolute; width: 3rem; height: 3rem; display: grid; place-items: center;
	background: rgba(255,255,255,.95); border: 0; border-radius: 50%;
	color: var(--wp--preset--color--ink); font-size: 1.25rem; cursor: pointer;
	transition: background var(--wp--custom--transition--fast), transform var(--wp--custom--transition--fast);
}
.samaanta-lightbox__btn:hover { transform: scale(1.06); }
.samaanta-lightbox__btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.samaanta-lightbox__prev { left: -1rem; top: 50%; transform: translateY(-50%); }
.samaanta-lightbox__next { right: -1rem; top: 50%; transform: translateY(-50%); }
.samaanta-lightbox__prev:hover { transform: translateY(-50%) scale(1.06); }
.samaanta-lightbox__next:hover { transform: translateY(-50%) scale(1.06); }
.samaanta-lightbox__close { top: -1rem; right: -1rem; }
@media (max-width: 600px) {
	.samaanta-lightbox__prev { left: .5rem; }
	.samaanta-lightbox__next { right: .5rem; }
	.samaanta-lightbox__close { top: .5rem; right: .5rem; }
}

/* ---------------------------------------------------------------
   Nav dropdowns — definitive fixes (alignment, hover state, hover bridge)
   Later in the file so these win over earlier rules.
   --------------------------------------------------------------- */

/* The submenu item is a centered flex row */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item.has-child {
	position: relative;
	display: flex;
	align-items: center;
}

/* Caret toggle: SAME height as the 44px label so their centres line up */
.samaanta-header .wp-block-navigation-submenu__toggle {
	min-height: var(--wp--custom--touch-target);
	min-width: 1.75rem;   /* >=24px hit area (WCAG 2.5.8 target size) */
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	margin: 0 0 0 0.1rem !important;
	color: inherit;
	background: transparent;
	border: 0;
}
.samaanta-header .wp-block-navigation-submenu__toggle svg {
	display: block;
	width: 0.8em;
	height: 0.8em;
	margin: 0;
	transition: transform var(--wp--custom--transition--fast);
}
.samaanta-header .wp-block-navigation-submenu__toggle svg path {
	stroke: currentColor;   /* chevron follows the toggle colour */
}

/* Hover / focus: caret joins the label — turns brand red AND rotates */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item.has-child:hover .wp-block-navigation-submenu__toggle,
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item.has-child:focus-within .wp-block-navigation-submenu__toggle {
	color: var(--wp--preset--color--brand-red-dark);
}
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item.has-child:hover .wp-block-navigation-submenu__toggle svg,
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item.has-child:focus-within .wp-block-navigation-submenu__toggle svg {
	transform: rotate(180deg);
}

/* Hover-gap bridge: an invisible strip under each dropdown item so moving the
   mouse down onto the panel keeps the item hovered — the menu no longer closes
   in the gap. */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item.has-child::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 0.9rem;      /* covers the panel offset */
	background: transparent;
}
.samaanta-header .wp-block-navigation__submenu-container { margin-top: 0.65rem; }

@media (prefers-reduced-motion: reduce) {
	.samaanta-header .wp-block-navigation-submenu__toggle svg { transition: none; }
}

/* Center the label text within its link box so it lines up with the caret.
   (The link renders as a tall block with the text sitting near the top;
   flex-centering drops the text to the true vertical centre = caret centre.) */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
}

/* Brand logo (SVG) */
.samaanta-logo { display: inline-flex; align-items: center; line-height: 0; }
.samaanta-logo img { display: block; width: 184px; height: auto; }
.samaanta-logo--footer img { width: 190px; }
@media (max-width: 600px) { .samaanta-logo img { width: 150px; } }

/* Post excerpt "Read more" link */
.wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: 0.4rem;
	font-weight: 600;
	color: var(--wp--preset--color--brand-red-dark);
	text-decoration: none;
}
.wp-block-post-excerpt__more-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.wp-block-post-excerpt { margin-block: 0.5rem; }
.wp-block-post-excerpt p { color: var(--wp--preset--color--ink-soft); }

/* Keep top-level nav labels on one line; tighten spacing on narrow laptops */
.samaanta-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
@media (min-width: 782px) and (max-width: 1200px) {
	.samaanta-header .wp-block-navigation { gap: 1rem !important; }
	.samaanta-header__actions { gap: 0.75rem; }
	.samaanta-logo img { width: 156px; }
}

/* ---------------------------------------------------------------
   Collapse the primary nav to the hamburger overlay below 1024px
   (6 dropdown items + logo + donate can't fit a horizontal bar on
   tablets/small laptops). Core only collapses at 600px by default.
   --------------------------------------------------------------- */
@media (max-width: 1024px) {
	/* show the hamburger open button */
	.samaanta-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
	/* hide the inline horizontal menu; the overlay holds the real menu */
	.samaanta-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block;
		width: auto;
		height: auto;
		overflow: initial;
		position: static;
		background: transparent !important;
	}
	.samaanta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content {
		display: none !important;
	}
	/* the overlay (open) covers the screen as usual */
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
	}
}

/* Inside the mobile overlay, reset the desktop dropdown-card styling to a
   plain stacked submenu (no floating panel, notch or shadow). */
@media (max-width: 1024px) {
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static !important;
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before { display: none !important; }
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		color: var(--wp--preset--color--ink-soft) !important;
		background: transparent !important;
		padding: 0.4rem 0 !important;
	}
	/* remove the desktop underline/caret rotation artefacts in the overlay */
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { content: none !important; }
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child::after { content: none !important; }
}

/* Mobile overlay menu: center items, sensible spacing, brand-red active */
@media (max-width: 1024px) {
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: center !important;
		gap: 0.25rem !important;
		padding-top: 1rem;
	}
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { text-align: center; }
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		font-size: 1.15rem;
		padding: 0.5rem 0 !important;
	}
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		text-align: center !important;
		font-size: 1rem;
	}
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child { display: block; }
}

/* Force-center the overlay menu (override the nav's right justification) */
@media (max-width: 1024px) {
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation,
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		justify-content: center !important;
		align-items: center !important;
		text-align: center !important;
	}
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
	.samaanta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		width: auto !important;
		justify-content: center !important;
		text-align: center !important;
	}
}

/* ---------------------------------------------------------------
   Press coverage ("In the news")
   --------------------------------------------------------------- */
.samaanta-press-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
	gap: var(--wp--preset--spacing--30); list-style: none; padding-left: 0; margin: var(--wp--preset--spacing--40) 0 0;
}
.samaanta-press-card { margin: 0; }
.samaanta-press-card__link, .samaanta-press-card > .samaanta-press-card__body {
	display: flex; flex-direction: column; height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg); overflow: hidden;
	text-decoration: none; color: inherit;
	transition: transform var(--wp--custom--transition--base), box-shadow var(--wp--custom--transition--base);
}
.samaanta-press-card__link:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--lifted); }
.samaanta-press-card__link:focus-visible { outline: 2px solid var(--wp--preset--color--brand-red-dark); outline-offset: 2px; }
.samaanta-press-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--wp--preset--color--surface-alt); }
.samaanta-press-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--wp--custom--transition--slow); }
.samaanta-press-card__link:hover .samaanta-press-card__img { transform: scale(1.04); }
.samaanta-press-card__body { padding: var(--wp--preset--spacing--30); display: flex; flex-direction: column; gap: 0.4rem; flex: 1; }
.samaanta-press-card__outlet { font-family: var(--wp--preset--font-family--display); font-weight: 600; color: var(--wp--preset--color--brand-red-dark); }
.samaanta-press-card__title { margin: 0; font-size: var(--wp--preset--font-size--h-4); line-height: 1.25; }
.samaanta-press-card__meta { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.samaanta-press-card__excerpt { margin: 0; color: var(--wp--preset--color--ink-soft); font-size: var(--wp--preset--font-size--small); }
.samaanta-press-card__read { margin-top: auto; padding-top: 0.5rem; font-weight: 600; color: var(--wp--preset--color--brand-red-dark); }
.samaanta-press-card__link:hover .samaanta-press-card__read { text-decoration: underline; text-underline-offset: 3px; }
