:root {
	--afr-green: #254f32;
	--afr-brown: #7a4f2a;
	--afr-yellow: #f4c84a;
	--afr-cream: #fbfaf4;
	--afr-black: #1b1712;
	--afr-white: #ffffff;
	--afr-radius: 28px;
	--afr-shadow: 0 22px 60px rgba(27, 23, 18, 0.10);
}

html { scroll-behavior: smooth; }
body { background: var(--afr-cream); font-family: 'Crimson Pro', Georgia, serif; }
.wp-site-blocks { overflow-x: clip; }

.afr-header {
	position: sticky;
	top: 0;
	z-index: 999;
	border-bottom: 1px solid rgba(27,23,18,.10);
	background: rgba(251,250,244,.96);
	backdrop-filter: blur(14px);
}
.afr-header .wp-block-navigation-item__content { font-weight: 800; }
.afr-header .wp-block-navigation__submenu-container {
	border: 1px solid rgba(27,23,18,.10) !important;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(27,23,18,.14);
	padding: 8px !important;
}
.afr-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 14px !important;
	border-radius: 12px;
}
.afr-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--afr-green);
	color: #fff !important;
}

.afr-fullwidth-banner { margin-block-start: 0 !important; }

.afr-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--afr-cream) !important;
	background-image:
		linear-gradient(rgba(37,79,50,.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,79,50,.075) 1px, transparent 1px) !important;
	background-size: 44px 44px !important;
	margin-block-start: 0 !important;
}
.afr-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image:
		linear-gradient(rgba(37,79,50,.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37,79,50,.075) 1px, transparent 1px);
	background-size: 44px 44px;
	pointer-events: none;
}
.afr-hero > .wp-block-columns { position: relative; z-index: 1; }

.afr-hero-copy {
	min-height: 660px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

.afr-hero-media,
.wp-block-column.afr-hero-media,
.afr-hero .afr-hero-media {
	position: relative;
	min-height: 660px !important;
	align-self: stretch;
	overflow: hidden !important;
	background: var(--afr-green);
	-webkit-clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%) !important;
	clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%) !important;
	margin: 0 !important;
}
.afr-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(244,200,74,.10), rgba(37,79,50,.24));
	z-index: 2;
	pointer-events: none;
}
.afr-hero-media .wp-block-cover,
.afr-hero-media .wp-block-cover__image-background,
.afr-hero-media img {
	min-height: 660px !important;
	height: 100% !important;
	width: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.afr-hero-media .wp-block-cover__inner-container { display: none; }

.afr-card,
.wp-block-column.afr-card,
.wp-block-group.afr-card,
.afr-soft-card,
.wp-block-column.afr-soft-card,
.wp-block-group.afr-soft-card,
.afr-ticket-box,
.wp-block-column.afr-ticket-box,
.wp-block-group.afr-ticket-box,
.afr-hero-stat,
.wp-block-column.afr-hero-stat {
	border-radius: var(--afr-radius) !important;
	overflow: hidden;
}

.afr-card,
.wp-block-column.afr-card,
.wp-block-group.afr-card {
	border: 1px solid rgba(37,79,50,.14) !important;
	background: #fff !important;
	box-shadow: var(--afr-shadow) !important;
}
.afr-soft-card,
.wp-block-column.afr-soft-card,
.wp-block-group.afr-soft-card {
	border: 1px solid rgba(27,23,18,.09) !important;
	background: var(--afr-cream) !important;
	box-shadow: 0 16px 44px rgba(27,23,18,.06) !important;
}
.afr-card-pad { padding: 1.65rem !important; box-sizing: border-box; }
.afr-hero-stat {
	border-radius: 22px !important;
	padding: 1.25rem !important;
	background: #fff !important;
	border: 1px solid rgba(37,79,50,.14) !important;
	box-shadow: 0 14px 40px rgba(27,23,18,.08) !important;
}

.afr-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	border-radius: 999px;
	padding: .35rem .75rem;
	background: rgba(244,200,74,.35);
	color: var(--afr-brown);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.afr-badge-sub { background: var(--afr-green); color: #fff; }
.afr-badge-open { background: rgba(27,23,18,.06); color: rgba(27,23,18,.70); }
.afr-social a, .afr-social .wp-block-social-link { border-radius: 999px !important; background: #fff !important; color: var(--afr-black) !important; }
.afr-ticket-box { border: 1px solid rgba(37,79,50,.15); background: #fff; box-shadow: var(--afr-shadow); }
.afr-agenda-row { border-bottom: 1px solid rgba(27,23,18,.10); }
.afr-agenda-row:last-child { border-bottom: 0; }

@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		z-index: 999999 !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-width: none !important;
		max-height: none !important;
		overflow-y: auto !important;
		background: var(--afr-green) !important;
		color: #fff !important;
		padding: 18px 22px 30px !important;
		box-sizing: border-box;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		padding-top: 44px !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
		width: 100% !important;
		gap: 0 !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100% !important; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block !important;
		width: 100% !important;
		padding: 10px 0 !important;
		border-bottom: 1px solid rgba(255,255,255,.18);
		color: #fff !important;
		font-size: 1.22rem !important;
		font-weight: 800 !important;
		line-height: 1.15 !important;
		text-decoration: none !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static !important;
		width: 100% !important;
		height: auto !important;
		min-width: 0 !important;
		margin: 0 0 4px 0 !important;
		padding: 0 0 0 14px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 7px 0 !important;
		border-bottom: 0;
		color: rgba(255,255,255,.84) !important;
		font-size: 1rem !important;
		font-weight: 700 !important;
	}
	.wp-block-navigation__responsive-container-close {
		top: 16px !important;
		right: 20px !important;
		color: #fff !important;
	}
	.wp-block-navigation__responsive-container-close svg,
	.wp-block-navigation__responsive-container-open svg { fill: currentColor; stroke: currentColor; }

	.afr-hero-copy {
		min-height: auto;
		padding-top: 4rem !important;
		padding-right: 1rem !important;
		padding-bottom: 3rem !important;
		padding-left: 1rem !important;
	}
	.afr-hero-media,
	.wp-block-column.afr-hero-media,
	.afr-hero .afr-hero-media {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%) !important;
		clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%) !important;
		min-height: 340px !important;
	}
	.afr-hero-media .wp-block-cover,
	.afr-hero-media .wp-block-cover__image-background,
	.afr-hero-media img { min-height: 340px !important; }
	.afr-mobile-stack { display: block !important; }
}

@media (max-width: 600px) {
	.afr-card, .afr-soft-card, .afr-ticket-box, .afr-hero-stat { border-radius: 18px !important; }
}

/* v1.3 badge alignment fix: keep section labels aligned with content edge */
#latest-news > .afr-badge,
#directory > .afr-badge,
#events > .wp-block-group > .afr-badge,
#briefing > .wp-block-group > .afr-badge,
#investors > .wp-block-columns > .wp-block-column:first-child > .afr-badge,
#contact > .wp-block-columns > .wp-block-column:first-child > .afr-badge {
	margin-left: auto !important;
	margin-right: auto !important;
	width: min(760px, calc(100vw - 2rem)) !important;
	display: flex !important;
	box-sizing: border-box;
}

/* Keep the actual pill small, not stretched */
#latest-news > .afr-badge,
#directory > .afr-badge {
	justify-content: flex-start;
}

/* Inner text area should remain pill-sized */
#latest-news > .afr-badge,
#directory > .afr-badge,
#briefing .afr-badge,
#events .afr-badge,
#investors .afr-badge,
#contact .afr-badge {
	max-width: max-content;
}
