/**
 * AFAM content skin (Phase 04, U-013 B): restyles every retained page, the blog, the sidebar and the footer with the design
 * system tokens, so pages built with the old theme share the new look until each one is rebuilt.
 * Author: Kiriago <kiryc0de@gmail.com> (https://github.com/kirycode/)
 * `!important` is used only to beat colours that Elementor writes per element or the legacy theme forces; each use is commented.
 */

/* ---------- headings, links and buttons in page content ---------- */
body:not(.home) .inside-content .elementor:not(.elementor-425) .elementor-widget-heading .elementor-heading-title { font-family: var(--afam-font-head); line-height: 1.25; letter-spacing: 0; }
body:not(.home) .inside-content .elementor-heading-title.afam-h-recolor { color: var(--afam-green-900) !important; } /* !important: Elementor writes the legacy orange per element; front.js marks only those headings, so headings on dark sections keep their own colour */
body:not(.home) .inside-content .elementor:not(.elementor-425) .elementor-widget-text-editor { line-height: 1.7; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .elementor-widget-text-editor a:not(.elementor-button):not(.afam-btn) { color: var(--afam-green-600); text-decoration: underline; text-underline-offset: 3px; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .elementor-widget-text-editor a:hover { color: var(--afam-green-500); }
body:not(.home) .inside-content .elementor:not(.elementor-425) a.elementor-button,
body:not(.home) .inside-content .btn:not(.readmore-x),
body:not(.home) .inside-content input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border: 2px solid var(--afam-green-600); border-radius: var(--afam-hdr-cta-radius, 8px);
	background: var(--afam-green-600) !important; color: #fff !important; font-family: var(--afam-font-body); font-weight: 700; font-size: 0.9375rem; text-decoration: none !important; box-shadow: none; /* !important: legacy orange buttons */
	transition: background-color var(--afam-transition), color var(--afam-transition);
}
body:not(.home) .inside-content .elementor:not(.elementor-425) a.elementor-button:hover,
body:not(.home) .inside-content .btn:hover,
body:not(.home) .inside-content input[type="submit"]:hover { background: var(--afam-green-500) !important; border-color: var(--afam-green-500); color: #fff !important; } /* !important: see above */
body:not(.home) .inside-content :is(a.elementor-button, .btn, input[type="submit"]):focus-visible { outline: 3px solid var(--afam-green-600); outline-offset: 2px; }
body:not(.home) .inside-content .elementor-icon-list-icon i, body:not(.home) .inside-content .elementor-icon-list-icon svg { color: var(--afam-green-600); fill: var(--afam-green-600); }

/* ---------- blog listing: cards in a two-column grid ---------- */
.blog_default, .archive .main > .blog_default { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.blog_default > :not(article) { grid-column: 1 / -1; }
.blog_default article.post-wrap { display: flex; flex-direction: column; margin: 0; padding: 0 0 22px; border: 1px solid #dfe8d8; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 6px 20px rgba(8, 76, 44, 0.06); }
.blog_default article.post-wrap .post-media { background: #eef3ea; margin: 0 0 16px; }
.blog_default article.post-wrap .post-media img { display: block; width: 100%; height: 300px; object-fit: contain; object-position: center; }
.blog_default article.post-wrap .post-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 22px 8px; padding: 0; list-style: none; font-size: 0.8125rem; color: var(--afam-ink-700); }
.blog_default article.post-wrap .post-meta a { color: var(--afam-ink-700); text-decoration: none; }
.blog_default article.post-wrap > a:not(.btn) { text-decoration: none; }
.blog_default article.post-wrap .post-title { margin: 0 22px 14px; font-family: var(--afam-font-head); font-size: 1.1875rem; line-height: 1.35; color: var(--afam-green-900); text-decoration: none; }
.blog_default article.post-wrap > a:hover .post-title, .blog_default article.post-wrap > a:focus-visible .post-title { text-decoration: underline; text-underline-offset: 3px; }
.blog_default article.post-wrap .btn.readmore { align-self: flex-start; margin: auto 22px 0; }
@media (max-width: 767px) { .blog_default { grid-template-columns: minmax(0, 1fr); } .blog_default article.post-wrap .post-media img { height: 240px; } }

/* ---------- sidebar widgets ---------- */
.sidebar .widget { margin-bottom: 24px; padding: 20px; border: 1px solid #dfe8d8; border-radius: 14px; background: #fff; }
.sidebar .widget :is(.widget-title, .widgettitle, h2, h3) { margin: 0 0 12px; font-family: var(--afam-font-head); font-size: 1.0625rem; color: var(--afam-green-900); }
.sidebar .widget a { color: var(--afam-green-600); text-decoration: none; }
.sidebar .widget a:is(:hover, :focus-visible) { text-decoration: underline; }
.sidebar .widget .tagcloud a { display: inline-block; margin: 0 6px 8px 0; padding: 4px 12px; border: 1px solid var(--afam-green-600); border-radius: 999px; font-size: 0.8125rem !important; } /* !important: the widget sets inline font sizes */
.sidebar .widget .search-submit, .sidebar .widget button[type="submit"] { background: var(--afam-green-600) !important; color: #fff !important; border-radius: 8px; min-height: 44px; } /* !important: legacy orange submit */

/* ---------- footer (DES-012) ---------- */
.wrap_footer .elementor-17318 { --afam-footer-bg: var(--afam-green-900); }
.wrap_footer .elementor-17318 > .elementor-top-section { background: var(--afam-green-900) !important; } /* !important: Elementor section background */
.wrap_footer .elementor-17318 > .elementor-top-section:last-child { background: #052c19 !important; } /* !important: see above */
.wrap_footer .elementor-17318 :is(.elementor-heading-title, h2, h3, h4) { color: var(--afam-gold-300) !important; font-family: var(--afam-font-head); font-size: 1.125rem; } /* !important: footer headings are coloured per element */
.wrap_footer .elementor-17318, .wrap_footer .elementor-17318 p, .wrap_footer .elementor-17318 li { color: #e8f0e2; }
.wrap_footer .elementor-17318 a { color: #fff; text-decoration: none; }
.wrap_footer .elementor-17318 a:is(:hover, :focus-visible) { color: var(--afam-gold-300); text-decoration: underline; text-underline-offset: 3px; }
.wrap_footer .elementor-17318 :is(.elementor-widget-gimont_elementor_menu_footer) ul { margin: 0; padding: 0; list-style: none; }
.wrap_footer .elementor-17318 :is(.elementor-widget-gimont_elementor_menu_footer) li { margin: 0 0 8px; }
.wrap_footer .elementor-17318 :is(.elementor-widget-gimont_elementor_menu_footer) li a { display: inline-block; padding: 4px 0; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: #fff !important; font-weight: 500; } /* !important: the old footer menu draws orange pill buttons */
.wrap_footer .elementor-17318 .elementor-social-icon { background: transparent !important; border: 1.5px solid rgba(255, 255, 255, 0.7); } /* !important: icons are coloured per element */
.wrap_footer .elementor-17318 .elementor-social-icon:hover { background: #fff !important; } /* !important: see above */
.wrap_footer .elementor-17318 .elementor-social-icon:hover :is(i, svg) { color: var(--afam-green-900); fill: var(--afam-green-900); }
.wrap_footer .elementor-17318 a[target="_blank"][rel="noopener"] { text-decoration: underline; text-underline-offset: 3px; }
.wrap_footer .elementor-17318 .ova-menu-footer li::before, .wrap_footer .elementor-17318 .ova-menu-footer li::after { content: none !important; display: none !important; } /* !important: the old footer menu draws its pill with a pseudo-element */
.wrap_footer .elementor-17318 .ova-menu-footer li { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; } /* !important: see above */
.wrap_footer .elementor-17318 .ova-menu-footer li > i { display: none; }
/* partner slider of the old pages: no orange bar */
.elementor-widget-gimont_elementor_images_slider .owl-stage-outer { background: var(--afam-surface) !important; border: 1px solid #dfe8d8; border-radius: 16px; } /* !important: the gradient is set per widget */
/* Elementor tabs (governance and others): readable titles */
.e-n-tabs .e-n-tab-title .e-n-tab-title-text { color: var(--afam-green-900); font-weight: 700; }
.e-n-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text, .e-n-tabs .e-n-tab-title:is(:hover, :focus-visible) .e-n-tab-title-text { color: var(--afam-green-600); }
/* contrast fixes found by axe */
.e-n-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text { color: #fff; } /* selected tab sits on a dark green fill */
.ajom-subnav__submit { background: var(--afam-green-600) !important; color: #fff !important; } /* !important: child-theme orange */
.bwd-icon-box-wrapper .bwd-icon-title { color: var(--afam-green-900) !important; } /* !important: per-item colours in the widget settings */

/* ---------- wpForo style layer (Phase 07, 7.5): AFAM tokens, contrast and target size ---------- */
#wpforo-wrap .wpf-button, #wpforo-wrap a.wpf-button { background: var(--afam-green-600); border-color: var(--afam-green-600); color: #fff; border-radius: 8px; }
#wpforo-wrap .wpf-button span { color: #fff !important; } /* !important: the forum colours button labels inline */
#wpforo-wrap .wpf-button:is(:hover, :focus-visible) { background: var(--afam-green-500); }
#wpforo-wrap :is(.wpf-thread-author-name a, .wpf-thread-last-user a, .wpf-post-author-name a, a[title][style*="color"]) { color: var(--afam-green-600) !important; text-decoration: underline; text-underline-offset: 3px; } /* !important: user-group colours are written inline (contrast 2.0 to 3.6) */
#wpforo-wrap .wpf-thread-last-user a, #wpforo-wrap .wpf-thread-author-name a { display: inline-block; min-height: 24px; line-height: 24px; }
#wpforo-wrap a[href*="wpfin=tag"] { color: #4d4d4d !important; } /* !important: tag colour set by the plugin */
#wpforo-wrap :is(h1, h2, h3, .wpf-forum-title, .wpf-topic-title) { font-family: var(--afam-font-head); color: var(--afam-green-900); }
#wpforo-wrap a:not(.wpf-button):not([class*="wpf-tab"]):not([class*="wpf-nav"]) { color: var(--afam-green-600) !important; } /* !important: the plugin writes link colours inline and per user group (contrast 1.1 to 4.5) */
#wpforo-wrap #bywpforo, #wpforo-wrap #bywpforo * { color: #3a3a3a !important; } /* !important: see above */
#wpforo-wrap .wpf-thread-author-name a, #wpforo-wrap .wpf-thread-last-user a { text-decoration: underline !important; } /* !important: the plugin removes underlines inline */
body:not(.home) .inside-content :is(h2, h3, h4, h5, h6).afam-h-recolor { color: var(--afam-green-900) !important; } /* !important: legacy inline orange on old page headings (contrast 3.3:1) */

/* Phase 04 page redesign patterns (U-014 2b): lead text, anchor chips, dark and numbered cards */
.afam-scope .afam-lead p { font-size: 1.1875rem; line-height: 1.7; max-width: 62rem; color: var(--afam-ink-700, #444); }
.afam-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 0; }
.afam-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 2px solid var(--afam-green-600, #336600); border-radius: 999px; color: var(--afam-green-600, #336600); font-weight: 700; text-decoration: none; background: #fff; }
.afam-chips a:is(:hover, :focus-visible) { background: var(--afam-green-600, #336600); color: #fff; }
.afam-card--dark.e-con { background: var(--afam-green-900, #084c2c); border-color: var(--afam-green-900, #084c2c); }
.afam-scope .afam-card--dark .elementor-heading-title { color: var(--afam-gold-500, #cbae2d) !important; } /* !important: heading colour set by Elementor kit */
.afam-scope .afam-card--dark p { color: #fff !important; } /* !important: text-editor colour from the kit */
.afam-scope .afam-card--num .afam-num { margin: 0 0 6px; font-family: var(--afam-font-head, serif); font-size: 2.25rem; font-weight: 700; line-height: 1; color: #7a4a00; }
.afam-scope .afam-card--num p:not(.afam-num) { margin: 0; font-size: 1.0625rem; font-weight: 600; color: var(--afam-green-900, #084c2c); }
html { scroll-padding-top: 96px; }
/* page sections: boxed width and card grids also on inner pages (Elementor containers default to flex and 1400 px) */
body .afam-scope.afam-home-section .e-con.afam-inner { max-width: var(--afam-content-width, 1200px); margin-left: auto; margin-right: auto; width: 100%; }
body .afam-scope.afam-home-section.afam-final .e-con.afam-inner { max-width: none; }
body .e-con.afam-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--afam-sp-5, 24px); } /* !important: Elementor container display:flex */
body .e-con.afam-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1024px) { body .e-con.afam-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { body .e-con.afam-cards, body .e-con.afam-cards--2 { grid-template-columns: minmax(0, 1fr); } }
/* page buttons keep the home variants (content skin buttons are green) */
/* !important below: the content skin button rule above is !important (legacy orange buttons) */
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-wbtn--cta a.elementor-button { background: var(--afam-cta-bg) !important; color: var(--afam-cta-fg) !important; border-color: var(--afam-cta-bg) !important; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-wbtn--cta a.elementor-button:hover { background: var(--afam-cta-bg-hover) !important; color: var(--afam-cta-fg-hover) !important; border-color: var(--afam-cta-bg-hover) !important; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-wbtn--light a.elementor-button { background: transparent !important; color: #fff !important; border-color: #fff !important; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-wbtn--light a.elementor-button:hover { background: #fff !important; color: var(--afam-green-900) !important; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-wbtn--ghost a.elementor-button { background: transparent !important; color: var(--afam-green-600) !important; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-wbtn--ghost a.elementor-button:hover { background: var(--afam-green-600) !important; color: #fff !important; }
/* membership fee cards and table (U-014 2b) */
.afam-scope .afam-card--fee .afam-fee { margin: 0 0 8px; font-size: 1rem; }
.afam-scope .afam-card--fee .afam-fee strong { font-family: var(--afam-font-head, serif); font-size: 1.875rem; color: var(--afam-green-900, #084c2c); }
.afam-scope .afam-card--fee .afam-fee span { color: #566; font-weight: 600; }
.afam-fee-alt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; } /* the table stays available to assistive technology and print */
@media print { .afam-fee-alt { position: static; width: auto; height: auto; clip: auto; white-space: normal; } }
.afam-fee-table { width: 100%; border-collapse: collapse; }
.afam-fee-table caption { text-align: left; font-weight: 700; padding: 8px 0; }
.afam-fee-table th, .afam-fee-table td { padding: 10px 12px; border: 1px solid #dfe8d8; text-align: left; vertical-align: top; }
.afam-fee-table thead th { background: var(--afam-green-900, #084c2c); color: #fff; }
.afam-card--dark + .afam-fee-alt { margin-top: 8px; }
/* conference hero (U-014 2b): the dates block on the green band */
.afam-conf-hero .afam-conf { margin: 8px 0 0; }
.afam-scope.afam-conf-hero .afam-conf__label { margin: 0; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--afam-gold-500, #cbae2d); }
.afam-scope.afam-conf-hero .afam-conf__when { margin: 4px 0 14px; font-family: var(--afam-font-head, serif); font-size: 2rem; font-weight: 700; color: #fff; }
.afam-scope.afam-conf-hero .afam-conf .afam-btn { display: none; } /* the page itself is the destination */
.afam-scope.afam-conf-hero :is(h2, p) { color: #fff; }

/* ===== U-015 About revisions (DES-050 to DES-052) ===== */
/* DES-052: intro with a real photo; jump pills are never underlined */
.afam-scope .afam-intro.e-con { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; align-items: center; } /* !important: Elementor container display */
@media (max-width: 900px) { .afam-scope .afam-intro.e-con { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.afam-intro__text { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.afam-photo { margin: 0; }
.afam-photo__frame { position: relative; margin: 0 14px 14px 0; isolation: isolate; }
.afam-photo__frame::before { content: ""; position: absolute; z-index: -1; inset: 14px -14px -14px 14px; border-radius: 22px; background: var(--afam-green-900, #084c2c); }
.afam-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 40%; border-radius: 22px; box-shadow: 0 0 0 3px var(--afam-gold-500, #cbae2d), 0 14px 30px rgba(8, 76, 44, 0.25); }
.afam-photo figcaption { margin-top: 10px; font-size: 0.875rem; font-style: normal; color: #445; }
body:not(.home) .inside-content .elementor:not(.elementor-425) .afam-chips a, body:not(.home) .inside-content .elementor:not(.elementor-425) .elementor-widget-text-editor .afam-chips a:not(.elementor-button) { text-decoration: none; } /* the content link underline rule must not reach the pills */

/* DES-051: Mission and Vision panels */
.afam-mv.e-con { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } /* !important: Elementor container display */
@media (max-width: 800px) { .afam-mv.e-con { grid-template-columns: minmax(0, 1fr); } }
.afam-panel.e-con { position: relative; overflow: hidden; padding: 40px 36px 36px 44px; border: 1px solid #dfe8d8; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(8, 76, 44, 0.07); transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease; }
.afam-panel.e-con::before { content: ""; position: absolute; left: 0; top: 0; width: 6px; height: 56px; background: var(--afam-gold-500, #cbae2d); transition: height 0.4s ease; }
.afam-panel.e-con::after { content: "\201C"; position: absolute; right: 22px; top: -6px; font-family: var(--afam-font-head, serif); font-size: 7rem; line-height: 1; color: rgba(203, 174, 45, 0.22); pointer-events: none; }
.afam-panel.e-con:is(:hover, :focus-within, :focus-visible) { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(8, 76, 44, 0.18); background: #f4f8f1; }
.afam-panel.e-con:is(:hover, :focus-within, :focus-visible)::before { height: 100%; }
.afam-panel.e-con:focus-visible { outline: 3px solid var(--afam-green-900, #084c2c); outline-offset: 3px; }
.afam-panel--dark.e-con { background: var(--afam-green-900, #084c2c); border-color: var(--afam-green-900, #084c2c); }
.afam-panel--dark.e-con:is(:hover, :focus-within, :focus-visible) { background: #0b5a35; }
.afam-scope .afam-panel .afam-panel__label { margin: 0 0 14px; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; font-variant: small-caps; color: #7a4a00; }
.afam-scope .afam-panel--dark .afam-panel__label { color: var(--afam-gold-500, #cbae2d); }
.afam-scope .afam-panel .afam-panel__text { margin: 0; font-family: var(--afam-font-head, serif); font-size: 1.375rem; line-height: 1.55; font-style: italic; color: var(--afam-green-900, #084c2c); }
.afam-scope .afam-panel--dark .afam-panel__text { color: #fff; }
@media (prefers-reduced-motion: reduce) { .afam-panel.e-con, .afam-panel.e-con::before { transition: none; } .afam-panel.e-con:is(:hover, :focus-within, :focus-visible) { transform: none; } }

/* DES-050: one four-column section: values, objectives, strategies, goals */
.afam-cols4.e-con { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; } /* !important: Elementor container display */
@media (max-width: 1100px) { .afam-cols4.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .afam-cols4.e-con { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.afam-col.e-con { min-width: 0; }
.afam-scope .afam-col .elementor-heading-title { padding-bottom: 12px; margin-bottom: 4px; border-bottom: 2px solid var(--afam-gold-500, #cbae2d); font-size: 1.5rem; }
.afam-scope .afam-list { margin: 0; padding: 0; list-style: none; counter-reset: afam-li; }
.afam-scope .afam-list li { position: relative; margin: 0; padding: 14px 0 14px 44px; border-bottom: 1px solid #e6ede2; counter-increment: afam-li; font-weight: 600; line-height: 1.5; color: var(--afam-green-900, #084c2c); }
.afam-scope .afam-list li::before { content: counter(afam-li, decimal-leading-zero); position: absolute; left: 0; top: 14px; font-family: var(--afam-font-head, serif); font-weight: 700; font-size: 1rem; color: #7a4a00; }
html.afam-js .afam-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.6s ease, transform 0.6s ease; transition-delay: var(--afam-d, 0ms); }
html.afam-js .afam-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.afam-js .afam-reveal { opacity: 1; transform: none; transition: none; } }
/* the reveal state must not cancel the panel hover and focus lift (specificity) */
html.afam-js .afam-panel.afam-reveal.is-in { transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease; transition-delay: 0ms; }
html.afam-js .afam-panel.afam-reveal.is-in:is(:hover, :focus-within, :focus-visible) { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) { html.afam-js .afam-panel.afam-reveal.is-in:is(:hover, :focus-within, :focus-visible) { transform: none; } }

/* AFAM Accordion (native details): replaces Elementor nested tabs */
.afam-acc { display: flex; flex-direction: column; gap: 12px; }
.afam-acc__item { border: 1px solid #dfe8d8; border-radius: 12px; background: #fff; overflow: hidden; }
.afam-acc__sum { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 14px 22px; cursor: pointer; list-style: none; font-family: var(--afam-font-head, serif); font-size: 1.1875rem; font-weight: 700; color: var(--afam-green-900, #084c2c); }
.afam-acc__sum::-webkit-details-marker { display: none; }
.afam-acc__sum:is(:hover, :focus-visible) { background: var(--afam-hover-tint, #eff5ec); }
.afam-acc__sum:focus-visible { outline: 3px solid var(--afam-green-900, #084c2c); outline-offset: -3px; }
.afam-acc__ico { flex: 0 0 auto; width: 14px; height: 14px; border-right: 3px solid var(--afam-green-600, #336600); border-bottom: 3px solid var(--afam-green-600, #336600); transform: rotate(45deg); transition: transform 0.25s ease; }
.afam-acc__item[open] > .afam-acc__sum { border-bottom: 3px solid var(--afam-gold-500, #cbae2d); }
.afam-acc__item[open] .afam-acc__ico { transform: rotate(-135deg); }
.afam-acc__body { padding: 22px; }
@media (prefers-reduced-motion: reduce) { .afam-acc__ico { transition: none; } }
.afam-linklist { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.afam-linklist li { margin: 6px 0; break-inside: avoid; }
@media (max-width: 640px) { .afam-linklist { columns: 1; } }

/* ===== U-016 DES-055: AFAM Pillars (A: cards, B: tabs / accordion) ===== */
.afam-pillars { --acc: #336600; --acc-d: #336600; }
.afam-pillar--green, .afam-ptab--green { --acc: #336600; --acc-d: #336600; }
.afam-pillar--teal, .afam-ptab--teal { --acc: #0c643a; --acc-d: #0c643a; }
.afam-pillar--orange, .afam-ptab--orange { --acc: #e06c17; --acc-d: #a84a08; }
.afam-pillar--gold, .afam-ptab--gold { --acc: #cbae2d; --acc-d: #6b5a0c; }
.afam-pillars .afam-checks { margin: 0; padding: 0; list-style: none; }
.afam-pillars .afam-checks li { position: relative; margin: 0; padding: 9px 0 9px 30px; font-weight: 600; line-height: 1.45; color: var(--afam-green-900, #084c2c); }
.afam-pillars .afam-checks li::before { content: ""; position: absolute; left: 2px; top: 14px; width: 12px; height: 7px; border-left: 3px solid var(--acc-d); border-bottom: 3px solid var(--acc-d); transform: rotate(-45deg); }
.afam-pillars .afam-pillar__ico, .afam-pillars .afam-ptab__ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 60px; height: 60px; border-radius: 50%; border: 2px solid var(--acc); background: color-mix(in srgb, var(--acc) 14%, #fff); color: var(--acc-d); transition: transform 0.35s ease; }
/* A: cards */
.afam-pillars--cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
@media (max-width: 1100px) { .afam-pillars--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .afam-pillars--cards { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
.afam-pillar { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 34px 26px 26px; border-radius: 16px; background: #fff; overflow: hidden; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.afam-pillar::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 6px; background: var(--acc); transition: height 0.3s ease; }
.afam-pillar__ghost { position: absolute; right: 14px; top: 8px; font-family: var(--afam-font-head, serif); font-size: 5.5rem; font-weight: 700; line-height: 1; color: var(--acc); opacity: 0.12; pointer-events: none; }
.afam-pillar:is(:hover, :focus-within) { transform: translateY(-8px); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.28); }
.afam-pillar:is(:hover, :focus-within)::before { height: 12px; }
.afam-pillar:is(:hover, :focus-within) .afam-pillar__ico { transform: scale(1.1) rotate(-6deg); }
.afam-scope .afam-pillar .afam-pillar__title { margin: 4px 0 0; font-size: 1.5rem; color: var(--afam-green-900, #084c2c); }
.afam-scope.afam-band-pillars .elementor-heading-title { color: #fff; }
.afam-scope.afam-band-pillars .afam-lead p { color: #e8f0e2; max-width: 52rem; }
/* B: tabs and accordion */
.afam-pillars--tabs { display: block; }
.afam-ptabs__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 16px; }
.afam-ptab { display: block; }
.afam-ptabs__list > .afam-ptab__btn[aria-selected="true"], .afam-ptab__btn { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 0; border-bottom: 5px solid transparent; border-radius: 14px 14px 0 0; background: rgba(255, 255, 255, 0.1); color: #fff; font-family: var(--afam-font-head, serif); font-size: 1.25rem; font-weight: 700; text-align: left; cursor: pointer; transition: background-color 0.25s ease; }
.afam-ptab__btn { width: 100%; }
.afam-ptab__btn:is(:hover, :focus-visible) { background: rgba(255, 255, 255, 0.2); }
.afam-ptab__btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.afam-ptab[data-sel="true"] .afam-ptab__btn, .afam-ptab__btn[aria-selected="true"] { background: #fff; color: var(--afam-green-900, #084c2c); border-bottom-color: var(--acc); }
.afam-ptab__panel { display: none; padding: 28px 32px; border-radius: 0 0 16px 16px; background: #fff; }
.afam-ptab[data-sel="true"] .afam-ptab__panel { display: block; animation: afam-ptab-in 0.35s ease; }
.afam-pillars--tabs .afam-ptab__panel .afam-checks { columns: 2; column-gap: 40px; }
.afam-pillars--tabs .afam-ptab__panel .afam-checks li { break-inside: avoid; }
@keyframes afam-ptab-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 1000px) and (min-width: 761px) { .afam-ptab__btn { font-size: 1.0625rem; padding: 14px 12px; gap: 10px; } .afam-pillars .afam-ptab__ico { width: 44px; height: 44px; } }
@media (max-width: 760px) {
	.afam-pillars--tabs { display: flex; flex-direction: column; gap: 10px; }
	.afam-ptab__btn { width: 100%; border-radius: 12px; border-bottom-width: 0; }
	.afam-ptab[data-sel="true"] .afam-ptab__btn { border-radius: 12px 12px 0 0; border-bottom-width: 5px; }
	.afam-ptab__panel { padding: 16px 18px; border-radius: 0 0 12px 12px; }
	.afam-pillars--tabs .afam-ptab__panel .afam-checks { columns: 1; }
}
@media (prefers-reduced-motion: reduce) { .afam-pillar, .afam-pillar::before, .afam-pillars .afam-pillar__ico, .afam-pillars .afam-ptab__ico { transition: none; } .afam-pillar:is(:hover, :focus-within) { transform: none; } .afam-pillar:is(:hover, :focus-within) .afam-pillar__ico { transform: none; } .afam-ptab[data-sel="true"] .afam-ptab__panel { animation: none; } }
.afam-scope.afam-home-section--green.afam-band-pillars { background: #0c643a; } /* a lighter green than the closing call-to-action band, so the two bands read as separate */
/* the reveal state must not cancel the pillar card lift (specificity) */
html.afam-js .afam-pillar.afam-reveal.is-in { transition: transform 0.3s ease, box-shadow 0.3s ease; transition-delay: 0ms; }
html.afam-js .afam-pillar.afam-reveal.is-in:is(:hover, :focus-within) { transform: translateY(-8px); }
@media (prefers-reduced-motion: reduce) { html.afam-js .afam-pillar.afam-reveal.is-in:is(:hover, :focus-within) { transform: none; } }
/* Awards page (U-015 C) */
.afam-card--recipient .afam-year { margin: 0 0 6px; font-family: var(--afam-font-head, serif); font-size: 1.5rem; font-weight: 700; color: #7a4a00; }
.afam-card--recipient .afam-inst { margin: 0 0 8px; font-weight: 600; color: var(--afam-green-900, #084c2c); }
.afam-card--recipient .afam-cite { margin: 0; font-style: italic; color: var(--afam-ink-700, #444); }
.afam-papers { margin: 0; padding: 0; list-style: none; }
.afam-papers li { padding: 14px 0; border-bottom: 1px solid #e6ede2; line-height: 1.55; }
.afam-papers li:last-child { border-bottom: 0; }
.afam-papers .afam-authors { color: #445; font-size: 0.9375rem; }

/* U-017 / DES-060: a centred intro block above a full-width grid (the section itself stays boxed at 1200 px). */
body .e-con.afam-lede { --flex-direction: column; flex-direction: column; width: 100%; max-width: 46rem; margin-left: auto; margin-right: auto; align-items: center; text-align: center; gap: 12px; }
body .e-con.afam-lede .elementor-widget { width: 100%; }
body .e-con.afam-lede p, body .e-con.afam-lede .afam-lead p { margin-left: auto; margin-right: auto; text-align: center; max-width: none; }

/* U-017 A / DES-056: benefit cards (icon, title, one line), four across; centred contact call-out. */
body .e-con.afam-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { body .e-con.afam-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { body .e-con.afam-cards--4 { grid-template-columns: minmax(0, 1fr); } }
.afam-scope .afam-ico { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: color-mix(in srgb, var(--afam-green-700, #336600) 12%, #fff); border: 2px solid var(--afam-green-700, #336600); color: var(--afam-green-900, #084c2c); transition: transform 0.3s ease, background-color 0.3s ease; }
.afam-scope .afam-ico--lg { width: 68px; height: 68px; }
.afam-scope .afam-card--benefit { text-align: left; gap: 10px; }
.afam-scope .afam-card--benefit h3 { margin: 6px 0 0; font-size: 1.1875rem; }
.afam-scope .afam-card--benefit p { margin: 0; line-height: 1.55; }
.afam-scope .afam-card--benefit:is(:hover, :focus-within) .afam-ico { transform: scale(1.08) rotate(-5deg); background: var(--afam-green-700, #336600); color: #fff; }
html.afam-js .afam-scope .afam-card--benefit.afam-reveal.is-in:hover { transform: translateY(-6px); }
body .e-con.afam-callout { width: 100%; max-width: 46rem; margin-left: auto; margin-right: auto; align-items: center; text-align: center; padding: 36px 32px; border-top: 6px solid var(--afam-gold-500, #cbae2d); }
body .e-con.afam-callout .elementor-widget { width: 100%; }
body .e-con.afam-callout .e-con.afam-actions { justify-content: center; }
@media (prefers-reduced-motion: reduce) { .afam-scope .afam-ico { transition: none; } .afam-scope .afam-card--benefit:is(:hover, :focus-within) .afam-ico { transform: none; } }
/* DES-060: a short last row of cards is centred instead of leaving an empty cell. */
body .e-con.afam-cards--center { display: flex !important; flex-direction: row !important; --flex-direction: row; flex-wrap: wrap; justify-content: center; } /* !important: beats the grid rule above */
body .e-con.afam-cards--center > .e-con { flex: 0 0 calc((100% - 48px) / 3); width: auto !important; max-width: none; box-sizing: border-box; min-width: 0; } /* !important: Elementor e-con-full width:100% */
@media (max-width: 1024px) { body .e-con.afam-cards--center > .e-con { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 700px) { body .e-con.afam-cards--center > .e-con { flex-basis: 100%; } }

/* U-017 B / DES-057: award feature blocks, recipient avatars, restyled paper tracks. */
body .e-con.afam-feature { display: grid !important; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px; align-items: center; } /* !important: Elementor container display:flex */
@media (max-width: 900px) { body .e-con.afam-feature { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
.afam-scope .afam-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 280px; padding: 36px 28px; border-radius: 20px; text-align: center; color: #fff; background: #084c2c radial-gradient(circle at 30% 20%, #0c643a, #084c2c 70%); box-shadow: 0 14px 34px rgba(8, 76, 44, 0.28); border-bottom: 8px solid var(--afam-gold-500, #cbae2d); }
.afam-scope .afam-badge__ico { display: inline-flex; align-items: center; justify-content: center; width: 104px; height: 104px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); border: 3px solid var(--afam-gold-500, #cbae2d); color: var(--afam-gold-500, #cbae2d); }
.afam-scope .afam-badge__name { font-family: var(--afam-font-head, serif); font-size: 1.5rem; font-weight: 700; line-height: 1.25; }
.afam-scope .afam-badge__by { font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #f0e3a0; }
body .e-con.afam-feature__text { gap: 12px; }
.afam-scope .afam-card--award { text-align: left; }
.afam-scope .afam-card--award .e-con.afam-actions { margin-top: auto; }
.afam-scope .afam-card--recipient { align-items: center; text-align: center; }
.afam-scope .afam-avatar { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: var(--afam-green-900, #084c2c); color: #fff; box-shadow: inset 0 0 0 4px var(--afam-gold-500, #cbae2d); font-family: var(--afam-font-head, serif); font-size: 1.5rem; font-weight: 700; letter-spacing: 1px; }
.afam-scope .afam-card--recipient h3 { margin: 8px 0 4px; }
.afam-scope .afam-card--recipient .afam-year { display: inline-block; padding: 2px 12px; border-radius: 999px; background: #fbf3d0; font-size: 1rem; }
.afam-papers li { display: grid; gap: 4px; padding: 18px 0; }
.afam-papers li > strong { justify-self: start; padding: 3px 12px; border-radius: 999px; background: #e8f0e2; color: var(--afam-green-900, #084c2c); font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.afam-papers li { font-family: var(--afam-font-head, serif); font-style: italic; font-size: 1.0625rem; color: var(--afam-green-900, #084c2c); }
.afam-papers li br { display: none; }
.afam-papers .afam-authors { font-family: var(--afam-font-body, sans-serif); font-style: normal; font-size: 0.9375rem; color: #444; }
.afam-acc__sum { font-size: 1.125rem; }

/* DES-060 (U-017): no half-empty sections. On inner pages the intro text of a section (heading, paragraphs) is centred with a readable
   measure, and button rows are centred, so a short text block never leaves the right side of a section empty.
   Lists, tables and two-column layouts (their own containers) are not touched. */
body:not(.home) .afam-scope.afam-home-section .e-con.afam-inner > .elementor-widget-heading,
body:not(.home) .afam-scope.afam-home-section .e-con.afam-inner > .elementor-widget-text-editor:not(:has(ul, ol, table, .table-container, .afam-fee-alt)) { text-align: center; max-width: var(--afam-measure, 70rem); margin-left: auto; margin-right: auto; width: 100%; }
body:not(.home) .afam-scope.afam-home-section .e-con.afam-inner > .elementor-widget-text-editor:not(:has(ul, ol, table, .table-container, .afam-fee-alt)) p { margin-left: auto; margin-right: auto; text-align: center; max-width: none; }
body:not(.home) .afam-scope.afam-home-section .e-con.afam-inner > .e-con.afam-actions { justify-content: center; }
.afam-pending { display: inline-block; margin: 0 6px 0 0; padding: 2px 10px; border-radius: 999px; background: #fbf3d0; color: #6b4a00; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; vertical-align: middle; }
.afam-card .afam-pending { display: block; width: fit-content; margin: 10px 0 0; }
.afam-scope.afam-conf-hero .afam-conf { text-align: center; }
.afam-scope.afam-conf-hero .elementor-widget-shortcode, .afam-scope.afam-conf-hero .afam-conf { width: 100%; text-align: center; }

/* ---- Past-conference template (U-018, AFAM-CONF-PAST-001). One shared layout for every earlier AFAM biennial conference. ---- */
.afam-pc-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; color: #fff; }
.afam-pc-hero--text { grid-template-columns: minmax(0, 1fr); }
.afam-pc-kicker { margin: 0 0 8px; font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #f3e29a; }
.afam-pc-hero h2 { margin: 0 0 14px; color: #fff; font-size: clamp(1.7rem, 3.4vw, 2.6rem); line-height: 1.15; }
.afam-pc-hero ul { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 6px; }
.afam-pc-hero li { margin: 0; font-size: 1.05rem; }
.afam-pc-hero li strong { color: #f3e29a; font-weight: 700; margin-right: 6px; }
.afam-pc-hero picture, .afam-pc-hero img { display: block; width: 100%; }
.afam-pc-hero img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 14px; box-shadow: 10px 10px 0 rgba(203, 174, 45, .85); }
.afam-pc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; background: #fff; border: 1px solid #d7e3dc; border-radius: 14px; overflow: hidden; }
.afam-pc-facts li { padding: 18px 22px; border-left: 1px solid #d7e3dc; margin: 0; }
.afam-pc-facts li:first-child { border-left: 0; }
.afam-pc-facts span { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5b6b62; margin-bottom: 4px; }
.afam-pc-facts b { display: block; font-size: 1.05rem; color: #084c2c; line-height: 1.35; }
.afam-pc-quote { margin: 0 0 8px; padding: 18px 24px; border-left: 5px solid #cbae2d; background: #fbf7e3; font-family: var(--afam-font-head, serif); font-style: italic; font-size: 1.25rem; line-height: 1.5; color: #084c2c; }
.afam-pc-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.afam-pc-card { background: #fff; border: 1px solid #d7e3dc; border-radius: 14px; padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.afam-pc-card h3 { margin: 0 0 4px; font-size: 1.05rem; color: #084c2c; }
.afam-pc-card p { margin: 0; }
.afam-pc-card .afam-pc-sub { color: #4d5d54; font-size: .95rem; }
.afam-pc-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.afam-pc-card li { margin: 0; }
.afam-pc-card li b { display: block; }
.afam-pc-card .afam-wbtn, .afam-pc-card a.afam-pc-dl { margin-top: 8px; align-self: flex-start; }
a.afam-pc-dl { display: inline-block; padding: 10px 18px; border-radius: 999px; background: #0c643a; color: #fff; font-weight: 700; text-decoration: none; }
a.afam-pc-dl:hover, a.afam-pc-dl:focus-visible { background: #084c2c; }
.afam-pc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-top: 8px; }
.afam-pc-stats div { background: #eef5f0; border-radius: 12px; padding: 14px 16px; text-align: center; }
.afam-pc-stats b { display: block; font-family: var(--afam-font-head, serif); font-size: 1.6rem; color: #084c2c; }
.afam-pc-stats span { font-size: .9rem; color: #4d5d54; }
.afam-pc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.afam-pc-gallery a { display: block; border-radius: 10px; overflow: hidden; background: #e7efe9; aspect-ratio: 4 / 3; }
.afam-pc-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.afam-pc-gallery a:hover img, .afam-pc-gallery a:focus-visible img { transform: scale(1.05); }
.afam-pc-gallery a:focus-visible { outline: 3px solid #cbae2d; outline-offset: 2px; }
.afam-pc-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.afam-pc-nav a { display: flex; flex-direction: column; gap: 2px; padding: 18px 22px; border: 1px solid #d7e3dc; border-radius: 14px; background: #fff; text-decoration: none; color: #084c2c; transition: border-color .2s, transform .2s; }
.afam-pc-nav a:hover, .afam-pc-nav a:focus-visible { border-color: #cbae2d; transform: translateY(-2px); }
.afam-pc-nav a:last-child { text-align: right; }
.afam-pc-nav small { font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5b6b62; }
.afam-pc-nav b { font-size: 1.1rem; }
.afam-pc-back { text-align: center; margin: 14px 0 0; }
.afam-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(5, 25, 15, .92); display: none; align-items: center; justify-content: center; padding: 56px 16px; }
.afam-lb.is-open { display: flex; }
.afam-lb img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; }
.afam-lb button { position: absolute; border: 0; background: rgba(255, 255, 255, .14); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 26px; cursor: pointer; line-height: 1; }
.afam-lb button:hover, .afam-lb button:focus-visible { background: #cbae2d; color: #07442a; outline: none; }
.afam-lb .afam-lb-x { top: 12px; right: 12px; } .afam-lb .afam-lb-p { left: 12px; top: 50%; } .afam-lb .afam-lb-n { right: 12px; top: 50%; }
@media (max-width: 860px) { .afam-pc-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; } .afam-pc-facts li { border-left: 0; border-top: 1px solid #d7e3dc; } .afam-pc-facts li:first-child { border-top: 0; } .afam-pc-nav { grid-template-columns: 1fr; } .afam-pc-nav a:last-child { text-align: left; } }
@media (prefers-reduced-motion: reduce) { .afam-pc-gallery img, .afam-pc-nav a { transition: none; } }
.afam-scope .elementor-widget-text-editor blockquote.afam-pc-quote, .afam-scope blockquote.afam-pc-quote, .afam-scope blockquote.afam-pc-quote p { color: #084c2c !important; background: #fbf7e3; }
.afam-scope .elementor-widget-text-editor a.afam-pc-dl, .afam-scope a.afam-pc-dl, .afam-scope a.afam-pc-dl:visited { color: #fff !important; text-decoration: none; }
.afam-scope .afam-pc-facts b, .afam-scope .afam-pc-card h3, .afam-scope .afam-pc-nav a b { color: #084c2c; }
.afam-scope .afam-pc-hero, .afam-scope .afam-pc-hero li, .afam-scope .afam-pc-hero h2 { color: #fff; }

/* Check list used by the generic page converter (U-018). */
.afam-scope ul.afam-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.afam-scope ul.afam-checklist li { position: relative; margin: 0; padding: 12px 16px 12px 46px; background: #fff; border: 1px solid #d7e3dc; border-radius: 12px; line-height: 1.5; }
.afam-scope ul.afam-checklist li::before { content: ""; position: absolute; left: 18px; top: 17px; width: 12px; height: 7px; border-left: 3px solid #0c643a; border-bottom: 3px solid #0c643a; transform: rotate(-45deg); }

/* Contrast and focus fixes for legacy blocks kept inside redesigned pages (U-018). Scoped to the page so nothing else changes. */
.page-id-23004 .num { color: #084c2c !important; }
.page-id-23547 .aom-tag--pdw, .page-id-23547 .aom-body h2, .page-id-23547 .afam-aom h2 { color: #8f4208 !important; }
.page-id-19927 h2.item-title-x24 { color: #102a1d !important; }
.page-id-19927 .sl20descfont { overflow: visible !important; max-height: none !important; }
.page-id-20961 .ti-review-item .ti-read-more-active, .page-id-20961 .ti-review-item .ti-date, .page-id-20961 .ti-review-item .ti-read-more { color: #4d5d54 !important; }
.afam-forum-note a { text-decoration: underline; font-weight: 700; }
#wpforo-wrap .wpf-newest-member a { text-decoration: underline; }
.page-id-20961 .ti-review-item * { color: #3d4a43 !important; } .page-id-20961 .ti-review-item .ti-name, .page-id-20961 .ti-review-item .ti-name * { color: #084c2c !important; }
.wpf-newest-member a { text-decoration: underline !important; } .page-id-20961 .ti-review-item, .page-id-20961 .ti-review-item * { opacity: 1 !important; }
.afam-pc-stats { display: flex; flex-wrap: wrap; justify-content: center; }
.afam-pc-stats div { flex: 1 1 160px; max-width: 230px; }

/* Membership pricing cards (U-020 #4): equal heights, price in one place, Apply on every card, centred rows. */
.afam-pricing { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; align-items: stretch; margin: 8px 0 20px; }
.afam-price-card { flex: 1 1 210px; max-width: 220px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 22px 18px 20px; background: #fff; border: 1px solid #d7e3dc; border-top: 6px solid var(--g, #0c643a); border-radius: 14px; transition: transform .2s, box-shadow .2s; }
.afam-price-card:hover, .afam-price-card:focus-within { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(8, 76, 44, .14); }
.afam-price-card--africa { --g: #0c643a; } .afam-price-card--diaspora { --g: #b85510; } .afam-price-card--student { --g: #8a6d00; }
.afam-price-tag { align-self: center; padding: 3px 12px; border-radius: 999px; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: #eef5f0; color: #084c2c; }
.afam-price-card--diaspora .afam-price-tag { background: #fdebd9; color: #7a3a08; } .afam-price-card--student .afam-price-tag { background: #fbf3d0; color: #5e4a00; }
.afam-price-ico { color: var(--g); }
.afam-scope .afam-price-card h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; color: #084c2c; min-height: 2.6em; display: flex; align-items: center; justify-content: center; }
.afam-price { margin: 0; display: flex; flex-direction: column; align-items: center; }
.afam-price strong { font-family: var(--afam-font-head, serif); font-size: 2rem; color: #084c2c; line-height: 1.1; }
.afam-price span { font-size: .85rem; color: #4d5d54; }
.afam-price-for { margin: 0; font-size: .9rem; line-height: 1.5; color: #333; flex: 1 1 auto; }
.afam-scope a.afam-price-apply, .afam-scope a.afam-price-apply:visited { margin-top: 10px; display: inline-block; padding: 10px 26px; border-radius: 999px; background: #0c643a; color: #fff !important; font-weight: 700; text-decoration: none; }
.afam-scope a.afam-price-apply:hover, .afam-scope a.afam-price-apply:focus-visible { background: #084c2c; outline: 3px solid #cbae2d; outline-offset: 2px; }
@media (max-width: 560px) { .afam-price-card { max-width: none; flex-basis: 100%; } .afam-scope .afam-price-card h3 { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .afam-price-card { transition: none; } .afam-price-card:hover { transform: none; } }
.afam-scope a.afam-price-apply { text-decoration: none !important; } .afam-scope .afam-price-card .afam-price-for { font-size: .9rem; line-height: 1.55; }

/* Single AJOM page (U-019 #7, U-020 #5): sticky six-anchor sub-navigation and the merged section content, styled in the AFAM pattern. */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.afam-ajom-navwrap { position: sticky; top: 130px; z-index: 30; background: #fff; border-bottom: 1px solid #d7e3dc; box-shadow: 0 4px 12px rgba(8, 76, 44, .08); }
.afam-ajom-nav ul { list-style: none; margin: 0 auto; padding: 0 16px; max-width: 1200px; display: flex; gap: 4px; flex-wrap: wrap; justify-content: center; }
.afam-ajom-nav a { display: block; padding: 14px 14px; font-weight: 700; font-size: .95rem; color: #084c2c; text-decoration: none; border-bottom: 3px solid transparent; }
.afam-ajom-nav a:hover, .afam-ajom-nav a:focus-visible { border-bottom-color: #cbae2d; background: #f4f8f5; outline: none; }
.afam-ajom-nav li:last-child a { background: #0c643a; color: #fff; border-radius: 999px; margin: 8px 0; padding: 8px 18px; }
.afam-ajom-nav li:last-child a:hover { background: #084c2c; }
.afam-home-section[id] { scroll-margin-top: 190px; }
@media (max-width: 1024px) { .afam-ajom-navwrap { top: 70px; } .afam-ajom-nav ul { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; } .afam-ajom-nav a { white-space: nowrap; } .afam-home-section[id] { scroll-margin-top: 140px; } }
.afam-ajom-lead { max-width: 70rem; margin: 0 auto 20px; text-align: center; font-size: 1.1rem; }
.afam-ajom section, .afam-ajom .section { padding: 0 0 28px; background: none; }
.afam-ajom .container { max-width: none; padding: 0; }
.afam-ajom .section-head { margin-bottom: 14px; text-align: center; }
.afam-ajom .eyebrow { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8f4208; margin-bottom: 4px; }
.afam-ajom h2 { margin: 0 0 12px; font-size: 1.5rem; color: #084c2c; text-align: center; }
.afam-ajom h3 { color: #084c2c; margin: 0 0 6px; }
.afam-ajom .grid { display: grid; gap: 18px; } .afam-ajom .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .afam-ajom .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .afam-ajom .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .afam-ajom .grid-3, .afam-ajom .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .afam-ajom .grid-2, .afam-ajom .grid-3, .afam-ajom .grid-4 { grid-template-columns: minmax(0, 1fr); } }
.afam-ajom .card { background: #fff; border: 1px solid #d7e3dc; border-top: 5px solid #cbae2d; border-radius: 14px; padding: 20px 22px; }
.afam-ajom .card p { margin: 0; }
.afam-ajom .card-icon { font-size: 1.6rem; color: #0c643a; margin-bottom: 6px; }
.afam-ajom .accordion-item { border: 1px solid #d7e3dc; border-radius: 12px; background: #fff; margin: 0 0 10px; }
.afam-ajom .accordion-item summary { cursor: pointer; padding: 14px 18px; font-weight: 700; color: #084c2c; list-style: none; }
.afam-ajom .accordion-item summary:focus-visible { outline: 3px solid #cbae2d; outline-offset: 2px; }
.afam-ajom .acc-content { padding: 0 18px 16px; }
.afam-ajom table { width: 100%; border-collapse: collapse; background: #fff; }
.afam-ajom th, .afam-ajom td { padding: 10px 14px; border-bottom: 1px solid #d7e3dc; text-align: left; }
.afam-ajom th { background: #eef5f0; color: #084c2c; }
.afam-ajom .stat, .afam-ajom [class*="stat"] { text-align: center; }
.afam-ajom .btn, .afam-ajom a.button { display: inline-block; padding: 10px 22px; border-radius: 999px; background: #0c643a; color: #fff; font-weight: 700; text-decoration: none; }
.afam-ajom .section-head { border-left: 0 !important; padding-left: 0 !important; } .afam-ajom .table-container { overflow-x: auto; margin: 0 0 20px; }
.afam-ajom .grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } @media (max-width: 900px) { .afam-ajom .grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } } .afam-ajom .counter-box { text-align: center; background: #eef5f0; border-radius: 12px; padding: 16px 10px; } .afam-ajom .counter-box .num { font-family: var(--afam-font-head, serif); font-size: 1.8rem; color: #084c2c; } .afam-ajom .counter-box .label { font-size: .9rem; color: #4d5d54; } .afam-ajom [class*="filter"] { display: none; }
.afam-gal-filter { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0 0 18px; } .afam-gal-filter button { border: 2px solid #0c643a; background: #fff; color: #084c2c; font-weight: 700; padding: 8px 18px; border-radius: 999px; cursor: pointer; } .afam-gal-filter button[aria-pressed="true"] { background: #0c643a; color: #fff; } .afam-gal-filter button:focus-visible { outline: 3px solid #cbae2d; outline-offset: 2px; } .afam-pc-gallery a[hidden] { display: none; } .afam-gal-count { text-align: center; color: #4d5d54; margin: 8px 0 0; } .afam-gallery--masonry { display: block; columns: 4 220px; column-gap: 10px; } .afam-gallery--masonry a { aspect-ratio: auto; margin: 0 0 10px; break-inside: avoid; } .afam-gallery--masonry img { height: auto; }
.afam-card--com { text-align: left; } .afam-com-ico { display: inline-flex; width: 52px; height: 52px; border-radius: 14px; background: #eef5f0; color: #0c643a; align-items: center; justify-content: center; } .afam-card--com:nth-child(3n+2) .afam-com-ico { background: #fbf3d0; color: #6b5a0c; } .afam-card--com:nth-child(3n) .afam-com-ico { background: #fdebd9; color: #8f4208; } .afam-card--com .elementor-widget-text-editor { flex: 1 1 auto; } .afam-scope .afam-card--com h3 { text-align: left; margin: 10px 0 6px; } .afam-scope .afam-card--com p { text-align: left; } .afam-com-chair { margin-top: 10px; padding-top: 10px; border-top: 1px solid #d7e3dc; } .afam-com-chair span { display: block; font-size: .9rem; color: #4d5d54; }

/* Document layout for the Bylaws (U-020 #2): sticky contents column, numbered articles, print styles. */
.afam-doc { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 36px; align-items: start; }
.afam-doc-toc { position: sticky; top: 150px; max-height: calc(100vh - 170px); overflow: auto; background: #f4f8f5; border: 1px solid #d7e3dc; border-radius: 14px; padding: 18px 18px 14px; }
.afam-doc-toc__h { margin: 0 0 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; color: #8f4208; }
.afam-doc-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.afam-doc-toc a { display: block; padding: 7px 8px; border-radius: 8px; color: #084c2c; text-decoration: none; font-size: .92rem; line-height: 1.35; }
.afam-doc-toc a b { display: block; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; color: #5b6b62; }
.afam-doc-toc a:hover, .afam-doc-toc a:focus-visible { background: #fff; outline: 2px solid #cbae2d; }
.afam-doc-print button { margin-top: 10px; border: 2px solid #0c643a; background: #fff; color: #084c2c; font-weight: 700; padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.afam-doc-art { background: #fff; border: 1px solid #d7e3dc; border-left: 6px solid #cbae2d; border-radius: 12px; padding: 22px 26px; margin: 0 0 18px; scroll-margin-top: 170px; }
.afam-doc-art h2 { margin: 0 0 12px; text-align: left; font-size: 1.35rem; color: #084c2c; }
.afam-doc-art h2 span { display: block; font-family: Manrope, sans-serif; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #8f4208; margin-bottom: 2px; }
.afam-doc-art__b { text-align: left; line-height: 1.65; } .afam-doc-art__b p { margin: 0 0 .8em; text-align: left; max-width: none; }
@media (max-width: 960px) { .afam-doc { grid-template-columns: minmax(0, 1fr); } .afam-doc-toc { position: static; max-height: none; } }
@media print { header, footer, .afam-doc-toc, .afam-mobile-bar, .afam-ajom-navwrap, #back-to-top, .page-title-band { display: none !important; } .afam-doc { display: block; } .afam-doc-art { break-inside: avoid-page; border: 0; border-left: 3px solid #999; padding: 8px 14px; } body { font-size: 11pt; color: #000; } a { color: #000; text-decoration: none; } }

/* The old history timeline rules (.afam-tl, U-020) were removed in U-026: the class name collided with the AJOM stepper below and squeezed the history cards. The history is now the AFAM Milestones component in afam-showcase (.afam-ms). */

/* Colour bands for the AFDW pages (U-019 #3). */
.afam-scope.afam-tint--gold { background: #fbf3d0; } .afam-scope.afam-tint--mint { background: #e4f1e8; } .afam-scope.afam-tint--sand { background: #fdebd9; }
.afam-scope.afam-tint--gold .afam-card, .afam-scope.afam-tint--mint .afam-card, .afam-scope.afam-tint--sand .afam-card { background: #fff; }
.afam-scope.afam-tint--gold .afam-card { border-top: 5px solid #cbae2d; } .afam-scope.afam-tint--mint .afam-card { border-top: 5px solid #0c643a; } .afam-scope.afam-tint--sand .afam-card { border-top: 5px solid #e06c17; }
.afam-scope.afam-tint--gold h2, .afam-scope.afam-tint--mint h2 { color: #084c2c; } .afam-scope.afam-tint--sand h2 { color: #7a3a08; }
.afam-afdw-strip { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; } .afam-afdw-strip a { aspect-ratio: 1 / 1; border: 4px solid #fff; box-shadow: 0 6px 16px rgba(8, 76, 44, .15); transform: rotate(-1.2deg); } .afam-afdw-strip a:nth-child(even) { transform: rotate(1.2deg); }
@media (prefers-reduced-motion: reduce) { .afam-afdw-strip a { transform: none !important; } }
.afam-pc-gallery picture { display: block; height: 100%; } .afam-pc-gallery picture img { height: 100%; }

/* CiviCRM public forms (membership sign-up and renewal, contributions), U-019 #5. CSS only: no CiviCRM core or template edits. */
.crm-container.crm-public { max-width: 880px; margin: 0 auto; padding: 8px 0 40px; }
.crm-container.crm-public .messages.status, .crm-container.crm-public .help { border-radius: 12px; }
.crm-container.crm-public fieldset, .crm-container.crm-public .crm-public-form-item { background: #fff; border: 1px solid #d7e3dc; border-top: 5px solid #cbae2d; border-radius: 14px; padding: 18px 22px 20px; margin: 0 0 20px; box-shadow: 0 6px 16px rgba(8, 76, 44, .06); }
.crm-container.crm-public fieldset legend, .crm-container.crm-public .crm-group > legend { font-family: var(--afam-font-head, serif); font-weight: 700; font-size: 1.15rem; color: #084c2c; padding: 0 8px; }
.crm-container.crm-public .crm-section { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 8px 18px; align-items: start; margin: 0 0 14px; }
.crm-container.crm-public .crm-section .label, .crm-container.crm-public .crm-section .label label { float: none; width: auto; text-align: left; font-weight: 700; color: #084c2c; }
.crm-container.crm-public .crm-section .content, .crm-container.crm-public .crm-section .edit-value { float: none; margin: 0; width: auto; }
.crm-container.crm-public .crm-section .clear { display: none; }
.crm-container.crm-public input[type="text"], .crm-container.crm-public input[type="email"], .crm-container.crm-public input[type="tel"], .crm-container.crm-public input[type="number"], .crm-container.crm-public select, .crm-container.crm-public textarea { width: 100%; max-width: 520px; min-height: 44px; padding: 9px 12px; border: 1.5px solid #9db3a6; border-radius: 10px; background: #fff; font: inherit; box-sizing: border-box; }
.crm-container.crm-public input:focus, .crm-container.crm-public select:focus, .crm-container.crm-public textarea:focus { outline: 3px solid #cbae2d; outline-offset: 1px; border-color: #0c643a; }
.crm-container.crm-public .crm-marker { color: #b3261e; }
.crm-container.crm-public input.error, .crm-container.crm-public select.error, .crm-container.crm-public .crm-error { border-color: #b3261e; background: #fff6f5; }
.crm-container.crm-public label.error, .crm-container.crm-public .crm-error-message { display: block; color: #b3261e; font-weight: 700; margin-top: 4px; }
.crm-container.crm-public #priceset fieldset, .crm-container.crm-public .price-set-row { border-top-color: #0c643a; }
.crm-container.crm-public #priceset .crm-section { grid-template-columns: minmax(120px, 180px) minmax(0, 1fr); }
.crm-container.crm-public #priceset .description, .crm-container.crm-public #priceset .price-set-row .content .description { border: 0; background: #eef5f0; border-radius: 10px; padding: 10px 14px; color: #263a2f; }
.crm-container.crm-public #pricesetTotal, .crm-container.crm-public .total_amount-section { font-size: 1.2rem; font-weight: 800; color: #084c2c; }
.crm-container.crm-public .crm-submit-buttons, .crm-container.crm-public .crm-actions-ribbon { margin-top: 10px; }
.crm-container.crm-public .crm-form-submit, .crm-container.crm-public button.crm-button, .crm-container.crm-public input[type="submit"], .crm-container.crm-public .crm-submit-buttons button { background: #0c643a !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 12px 28px !important; min-height: 46px; font-weight: 800; font-size: 1rem; cursor: pointer; text-shadow: none; box-shadow: none; }
.crm-container.crm-public .crm-form-submit:hover, .crm-container.crm-public .crm-form-submit:focus-visible, .crm-container.crm-public input[type="submit"]:hover { background: #084c2c !important; outline: 3px solid #cbae2d; outline-offset: 2px; }
.crm-container.crm-public .cancel, .crm-container.crm-public a.button.cancel { background: #fff !important; color: #084c2c !important; border: 2px solid #0c643a !important; }
@media (max-width: 700px) { .crm-container.crm-public .crm-section, .crm-container.crm-public #priceset .crm-section { grid-template-columns: minmax(0, 1fr); } .crm-container.crm-public input[type="text"], .crm-container.crm-public select { max-width: none; } }
/* correction: grid only for label/value rows; wrappers stay block; card chrome on fieldsets only */
.crm-container.crm-public .crm-section { display: block; }
.crm-container.crm-public .crm-section:has(> .label) { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 8px 18px; align-items: start; }
.crm-container.crm-public #priceset .crm-section:has(> .label) { grid-template-columns: minmax(120px, 180px) minmax(0, 1fr); }
.crm-container.crm-public .crm-public-form-item:not(fieldset) { background: none; border: 0; box-shadow: none; padding: 0; margin: 0 0 14px; }
.crm-container.crm-public fieldset fieldset { border-top-width: 1px; box-shadow: none; padding: 12px 16px; }
@media (max-width: 700px) { .crm-container.crm-public .crm-section:has(> .label), .crm-container.crm-public #priceset .crm-section:has(> .label) { grid-template-columns: minmax(0, 1fr); } }
.afam-ajom .tone-orange > p, .afam-ajom .tone-orange p { color: #5e2a05 !important; } .page-id-20926 .afam-home-section .elementor-widget-text-editor a[rel~="noopener"] { color: #f3e29a !important; text-decoration: underline; font-weight: 700; }
.afam-ajom a[style*="color"] { color: #0c643a !important; } .afam-ajom [class*="tone-"] { color: #263a2f; }

/* ===== U-021 #1: About AJOM, every section in the homepage standard (DES-060) =====
   Sticky sub-nav that really sticks (Elementor .e-con forces position: relative), pill tabs, a step timeline, tidy metrics. */
:root { --afam-ajom-stick: 84px; }
.e-con.afam-ajom-navwrap { position: sticky; top: var(--afam-ajom-stick); z-index: 30; margin: 0; width: 100%; --padding-top: 0; --padding-bottom: 0; }
.afam-ajom-nav ul { padding: 8px 16px; gap: 6px 4px; align-items: center; }
.afam-ajom-nav a { padding: 10px 14px; border-radius: 999px; border-bottom: 0; }
.afam-ajom-nav a:hover, .afam-ajom-nav a:focus-visible { background: #e7f0ea; box-shadow: inset 0 0 0 2px #cbae2d; }
.afam-ajom-nav li:last-child a { margin: 0; padding: 10px 20px; }
.afam-ajom-nav li:last-child a:hover { color: #fff; box-shadow: inset 0 0 0 2px #cbae2d; }
@media (max-width: 1024px) { :root { --afam-ajom-stick: 70px; } .afam-ajom-nav ul { padding: 8px 12px; } }
.afam-ajom section, .afam-ajom .section { padding: 0 0 44px; }
.afam-ajom .section-head p, .afam-ajom .lead-text { max-width: 70rem; margin: 0 auto 20px; text-align: center; font-size: 1.05rem; }
.afam-ajom .eyebrow { margin-bottom: 4px; }
/* tabs: the tab buttons are the control; the old mobile accordion triggers are hidden */
.afam-ajom .tabs__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 20px; }
.afam-ajom .tabs__btn { appearance: none; cursor: pointer; padding: 10px 22px; border-radius: 999px; border: 2px solid #0c643a; background: #fff; color: #084c2c; font: inherit; font-weight: 700; line-height: 1.2; min-height: 44px; }
.afam-ajom .tabs__btn:hover { background: #e7f0ea; }
.afam-ajom .tabs__btn[aria-selected="true"] { background: #0c643a; color: #fff; }
.afam-ajom .tabs__btn:focus-visible { outline: 3px solid #cbae2d; outline-offset: 2px; }
.afam-ajom .tabs.is-ready .tabs__panel:not([data-active="true"]) { display: none; }
.afam-ajom .acc-trigger { display: none; }
.afam-ajom #about-tabs .acc-body { background: #fff; border: 1px solid #d7e3dc; border-left: 5px solid #cbae2d; border-radius: 14px; padding: 22px 28px; max-width: 70rem; margin: 0 auto; text-align: left; }
.afam-ajom #about-tabs .acc-body p { margin: 0 0 12px; text-align: left; } .afam-ajom #about-tabs .acc-body p:last-child { margin-bottom: 0; }
.afam-ajom #milestones-tabs { max-width: 70rem; margin: 0 auto; box-shadow: 0 6px 22px rgba(8, 76, 44, .07); }
/* metrics */
.afam-ajom .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .afam-ajom .grid-5 { gap: 14px; }
.afam-ajom .counter-box { background: #fff; border: 1px solid #d7e3dc; border-top: 4px solid #cbae2d; border-radius: 14px; padding: 18px 12px; text-align: center; }
.afam-ajom .section--tint .counter-box, .afam-ajom #milestones-tabs .counter-box { background: #f4f8f5; }
.afam-ajom .counter-box .num { font-family: var(--afam-font-display, Merriweather, Georgia, serif); font-weight: 700; font-size: 1.9rem; line-height: 1.15; color: #084c2c; overflow-wrap: anywhere; }
.afam-ajom .counter-box .label { margin-top: 4px; font-size: .9rem; color: #3b4d43; }
.afam-ajom .grid-5 .counter-box .num[style] { font-size: 1.25rem !important; }
@media (max-width: 900px) { .afam-ajom .grid-4, .afam-ajom .grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .afam-ajom .counter-box .num { font-size: 1.5rem; } }
/* research areas: compact icon chips instead of near-empty boxes */
.afam-ajom .card:has(> .card-icon):not(:has(p)) { display: flex; align-items: center; gap: 12px; text-align: left; padding: 16px 18px; border-top-width: 1px; border-left: 5px solid #cbae2d; }
.afam-ajom .card:has(> .card-icon):not(:has(p)) .card-icon { margin: 0; flex: 0 0 auto; width: 34px; height: 34px; line-height: 34px; text-align: center; font-size: 1rem; border-radius: 50%; background: #e7f0ea; }
.afam-ajom .card:has(> .card-icon):not(:has(p)) h3 { margin: 0; font-size: 1rem; text-align: left; }
.afam-ajom .card:has(> .card-icon) p { font-size: .95rem; line-height: 1.55; }
/* step timeline: numbered steps joined by a connector (horizontal on desktop, vertical on mobile) */
.afam-ajom .timeline { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; margin: 12px 0 0; padding: 0; }
.afam-ajom .timeline__step { position: relative; text-align: center; padding: 0 10px; }
.afam-ajom .timeline__step::before { content: ""; position: absolute; top: 23px; left: -50%; width: 100%; height: 4px; background: #cbae2d; z-index: 0; border-radius: 2px; }
.afam-ajom .timeline__step:first-child::before { display: none; }
.afam-ajom .timeline__dot { position: relative; z-index: 1; width: 50px; height: 50px; margin: 0 auto 12px; border-radius: 50%; background: #0c643a; color: #fff; border: 4px solid #fff; box-shadow: 0 0 0 3px #cbae2d; display: flex; align-items: center; justify-content: center; font-family: var(--afam-font-display, Merriweather, Georgia, serif); font-weight: 700; font-size: 1.15rem; }
.afam-ajom .ts-label { font-weight: 700; color: #084c2c; line-height: 1.25; }
.afam-ajom .ts-sub { font-size: .9rem; color: #3b4d43; margin-top: 2px; }
@media (max-width: 767px) {
	.afam-ajom .timeline { grid-auto-flow: row; gap: 18px; max-width: 24rem; margin-left: auto; margin-right: auto; }
	.afam-ajom .timeline__step { display: grid; grid-template-columns: 50px 1fr; column-gap: 16px; text-align: left; padding: 0; align-items: center; }
	.afam-ajom .timeline__step::before { top: auto; bottom: 100%; left: 23px; width: 4px; height: 18px; }
	.afam-ajom .timeline__dot { grid-row: 1 / span 2; margin: 0; }
	.afam-ajom .ts-label { align-self: end; } .afam-ajom .ts-sub { align-self: start; }
}
/* tables */
.afam-ajom .table-wrap, .afam-ajom .table-container { border: 1px solid #d7e3dc; border-radius: 14px; overflow: hidden; margin: 0 0 24px; background: #fff; }
.afam-ajom table { font-size: .98rem; } .afam-ajom th { font-family: inherit; font-weight: 700; } .afam-ajom tbody tr:nth-child(even) { background: #f7faf8; }
.afam-ajom tbody th[scope="row"] { background: transparent; font-weight: 700; color: #084c2c; }
@media (max-width: 600px) { .afam-ajom th, .afam-ajom td { padding: 9px 8px; font-size: .88rem; } }
/* FAQ accordions */
.afam-ajom .accordion { max-width: 70rem; margin: 0 auto; }
.afam-ajom .accordion-item summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: left; }
.afam-ajom .accordion-item summary::-webkit-details-marker { display: none; }
.afam-ajom .accordion-item summary .plus::before { content: "+"; display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: #e7f0ea; color: #084c2c; font-size: 1.2rem; line-height: 1; }
.afam-ajom .accordion-item[open] summary .plus::before { content: "\2212"; background: #0c643a; color: #fff; }
.afam-ajom .acc-content { text-align: left; }
/* checklist */
.afam-ajom .checklist { list-style: none; margin: 0 auto 16px; padding: 0; max-width: 70rem; display: grid; gap: 10px; }
.afam-ajom .checklist li { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid #d7e3dc; border-left: 5px solid #0c643a; border-radius: 12px; padding: 12px 16px; text-align: left; }
.afam-ajom .checklist .tick { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: #0c643a; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .85rem; }
.afam-ajom .section-foot-link { text-align: center; margin: 12px 0 0; }
/* call-to-action banners */
.afam-ajom .cta-banner { background: linear-gradient(135deg, #084c2c, #0c643a); color: #fff; border-radius: 18px; padding: 34px 24px; text-align: center; }
.afam-ajom .cta-banner h2 { color: #fff; margin-bottom: 16px; } .afam-ajom .cta-banner p { color: #e8f3ec !important; }
.afam-ajom .cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.afam-ajom .cta-banner .btn, .afam-ajom .cta-banner a.btn { background: #fff !important; color: #084c2c !important; font-weight: 700; padding: 12px 26px; text-decoration: none; }
.afam-ajom .cta-banner .btn-secondary { background: #cbae2d !important; color: #1d1d1d !important; }
.afam-ajom .cta-banner a[style] { color: #fff !important; }
.afam-ajom .cta-banner .btn:hover, .afam-ajom .cta-banner a.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.afam-ajom .cta-banner.tone-orange { background: linear-gradient(135deg, #7a3608, #a64b0a); }
.afam-ajom .cta-banner [class*="tone-"], .afam-ajom .cta-banner { color: #fff; }
.afam-ajom .callout { border-radius: 12px; padding: 14px 18px; background: #fff7ea; border: 1px solid #e8c98c; border-left: 5px solid #c06a12; text-align: left; max-width: 70rem; margin-left: auto; margin-right: auto; }
.afam-ajom .callout .label { display: block; margin-bottom: 2px; color: #7a3608; }
/* issues panel (Current & Forthcoming Issues) */
.afam-issues-card { max-width: 52rem; margin: 22px auto 0; background: #fff; border: 1px solid #d7e3dc; border-top: 5px solid #cbae2d; border-radius: 16px; padding: 26px 28px; text-align: center; box-shadow: 0 6px 22px rgba(8, 76, 44, .07); }
.afam-issues-card h3 { margin: 0 0 8px; } .afam-issues-card p { margin: 0 0 16px; }
.afam-issues-card .afam-issues-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.afam-issues-card a { display: inline-block; padding: 12px 26px; border-radius: 999px; font-weight: 700; text-decoration: none; background: #0c643a; color: #fff; }
.afam-issues-card a + a { background: #fff; color: #084c2c; box-shadow: inset 0 0 0 2px #0c643a; }
.afam-issues-card a:hover, .afam-issues-card a:focus-visible { background: #084c2c; color: #fff; outline: 3px solid #cbae2d; outline-offset: 2px; }
/* U-021 #1: beat the Elementor kit link colour and underline (specificity) */
body .afam-ajom-nav a { color: #084c2c !important; text-decoration: none !important; }
body .afam-ajom-nav li:last-child a, body .afam-ajom-nav li:last-child a:hover { color: #fff !important; }
body .afam-ajom-nav a:hover, body .afam-ajom-nav a:focus-visible { color: #084c2c !important; }
body .afam-ajom .cta-banner a.btn, body .afam-scope .afam-ajom .cta-banner a.btn { background: #fff !important; color: #084c2c !important; text-decoration: none !important; }
body .afam-ajom .cta-banner a.btn-secondary, body .afam-scope .afam-ajom .cta-banner a.btn-secondary { background: #cbae2d !important; color: #1d1d1d !important; }
body .afam-ajom .afam-ajom-lead a, body .afam-ajom .section-foot-link a { text-decoration: underline; }
body .afam-issues-card a { color: #fff !important; text-decoration: none !important; } body .afam-issues-card a + a { color: #084c2c !important; }
body .afam-issues-card a:hover, body .afam-issues-card a:focus-visible { color: #fff !important; }
body .afam-scope .afam-ajom p.afam-ajom-lead, body .afam-scope .afam-ajom .section-head p, body .afam-scope .afam-ajom .lead-text, body .afam-scope .afam-ajom .cta-banner p { max-width: 70rem; margin-left: auto; margin-right: auto; text-align: center; }
body .afam-scope .afam-ajom .cta-banner p[style] { margin-top: 18px; }
body .afam-ajom .checklist .tick { box-shadow: none; border: 0; outline: 0; margin: 0; }

/* ===== U-023: Membership benefits, 12 owner-copy cards in a coloured 4x3 grid ===== */
.afam-scope .afam-ben { --ben: #336600; --ben-ico: #336600; border-top: 5px solid var(--ben); height: 100%; }
.afam-scope .afam-ben--1 { --ben: #336600; --ben-ico: #2b5500; }
.afam-scope .afam-ben--2 { --ben: #0c643a; --ben-ico: #0c643a; }
.afam-scope .afam-ben--3 { --ben: #e06c17; --ben-ico: #a04a08; }
.afam-scope .afam-ben--4 { --ben: #cbae2d; --ben-ico: #7a6709; }
.afam-scope .afam-ben .afam-ico { width: 52px; height: 52px; background: color-mix(in srgb, var(--ben) 16%, #fff); border: 2px solid var(--ben); color: var(--ben-ico); }
.afam-scope .afam-ben:is(:hover, :focus-within) .afam-ico { background: var(--ben); color: #fff; }
.afam-scope .afam-ben--4:is(:hover, :focus-within) .afam-ico { color: #1d1d1d; }
.afam-scope .afam-ben h3 { margin: 6px 0 0; font-size: 1.15rem; color: #084c2c; }
.afam-scope .afam-ben .elementor-widget-text-editor p { margin: 0; font-size: .95rem; line-height: 1.6; color: #263a2f; }
.afam-scope .afam-ben-grid { align-items: stretch; gap: 20px; }
.afam-scope .afam-ben-grid > .afam-ben { box-shadow: 0 2px 10px rgba(8, 76, 44, .06); }
html.afam-js .afam-ben-grid > .afam-ben:nth-child(4n+2) { transition-delay: .08s; } html.afam-js .afam-ben-grid > .afam-ben:nth-child(4n+3) { transition-delay: .16s; } html.afam-js .afam-ben-grid > .afam-ben:nth-child(4n) { transition-delay: .24s; }
html.afam-js .afam-ben-grid > .afam-ben.is-in:hover { transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { html.afam-js .afam-ben-grid > .afam-ben { transition-delay: 0s; } }
@media (min-width: 1101px) { .afam-scope .afam-ben h3 { min-height: 2.7em; display: flex; align-items: flex-end; } }
.afam-scope .afam-ben h3 { line-height: 1.25; font-size: 1.1rem; }

/* ===== U-021 #3: Call to Host page (cards, chips, key-date timeline, stat tiles) ===== */
.afam-scope .afam-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 70rem; margin: 0 auto; }
.afam-scope .afam-stat { background: #fff; border: 1px solid #d7e3dc; border-top: 4px solid #cbae2d; border-radius: 14px; padding: 18px 12px; text-align: center; }
.afam-scope .afam-stat__n { font-family: var(--afam-font-display, Merriweather, Georgia, serif); font-weight: 700; font-size: 1.8rem; line-height: 1.15; color: #084c2c; }
.afam-scope .afam-stat__l { margin-top: 4px; font-size: .92rem; color: #3b4d43; }
.afam-scope .afam-callgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 70rem; margin: 0 auto; }
.afam-scope .afam-callgrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.afam-scope .afam-callcard { position: relative; background: #fff; border: 1px solid #d7e3dc; border-top: 5px solid #cbae2d; border-radius: 16px; padding: 22px 24px; text-align: left; box-shadow: 0 2px 10px rgba(8, 76, 44, .06); }
.afam-scope .afam-callcard h3 { margin: 0 0 8px; font-size: 1.2rem; color: #084c2c; }
.afam-scope .afam-callcard p { margin: 0 0 10px; font-size: .98rem; line-height: 1.6; color: #263a2f; max-width: none; }
.afam-scope .afam-callcard p:last-child { margin-bottom: 0; }
.afam-scope .afam-callcard__k { font-size: .78rem !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a3f06 !important; margin-bottom: 4px !important; }
.afam-scope .afam-callcard__tag { display: inline-block; padding: 4px 14px; border-radius: 999px; background: #e7f0ea; color: #084c2c !important; font-weight: 700; font-size: .85rem !important; }
.afam-scope .afam-callcard--step { padding-top: 30px; }
.afam-scope .afam-callcard__n { position: absolute; top: -22px; left: 22px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #0c643a; color: #fff; border: 4px solid #fff; box-shadow: 0 0 0 3px #cbae2d; font-family: var(--afam-font-display, Merriweather, Georgia, serif); font-weight: 700; }
.afam-scope .afam-callcard--step h3 { margin-top: 8px; }
.afam-scope .afam-call-note { max-width: 70rem; margin: 16px auto 0; text-align: center; font-size: .95rem; color: #3b4d43; }
.afam-scope .afam-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; }
.afam-scope .afam-chips li { margin: 0; padding: 5px 14px; border-radius: 999px; background: #f4f8f5; border: 1px solid #c9dccf; color: #084c2c; font-weight: 600; font-size: .9rem; }
.afam-scope .afam-tl { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 70rem; margin: 18px auto 0; padding: 0; }
.afam-scope .afam-tl__step { position: relative; text-align: center; padding: 0 12px; margin: 0; }
.afam-scope .afam-tl__step::before { content: ""; position: absolute; top: 11px; left: -50%; width: 100%; height: 4px; background: #cbae2d; border-radius: 2px; }
.afam-scope .afam-tl__step:first-child::before { display: none; }
.afam-scope .afam-tl__dot { position: relative; z-index: 1; display: block; width: 26px; height: 26px; margin: 0 auto 12px; border-radius: 50%; background: #0c643a; border: 4px solid #fff; box-shadow: 0 0 0 3px #cbae2d; }
.afam-scope .afam-tl__when { margin: 0 0 2px; font-weight: 700; color: #8a3f06; font-size: .95rem; }
.afam-scope .afam-tl__step h3 { margin: 0 0 6px; font-size: 1.1rem; color: #084c2c; }
.afam-scope .afam-tl__step p:last-child { margin: 0; font-size: .95rem; line-height: 1.55; color: #263a2f; }
@media (max-width: 900px) { .afam-scope .afam-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .afam-scope .afam-callgrid--3 { grid-template-columns: minmax(0, 1fr); gap: 34px; } }
@media (max-width: 767px) {
	.afam-scope .afam-callgrid { grid-template-columns: minmax(0, 1fr); }
	.afam-scope .afam-tl { grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 28rem; }
	.afam-scope .afam-tl__step { text-align: left; padding: 0 0 0 44px; }
	.afam-scope .afam-tl__step::before { top: -22px; bottom: auto; left: 11px; width: 4px; height: 22px; }
	.afam-scope .afam-tl__dot { position: absolute; left: 0; top: 0; margin: 0; }
}
.afam-scope .afam-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; } @media (max-width: 700px) { .afam-scope .afam-stats--3 { grid-template-columns: minmax(0, 1fr); } }
body .afam-scope .afam-callcard p, body .afam-scope .afam-callcard h3 { text-align: left; }
body .afam-scope .afam-stats .afam-stat { text-align: center; }
body .afam-scope .afam-callcard p, body .afam-scope .afam-callcard h3, body .afam-scope .afam-callcard__k { text-align: left !important; }
@media (max-width: 900px) { body .afam-aom .aom-time, body .afam-aom .aom-time small { color: #8f4208 !important; } }
body .afam-ajom .cta-banner, body .afam-ajom .cta-banner.tone-green { background: #0c643a linear-gradient(135deg, #084c2c, #0c643a); }
body .afam-ajom .cta-banner.tone-orange { background: #7a3608 linear-gradient(135deg, #7a3608, #8f4208); }
/* U-022 A: real events (Ova Events archive and single) in the AFAM look: green titles, AA contrast on the details panel */
body.post-type-archive-event .ovaev-content a, body.post-type-archive-event .ovaev-event-item a.title, body.post-type-archive-event h2 a, body.post-type-archive-event h3 a, body.post-type-archive-event .title a { color: #084c2c !important; }
body.post-type-archive-event .title a:hover, body.post-type-archive-event h3 a:hover { color: #0c643a !important; text-decoration: underline; }
body.single-event .info > span, body.single-event .event_info span { color: #8f4208 !important; }
body.single-event h1, body.single-event h2.title, body.single-event .ovaev_title { color: #084c2c; }
body.single-event li .info, body.single-event li .info a, body.single-event li .info span { color: #8f4208 !important; }

/* U-024: category and tag archives of events get the same look as the archive; demo placeholder image replaced by the AFAM logo */
body.tax-event_category .ovaev-content a, body.tax-event_category .ovaev-event-item a.title, body.tax-event_category h2 a, body.tax-event_category h3 a, body.tax-event_category .title a,
body.tax-event_tag .ovaev-content a, body.tax-event_tag h3 a, body.tax-event_tag .title a { color: #084c2c !important; }
body.tax-event_category .title a:hover, body.tax-event_category h3 a:hover, body.tax-event_tag .title a:hover { color: #0c643a !important; text-decoration: underline; }
img[src*="event-imge"] { content: url("/wp-content/uploads/2025/03/AFAM-Logo2-240.webp"); object-fit: contain !important; padding: 2.5rem; background: #eef3ec; box-sizing: border-box; }

/* Round 3 item 1: CiviCRM's own breadcrumb ("CiviCRM" and the trail) is not shown on front-end pages: the AFAM hero already carries the page title. wp-admin is not affected. */
body:not(.wp-admin) .crm-container .breadcrumb { display: none !important; }

/* AFAM Tabs widget (U-027 B2) */
.afam-tabset .afam-tabs { gap: 4px 8px; margin-bottom: 20px; }
.afam-tabset .afam-tabs [role="tab"] { min-height: 46px; padding: 0 16px; color: var(--afam-green-900, #084c2c); cursor: pointer; }
.afam-tabset .afam-tabs [role="tab"]:hover { background: var(--afam-hover-tint, #eff5ec); }
.afam-tabset .afam-tabs [role="tab"]:focus-visible { outline: 3px solid var(--afam-green-900, #084c2c); outline-offset: -3px; }
.afam-tabset__h { margin: 0 0 12px; font-size: 1.5rem; color: var(--afam-green-900, #084c2c); }
.afam-tabset.is-ready .afam-tabset__h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.afam-tabset.is-ready .afam-tabset__panel:not([data-active="true"]) { display: none; }
.afam-tabset__panel:focus-visible { outline: 3px solid var(--afam-green-900, #084c2c); outline-offset: 4px; }
.afam-tabset__panel { overflow-wrap: anywhere; }

/* U-027 review A8: colourful committee pages. Sections get these classes from the committee page (intro band, responsibility cards, members). */
.afam-scope.afam-committee-intro { background: linear-gradient(135deg, #084c2c 0, #0c643a 100%); color: #fff; border-bottom: 5px solid #cbae2d; }
.afam-scope.afam-committee-intro .afam-inner { max-width: 960px; }
.afam-scope.afam-committee-intro p, .afam-scope.afam-committee-intro .elementor-widget-text-editor { color: #fff; font-size: 1.25rem; line-height: 1.65; text-align: center; margin: 0; }
.afam-scope.afam-committee-duties { background: #f5f9f6; }
.afam-scope.afam-committee-duties ul.afam-checklist { counter-reset: duty; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.afam-scope.afam-committee-duties ul.afam-checklist li { counter-increment: duty; padding: 20px 20px 20px 70px; min-height: 84px; border: 1px solid #d7e3dc; border-left: 6px solid #0c643a; border-radius: 12px; box-shadow: 0 4px 14px rgba(8, 76, 44, 0.07); display: flex; align-items: center; }
.afam-scope.afam-committee-duties ul.afam-checklist li::before { content: counter(duty); left: 18px; top: 50%; width: 36px; height: 36px; margin-top: -18px; border: 0; transform: none; border-radius: 50%; background: #0c643a; color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.afam-scope.afam-committee-duties ul.afam-checklist li:nth-child(3n+2) { border-left-color: #cbae2d; }
.afam-scope.afam-committee-duties ul.afam-checklist li:nth-child(3n+2)::before { background: #cbae2d; color: #2f2700; }
.afam-scope.afam-committee-duties ul.afam-checklist li:nth-child(3n) { border-left-color: #e06c17; }
.afam-scope.afam-committee-duties ul.afam-checklist li:nth-child(3n)::before { background: #b45309; }
@media (max-width: 800px) { .afam-scope.afam-committee-duties ul.afam-checklist { grid-template-columns: minmax(0, 1fr); } }
.afam-scope.afam-committee-members { background: #fff; }
/* Standing and ad hoc committee card grids: a coloured top edge per card. */
.afam-card--com { border-top: 5px solid #0c643a; }
.afam-card--com:nth-child(3n+2) { border-top-color: #cbae2d; }
.afam-card--com:nth-child(3n) { border-top-color: #e06c17; }
.afam-scope.afam-committee-intro .elementor-widget-text-editor, .afam-scope.afam-committee-intro .elementor-widget-text-editor p, .afam-scope.afam-committee-intro .elementor-widget-container { color: #fff !important; }
