/**
 * Composable AgriLife page patterns.
 *
 * Shared cues create family resemblance while brand variables and editable
 * blocks let each site retain its own voice, imagery, and page structure.
 */

.agrilife-pattern {
	/* The branding plugin supplies these three roles for every unit in both the
	 * editor and frontend. Keep aliases for the established pattern library while
	 * giving new patterns explicit primary, secondary, and tertiary choices. */
	--agrilife-pattern-primary: var(--agrilife-primary-color, #500000);
	--agrilife-pattern-secondary: var(--agrilife-accent-color, #cc6600);
	--agrilife-pattern-tertiary: var(--agrilife-footer-color, #3c0000);
	--agrilife-pattern-brand: var(--agrilife-pattern-primary);
	--agrilife-pattern-accent: var(--page-style-color, var(--agrilife-pattern-primary));
	/* Legacy alias retained for established selectors, but it now follows the
	 * selected unit's approved secondary/accent color instead of literal gold. */
	--agrilife-pattern-gold: var(--agrilife-pattern-secondary);
	--agrilife-pattern-highlight: var(--agrilife-pattern-secondary);
	--agrilife-pattern-heading-font: var(--wp--preset--font-family--oswald, sans-serif);
	--agrilife-pattern-body-font: var(--wp--preset--font-family--open-sans, sans-serif);
}

.agrilife-pattern__eyebrow {
	margin-bottom: 0.65rem;
	color: var(--agrilife-pattern-accent);
	font-family: var(--agrilife-pattern-heading-font);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.agrilife-pattern__eyebrow::after {
	content: "";
	display: block;
	width: 3.5rem;
	height: 3px;
	margin-top: 0.75rem;
	background: var(--agrilife-pattern-gold);
}

.agrilife-pattern--split-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--agrilife-pattern-brand);
	color: #fff;
}

.agrilife-pattern--split-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -18%;
	left: -6%;
	width: min(46vw, 35rem);
	aspect-ratio: 245 / 126;
	background: url("../images/agrilife-mark-a.svg") center / contain no-repeat;
	opacity: 0.11;
}

.agrilife-pattern--split-hero h1,
.agrilife-pattern--split-hero p,
.agrilife-pattern--split-hero a {
	color: inherit;
}

.agrilife-pattern--split-hero .agrilife-pattern__eyebrow {
	color: #fff;
}

.agrilife-pattern--split-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: #fff;
	color: var(--agrilife-pattern-brand);
}

.agrilife-pattern--split-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: #fff;
}

.agrilife-pattern__media-placeholder {
	min-height: clamp(18rem, 38vw, 32rem);
	background-color: #333;
	background-image: linear-gradient(135deg, rgba(255,255,255,0.06) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.06) 75%, transparent 75%);
	background-size: 2rem 2rem;
}

.agrilife-pattern__media-placeholder p {
	max-width: 18rem;
	padding: 0.75rem 1rem;
	background: rgba(0, 0, 0, 0.62);
	font-size: 0.875rem;
	text-align: center;
}

.agrilife-pattern--find {
	background-color: #f6f6f6;
	background-image: linear-gradient(rgba(246,246,246,0.92), rgba(246,246,246,0.92)), url("../images/bg_topopattern-dark.webp");
	background-position: center;
	background-size: auto, 46rem auto;
}

.agrilife-pattern--find .wp-block-search__inside-wrapper {
	padding: 0;
	border: 2px solid #333;
	background: #fff;
}

.agrilife-pattern--find .wp-block-search__input {
	min-height: 3.5rem;
	border: 0;
}

.agrilife-pattern--find .wp-block-search__button {
	margin: 0;
	background: var(--agrilife-pattern-accent);
	color: #fff;
}

.agrilife-pattern--pathways .agrilife-pattern__card {
	height: 100%;
	border-top: 5px solid var(--agrilife-pattern-accent);
	background: #fff;
	box-shadow: 0 8px 24px rgba(16,16,16,0.09);
}

.agrilife-pattern--pathways .agrilife-pattern__card a,
.agrilife-pattern--feature a:not(.wp-block-button__link) {
	color: var(--agrilife-pattern-accent);
	font-weight: 700;
}

.agrilife-pattern--feature {
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
}

.agrilife-pattern--feature .wp-block-button__link {
	background: var(--agrilife-pattern-accent);
}

.agrilife-pattern--impact {
	border-top: 5px solid var(--agrilife-pattern-gold);
	background: #333;
	color: #fff;
}

.agrilife-pattern--impact h2,
.agrilife-pattern--impact h3,
.agrilife-pattern--impact p {
	color: inherit;
}

