/**
 * Site Kit blocks.
 *
 * Structure only. Every colour, size, radius and space is a panel control, so
 * this file never sets a colour the editor cannot override — that was the whole
 * point of replacing the hand-written markup these blocks came from.
 *
 * Where a value is needed for the block to be usable out of the box, it comes
 * from an Elementor global or a kit custom property, never a literal.
 */

/* ── FAQ ─────────────────────────────────────────────────────────────── */
.umep-faq { display: flex; flex-direction: column; }
.umep-faq-item {
	border-bottom: 1px solid var(--e-global-color-border, rgba(0,0,0,.12));
	border-bottom-style: solid;
}
.umep-faq:not(.has-divider) .umep-faq-item:last-child { border-bottom: 0; }
.umep-faq-summary {
	display: flex; align-items: flex-start; justify-content: space-between;
	gap: 16px; cursor: pointer; list-style: none;
}
.umep-faq-summary::-webkit-details-marker { display: none; }
.umep-faq-q { margin: 0; font-weight: 600; color: var(--e-global-color-text, inherit); }
.umep-faq-a { color: var(--e-global-color-text_muted, inherit); }
.umep-faq-a > :first-child { margin-top: 0; }
.umep-faq-a > :last-child { margin-bottom: 0; }
.umep-faq-marker {
	flex: none; width: 1em; height: 1em; position: relative; margin-top: .25em;
	color: var(--e-global-color-accent, currentColor);
}
.umep-faq-marker::before,
.umep-faq-marker::after {
	content: ""; position: absolute; background: currentColor;
	transition: transform .18s ease;
}
.umep-faq--plus .umep-faq-marker::before { inset: 45% 0 45% 0; }
.umep-faq--plus .umep-faq-marker::after  { inset: 0 45% 0 45%; }
.umep-faq--plus .umep-faq-item[open] .umep-faq-marker::after { transform: scaleY(0); }
.umep-faq--chevron .umep-faq-marker::before {
	inset: 30% 20% auto 20%; height: .12em; transform: rotate(45deg) translateX(.1em);
}
.umep-faq--chevron .umep-faq-marker::after {
	inset: 30% 20% auto 20%; height: .12em; transform: rotate(-45deg) translateX(-.1em);
}
.umep-faq--chevron .umep-faq-item[open] .umep-faq-marker::before { transform: rotate(-45deg) translateX(.1em); }
.umep-faq--chevron .umep-faq-item[open] .umep-faq-marker::after  { transform: rotate(45deg) translateX(-.1em); }
.umep-faq-summary:focus-visible { outline: 2px solid var(--e-global-color-accent, currentColor); outline-offset: 3px; }

/* ── Stat band ───────────────────────────────────────────────────────── */
.umep-stats { display: grid; margin: 0; }
.umep-stat { margin: 0; min-width: 0; }
.umep-stats.has-rule .umep-stat + .umep-stat {
	border-left: 1px solid var(--e-global-color-border, rgba(0,0,0,.12));
	padding-left: var(--umep-rule-pad, 20px);
}
.umep-stat-value {
	margin: 0; font-weight: 700; line-height: 1.02;
	font-variant-numeric: tabular-nums;
	color: var(--e-global-color-accent, inherit);
}
.umep-stat-affix { font-size: .62em; font-weight: 600; }
.umep-stat-label { margin: 0; color: var(--e-global-color-text_muted, inherit); }

