/*!
 * HONETA Foundation — front-end styles for the HONETA widgets and shortcodes.
 *
 * Everything is namespaced with `honeta-` so the active theme can override any
 * rule without fighting the plugin. The stylesheet is only enqueued by the code
 * that actually renders a HONETA element, so it never reaches a page that does
 * not use one.
 *
 * Design system (§3)
 * ------------------
 * Colour tokens are declared as custom properties so Elementor Global Colors
 * and the theme can both reuse them.
 *
 * Contrast ratios measured against the tokens below (WCAG 2.1):
 *   #FFFFFF on --honeta-blue      #0B3C6D  11.16:1  AA / AAA (normal text)
 *   #FFFFFF on --honeta-green     #1F6B3A   6.51:1  AA / AAA (large text), AA normal
 *   #1B1F23 on --honeta-gold      #E0A526   7.56:1  AA / AAA (normal text)
 *   #FFFFFF on --honeta-gold      #E0A526   2.19:1  FAILS — never pair these two
 *   #1B1F23 on --honeta-bg        #FAF8F3  16.66:1  AA / AAA
 *   #5A6268 on --honeta-bg        #FAF8F3   5.85:1  AA (normal text)
 *   #5A6268 on #FFFFFF                      6.21:1  AA (normal text)
 *   #FFFFFF on --honeta-whatsapp  #0E7367   5.73:1  AA (normal text)
 *
 * Because #E0A526 fails against white, every gold surface in this file
 * explicitly sets `color: var(--honeta-ink)`.
 *
 * @package HONETA\Addons
 */

/* ---------------------------------------------------------------- tokens -- */

:root {
	--honeta-blue: #0b3c6d;
	--honeta-blue-dark: #082c4f;
	--honeta-green: #1f6b3a;
	--honeta-green-dark: #17512c;
	--honeta-gold: #e0a526;
	--honeta-whatsapp: #0e7367;

	--honeta-bg: #faf8f3;
	--honeta-surface: #ffffff;
	--honeta-ink: #1b1f23;
	--honeta-muted: #5a6268;
	--honeta-line: #e2dcd1;
	--honeta-tint: rgba(11, 60, 109, 0.06);
	--honeta-tint-strong: rgba(11, 60, 109, 0.12);

	--honeta-radius: 14px;
	--honeta-radius-sm: 8px;
	--honeta-shadow: 0 1px 2px rgba(27, 31, 35, 0.06), 0 10px 28px rgba(27, 31, 35, 0.07);

	--honeta-container: 1200px;
	--honeta-gap: 24px;
	--honeta-pad: clamp(20px, 4vw, 40px);

	--honeta-font-heading: Merriweather, Georgia, "Times New Roman", serif;
	--honeta-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--honeta-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ------------------------------------------------------------ base pieces -- */

.honeta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 0;
	color: inherit;
	vertical-align: middle;
}

.honeta-icon > svg {
	display: block;
	max-width: 100%;
	height: auto;
}

/* The three places a screen-reader-only label is injected by the plugin. The
   rule is scoped deliberately: the theme owns the global utility class. */
.honeta-copy .screen-reader-text,
.honeta-share__link .screen-reader-text,
.honeta-card__footer .screen-reader-text,
.honeta-bank__value .screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Visually hidden but available to assistive technology. The counters script
   inserts one of these beside each animated number so a screen reader always
   hears the final value instead of the intermediate animation frames. */