.agrilife-pattern--impact .agrilife-pattern__stat {
	border-left: 3px solid var(--agrilife-pattern-accent);
	padding-left: 1rem;
}

.agrilife-pattern--section-intro {
	position: relative;
}

.agrilife-pattern--section-intro::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin-top: 1.5rem;
	background: linear-gradient(90deg, var(--agrilife-pattern-accent) 0 5rem, #d6d6d6 5rem);
}

.agrilife-pattern--notices {
	border-bottom: 1px solid #d6d6d6;
	background: #fff;
}

.agrilife-pattern--notices .agrilife-pattern__notice {
	border-left: 5px solid var(--agrilife-pattern-accent);
	padding-left: 1rem;
}

.agrilife-pattern--notices .agrilife-pattern__notice--urgent {
	border-left-color: var(--agrilife-pattern-secondary);
}

.agrilife-pattern--topics .agrilife-pattern__topic-link {
	display: flex;
	align-items: center;
	min-height: 5rem;
	border-bottom: 1px solid #d6d6d6;
	font-family: var(--wp--preset--font-family--oswald, sans-serif);
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	font-weight: 700;
}

.agrilife-pattern--topics .agrilife-pattern__topic-link a {
	width: 100%;
	color: #333;
	text-decoration: none;
}

.agrilife-pattern--topics .agrilife-pattern__topic-link a::after {
	content: " →";
	color: var(--agrilife-pattern-accent);
}

.agrilife-pattern--audiences .agrilife-pattern__audience {
	position: relative;
	overflow: hidden;
	min-height: 21rem;
}

.agrilife-pattern--audiences .agrilife-pattern__audience .wp-block-cover__background {
	background: linear-gradient(0deg, rgba(0,0,0,0.84), rgba(0,0,0,0.08) 70%);
	opacity: 1;
}

.agrilife-pattern--audiences .agrilife-pattern__audience .wp-block-cover__inner-container {
	align-self: flex-end;
}

.agrilife-pattern--audiences .agrilife-pattern__audience h3,
.agrilife-pattern--audiences .agrilife-pattern__audience p,
.agrilife-pattern--audiences .agrilife-pattern__audience a {
	color: #fff;
}

.agrilife-pattern--mission-metrics {
	background: var(--agrilife-pattern-brand);
	color: #fff;
}

.agrilife-pattern--mission-metrics h2,
.agrilife-pattern--mission-metrics h3,
.agrilife-pattern--mission-metrics p,
.agrilife-pattern--mission-metrics a {
	color: inherit;
}

.agrilife-pattern--mission-metrics .agrilife-pattern__metric {
	border-top: 3px solid var(--agrilife-pattern-gold);
	padding-top: 1rem;
}

.agrilife-pattern--mission-metrics .agrilife-pattern__collaboration {
	border: 1px solid rgba(255,255,255,0.5);
	background: rgba(0,0,0,0.15);
}

.agrilife-pattern--capabilities .agrilife-pattern__capability {
	height: 100%;
	border: 1px solid #d6d6d6;
	background: #fff;
}

.agrilife-pattern--capabilities .agrilife-pattern__capability-image {
	min-height: 12rem;
}

.agrilife-pattern--capabilities .agrilife-pattern__capability a {
	color: var(--agrilife-pattern-accent);
	font-weight: 700;
}

.agrilife-pattern--newsroom .agrilife-pattern__featured-news {
	border-top: 5px solid var(--agrilife-pattern-accent);
	background: #fff;
}

/* Consortium overview and membership patterns. */
.agrilife-pattern--consortia .agrilife-pattern__consortium-card {
	height: 100%;
	border-top: 6px solid var(--agrilife-pattern-accent);
	background: #fff;
	box-shadow: 0 7px 18px rgba(0, 0, 0, 0.06);
}

