/* Ponca Committee Members — supports both the "Current Committee Members" plain card layout
   and the "Election Board Members" layout (with divider + calendar/location/etc rows).
   All measurements come straight from the supplied Figma CSS spec. */

.ponca-cm,
.ponca-cm * { box-sizing: border-box; }

.ponca-cm {
	display: block;
	width: 100%;
	margin: 0;
	position: relative;
}

/* Neutralize rogue theme counters / content rules inside the block. */
.ponca-cm .ponca-cm__card ::before,
.ponca-cm .ponca-cm__card ::after { content: none !important; }

/* ---------- Outer section ---------- */
.ponca-cm .ponca-cm__section {
	background: var(--cm-section-bg, #0D0F0E);
	padding-bottom: var(--cm-section-py-bottom, 96px);
	padding-left:   var(--cm-section-px,        48px);
	padding-right:  var(--cm-section-px,        48px);
	width: 100%;
}

.ponca-cm .ponca-cm__inner {
	display: flex;
	flex-direction: column;
	gap: var(--cm-section-gap, 30px);
	width: 100%;
	max-width: var(--cm-max-width, 1600px);
	margin: 0 auto;
}

/* ---------- Header ---------- */
.ponca-cm .ponca-cm__head {
	display: flex;
	flex-direction: column;
	gap: var(--cm-head-gap, 14px);
}
.ponca-cm .ponca-cm__eyebrow,
.ponca-cm .ponca-cm__heading {
	margin: 0;
	padding: 0;
	display: block;
}
.ponca-cm .ponca-cm__eyebrow {
	color: var(--cm-eyebrow-color, #DEB209);
	font-family: var(--cm-eyebrow-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-eyebrow-font-size, 13px);
	line-height: var(--cm-eyebrow-line-height, 22px);
	font-style: var(--cm-eyebrow-font-style, normal);
	font-weight: var(--cm-eyebrow-font-weight, 600);
	letter-spacing: var(--cm-eyebrow-letter-spacing, 3px);
	text-transform: var(--cm-eyebrow-text-transform, uppercase);
}
.ponca-cm .ponca-cm__heading {
	color: var(--cm-heading-color, rgba(255,255,255,0.10));
	font-family: var(--cm-heading-font-family, 'Cormorant Garamond', Georgia, serif);
	font-size: var(--cm-heading-font-size, 56px);
	line-height: var(--cm-heading-line-height, 62px);
	font-style: var(--cm-heading-font-style, normal);
	font-weight: var(--cm-heading-font-weight, 300);
	letter-spacing: var(--cm-heading-letter-spacing, -0.56px);
	text-transform: var(--cm-heading-text-transform, none);
}
/* Two-line title (line 1 + line 2), each with its own color / font-style */
.ponca-cm .ponca-cm__heading--inline { display: block; }
.ponca-cm .ponca-cm__heading--inline .ponca-cm__title-line1,
.ponca-cm .ponca-cm__heading--inline .ponca-cm__title-line2 { display: inline; }
.ponca-cm .ponca-cm__heading--stacked { display: flex; flex-direction: column; }
.ponca-cm .ponca-cm__heading--stacked .ponca-cm__title-line1,
.ponca-cm .ponca-cm__heading--stacked .ponca-cm__title-line2 { display: block; }
.ponca-cm .ponca-cm__title-line1 {
	color: var(--cm-title-l1-color, #FFFFFF);
	font-style: var(--cm-title-l1-fs, normal);
}
.ponca-cm .ponca-cm__title-line2 {
	color: var(--cm-title-l2-color, #DEB209);
	font-style: var(--cm-title-l2-fs, italic);
}
.ponca-cm .ponca-cm__header-block {
	display: flex;
	flex-direction: column;
	gap: var(--cm-description-top-gap, 24px);
}

/* ---------- Description ---------- */
.ponca-cm .ponca-cm__description {
	margin: 0;
	padding: 0;
	max-width: var(--cm-desc-max-width, 933px);
	color: var(--cm-description-color, #DBB7B1);
	font-family: var(--cm-description-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-description-font-size, 18px);
	line-height: var(--cm-description-line-height, 30px);
	font-style: var(--cm-description-font-style, normal);
	font-weight: var(--cm-description-font-weight, 400);
	letter-spacing: var(--cm-description-letter-spacing, 0px);
	text-transform: var(--cm-description-text-transform, none);
}
.ponca-cm .ponca-cm__description > p { margin: 0; padding: 0; }
.ponca-cm .ponca-cm__description > p + p { margin-top: var(--cm-desc-para-gap, 24px); }
.ponca-cm .ponca-cm__description a {
	color: var(--cm-desc-link, #DEB209);
	text-decoration: underline;
	transition: color .2s ease;
}
.ponca-cm .ponca-cm__description a:hover,
.ponca-cm .ponca-cm__description a:focus-visible { color: var(--cm-desc-link-hover, #EEDCD9); }
.ponca-cm .ponca-cm__description.is-no-underline a { text-decoration: none; }

/* ---------- Header-to-grid spacer ---------- */


/* ---------- Grid ---------- */
.ponca-cm .ponca-cm__grid {
	display: grid;
	grid-template-columns: repeat(var(--cm-grid-cols, 2), minmax(0, 1fr));
	gap: var(--cm-grid-gap, 30px);
	width: 100%;
}

/* ---------- Card ---------- */
.ponca-cm .ponca-cm__card {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--cm-card-gap, 20px);
	background: var(--cm-card-bg, #FFFFFF);
	border-style: solid;
	border-color: var(--cm-card-border, #F5E7B3);
	border-width: var(--cm-card-border-w, 1px);
	border-radius: var(--cm-card-radius, 0px);
	padding: var(--cm-card-padding, 24px);
}

/* ---------- Photo ---------- */
.ponca-cm .ponca-cm__photo {
	flex: 0 0 auto;
	width: var(--cm-photo-w, 126px);
	height: var(--cm-photo-h, 126px);
	background-color: var(--cm-photo-bg, #EDEDED);
	background-image: var(--cm-photo-image, none);
	background-size: var(--cm-photo-fit, cover);
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: var(--cm-photo-radius, 0px);
	overflow: hidden;
}
.ponca-cm .ponca-cm__photo img {
	width: 100%;
	height: 100%;
	object-fit: var(--cm-photo-fit, cover);
	display: block;
}
.ponca-cm .ponca-cm__photo-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #B0B0B0;
}

/* ---------- Card content column ---------- */
.ponca-cm .ponca-cm__content {
	display: flex;
	flex-direction: column;
	align-items: var(--cm-content-align, flex-start);
	gap: var(--cm-content-gap, 20px);
	flex: 1 1 auto;
	min-width: 0;
}

.ponca-cm .ponca-cm__name-group {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.ponca-cm .ponca-cm__card-eyebrow,
.ponca-cm .ponca-cm__name,
.ponca-cm .ponca-cm__role,
.ponca-cm .ponca-cm__alt-heading {
	margin: 0;
	padding: 0;
}
.ponca-cm .ponca-cm__card-eyebrow {
	color: var(--cm-card-eyebrow-color, #A78607);
	font-family: var(--cm-card-eyebrow-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-card-eyebrow-font-size, 10px);
	line-height: var(--cm-card-eyebrow-line-height, 22px);
	font-style: var(--cm-card-eyebrow-font-style, normal);
	font-weight: var(--cm-card-eyebrow-font-weight, 600);
	letter-spacing: var(--cm-card-eyebrow-letter-spacing, 3px);
	text-transform: var(--cm-card-eyebrow-text-transform, uppercase);
}
.ponca-cm .ponca-cm__name {
	color: var(--cm-name-color, #0D0F0E);
	font-family: var(--cm-name-font-family, 'Cormorant Garamond', Georgia, serif);
	font-size: var(--cm-name-font-size, 30px);
	line-height: var(--cm-name-line-height, 130%);
	font-style: var(--cm-name-font-style, normal);
	font-weight: var(--cm-name-font-weight, 400);
	letter-spacing: var(--cm-name-letter-spacing, 0px);
	text-transform: var(--cm-name-text-transform, none);
}
.ponca-cm .ponca-cm__role {
	color: var(--cm-role-color, #474747);
	font-family: var(--cm-role-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-role-font-size, 16px);
	line-height: var(--cm-role-line-height, 25px);
	font-style: var(--cm-role-font-style, normal);
	font-weight: var(--cm-role-font-weight, 400);
	letter-spacing: var(--cm-role-letter-spacing, 0px);
	text-transform: var(--cm-role-text-transform, none);
}
.ponca-cm .ponca-cm__alt-heading {
	color: var(--cm-alt-heading-color, rgba(255,255,255,0.10));
	font-family: var(--cm-alt-heading-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-alt-heading-font-size, 20px);
	line-height: var(--cm-alt-heading-line-height, 26px);
	font-style: var(--cm-alt-heading-font-style, normal);
	font-weight: var(--cm-alt-heading-font-weight, 600);
	letter-spacing: var(--cm-alt-heading-letter-spacing, 0px);
	text-transform: var(--cm-alt-heading-text-transform, none);
}

/* ---------- Divider ---------- */
.ponca-cm .ponca-cm__divider {
	width: 100%;
	height: 0;
	border: 0;
	border-top-style: var(--cm-divider-style, solid);
	border-top-color: var(--cm-divider-color, #F5E7B3);
	border-top-width: var(--cm-divider-w, 1px);
	margin: 0;
	padding: 0;
}

/* ---------- Meta rows (calendar / location / phone / email) ---------- */
.ponca-cm .ponca-cm__meta {
	display: flex;
	flex-direction: column;
	gap: var(--cm-meta-stack-gap, 8px);
	width: 100%;
}
.ponca-cm .ponca-cm__row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--cm-meta-row-gap, 10px);
}
.ponca-cm .ponca-cm__row-icon {
	flex: 0 0 auto;
	width: var(--cm-meta-icon-size, 20px);
	height: var(--cm-meta-icon-size, 20px);
	color: var(--cm-meta-icon-color, #DEB209);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ponca-cm .ponca-cm__row-icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	fill: none;
}
.ponca-cm .ponca-cm__row-text {
	min-width: 0;
	color: var(--cm-meta-text-color, #474747);
	font-family: var(--cm-meta-text-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-meta-text-font-size, 16px);
	line-height: var(--cm-meta-text-line-height, 25px);
	font-style: var(--cm-meta-text-font-style, normal);
	font-weight: var(--cm-meta-text-font-weight, 400);
	letter-spacing: var(--cm-meta-text-letter-spacing, 0px);
	text-transform: var(--cm-meta-text-text-transform, none);
}
.ponca-cm .ponca-cm__row-text a {
	color: var(--cm-meta-link, #474747);
	transition: color .2s ease;
}
.ponca-cm .ponca-cm__row-text a:hover,
.ponca-cm .ponca-cm__row-text a:focus-visible { color: var(--cm-meta-link-hover, #A78607); }
.ponca-cm.is-meta-link-underline .ponca-cm__row-text a { text-decoration: underline; }
.ponca-cm:not(.is-meta-link-underline) .ponca-cm__row-text a { text-decoration: none; }

.ponca-cm .ponca-cm__row-text b,
.ponca-cm .ponca-cm__row-text strong,
.ponca-cm .ponca-cm__row-text .ponca-cm__row-value {
	color: var(--cm-meta-value-color, #0D0F0E);
	font-weight: var(--cm-meta-value-weight, 600);
}

/* ---------- Send-message button ---------- */
.ponca-cm .ponca-cm__send {
	display: inline-flex;
	align-items: center;
	gap: var(--cm-sendbtn-gap, 19px);
	padding: var(--cm-sendbtn-py, 18px) var(--cm-sendbtn-px, 32px);
	background: var(--cm-sendbtn-bg, #DEB209);
	color: var(--cm-sendbtn-label-color, #0D0F0E);
	border-radius: var(--cm-sendbtn-radius, 4px);
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
	font-family: var(--cm-sendbtn-label-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--cm-sendbtn-label-font-size, 16px);
	line-height: var(--cm-sendbtn-label-line-height, 25px);
	font-style: var(--cm-sendbtn-label-font-style, normal);
	font-weight: var(--cm-sendbtn-label-font-weight, 400);
	letter-spacing: var(--cm-sendbtn-label-letter-spacing, 0px);
	text-transform: var(--cm-sendbtn-label-text-transform, uppercase);
}
.ponca-cm .ponca-cm__send:hover,
.ponca-cm .ponca-cm__send:focus-visible {
	background: var(--cm-sendbtn-bg-hover, #C8A008);
	color: var(--cm-sendbtn-text-hover, #0D0F0E);
}
.ponca-cm .ponca-cm__send-icon {
	width: var(--cm-sendbtn-icon-size, 18px);
	height: var(--cm-sendbtn-icon-size, 18px);
	color: var(--cm-sendbtn-icon, #0D0F0E);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ponca-cm .ponca-cm__send-icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	fill: none;
}

/* ---------- Alternates section ---------- */
.ponca-cm .ponca-cm__alt {
	display: flex;
	flex-direction: column;
	gap: var(--cm-alt-heading-gap, 20px);
	margin-top: calc(var(--cm-alt-gap-before, 30px) - var(--cm-section-gap, 30px));
}
@media (max-width: 1400px) {
	.ponca-cm .ponca-cm__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.ponca-cm .ponca-cm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.ponca-cm .ponca-cm__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.ponca-cm .ponca-cm__card {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
	}
	.ponca-cm .ponca-cm__photo {
		width: 100%;
		height: 240px;
	}
	.ponca-cm .ponca-cm__send { width: 100%; justify-content: center; }
}
