/* Ponca Board & Committee Vacancies — pixel-perfect to Frame 3015306.
   Tight selectors so styles never leak into sibling Ponca blocks. */

.ponca-bv,
.ponca-bv * { box-sizing: border-box; }
.ponca-bv {
	display: block;
	width: 100%;
	margin: 0;
	position: relative;
	background: var(--bv-section-bg, #FFFDF6);
}

/* Neutralize rogue theme counters / content rules inside our content. */
.ponca-bv .ponca-bv__card ::before,
.ponca-bv .ponca-bv__card ::after,
.ponca-bv .ponca-bv__doc-row ::before,
.ponca-bv .ponca-bv__doc-row ::after { content: none !important; }

/* ---------- Container ---------- */
.ponca-bv .ponca-bv__container {
	display: flex;
	flex-direction: column;
	gap: var(--bv-section-gap, 60px);
	padding: var(--bv-section-py, 80px) var(--bv-section-px, 48px);
	max-width: var(--bv-max-width, 1600px);
	margin: 0 auto;
}

/* ---------- Top row: heading group + download CTA ---------- */
.ponca-bv .ponca-bv__top-row {
	display: flex;
	flex-direction: row;
	align-items: var(--bv-top-align, flex-end);
	gap: var(--bv-top-gap, 30px);
}
.ponca-bv .ponca-bv__head-col {
	flex: 1;
	min-width: 0;
}
.ponca-bv .ponca-bv__head {
	display: flex;
	flex-direction: column;
	gap: var(--bv-head-gap, 24px);
}
.ponca-bv .ponca-bv__eyebrow,
.ponca-bv .ponca-bv__heading,
.ponca-bv .ponca-bv__description,
.ponca-bv .ponca-bv__m-heading,
.ponca-bv .ponca-bv__v-title,
.ponca-bv .ponca-bv__deadline,
.ponca-bv .ponca-bv__doc-title,
.ponca-bv .ponca-bv__doc-meta { margin: 0; padding: 0; }

.ponca-bv .ponca-bv__eyebrow {
	color: var(--bv-eyebrow-c, #DEB209);
	font-family: var(--bv-eyebrow-font-family);
	font-size: var(--bv-eyebrow-font-size);
	line-height: var(--bv-eyebrow-line-height);
	font-style: var(--bv-eyebrow-font-style);
	font-weight: var(--bv-eyebrow-font-weight);
	letter-spacing: var(--bv-eyebrow-letter-spacing);
	text-transform: var(--bv-eyebrow-text-transform);
}

.ponca-bv .ponca-bv__heading {
	display: block;
	font-family: var(--bv-heading-font-family);
	font-size: var(--bv-heading-font-size);
	line-height: var(--bv-heading-line-height);
	font-style: var(--bv-heading-font-style);
	font-weight: var(--bv-heading-font-weight);
	letter-spacing: var(--bv-heading-letter-spacing);
	text-transform: var(--bv-heading-text-transform);
}
.ponca-bv .ponca-bv__h-p1,
.ponca-bv .ponca-bv__h-p2 { color: inherit; }
.ponca-bv .ponca-bv__h-p1 {
	color: var(--bv-h-p1-c, #0D0F0E);
	font-style: var(--bv-h-p1-fs, normal);
	display: var(--bv-h-p1-display, block);
}
.ponca-bv .ponca-bv__h-p2 {
	color: var(--bv-h-p2-c, #B28E07);
	font-style: var(--bv-h-p2-fs, italic);
	font-weight: var(--bv-h-p2-fw, 300);
	display: var(--bv-h-p2-display, block);
}

.ponca-bv .ponca-bv__description {
	color: var(--bv-desc-c, #474747);
	max-width: var(--bv-desc-max-w, 720px);
	font-family: var(--bv-desc-font-family);
	font-size: var(--bv-desc-font-size);
	line-height: var(--bv-desc-line-height);
	font-style: var(--bv-desc-font-style);
	font-weight: var(--bv-desc-font-weight);
	letter-spacing: var(--bv-desc-letter-spacing);
	text-transform: var(--bv-desc-text-transform);
}
.ponca-bv .ponca-bv__description p { margin: 0 0 1em; }
.ponca-bv .ponca-bv__description p:last-child { margin-bottom: 0; }
.ponca-bv .ponca-bv__description a {
	color: var(--bv-desc-link-c, #B28E07);
	text-decoration: var(--bv-desc-link-td, underline);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.18s ease;
}
.ponca-bv .ponca-bv__description a:hover,
.ponca-bv .ponca-bv__description a:focus-visible {
	color: var(--bv-desc-link-hc, #8A6E04);
}

/* ---------- Download button ---------- */
.ponca-bv .ponca-bv__dl-btn {
	display:flex;
	align-items: center;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.05s ease;
	flex-shrink: 0;
	background: var(--bv-dl-bg, #691103);
	color: var(--bv-dl-tc, #F0EBE4);
	padding: var(--bv-dl-pad, 14.4px 28px);
	gap: var(--bv-dl-gap, 12px);
	border-radius: var(--bv-dl-radius, 4px);
	font-family: var(--bv-dl-font-family);
	font-size: var(--bv-dl-font-size);
	line-height: var(--bv-dl-line-height);
	font-style: var(--bv-dl-font-style);
	font-weight: var(--bv-dl-font-weight);
	letter-spacing: var(--bv-dl-letter-spacing);
	text-transform: var(--bv-dl-text-transform);
}
.ponca-bv .ponca-bv__dl-btn:hover {
	background: var(--bv-dl-hbg, #52100C) !important;
}
.ponca-bv .ponca-bv__dl-btn:active { transform: translateY(1px); }
.ponca-bv .ponca-bv__dl-btn:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
.ponca-bv .ponca-bv__dl-icon {
	display: inline-flex;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	color: var(--bv-dl-ic, #E2D7CA);
}
.ponca-bv .ponca-bv__dl-icon svg { width: 100%; height: 100%; display: block; }

/* ---------- Vacancies grid ----------
   --bv-grid-cols is set by PHP based on the user's layout choice:
   - "auto" (default): repeat(auto-fit, minmax(280px, 1fr)) — 2 cards stretch, 3+ cards fit
   - "fixed":          repeat(auto-fill, 348px) — left-aligned at fixed width (matches Figma)
   - "cols":           repeat(N, minmax(0, 1fr)) — fixed column count
*/
.ponca-bv .ponca-bv__vacancies {
	display: grid;
	grid-template-columns: var(--bv-grid-cols, repeat(auto-fit, minmax(280px, 1fr)));
	gap: var(--bv-vac-gap, 30px);
}
.ponca-bv .ponca-bv__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: var(--bv-card-min-h, 298px);
	box-sizing: border-box;
	background: var(--bv-card-bg, #FFFFFF);
	border: var(--bv-card-border, 1px solid #F5E7B3);
	border-radius: var(--bv-card-radius, 0px);
	padding: var(--bv-card-pad, 40px);
	gap: var(--bv-card-gap, 40px);
}
.ponca-bv .ponca-bv__card-info {
	display: flex;
	flex-direction: column;
	gap: var(--bv-card-info-gap, 20px);
}
.ponca-bv .ponca-bv__v-title {
	color: var(--bv-v-title-c, #0D0F0E);
	font-family: var(--bv-v-title-font-family);
	font-size: var(--bv-v-title-font-size);
	line-height: var(--bv-v-title-line-height);
	font-style: var(--bv-v-title-font-style);
	font-weight: var(--bv-v-title-font-weight);
	letter-spacing: var(--bv-v-title-letter-spacing);
	text-transform: var(--bv-v-title-text-transform);
}
.ponca-bv .ponca-bv__deadline {
	color: var(--bv-deadline-c, #474747);
	font-family: var(--bv-deadline-font-family);
	font-size: var(--bv-deadline-font-size);
	line-height: var(--bv-deadline-line-height);
	font-style: var(--bv-deadline-font-style);
	font-weight: var(--bv-deadline-font-weight);
	letter-spacing: var(--bv-deadline-letter-spacing);
	text-transform: var(--bv-deadline-text-transform);
}
.ponca-bv .ponca-bv__apply {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	align-self: flex-start;
	transition: color 0.18s ease, opacity 0.18s ease;
	color: var(--bv-apply-c, #B28E07);
	font-family: var(--bv-apply-font-family);
	font-size: var(--bv-apply-font-size);
	line-height: var(--bv-apply-line-height);
	font-style: var(--bv-apply-font-style);
	font-weight: var(--bv-apply-font-weight);
	letter-spacing: var(--bv-apply-letter-spacing);
	text-transform: var(--bv-apply-text-transform);
}
.ponca-bv .ponca-bv__apply:hover,
.ponca-bv .ponca-bv__apply:focus-visible {
	color: var(--bv-apply-hc, #8A6E04) !important;
}
.ponca-bv .ponca-bv__apply:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
.ponca-bv .ponca-bv__apply-arrow {
	font-family: Arial, sans-serif;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
}

/* ---------- Members section ---------- */
.ponca-bv .ponca-bv__members {
	display: flex;
	flex-direction: column;
	gap: var(--bv-members-gap, 20px);
}
.ponca-bv .ponca-bv__m-heading {
	color: var(--bv-m-heading-c, #0D0F0E);
	font-family: var(--bv-m-heading-font-family);
	font-size: var(--bv-m-heading-font-size);
	line-height: var(--bv-m-heading-line-height);
	font-style: var(--bv-m-heading-font-style);
	font-weight: var(--bv-m-heading-font-weight);
	letter-spacing: var(--bv-m-heading-letter-spacing);
	text-transform: var(--bv-m-heading-text-transform);
}
.ponca-bv .ponca-bv__doc-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	box-sizing: border-box;
	background: var(--bv-doc-row-bg, #FFFFFF);
	border: var(--bv-doc-row-border, 1px solid #F3F3F3);
	border-radius: var(--bv-doc-row-radius, 6px);
	padding: var(--bv-doc-row-pad, 24px);
	gap: var(--bv-doc-row-gap, 24px);
}
.ponca-bv .ponca-bv__doc-icon {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 100px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bv-doc-icon-bg, rgba(222,178,9,0.10));
}
.ponca-bv .ponca-bv__doc-title {
	color: var(--bv-doc-title-c, #0D0F0E);
	font-family: var(--bv-doc-title-font-family);
	font-size: var(--bv-doc-title-font-size);
	line-height: var(--bv-doc-title-line-height);
	font-style: var(--bv-doc-title-font-style);
	font-weight: var(--bv-doc-title-font-weight);
	letter-spacing: var(--bv-doc-title-letter-spacing);
	text-transform: var(--bv-doc-title-text-transform);
}
.ponca-bv .ponca-bv__doc-meta {
	color: var(--bv-doc-meta-c, #848484);
	font-family: var(--bv-doc-meta-font-family);
	font-size: var(--bv-doc-meta-font-size);
	line-height: var(--bv-doc-meta-line-height);
	font-style: var(--bv-doc-meta-font-style);
	font-weight: var(--bv-doc-meta-font-weight);
	letter-spacing: var(--bv-doc-meta-letter-spacing);
	text-transform: var(--bv-doc-meta-text-transform);
}
.ponca-bv .ponca-bv__doc-icon svg {
	width: 24px;
	height: 24px;
	display: block;
}
.ponca-bv .ponca-bv__doc-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ponca-bv .ponca-bv__view-doc {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	flex-shrink: 0;
	background: transparent;
	transition: background-color 0.18s ease;
	white-space: nowrap;
	color: var(--bv-vd-c, #B28E07);
	border: var(--bv-vd-border, 1px solid #B28E07);
	padding: var(--bv-vd-pad, 6px 16px);
	border-radius: var(--bv-vd-radius, 100px);
	font-family: var(--bv-vd-font-family);
	font-size: var(--bv-vd-font-size);
	line-height: var(--bv-vd-line-height);
	font-style: var(--bv-vd-font-style);
	font-weight: var(--bv-vd-font-weight);
	letter-spacing: var(--bv-vd-letter-spacing);
	text-transform: var(--bv-vd-text-transform);
}
.ponca-bv .ponca-bv__view-doc:hover,
.ponca-bv .ponca-bv__view-doc:focus-visible {
	background: var(--bv-vd-hbg, #FAF3DA);
}
.ponca-bv__view-doc:hover .ponca-bv__view-doc-label, .ponca-bv__view-doc:hover .ponca-bv__view-doc-icon svg {
	color:#0D0F0E
}
.ponca-bv .ponca-bv__view-doc:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.ponca-bv .ponca-bv__view-doc-icon {
	display: inline-flex;
	width: 16px;
	height: 16px;
}
.ponca-bv .ponca-bv__view-doc-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ---------- Bottom divider ---------- */
.ponca-bv .ponca-bv__divider {
	border: 0;
	height: 0;
	width: 100%;
	border-top: var(--bv-divider, 1px solid #A7A7A7);
	margin-top: var(--bv-divider-gap, 50px);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.ponca-bv .ponca-bv__top-row {
		flex-direction: column;
		align-items: flex-start;
	}
	.ponca-bv .ponca-bv__dl-btn {
		width: 100%;
		justify-content: center;
	}
}
@media (max-width: 700px) {
	/* .ponca-bv .ponca-bv__container {
		padding: 60px 24px;
	} */
	.ponca-bv .ponca-bv__heading {
		font-size: clamp(32px, 6vw, 56px) !important;
		line-height: 1.15 !important;
	}
	.ponca-bv .ponca-bv__doc-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px !important;
	}
	.ponca-bv .ponca-bv__view-doc {
		align-self: stretch;
		justify-content: center;
	}
}
@media (max-width: 1024px) {
    .ponca-bv .ponca-bv__vacancies {
        grid-template-columns: repeat(2, 1fr);
    }
	.ponca-bv .ponca-bv__card{
		padding: 20px;
	}
}

/* Mobile */
@media (max-width: 767px) {
    .ponca-bv .ponca-bv__vacancies {
        grid-template-columns: 1fr;
    }
	.ponca-bv .ponca-bv__card{
		padding: 20px;
	}
}