.agrilife-pattern--consortia .agrilife-pattern__role-label {
	display: inline-block;
	margin-bottom: 0.8rem;
	padding: 0.35rem 0.65rem;
	background: #f2f2f2;
	background: color-mix(in srgb, var(--agrilife-pattern-accent) 12%, #fff);
	color: var(--agrilife-pattern-accent);
	font-family: var(--wp--preset--font-family--oswald, sans-serif);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.agrilife-pattern--consortia .agrilife-pattern__consortium-card a,
.agrilife-pattern--consortium-members .agrilife-pattern__member-card a {
	color: var(--agrilife-pattern-accent);
}

.agrilife-pattern--consortia .agrilife-pattern__consortium-cta {
	border-left: 6px solid var(--agrilife-pattern-highlight);
	background: #333;
	color: #fff;
}

.agrilife-pattern--consortia .agrilife-pattern__consortium-cta p {
	color: inherit;
}

.agrilife-pattern--consortia .agrilife-pattern__consortium-cta .wp-block-button__link {
	background: #fff;
	color: var(--agrilife-pattern-brand);
}

.agrilife-pattern--consortium-members .agrilife-pattern__member-card {
	height: 100%;
	border: 1px solid #d6d6d6;
	background: #fff;
}

.agrilife-pattern--consortium-members .agrilife-pattern__member-mark {
	display: grid;
	width: 5.5rem;
	min-height: 3.5rem;
	margin-bottom: 1rem;
	place-items: center;
	border: 1px solid #b7b7b7;
	color: #555;
	font-family: var(--wp--preset--font-family--oswald, sans-serif);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.agrilife-pattern--consortium-members .agrilife-pattern__member-guidance {
	display: none;
	margin-top: var(--wp--preset--spacing--30, 1.5rem);
	padding: 0.85rem 1rem;
	border-left: 4px solid var(--agrilife-pattern-accent);
	background: #f6f6f6;
}

.editor-styles-wrapper .agrilife-pattern--consortium-members .agrilife-pattern__member-guidance {
	display: block;
}

/* Contact information and native WordPress Social Icons. */
.agrilife-pattern--contact-social {
	background: var(--agrilife-pattern-brand);
	color: #fff;
}

.agrilife-pattern--contact-social h2,
.agrilife-pattern--contact-social h3,
.agrilife-pattern--contact-social p,
.agrilife-pattern--contact-social a {
	color: inherit;
}

.agrilife-pattern--contact-social .agrilife-pattern__eyebrow {
	color: #fff;
}

.agrilife-pattern--contact-social .agrilife-pattern__social-panel {
	border-top: 6px solid var(--agrilife-pattern-highlight);
	background: rgba(0, 0, 0, 0.2);
}

.agrilife-pattern--contact-social .wp-block-social-links {
	gap: 0.75rem;
}

.agrilife-pattern--contact-social .wp-social-link {
	background: #fff !important;
	color: var(--agrilife-pattern-brand) !important;
}

.agrilife-pattern--contact-social .wp-social-link a {
	color: inherit;
}

/* Compact contact summary for page endings and supporting sections. */
.agrilife-pattern--contact-social-compact {
	border-top: 5px solid var(--agrilife-pattern-highlight);
	border-bottom: 1px solid rgba(255, 255, 255, 0.24);
	background: var(--agrilife-pattern-brand);
	color: #fff;
}

.agrilife-pattern--contact-social-compact h2,
.agrilife-pattern--contact-social-compact p,
.agrilife-pattern--contact-social-compact a {
	margin-top: 0;
	margin-bottom: 0;
	color: inherit;
}

.agrilife-pattern--contact-social-compact .agrilife-pattern__compact-contact-links {
	column-gap: clamp(1rem, 3vw, 2rem);
}

.agrilife-pattern--contact-social-compact .wp-block-social-links {
	gap: 0.5rem;
}

.agrilife-pattern--contact-social-compact .wp-social-link {
	background: #fff !important;
	color: var(--agrilife-pattern-brand) !important;
}

.agrilife-pattern--contact-social-compact .wp-social-link a {
	color: inherit;
}

.agrilife-pattern--newsroom .agrilife-pattern__headline {
	padding-bottom: 1rem;
	border-bottom: 1px solid #d6d6d6;
}

.agrilife-pattern--events .agrilife-pattern__event {
	border-top: 1px solid #d6d6d6;
	padding-top: 1.25rem;
}

.agrilife-pattern--events .agrilife-pattern__date {
	flex: 0 0 4.5rem;
	color: var(--agrilife-pattern-accent);
	font-family: var(--wp--preset--font-family--oswald, sans-serif);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.agrilife-pattern--events .agrilife-pattern__date strong {
	display: block;
	font-size: 2rem;
}

.agrilife-pattern--tools {
	background-color: #333;
	background-image: linear-gradient(rgba(51,51,51,0.94), rgba(51,51,51,0.94)), url("../images/bg_topopattern-light.webp");
	color: #fff;
}

.agrilife-pattern--tools h2,
.agrilife-pattern--tools h3,
.agrilife-pattern--tools p,
.agrilife-pattern--tools a {
	color: inherit;
}

.agrilife-pattern--tools .agrilife-pattern__tool {
	height: 100%;
	border: 1px solid rgba(255,255,255,0.35);
	background: rgba(255,255,255,0.07);
}

.agrilife-pattern--service-guidance .agrilife-pattern__service {
	border-top: 1px solid #d6d6d6;
	padding-top: var(--wp--preset--spacing--40);
}

.agrilife-pattern--service-guidance .agrilife-pattern__service:nth-child(even) {
	background: #f6f6f6;
}

.agrilife-pattern--academic-pathways .agrilife-pattern__path {
	height: 100%;
	border-left: 5px solid var(--agrilife-pattern-accent);
	background: #fff;
}

.agrilife-pattern--academic-pathways .agrilife-pattern__path a {
	color: var(--agrilife-pattern-accent);
	font-weight: 700;
}

.agrilife-pattern--priorities .agrilife-pattern__priority {
	height: 100%;
	border-top: 5px solid var(--agrilife-pattern-accent);
	background: #fff;
}

.agrilife-pattern--priorities .agrilife-pattern__priority-number {
	color: var(--agrilife-pattern-accent);
	font-family: var(--agrilife-pattern-heading-font);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Compact companion patterns. These reduce content, not type size, and use the
 * selected unit's complete palette: primary for navigation, secondary for
 * emphasis, and tertiary for deep surfaces. Brand typography continues to be
 * inherited from the branding runtime; labels use the theme-approved heading face. */
.agrilife-pattern__compact-row,
.agrilife-pattern__compact-header {
	row-gap: 1rem;
}

.agrilife-pattern__compact-lead {
	flex: 0 1 18rem;
}

.agrilife-pattern__compact-label {
	margin: 0;
	/* Secondary colors remain decorative because several approved palettes use
	 * bright accents that do not meet small-text contrast on white. */
	color: var(--agrilife-pattern-primary);
	font-family: var(--agrilife-pattern-heading-font);
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1.25;
	text-transform: uppercase;
}

.agrilife-pattern__compact-lead h2,
.agrilife-pattern__compact-header h2,
.agrilife-pattern__compact-stat h3,
.agrilife-pattern__compact-event h3,
.agrilife-pattern__compact-path h3,
.agrilife-pattern__news-brief h3,
.agrilife-pattern__compact-partner {
	margin-top: 0;
	margin-bottom: 0;
}

.agrilife-pattern--notice-compact {
	border-top: 4px solid var(--agrilife-pattern-secondary);
	background: #fff;
	background: color-mix(in srgb, var(--agrilife-pattern-secondary) 7%, #fff);
}

.agrilife-pattern--notice-compact .agrilife-pattern__compact-row {
	border-left: 5px solid var(--agrilife-pattern-primary);
	padding-left: clamp(1rem, 2vw, 1.5rem);
}

.agrilife-pattern--notice-compact .agrilife-pattern__compact-copy {
	flex: 1 1 30rem;
	margin: 0;
}

.agrilife-pattern--notice-compact a,
.agrilife-pattern--news-compact a,
.agrilife-pattern--events-compact a {
	color: var(--agrilife-pattern-primary);
}

.agrilife-pattern--impact-compact {
	border-top: 5px solid var(--agrilife-pattern-secondary);
	background: var(--agrilife-pattern-tertiary);
	color: #fff;
}

.agrilife-pattern--impact-compact h2,
.agrilife-pattern--impact-compact h3,
.agrilife-pattern--impact-compact p {
	color: inherit;
}

.agrilife-pattern--impact-compact .agrilife-pattern__compact-label {
	color: #fff;
}

.agrilife-pattern__compact-stats {
	flex: 1 1 34rem;
	justify-content: flex-end;
}

.agrilife-pattern__compact-stat {
	min-width: 8.5rem;
	border-left: 3px solid var(--agrilife-pattern-secondary);
	padding-left: 1rem;
}

.agrilife-pattern__compact-stat h3 {
	line-height: 1;
}

.agrilife-pattern--news-compact {
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
	background: #f6f6f6;
}

.agrilife-pattern--news-compact .agrilife-pattern__compact-items {
	margin-bottom: 0;
}

.agrilife-pattern--news-compact .agrilife-pattern__news-brief {
	height: 100%;
	border-top: 4px solid var(--agrilife-pattern-primary);
	padding-top: 0.85rem;
}

.agrilife-pattern--news-compact .agrilife-pattern__news-brief > p {
	color: #555;
}

.agrilife-pattern--events-compact {
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
	background: #fff;
}

.agrilife-pattern__compact-events {
	flex: 1 1 42rem;
	justify-content: flex-end;
}

.agrilife-pattern__compact-event {
	flex: 1 1 18rem;
	min-width: min(100%, 18rem);
	border-left: 1px solid #d6d6d6;
	padding-left: clamp(0.75rem, 2vw, 1.25rem);
}

.agrilife-pattern__compact-event p {
	margin-top: 0;
	margin-bottom: 0;
}

.agrilife-pattern__compact-date {
	display: grid;
	flex: 0 0 3.25rem;
	min-height: 3.25rem;
	margin: 0;
	place-content: center;
	border-top: 3px solid var(--agrilife-pattern-secondary);
	background: var(--agrilife-pattern-primary);
	color: #fff;
	font-family: var(--agrilife-pattern-heading-font);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.agrilife-pattern__compact-date strong {
	display: block;
	font-size: 1.35rem;
}

.agrilife-pattern__compact-action {
	flex: 0 0 auto;
	margin: 0;
}

.agrilife-pattern--pathways-compact {
	border-top: 4px solid var(--agrilife-pattern-secondary);
	background: #f6f6f6;
	background: color-mix(in srgb, var(--agrilife-pattern-primary) 6%, #fff);
}

.agrilife-pattern__compact-paths {
	flex: 1 1 42rem;
	justify-content: flex-end;
}

.agrilife-pattern__compact-path {
	flex: 1 1 12rem;
	min-width: min(100%, 12rem);
	height: 100%;
	border-left: 4px solid var(--agrilife-pattern-primary);
	background: #fff;
	box-shadow: 0 4px 14px rgba(16, 16, 16, 0.08);
}

.agrilife-pattern__compact-path h3 a {
	display: block;
	padding: 1rem 1.1rem;
	color: #333;
	text-decoration: none;
}

.agrilife-pattern__compact-path h3 a span {
	color: var(--agrilife-pattern-secondary);
}

.agrilife-pattern--partners-compact {
	border-top: 5px solid var(--agrilife-pattern-secondary);
	background: var(--agrilife-pattern-tertiary);
	color: #fff;
}

.agrilife-pattern--partners-compact h2,
.agrilife-pattern--partners-compact p,
.agrilife-pattern--partners-compact .agrilife-pattern__compact-header a {
	color: inherit;
}

.agrilife-pattern--partners-compact .agrilife-pattern__compact-label {
	color: #fff;
}

.agrilife-pattern__compact-partner {
	background: #fff;
}

.agrilife-pattern__compact-partner a {
	display: block;
	padding: 0.7rem 0.9rem;
	color: var(--agrilife-pattern-primary);
	font-family: var(--agrilife-pattern-heading-font);
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.agrilife-pattern--partners-compact .agrilife-pattern__member-guidance {
	display: none;
	margin: 0;
	padding: 0.75rem 1rem;
	border-left: 4px solid var(--agrilife-pattern-secondary);
	background: rgba(255, 255, 255, 0.12);
}

.editor-styles-wrapper .agrilife-pattern--partners-compact .agrilife-pattern__member-guidance {
	display: block;
}

@media (max-width: 781px) {
	.agrilife-pattern--split-hero::before {
		top: -2%;
		left: -22%;
		width: 85vw;
	}

	.agrilife-pattern--split-hero .wp-block-columns {
		gap: 2rem;
	}

	.agrilife-pattern__media-placeholder {
		min-height: 17rem;
	}

	.agrilife-pattern--events .agrilife-pattern__date {
		flex-basis: 3.5rem;
	}

	.agrilife-pattern__compact-lead,
	.agrilife-pattern__compact-stats,
	.agrilife-pattern__compact-events,
	.agrilife-pattern__compact-paths {
		flex-basis: 100%;
	}

	.agrilife-pattern__compact-stats,
	.agrilife-pattern__compact-events,
	.agrilife-pattern__compact-paths {
		justify-content: flex-start;
	}

	.agrilife-pattern__compact-action {
		flex-basis: 100%;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.agrilife-pattern--pathways .agrilife-pattern__card {
		transition: box-shadow 180ms ease, transform 180ms ease;
	}

	.agrilife-pattern--pathways .agrilife-pattern__card:hover {
		transform: translateY(-3px);
		box-shadow: 0 12px 30px rgba(16,16,16,0.14);
	}

	.agrilife-pattern__compact-path,
	.agrilife-pattern__compact-partner {
		transition: box-shadow 180ms ease, transform 180ms ease;
	}

	.agrilife-pattern__compact-path:hover,
	.agrilife-pattern__compact-partner:hover {
		transform: translateY(-2px);
		box-shadow: 0 8px 20px rgba(16,16,16,0.14);
	}
}
