/* ==========================================================================
   CMA site CSS: the rules from TEST Additional CSS (read 2026-11-08, post 8715)
   that are NOT in the design system bundle. Loaded last by CMA-022.

   Changes from Additional CSS, each tied to a design system rule:
   - Colors use role tokens from tokens.css instead of hex (marked "DS:").
   - Three dead rules dropped: two "@media (min-width: 768px)" lines with no
     braces (browsers drop them, so they never applied) and "widget.extended..."
     (missing the dot, matches nothing). See audit.md, finding S4.
   - CMA-001 and CMA-003 to CMA-008 removed: tokens.css and components.css
     replace them.
   ========================================================================== */

/* --- Meeting list (TSML UI) colors, mapped to role tokens --------------- */
#tsml-ui button {
	background-color: unset;
	color: var(--cma-text-heading);              /* was #000 */
}
#tsml-ui {
	--alert-background: var(--cma-celebrate-soft);  /* was #faf4e0 */
	--alert-text: var(--cma-medallion-700);          /* was #998a5e (3.1:1, fails AA for text; new value 5.6:1); medallion-700 is the celebrate line color */
	--background: var(--cma-surface-card);
	--border-radius: var(--cma-radius);
	--focus: var(--cma-line-focus);
	--font-family: var(--font-sans);
	--font-size: 16px;
	--in-person: #146c43;                            /* TSML status color, no DS equivalent: kept */
	--inactive: var(--cma-danger);                   /* was #b02a37 */
	--link: var(--cma-text-link);                    /* was #0d6efd (Bootstrap blue) */
	--online: var(--cma-action);                     /* was #0a58ca */
	--online-background-image: url(https://images.unsplash.com/photo-1588196749597-9ff075ee6b5b?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=1440&ixid=MnwxfDB8MXxhbGx8fHx8fHx8fHwxNjIyMTIzODkw&ixlib=rb-1.2.1&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1920);
	--text: var(--cma-text-body);                    /* was #212529 */
}

/* --- BuddyX Pro theme adjustments (layout only, kept as they were) ------- */
@media screen and (min-width: 480px) {
	.buddyx-posts-nav .buddyx-posts-nav-thumbnail {
		display: block;
		min-width: 80px;
		width: 40px;
		height: 40px;
		border-radius: var(--global-border-radius, var(--radius-theme));
		background-color: var(--cma-action);         /* was #1e73be */
	}
}
.site-header-wrapper {
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	border-top: 0;
	background: var(--color-header-bg);
	min-height: 51px;
	z-index: 999;
}
.top-bar .container {
	margin: 0 auto;
	padding: 9px 15px 8px 18px;
}
.footer-inner {
	padding: 20px 0 10px;
	display: flex;
	grid-gap: 0;
}
.site-branding img {
	max-width: 300px;
	max-height: 60px;
	min-height: 60px;
	width: auto;
	object-fit: contain;
}
.site-sub-header {
	position: relative;
	color: var(--global-font-color);
	margin: 0;
	padding: 10px 0;
}
.sidebar .widget,
.widget {
	font-size: 15px;
}
.single-post-main-wrapper .site-wrapper {
	margin-top: 0;
}
hr {
	background-color: var(--cma-line-card);          /* was #638cec4f */
	border: 0;                                       /* was "border: 1" (invalid, ignored) */
	height: 1px;
	margin-bottom: 1.5em;
}
.tsml-widget-upcoming table tbody tr {
	display: block;
	padding: 2px 2px 2px 20px;
	position: relative;
	border-bottom: 1px solid var(--cma-line-card);   /* was rgba(0,0,0,.1) */
}
.site-info {
	padding: 1em 0;
	background: var(--cma-surface-band);             /* was #d4e2e8; DS: footer is surface-band */
	border-top: 1px solid var(--cma-line-card);
	border-bottom: 1px solid var(--cma-line-card);
	text-align: center;
}
table.linklisttable td {
	border-width: 1px;
	padding: 3px;
	background-color: var(--cma-surface-inset);      /* was #d4e2e852 */
}
ul#ubermenu-nav-footer_menu-707 {                    /* footer menu fix */
	max-width: unset;
}
.elementor-19208 > .elementor-element.elementor-element-3ab1c0b {
	padding: 0;
}