/* ── Link rail ───────────────────────────────────────────────────────── */
.umep-rail-list { list-style: none; margin: 0; padding: 0; display: grid; }
.umep-rail--stack .umep-rail-list { grid-template-columns: 1fr; }
.umep-rail--grid  .umep-rail-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.umep-rail--inline .umep-rail-list { display: flex; flex-wrap: wrap; }
.umep-rail-link {
	display: flex; align-items: center; gap: 14px; text-decoration: none;
	border: 1px solid var(--e-global-color-border, rgba(0,0,0,.12));
	color: var(--e-global-color-text, inherit);
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.umep-rail-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.umep-rail-text { font-weight: 500; }
.umep-rail-desc { font-size: .84em; color: var(--e-global-color-text_muted, inherit); }
.umep-rail-icon { flex: none; display: inline-flex; color: var(--e-global-color-accent, currentColor); }
.umep-rail-arrow { flex: none; color: var(--e-global-color-text_muted, inherit); }
.umep-rail-link:focus-visible { outline: 2px solid var(--e-global-color-accent, currentColor); outline-offset: 2px; }

/* ── Detail list ─────────────────────────────────────────────────────── */
.umep-dl { display: grid; margin: 0; }
.umep-dl--split .umep-dl-row { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.umep-dl--stacked .umep-dl-row { display: flex; flex-direction: column; gap: 3px; }
.umep-dl--grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.umep-dl--grid .umep-dl-row { display: flex; flex-direction: column; gap: 3px; }
.umep-dl-row {
	border-bottom: 1px solid var(--e-global-color-border, rgba(0,0,0,.12));
	border-bottom-style: solid;
	min-width: 0;
}
.umep-dl-row:last-child { border-bottom: 0; }
.umep-dl-term { margin: 0; color: var(--e-global-color-text, inherit); }
.umep-dl-value { margin: 0; color: var(--e-global-color-text_muted, inherit); }
.umep-dl.is-tabular .umep-dl-value { font-variant-numeric: tabular-nums; }
.umep-dl-row.is-emphasis .umep-dl-value { font-weight: 600; }

/* ── Tag strip ───────────────────────────────────────────────────────── */
.umep-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; }
.umep-tags-wrap { display: block; }
.umep-tags-wrap[style*="center"] .umep-tags { justify-content: center; }
.umep-tags-wrap[style*="right"]  .umep-tags { justify-content: flex-end; }
.umep-tag-item { display: inline-flex; align-items: center; gap: inherit; }
.umep-tag {
	display: inline-block; text-decoration: none;
	color: var(--e-global-color-text_muted, inherit);
	letter-spacing: .04em;
}
.umep-tags--chip .umep-tag { border: 1px solid var(--e-global-color-border, rgba(0,0,0,.12)); }
.umep-tags--meta .umep-tag-item { gap: .55em; }
.umep-tag-sep { opacity: .55; }
a.umep-tag:focus-visible { outline: 2px solid var(--e-global-color-accent, currentColor); outline-offset: 2px; }

/* ── Member spotlight ────────────────────────────────────────────────── */
.umep-spot { list-style: none; margin: 0; padding: 0; display: grid; }
.umep-spot--row { grid-template-columns: 1fr; }
.umep-spot--card { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.umep-spot-item { min-width: 0; }
.umep-spot-link { display: flex; gap: 14px; text-decoration: none; color: inherit; align-items: center; min-width: 0; }
.umep-spot--stack .umep-spot-link,
.umep-spot--card .umep-spot-link { flex-direction: column; align-items: flex-start; gap: 12px; }
.umep-spot-align-center.umep-spot--card .umep-spot-link,
.umep-spot-align-center.umep-spot--stack .umep-spot-link { align-items: center; }
.umep-spot-align-center.umep-spot--row {
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.umep-spot-align-center.umep-spot--row .umep-spot-link {
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.umep-spot--row .umep-spot-link { flex-direction: row; align-items: center; }
.umep-spot-photo {
	flex: none; width: 72px; height: 72px; object-fit: cover; display: block;
	overflow: hidden;
	background: var(--e-global-color-accent_soft, rgba(0,0,0,.06));
}
.umep-spot-initials {
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 1.4rem;
	color: var(--e-global-color-accent, inherit);
}
.umep-spot-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.umep-spot-name { font-weight: 600; color: var(--e-global-color-text, inherit); }
.umep-spot-role { font-size: .88em; color: var(--e-global-color-accent, inherit); }
.umep-spot-note { font-size: .88em; color: var(--e-global-color-text_muted, inherit); }
.umep-spot-link:focus-visible { outline: 2px solid var(--e-global-color-accent, currentColor); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	.umep-faq-marker::before, .umep-faq-marker::after, .umep-rail-link { transition: none; }
}

/* ── Testimonial ─────────────────────────────────────────────────────── */
.umep-quotes { display: grid; }
.umep-quotes--grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.umep-quotes--stack, .umep-quotes--single { grid-template-columns: 1fr; }
.umep-quote { margin: 0; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.umep-quote-mark {
	font-size: 2.6em; line-height: .6; font-family: Georgia, "Times New Roman", serif;
	color: var(--e-global-color-accent, currentColor);
}
.umep-quote-text { margin: 0; border: 0; padding: 0; color: var(--e-global-color-text, inherit); }
.umep-quote-text > :first-child { margin-top: 0; }
.umep-quote-text > :last-child { margin-bottom: 0; }
.umep-quote-by { display: flex; align-items: center; gap: 12px; margin: 0; }
.umep-quote-photo { flex: none; width: 40px; height: 40px; border-radius: 999px; object-fit: cover; }
.umep-quote-by-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.umep-quote-name { font-weight: 600; color: var(--e-global-color-text, inherit); }
.umep-quote-meta { font-size: .86em; color: var(--e-global-color-text_muted, inherit); }
.umep-quotes--single .umep-quote-text { font-size: 1.25em; line-height: 1.5; }
