/* Agape public presentation contract. Structure and behavior remain block/plugin owned. */
:root {
	--agape-ui-primary: #63b33b;
	--agape-ui-primary-hover: #438a2c;
	--agape-ui-heading: #3f4742;
	--agape-ui-text: #59645d;
	--agape-ui-muted: #707a73;
	--agape-ui-surface: #fff;
	--agape-ui-soft: #f6f8f4;
	--agape-ui-border: #dfe5df;
	--agape-ui-focus: #2f6f9f;
	--agape-ui-radius: 8px;
	--agape-ui-page-x: clamp(1rem, 3vw, 2rem);
	--agape-ui-section-y: clamp(2rem, 5vw, 4.5rem);
	--agape-ui-gap: clamp(1rem, 2.5vw, 2rem);
	--agape-button-green-gradient: linear-gradient(180deg, #71bd4d 0%, #58aa37 52%, #4b982f 100%);
	--agape-button-green-hover-gradient: linear-gradient(180deg, #63ad43 0%, #4c9732 52%, #3f8429 100%);
	--agape-button-green-active-gradient: linear-gradient(180deg, #438d2c 0%, #397c25 100%);
	--agape-button-green-end: #4b982f;
	--agape-button-green-hover-end: #3f8429;
	--agape-button-green-active-end: #397c25;
	--agape-button-green-border: #4b982f;
	--agape-button-green-hover-border: #397c25;
	--agape-button-gold-gradient: linear-gradient(180deg, #d6a431 0%, #c58a18 55%, #ad7410 100%);
	--agape-button-gold-hover-gradient: linear-gradient(180deg, #c79525 0%, #b67b12 55%, #99640d 100%);
	--agape-button-gold-active-gradient: linear-gradient(180deg, #ad7410 0%, #8c5b0b 100%);
	--agape-button-gold-end: #ad7410;
	--agape-button-gold-hover-end: #99640d;
	--agape-button-gold-active-end: #8c5b0b;
	--agape-button-gold-border: #ad7410;
	--agape-button-gold-hover-border: #8c5b0b;
	--agape-button-teal-gradient: linear-gradient(180deg, #43847d 0%, #34756f 55%, #2a625d 100%);
	--agape-button-teal-hover-gradient: linear-gradient(180deg, #37756f 0%, #2d6661 55%, #245550 100%);
	--agape-button-teal-active-gradient: linear-gradient(180deg, #2a625d 0%, #204c48 100%);
	--agape-button-teal-end: #2a625d;
	--agape-button-teal-hover-end: #245550;
	--agape-button-teal-active-end: #204c48;
	--agape-button-teal-border: #2a625d;
	--agape-button-teal-hover-border: #204c48;
	--agape-button-on-dark: #fff;
	--agape-button-font-weight: 650;
	--agape-button-min-height: 44px;
	--agape-button-padding-y: 0.65rem;
	--agape-button-padding-x: 1.1rem;
	--agape-button-radius: 8px;
	--agape-button-pill-radius: 999px;
	--agape-button-shadow: 0 2px 5px rgba(37, 63, 43, 0.16);
	--agape-button-hover-shadow: 0 5px 12px rgba(37, 63, 43, 0.2);
	--agape-button-active-shadow: inset 0 2px 4px rgba(24, 47, 29, 0.26);
	--agape-button-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.34);
	--agape-green: var(--agape-ui-primary);
	--agape-green-dark: var(--agape-ui-primary-hover);
	--agape-ink: var(--agape-ui-heading);
	--agape-muted: var(--agape-ui-muted);
	--agape-border: var(--agape-ui-border);
	--agape-surface: var(--agape-ui-surface);
	--agape-soft: var(--agape-ui-soft);
	--agape-radius: var(--agape-ui-radius);
}

body,
.editor-styles-wrapper {
	color: var(--agape-ui-text);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}

:where(h1, h2, h3, h4, h5, h6),
.editor-styles-wrapper :where(h1, h2, h3, h4, h5, h6) {
	color: var(--agape-ui-heading);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.18;
}

h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }

:where(p, li) { overflow-wrap: break-word; }

:where(a:not(.wp-element-button):not(.button)) {
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

:where(a:not(.wp-element-button):not(.button)):hover,
:where(a:not(.wp-element-button):not(.button)):focus-visible {
	color: var(--agape-ui-primary-hover);
	text-decoration-color: currentColor;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--agape-ui-focus);
	outline-offset: 3px;
}

:where(.wp-element-button, button, input[type="button"], input[type="submit"], .button) {
	border-radius: var(--agape-ui-radius);
	min-height: 44px;
}

:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	border-color: var(--agape-ui-border);
	border-radius: 6px;
	box-sizing: border-box;
	color: var(--agape-ui-text);
	font: inherit;
	font-size: 1rem;
	max-width: 100%;
	padding: 0.65rem 0.75rem;
}

.agape-pattern-media-text,
.agape-pattern-initiatives,
.agape-pattern-quick-links {
	gap: var(--agape-ui-gap);
}

.agape-pattern-media-text {
	padding-block: var(--agape-ui-section-y);
}

.agape-pattern-media-text .wp-block-image,
.agape-pattern-media-text .wp-block-cover {
	margin: 0;
	min-height: clamp(260px, 38vw, 520px);
}

.agape-pattern-media-text .wp-block-column:last-child {
	align-self: center;
}

.agape-pattern-banner-overlay,
.agape-pattern-banner-bottom-left,
.agape-pattern-banner-bottom-right {
	min-height: clamp(360px, 55vw, 650px);
}

.agape-pattern-banner-copy {
	background: color-mix(in srgb, #17201a 78%, transparent);
	color: #fff;
	max-width: min(620px, 92%);
	padding: clamp(1rem, 3vw, 2rem);
}

.agape-pattern-banner-copy :where(h1, h2, h3, p) { color: inherit; }

.agape-pattern-initiative-card {
	border-top: 1px solid var(--agape-ui-border);
	padding-top: 1rem;
}

.agape-pattern-initiative-card .wp-block-cover {
	aspect-ratio: 4 / 3;
	min-height: 0;
}

.agape-pattern-quick-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.agape-pattern-quick-links li {
	border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	padding-block: 0.65rem;
}

body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
.agape-account-modal__dialog {
	border-color: var(--agape-ui-border) !important;
	border-radius: var(--agape-ui-radius) !important;
	padding: clamp(1rem, 3vw, 1.5rem) !important;
}

body.woocommerce-account .woocommerce-form-row { margin-bottom: 0.85rem !important; }

@media (max-width: 781px) {
	.agape-pattern-media-text { padding-block: clamp(1.5rem, 8vw, 2.75rem); }
	.agape-pattern-media-text .wp-block-columns { gap: 1.25rem; }
	.agape-pattern-media-text .wp-block-cover { min-height: 260px; }
	.agape-pattern-initiatives { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 560px) {
	.agape-pattern-initiatives { grid-template-columns: minmax(0, 1fr) !important; }
	.agape-pattern-banner-copy { max-width: 100%; }
	.agape-pattern-banner-overlay,
	.agape-pattern-banner-bottom-left,
	.agape-pattern-banner-bottom-right { min-height: 420px; }
}