.honeta-raw {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ---------------------------------------------------------------- layout -- */

.honeta-grid {
	display: grid;
	gap: var(--honeta-gap);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.honeta-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.honeta-grid {
		grid-template-columns: repeat(var(--honeta-columns, 3), minmax(0, 1fr));
	}
}

/* Fallbacks used when the Elementor `columns` control is not present (plain
   shortcode pages, no-Elementor installs). Elementor's own selector wins when
   it is set, because it targets `{{WRAPPER}} .honeta-grid`. */
.honeta-contact--cols-1,
.honeta-events--cols-1,
.honeta-partners--cols-1,
.honeta-pillars--cols-1,
.honeta-programs--cols-1,
.honeta-stories--cols-1,
.honeta-targets--cols-1,
.honeta-values--cols-1 {
	--honeta-columns: 1;
}

.honeta-contact--cols-2,
.honeta-events--cols-2,
.honeta-partners--cols-2,
.honeta-pillars--cols-2,
.honeta-programs--cols-2,
.honeta-stories--cols-2,
.honeta-targets--cols-2,
.honeta-values--cols-2 {
	--honeta-columns: 2;
}

.honeta-contact--cols-3,
.honeta-events--cols-3,
.honeta-partners--cols-3,
.honeta-pillars--cols-3,
.honeta-programs--cols-3,
.honeta-stories--cols-3,
.honeta-targets--cols-3,
.honeta-values--cols-3 {
	--honeta-columns: 3;
}

.honeta-contact--cols-4,
.honeta-events--cols-4,
.honeta-partners--cols-4,
.honeta-pillars--cols-4,
.honeta-programs--cols-4,
.honeta-stories--cols-4,
.honeta-targets--cols-4,
.honeta-values--cols-4 {
	--honeta-columns: 4;
}

.honeta-contact--align-center,
.honeta-events--align-center,
.honeta-partners--align-center,
.honeta-pillars--align-center,
.honeta-programs--align-center,
.honeta-stories--align-center,
.honeta-targets--align-center,
.honeta-values--align-center {
	text-align: center;
}

.honeta-contact--align-center .honeta-heading,
.honeta-partners--align-center .honeta-heading,
.honeta-programs--align-center .honeta-heading,
.honeta-stories--align-center .honeta-heading,
.honeta-targets--align-center .honeta-heading,
.honeta-values--align-center .honeta-heading {
	margin-left: auto;
	margin-right: auto;
}

.honeta-contact--align-right,
.honeta-events--align-right,
.honeta-partners--align-right,
.honeta-pillars--align-right,
.honeta-programs--align-right,
.honeta-stories--align-right,
.honeta-targets--align-right,
.honeta-values--align-right {
	text-align: right;
}

/* -------------------------------------------------------------- headings -- */

.honeta-heading {
	max-width: 62ch;
	margin: 0 0 clamp(18px, 2.2vw, 30px);
}

.honeta-heading--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.honeta-heading--right {
	margin-left: auto;
	text-align: right;
}

.honeta-heading__eyebrow {
	margin: 0 0 8px;
	color: var(--honeta-green);
	font: 600 0.8125rem/1.4 var(--honeta-font-body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.honeta-heading__title {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 clamp(1.5rem, 3vw, 2.125rem)/1.2 var(--honeta-font-heading);
	text-wrap: balance;
}

.honeta-heading__subtitle {
	margin: 12px 0 0;
	color: var(--honeta-muted);
	font: 400 clamp(1rem, 1.6vw, 1.125rem)/1.6 var(--honeta-font-body);
}

/* --------------------------------------------------------------- buttons -- */

.honeta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	max-width: 100%;
	border: 2px solid transparent;
	border-radius: 999px;
	background-color: var(--honeta-blue);
	color: #fff;
	font: 600 1rem/1.2 var(--honeta-font-body);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s var(--honeta-ease), border-color 0.18s var(--honeta-ease),
		color 0.18s var(--honeta-ease), transform 0.18s var(--honeta-ease);
	-webkit-appearance: none;
	appearance: none;
}

.honeta-btn--small {
	padding: 9px 16px;
	font-size: 0.875rem;
}

.honeta-btn--medium {
	padding: 12px 22px;
}

.honeta-btn--large {
	padding: 15px 30px;
	font-size: 1.0625rem;
}

.honeta-btn__icon {
	width: 1.15em;
	height: 1.15em;
}

.honeta-btn__icon > svg {
	width: 1.15em;
	height: 1.15em;
}

.honeta-btn__label {
	overflow-wrap: anywhere;
}

.honeta-btn:hover,
.honeta-btn:focus {
	color: #fff;
	text-decoration: none;
}

.honeta-btn:active {
	transform: translateY(1px);
}

/* 11.16:1 against white. */
.honeta-btn--primary {
	background-color: var(--honeta-blue);
	color: #fff;
}

.honeta-btn--primary:hover,
.honeta-btn--primary:focus {
	background-color: var(--honeta-blue-dark);
}

/* 6.51:1 against white. */
.honeta-btn--secondary {
	background-color: var(--honeta-green);
	color: #fff;
}

.honeta-btn--secondary:hover,
.honeta-btn--secondary:focus {
	background-color: var(--honeta-green-dark);
}

/* Gold only ever carries near-black ink: 7.56:1. */
.honeta-btn--accent {
	background-color: var(--honeta-gold);
	color: var(--honeta-ink);
}

.honeta-btn--accent:hover,
.honeta-btn--accent:focus {
	background-color: #c8901a;
	color: var(--honeta-ink);
}

/* 5.73:1 against white. */
.honeta-btn--whatsapp {
	background-color: var(--honeta-whatsapp);
	color: #fff;
}

.honeta-btn--whatsapp:hover,
.honeta-btn--whatsapp:focus {
	background-color: #0b5b52;
	color: #fff;
}

.honeta-btn--outline {
	background-color: transparent;
	border-color: currentColor;
	color: var(--honeta-blue);
}

.honeta-btn--outline:hover,
.honeta-btn--outline:focus {
	background-color: var(--honeta-blue);
	border-color: var(--honeta-blue);
	color: #fff;
}

.honeta-btn--ghost {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.55);
	color: inherit;
}

.honeta-btn--ghost:hover,
.honeta-btn--ghost:focus {
	background-color: rgba(255, 255, 255, 0.22);
}

.honeta-btn--link {
	padding: 4px 0;
	border-radius: 0;
	border-color: transparent;
	background-color: transparent;
	color: var(--honeta-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.honeta-btn--link:hover,
.honeta-btn--link:focus {
	color: var(--honeta-blue-dark);
}

.honeta-cta--deep .honeta-btn--outline,
.honeta-cta--deep .honeta-btn--primary {
	background-color: #fff;
	border-color: #fff;
	color: var(--honeta-blue);
}

.honeta-cta--deep .honeta-btn--outline:hover,
.honeta-cta--deep .honeta-btn--outline:focus,
.honeta-cta--deep .honeta-btn--primary:hover,
.honeta-cta--deep .honeta-btn--primary:focus {
	background-color: var(--honeta-bg);
	border-color: var(--honeta-bg);
	color: var(--honeta-blue-dark);
}

/* ------------------------------------------------------------ text links -- */

.honeta-link {
	color: var(--honeta-blue);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.honeta-link:hover,
.honeta-link:focus {
	color: var(--honeta-blue-dark);
	text-decoration-thickness: 2px;
}

.honeta-empty {
	margin: 0;
	padding: 18px 0;
	color: var(--honeta-muted);
	font: 400 1rem/1.6 var(--honeta-font-body);
}

.honeta-note {
	margin: 16px 0 0;
	color: var(--honeta-muted);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.honeta-note--admin {
	padding: 12px 16px;
	border-left: 4px solid var(--honeta-gold);
	border-radius: 0 var(--honeta-radius-sm) var(--honeta-radius-sm) 0;
	background-color: var(--honeta-tint);
	color: var(--honeta-ink);
}

.honeta-admin-hint {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 18px 0 0;
	padding: 12px 16px;
	border: 1px dashed var(--honeta-gold);
	border-radius: var(--honeta-radius-sm);
	background-color: rgba(224, 165, 38, 0.1);
	color: var(--honeta-ink);
	font: 400 0.9375rem/1.55 var(--honeta-font-body);
}

.honeta-admin-hint__badge {
	flex: 0 0 auto;
	border-radius: 999px;
	background-color: var(--honeta-gold);
	color: var(--honeta-ink);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 3px 9px;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------- copies -- */

.honeta-copy {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid var(--honeta-line);
	border-radius: 999px;
	background-color: var(--honeta-surface);
	color: var(--honeta-blue);
	font: 600 0.8125rem/1 var(--honeta-font-body);
	padding: 7px 12px;
	cursor: pointer;
	transition: border-color 0.18s var(--honeta-ease), color 0.18s var(--honeta-ease);
	-webkit-appearance: none;
	appearance: none;
}

.honeta-copy:hover,
.honeta-copy:focus-visible {
	border-color: var(--honeta-blue);
	color: var(--honeta-blue-dark);
}

.honeta-copy.is-copied {
	border-color: var(--honeta-green);
	color: var(--honeta-green-dark);
}

/* The script swaps only this span when the label changes to "Copied", so the
   button keeps its width and the copy does not reflow the surrounding row. */
.honeta-copy__label {
	display: inline-block;
	min-width: 4.5em;
	text-align: left;
}

.honeta-share__link .honeta-copy__label {
	min-width: 0;
}

/* ----------------------------------------------------------------- cards -- */

.honeta-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
	box-shadow: var(--honeta-shadow);
	transition: transform 0.2s var(--honeta-ease), box-shadow 0.2s var(--honeta-ease);
}

.honeta-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(27, 31, 35, 0.08), 0 16px 36px rgba(27, 31, 35, 0.1);
}

.honeta-card--draft {
	border-style: dashed;
	background-image: repeating-linear-gradient(
		-45deg,
		rgba(224, 165, 38, 0.07) 0 12px,
		transparent 12px 24px
	);
}

.honeta-card__media {
	margin: 0;
	aspect-ratio: 16 / 9;
	background-color: var(--honeta-tint);
}

.honeta-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.honeta-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: clamp(18px, 2.2vw, 26px);
	flex: 1 1 auto;
}

.honeta-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: var(--honeta-tint-strong);
	color: var(--honeta-blue);
}

.honeta-card__icon-svg {
	width: 24px;
	height: 24px;
}

.honeta-card__title {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 1.125rem/1.35 var(--honeta-font-heading);
}

.honeta-card__title a,
.honeta-card__link {
	color: inherit;
	text-decoration: none;
}

.honeta-card__title a:hover,
.honeta-card__title a:focus-visible,
.honeta-card__link:hover,
.honeta-card__link:focus-visible {
	color: var(--honeta-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.honeta-card__meta {
	margin: 0;
	color: var(--honeta-muted);
	font: 500 0.8125rem/1.5 var(--honeta-font-body);
	letter-spacing: 0.01em;
}

.honeta-card__status,
.honeta-card__reach {
	align-self: flex-start;
	margin: 0;
	border-radius: 999px;
	background-color: var(--honeta-tint-strong);
	color: var(--honeta-blue-dark);
	font: 600 0.75rem/1.4 var(--honeta-font-body);
	letter-spacing: 0.02em;
	padding: 4px 11px;
}

.honeta-card__reach {
	background-color: rgba(31, 107, 58, 0.12);
	color: var(--honeta-green-dark);
}

.honeta-card__text {
	margin: 0;
	color: var(--honeta-muted);
	font: 400 0.9688rem/1.65 var(--honeta-font-body);
}

.honeta-card__footer {
	margin: auto 0 0;
	padding-top: 6px;
}

/* ------------------------------------------------------------------ hero -- */

.honeta-hero {
	background-color: var(--honeta-bg);
	padding: var(--honeta-pad) 0;
}

.honeta-hero__inner {
	display: grid;
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	max-width: var(--honeta-container);
	margin: 0 auto;
	padding: 0 20px;
	grid-template-columns: minmax(0, 1fr);
}

.honeta-hero__eyebrow {
	margin: 0 0 10px;
	color: var(--honeta-green);
	font: 600 0.8125rem/1.4 var(--honeta-font-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.honeta-hero__title {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 clamp(2rem, 5vw, 3.25rem)/1.12 var(--honeta-font-heading);
	text-wrap: balance;
}

.honeta-hero__intro {
	margin: 18px 0 0;
	max-width: 56ch;
	color: var(--honeta-muted);
	font: 400 clamp(1.0625rem, 1.8vw, 1.25rem)/1.65 var(--honeta-font-body);
}

.honeta-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: clamp(20px, 3vw, 32px);
}

.honeta-hero__highlight {
	margin: 20px 0 0;
	padding-left: 14px;
	border-left: 3px solid var(--honeta-gold);
	color: var(--honeta-ink);
	font: 600 0.9688rem/1.6 var(--honeta-font-body);
}

.honeta-hero__media {
	margin: 0;
}

.honeta-hero__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--honeta-radius);
	box-shadow: var(--honeta-shadow);
}

@media (min-width: 1025px) {
	.honeta-hero__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.honeta-hero--media-right .honeta-hero__media {
		order: 2;
	}

	.honeta-hero--media-left .honeta-hero__media {
		order: -1;
	}

	.honeta-hero--no-media .honeta-hero__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.honeta-hero--no-media .honeta-hero__content {
		max-width: 68ch;
	}
}

/* "Below the text" is the natural mobile order, so nothing has to change. */
.honeta-hero--media-below .honeta-hero__media {
	order: 3;
}

/* ------------------------------------------------------------------- cta -- */

.honeta-cta {
	position: relative;
	isolation: isolate;
	padding: var(--honeta-pad) 0;
	background-color: var(--honeta-gold);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--honeta-ink);
}

.honeta-cta--accent {
	background-color: var(--honeta-gold);
	color: var(--honeta-ink);
}

.honeta-cta--deep {
	background-color: var(--honeta-blue);
	color: #fff;
}

.honeta-cta--soft {
	background-color: var(--honeta-bg);
	color: var(--honeta-ink);
}

/* The overlay keeps text legible over a photograph, whichever background was
   chosen, and never covers the content because children are lifted above it. */
.honeta-cta--has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(rgba(11, 60, 109, 0.72), rgba(11, 60, 109, 0.72));
}

.honeta-cta--has-image {
	color: #fff;
}

.honeta-cta--has-image .honeta-cta__title {
	color: #fff;
}

.honeta-cta__inner {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(18px, 3vw, 36px);
	align-items: center;
	justify-content: space-between;
	max-width: var(--honeta-container);
	margin: 0 auto;
	padding: 0 20px;
}

.honeta-cta__text {
	flex: 1 1 22rem;
	min-width: 0;
}

.honeta-cta__title {
	margin: 0;
	color: inherit;
	font: 700 clamp(1.375rem, 3vw, 2rem)/1.25 var(--honeta-font-heading);
	text-wrap: balance;
}

.honeta-cta__intro {
	margin: 10px 0 0;
	max-width: 60ch;
	font: 400 1.0313rem/1.6 var(--honeta-font-body);
	opacity: 0.95;
}

.honeta-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.honeta-cta__button--secondary {
	background-color: transparent;
	border-color: currentColor;
	color: inherit;
}

.honeta-cta__button--secondary:hover,
.honeta-cta__button--secondary:focus {
	background-color: var(--honeta-ink);
	border-color: var(--honeta-ink);
	color: #fff;
}

/* ------------------------------------------------------- impact counters -- */

.honeta-targets {
	padding: 0;
}

.honeta-targets__heading {
	margin: 0 0 18px;
	color: var(--honeta-muted);
	font: 600 0.8125rem/1.4 var(--honeta-font-body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.honeta-targets__list {
	display: grid;
	gap: var(--honeta-gap);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.honeta-targets__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.honeta-targets__list {
		grid-template-columns: repeat(var(--honeta-columns, 4), minmax(0, 1fr));
	}
}

.honeta-targets__item {
	padding: 22px 20px;
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
	text-align: center;
}

.honeta-targets__value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 2px;
	margin: 0;
	color: var(--honeta-blue);
	font: 700 clamp(1.875rem, 4vw, 2.5rem)/1.1 var(--honeta-font-heading);
	font-variant-numeric: tabular-nums;
}

.honeta-targets__affix {
	font-size: 0.75em;
}

.honeta-targets__label {
	margin: 8px 0 0;
	color: var(--honeta-ink);
	font: 600 1rem/1.45 var(--honeta-font-body);
}

.honeta-targets__note {
	margin: 6px 0 0;
	color: var(--honeta-muted);
	font: 400 0.875rem/1.55 var(--honeta-font-body);
}

.honeta-targets__disclaimer {
	margin: 20px 0 0;
	padding: 12px 16px;
	border-left: 4px solid var(--honeta-gold);
	border-radius: 0 var(--honeta-radius-sm) var(--honeta-radius-sm) 0;
	background-color: var(--honeta-tint);
	color: var(--honeta-ink);
	font: 500 0.9375rem/1.6 var(--honeta-font-body);
}

/* The `[honeta_impact_targets]` shortcode uses a slimmer, unsectioned shape. */
.honeta-targets:not(section) .honeta-targets__list {
	gap: 14px;
}

.honeta-targets:not(section) .honeta-targets__item {
	padding: 0 0 0 14px;
	border: 0;
	border-left: 3px solid var(--honeta-gold);
	border-radius: 0;
	background-color: transparent;
	text-align: left;
}

.honeta-targets:not(section) .honeta-targets__value {
	display: block;
	font-size: clamp(1.5rem, 3vw, 1.875rem);
}

.honeta-targets:not(section) .honeta-targets__label {
	display: block;
	margin: 4px 0 0;
}

.honeta-targets:not(section) .honeta-targets__note {
	display: block;
	margin: 2px 0 0;
}

/* ---------------------------------------------------- pillars and values -- */

/* Shortcode shape: the list element itself carries `.honeta-pillars`. */
.honeta-pillars {
	display: grid;
	gap: var(--honeta-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.honeta-pillars--grid {
	grid-template-columns: minmax(0, 1fr);
}

.honeta-pillars--list {
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

@media (min-width: 768px) {
	.honeta-pillars--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.honeta-pillars--grid {
		grid-template-columns: repeat(var(--honeta-columns, 2), minmax(0, 1fr));
	}
}

.honeta-pillars__item,
.honeta-values__item {
	padding: 22px;
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
}

.honeta-pillars__item.honeta-card,
.honeta-values__item.honeta-card {
	padding: 0;
}

.honeta-pillars--list .honeta-pillars__item {
	display: grid;
	gap: 6px;
	padding: 18px 20px;
	border-left: 4px solid var(--honeta-green);
	border-radius: 0 var(--honeta-radius-sm) var(--honeta-radius-sm) 0;
}

.honeta-pillars__title,
.honeta-values__title {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 1.125rem/1.35 var(--honeta-font-heading);
}

.honeta-pillars__text,
.honeta-values__text {
	margin: 8px 0 0;
	color: var(--honeta-muted);
	font: 400 0.9688rem/1.65 var(--honeta-font-body);
}

.honeta-values {
	display: grid;
	gap: var(--honeta-gap);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.honeta-values {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.honeta-values__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.honeta-values {
		grid-template-columns: repeat(var(--honeta-columns, 3), minmax(0, 1fr));
	}
}

.honeta-name-pillars {
	display: grid;
	gap: var(--honeta-gap);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: honeta-name-pillar;
}

@media (min-width: 768px) {
	.honeta-name-pillars {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.honeta-name-pillars {
		grid-template-columns: repeat(var(--honeta-columns, 3), minmax(0, 1fr));
	}
}

.honeta-name-pillars__item {
	position: relative;
	padding: 20px 20px 20px 58px;
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
	counter-increment: honeta-name-pillar;
}

.honeta-name-pillars__item::before {
	content: counter(honeta-name-pillar);
	position: absolute;
	top: 18px;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: var(--honeta-blue);
	color: #fff;
	font: 700 0.8125rem/1 var(--honeta-font-body);
}

.honeta-name-pillars__title {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 1.0625rem/1.35 var(--honeta-font-heading);
}

.honeta-name-pillars__text {
	margin: 8px 0 0;
	color: var(--honeta-muted);
	font: 400 0.9375rem/1.65 var(--honeta-font-body);
}

/* --------------------------------------------------------- programs etc. -- */

.honeta-programs,
.honeta-stories,
.honeta-events,
.honeta-partners {
	padding: 0;
}

.honeta-programs__list,
.honeta-stories__list,
.honeta-pillars__list,
.honeta-values__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* The events list is deliberately not a `.honeta-grid`, but it still lays out
   as cards. `--honeta-columns` stays available for a theme to set. */
.honeta-events__list {
	display: grid;
	gap: var(--honeta-gap);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.honeta-events__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.honeta-events__list {
		grid-template-columns: repeat(var(--honeta-columns, 3), minmax(0, 1fr));
	}
}

.honeta-events__item {
	padding: clamp(18px, 2.2vw, 26px);
	gap: 10px;
}

.honeta-events__date {
	margin: 0;
	color: var(--honeta-blue);
	font: 700 0.875rem/1.4 var(--honeta-font-body);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.honeta-events__time {
	color: var(--honeta-muted);
	font-weight: 600;
}

.honeta-events__venue {
	margin: 0;
	color: var(--honeta-muted);
	font: 400 0.9375rem/1.55 var(--honeta-font-body);
}

/* -------------------------------------------------------------- partners -- */

.honeta-partners__list {
	margin: 0;
	padding: 0;
	list-style: none;
	gap: clamp(16px, 2.5vw, 28px);
}

.honeta-partners__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 96px;
	padding: 16px;
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
	text-align: center;
}

.honeta-partners__link,
.honeta-partners__plain {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

.honeta-partners__link:hover .honeta-partners__name,
.honeta-partners__link:focus-visible .honeta-partners__name {
	color: var(--honeta-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.honeta-partners__logo {
	display: block;
	max-width: 160px;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.honeta-partners__name {
	color: var(--honeta-ink);
	font: 700 1.0625rem/1.35 var(--honeta-font-heading);
}

.honeta-partners__type {
	color: var(--honeta-muted);
	font: 500 0.75rem/1.4 var(--honeta-font-body);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.honeta-partners--grayscale .honeta-partners__logo {
	filter: grayscale(100%);
	opacity: 0.85;
	transition: filter 0.2s var(--honeta-ease), opacity 0.2s var(--honeta-ease);
}

.honeta-partners--grayscale .honeta-partners__link:hover .honeta-partners__logo,
.honeta-partners--grayscale .honeta-partners__link:focus-visible .honeta-partners__logo {
	filter: grayscale(0%);
	opacity: 1;
}

/* --------------------------------------------------------------- contact -- */

.honeta-contact__inner {
	margin: 0;
}

.honeta-contact__group {
	padding: clamp(18px, 2.2vw, 24px);
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
}

.honeta-contact__group-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	color: var(--honeta-ink);
	font: 700 1rem/1.35 var(--honeta-font-heading);
}

.honeta-contact__group-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--honeta-tint-strong);
	color: var(--honeta-blue);
}

.honeta-contact__icon-svg {
	width: 18px;
	height: 18px;
}

.honeta-contact__list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.honeta-contact__item {
	color: var(--honeta-muted);
	font: 400 0.9688rem/1.6 var(--honeta-font-body);
	overflow-wrap: anywhere;
}

.honeta-contact__link {
	color: var(--honeta-blue);
	font-weight: 600;
	text-decoration: none;
}

.honeta-contact__link:hover,
.honeta-contact__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.honeta-contact__address {
	margin: 0;
	font-style: normal;
}

.honeta-contact__group--action {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--honeta-bg);
}

.honeta-contact__map {
	position: relative;
	margin: 20px 0 0;
	overflow: hidden;
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-tint);
}

.honeta-contact__map-frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* -------------------------------------------------------------- donation -- */

.honeta-donation {
	padding: 0;
}

.honeta-donation__inner {
	display: grid;
	gap: var(--honeta-gap);
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.honeta-donation__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.honeta-donation__panel {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: clamp(20px, 2.6vw, 30px);
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
}

.honeta-donation__panel--online {
	border-color: rgba(11, 60, 109, 0.35);
	background-color: var(--honeta-bg);
}

.honeta-donation__panel-title {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 1.125rem/1.35 var(--honeta-font-heading);
}

.honeta-donation__note {
	margin: 0;
	color: var(--honeta-muted);
	font: 400 0.9375rem/1.6 var(--honeta-font-body);
}

.honeta-donation__donate,
.honeta-donation__whatsapp {
	align-self: flex-start;
}

.honeta-donation__intro {
	margin: 0;
	color: var(--honeta-muted);
	font: 400 1rem/1.65 var(--honeta-font-body);
}

.honeta-donation__actions,
.honeta-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.honeta-donation__targets-note {
	margin: 0;
	padding: 12px 16px;
	border-left: 4px solid var(--honeta-gold);
	border-radius: 0 var(--honeta-radius-sm) var(--honeta-radius-sm) 0;
	background-color: var(--honeta-tint);
	color: var(--honeta-ink);
	font: 500 0.9375rem/1.6 var(--honeta-font-body);
}

/* ------------------------------------------------------------ bank block -- */

.honeta-bank {
	margin: 0;
}

.honeta-bank__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.honeta-bank__row {
	display: grid;
	gap: 4px 16px;
	grid-template-columns: minmax(0, 1fr);
	padding: 10px 0;
	border-bottom: 1px solid var(--honeta-line);
}

.honeta-bank__row:last-child {
	border-bottom: 0;
}

@media (min-width: 480px) {
	.honeta-bank__row {
		grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
		align-items: center;
	}
}

.honeta-bank__label {
	color: var(--honeta-muted);
	font: 600 0.8125rem/1.5 var(--honeta-font-body);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.honeta-bank__value {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--honeta-ink);
	font: 700 1.0625rem/1.5 var(--honeta-font-body);
	overflow-wrap: anywhere;
}

.honeta-bank__text {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
}

.honeta-bank__extra {
	margin: 14px 0 0;
	color: var(--honeta-muted);
	font: 400 0.9375rem/1.6 var(--honeta-font-body);
}

/* --------------------------------------------------------------- founder -- */

.honeta-founder {
	padding: 0;
}

.honeta-founder__inner {
	display: grid;
	gap: clamp(22px, 3.5vw, 44px);
	align-items: start;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.honeta-founder__inner {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}

	.honeta-founder--media-right .honeta-founder__media {
		order: 2;
	}

	.honeta-founder--media-left .honeta-founder__media {
		order: 1;
	}
}

.honeta-founder__media {
	margin: 0;
}

.honeta-founder__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--honeta-radius);
	box-shadow: var(--honeta-shadow);
}

.honeta-founder__name {
	margin: 0;
	color: var(--honeta-ink);
	font: 700 clamp(1.375rem, 2.6vw, 1.75rem)/1.25 var(--honeta-font-heading);
}

.honeta-founder__role {
	margin: 6px 0 0;
	color: var(--honeta-green);
	font: 600 0.875rem/1.5 var(--honeta-font-body);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.honeta-founder__quote {
	margin: 20px 0 0;
	padding: 4px 0 4px 20px;
	border-left: 4px solid var(--honeta-gold);
}

.honeta-founder__quote p {
	margin: 0;
	color: var(--honeta-ink);
	font: 400 italic 1.125rem/1.65 var(--honeta-font-heading);
}

.honeta-founder__bio {
	margin: 18px 0 0;
	color: var(--honeta-muted);
	font: 400 1rem/1.7 var(--honeta-font-body);
}

.honeta-founder__education {
	display: grid;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.honeta-founder__education-item {
	position: relative;
	padding-left: 22px;
	color: var(--honeta-muted);
	font: 400 0.9375rem/1.6 var(--honeta-font-body);
}

.honeta-founder__education-item::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 2px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--honeta-green);
}

/* ---------------------------------------------------------------- socials -- */

.honeta-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.honeta-socials__link {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--honeta-line);
	border-radius: 999px;
	background-color: var(--honeta-surface);
	color: var(--honeta-blue);
	font: 600 0.875rem/1 var(--honeta-font-body);
	padding: 9px 15px;
	text-decoration: none;
	transition: border-color 0.18s var(--honeta-ease), background-color 0.18s var(--honeta-ease),
		color 0.18s var(--honeta-ease);
}

.honeta-socials__link:hover,
.honeta-socials__link:focus-visible {
	border-color: var(--honeta-blue);
	background-color: var(--honeta-blue);
	color: #fff;
}

/* --------------------------------------------------------- share + lists -- */

.honeta-share {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.honeta-share__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--honeta-line);
	border-radius: 999px;
	background-color: var(--honeta-surface);
	color: var(--honeta-blue);
	font: 600 0.875rem/1 var(--honeta-font-body);
	padding: 9px 15px 9px 12px;
	text-decoration: none;
	transition: border-color 0.18s var(--honeta-ease), color 0.18s var(--honeta-ease);
}

.honeta-share__link:hover,
.honeta-share__link:focus-visible {
	border-color: var(--honeta-blue);
	color: var(--honeta-blue-dark);
}

.honeta-share__icon {
	width: 20px;
	height: 20px;
}

.honeta-phone-list,
.honeta-email-list {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.honeta-phone-list a,
.honeta-email-list a {
	color: var(--honeta-blue);
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.honeta-phone-list a:hover,
.honeta-phone-list a:focus-visible,
.honeta-email-list a:hover,
.honeta-email-list a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.honeta-address__line {
	display: block;
}

/* ----------------------------------------------------------------- forms -- */

.honeta-form {
	margin: 0;
}

.honeta-form :is(input, select, textarea) {
	max-width: 100%;
}

.honeta-form :is(input:focus-visible, select:focus-visible, textarea:focus-visible) {
	outline: 2px solid var(--honeta-blue);
	outline-offset: 1px;
}

.honeta-form--partner,
.honeta-form--volunteer {
	padding: clamp(18px, 2.4vw, 28px);
	border: 1px solid var(--honeta-line);
	border-radius: var(--honeta-radius);
	background-color: var(--honeta-surface);
}

/* ----------------------------------------------------------- focus rings -- */

.honeta-btn:focus-visible,
.honeta-copy:focus-visible,
.honeta-link:focus-visible,
.honeta-card__link:focus-visible,
.honeta-partners__link:focus-visible {
	outline: 2px solid var(--honeta-blue);
	outline-offset: 2px;
}

.honeta-cta--deep .honeta-btn:focus-visible,
.honeta-cta--has-image .honeta-btn:focus-visible {
	outline-color: #fff;
}

/* ---------------------------------------------------------- reduced motion -- */

@media (prefers-reduced-motion: reduce) {
	.honeta-btn,
	.honeta-card,
	.honeta-copy,
	.honeta-share__link,
	.honeta-socials__link,
	.honeta-partners__logo {
		transition: none;
	}

	.honeta-card:hover {
		transform: none;
	}

	.honeta-btn:active {
		transform: none;
	}

	.honeta-targets__value {
		transition: none;
	}
}

/* ----------------------------------------------------------------- print -- */

@media print {
	.honeta-copy,
	.honeta-share,
	.honeta-admin-hint,
	.honeta-note--admin,
	.honeta-contact__map {
		display: none !important;
	}

	.honeta-card,
	.honeta-targets__item {
		box-shadow: none;
	}
}