/* --- Footer label shares the Eyebrow look (was in CMA-006) --------------- */
.cma-ft__eyebrow {
	color: var(--cma-text-link);
	font: var(--text-eyebrow);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* --- Category archives: card grid (was category-cards.css) -------------- */
.archive.category .buddyx-article--masonry .buddyx-article {
	background: var(--cma-surface-card);
	border: 1px solid var(--cma-line-card);
	border-radius: var(--cma-radius);
	padding: var(--cma-card-pad);
}
.archive.category .buddyx-article .post-meta-category a {
	color: var(--cma-text-link);
	font: var(--text-eyebrow);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.archive.category .buddyx-article--masonry {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--spacing-30);
	margin: 0 0 var(--spacing-30);
	height: auto !important;
}
.archive.category .buddyx-article--masonry .buddyx-grid-sizer {
	display: none;
}
.archive.category .buddyx-article--masonry .buddyx-article-col {
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: auto;
	margin: 0;
	padding: 0;
}
.archive.category .buddyx-article--masonry .buddyx-article {
	height: 100%;
	gap: 8px;
}
.archive.category .buddyx-article--masonry .buddyx-article > * {
	margin: 0 !important;
}
.archive.category .buddyx-article .entry-title {
	margin: 0;
	font: var(--text-card-title);
	text-transform: none;
}
.archive.category .buddyx-article .entry-meta .posted-by {
	display: none;
}
.archive.category .buddyx-article .entry-meta .posted-on {
	margin: 0;
	padding: 0;
}
.archive.category .buddyx-article .entry-meta,
.archive.category .buddyx-article .entry-meta a {
	color: var(--cma-text-meta);                     /* was contrast-3 #6e6e6e; DS: never BuddyX greys */
	font: var(--text-meta);
}
.archive.category .buddyx-article .entry-content {
	display: block;
	max-height: none;
	overflow: visible;
	font-size: 16px;
}
.archive.category .buddyx-article .entry-content p {
	margin: 0;
}
.archive.category .buddyx-article .more-link {
	display: block;
	margin-top: 8px;
	color: var(--cma-text-link);                     /* was theme primary #408caf (3.8:1 on white) */
	font-weight: 600;
}
@media (max-width: 1024px) {
	.archive.category .buddyx-article--masonry {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.archive.category .buddyx-article--masonry {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- Compatibility: names the old CMA-001 / CMA-004 defined that tokens.css
   and components.css don't. Used by the site footer (CMA-014). ------------- */
:root {
	--cma-font-heading: var(--font-heading);
}
.cma-accent-ink { --cma-accent: var(--cma-edge-deep); }

/* --- Rules that were only in Prod Additional CSS (read 2026-11-08) -------- */
ol, ul {
	margin-left: 25px;
}
.ea-body {
	padding-bottom: 40px;
}
.size-post-thumbnail {
	width: 100px;
}
form.ctct-default {                                  /* Constant Contact form */
	background-color: var(--e-global-color-primary) !important;
}
.newsletter-sidebar .widget.extendedwopts-col {
	background: none;
	border: none;
}
h2.newsletter-widget-title {
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 500;
}
.widget li {
	margin-top: 8px;
}
.wp-page {
	margin-top: 25px !important;
}

/* --- CMA-014 Site footer (.cma-ft), from Prod Additional CSS (CHG-002).
   DS changes: text cma-text-body (was #505050), band cma-surface-band (was
   #f2f7f8), lines cma-line-card (was #dde6ea), call button and mobile panel
   radius cma-radius (was 6px / 8px). Bottom bar #dbe7ee kept (no DS token
   for light text on the navy bar). --------------------------------------- */
/* Remove the Elementor container's padding and width cap around this footer */
.e-con:has(.cma-ft){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;padding:0!important}
.e-con-inner:has(.cma-ft){--content-width:100%;max-width:100%!important;margin:0!important;padding:0!important}
.elementor-widget-html:has(.cma-ft){margin:0!important}
.cma-ft{--ft-navy:var(--cma-navy);--ft-text:var(--cma-text-body);--ft-link:var(--cma-blue-ink);--ft-bg:var(--cma-surface-band);--ft-line:var(--cma-line-card);background:var(--ft-bg);color:var(--ft-text);font-size:15px;line-height:1.5}
.cma-ft *{box-sizing:border-box}
.cma-ft a{color:var(--ft-link);text-decoration:none}
.cma-ft a:hover,.cma-ft a:focus-visible{color:var(--ft-navy);text-decoration:underline}
.cma-ft__inner{max-width:1286px;margin:0 auto;padding:60px 24px 44px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.55fr;gap:44px}
.cma-ft__brand{display:flex;flex-direction:column;gap:16px}
.cma-ft__brand img{width:220px;height:auto;display:block}
.cma-ft__brand p{margin:0;max-width:300px;line-height:1.6}
/* .cma-ft__eyebrow now shares CMA-006 (13px, 600, 0.16em, --cma-blue-ink); approved by Bach 2026-10-26 */
.cma-ft .cma-ft__call{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--cma-radius);background:var(--cma-text-on-light);color:#fff;font-family:var(--cma-font-heading);font-weight:700;font-size:16px;letter-spacing:.04em}
.cma-ft .cma-ft__call:hover,.cma-ft .cma-ft__call:focus-visible{color:#fff;background:#000;text-decoration:none}
.cma-ft__note{font-size:14px}
.cma-ft__group{border-top:3px solid var(--cma-accent,var(--cma-blue));padding-top:18px}
.cma-ft__group summary{list-style:none;font-family:var(--cma-font-heading);font-size:17px;font-weight:700;color:var(--ft-navy);margin-bottom:14px;pointer-events:none}
.cma-ft__group summary::-webkit-details-marker{display:none}
.cma-ft__group summary svg{display:none}
.cma-ft__group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cma-ft__group li{margin:0}
.cma-ft__group a{font-weight:500}
.cma-ft__group summary a{pointer-events:auto;color:var(--ft-navy);font-weight:inherit}
.cma-ft__overview{font-weight:600}
.cma-ft__overview-m{display:none}
.cma-ft__bar{background:var(--ft-navy);color:#dbe7ee;font-size:14px}
.cma-ft__bar-inner{max-width:1286px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cma-ft__bar-inner>div{display:flex;flex-direction:column;gap:2px}
.cma-ft__legal{display:flex;flex-wrap:wrap;gap:8px 24px}
.cma-ft .cma-ft__legal a{color:#fff;font-weight:500}
@media (max-width:1024px){.cma-ft__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
.cma-ft__inner{display:flex;flex-direction:column;gap:28px;padding:40px 16px 32px}
.cma-ft__brand img{width:200px}
.cma-ft .cma-ft__call{align-self:stretch;justify-content:center;min-height:48px;font-size:17px}
.cma-ft__note{text-align:center}
.cma-ft__groups{background:var(--cma-surface-card);border:1px solid var(--ft-line);border-radius:var(--cma-radius);overflow:hidden}
.cma-ft__group{border-top:0;border-left:3px solid var(--cma-accent,var(--cma-blue));padding:0}
.cma-ft__group+.cma-ft__group{border-top:1px solid var(--ft-line)}
.cma-ft__group summary{pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 16px;margin:0;font-size:16px}
.cma-ft__group summary svg{display:block;transition:transform .15s}
.cma-ft__group[open] summary svg{transform:rotate(180deg)}
.cma-ft__group ul{gap:0;padding:0 16px 12px}
.cma-ft__group a{display:flex;align-items:center;min-height:44px}
.cma-ft__overview-m{display:list-item}
.cma-ft__group summary a.cma-ft__overview{pointer-events:none;color:inherit;text-decoration:none}
.cma-ft__bar-inner{flex-direction:column;align-items:stretch;padding:24px 16px 28px;gap:12px}
.cma-ft__legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;order:-1}
.cma-ft__legal a{display:flex;align-items:center;min-height:44px}
}
@media (min-width:768px){.cma-ft__groups{display:contents}
}
 
