@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap');

/* ============================================================
   PONCA BUFFALO STATS — Frontend Styles
   Class prefix: ponca-bs
   Per-instance look-and-feel is driven by CSS custom properties
   (--pbs-*) set inline in render.php and consumed here via var()
   with fallbacks. This sheet also handles structural defaults
   and responsive overrides.
   ============================================================ */

.ponca-bs {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: var(--pbs-bg, #540E02);
	padding: var(--pbs-pad, 128px 160px);
}
.ponca-bs *, .ponca-bs *::before, .ponca-bs *::after { box-sizing: border-box; }

.ponca-bs__inner {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
	max-width: var(--pbs-inner-max-width, 1600px);
	gap: var(--pbs-inner-gap, 24px);
}

.ponca-bs__header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	gap: var(--pbs-header-gap, 14px);
}

.ponca-bs__eyebrow,
.ponca-bs__heading,
.ponca-bs__description { margin: 0; width: 100%; }

.ponca-bs__number,
.ponca-bs__label { margin: 0; display: block; }

.ponca-bs__eyebrow {
	color: var(--pbs-eyebrow-color, #DEB209);
	font-family: var(--pbs-eyebrow-font-family, 'DM Sans', sans-serif);
	font-size: var(--pbs-eyebrow-font-size, 13px);
	line-height: var(--pbs-eyebrow-line-height, 22px);
	font-weight: var(--pbs-eyebrow-font-weight, 600);
	font-style: var(--pbs-eyebrow-font-style, normal);
	letter-spacing: var(--pbs-eyebrow-letter-spacing, 3px);
	text-transform: var(--pbs-eyebrow-text-transform, uppercase);
	text-align: var(--pbs-eyebrow-text-align, center);
}

.ponca-bs__heading {
	color: var(--pbs-heading-color, #EEDCD9);
	font-family: var(--pbs-heading-font-family, 'Cormorant Garamond', serif);
	font-size: var(--pbs-heading-font-size, 56px);
	line-height: var(--pbs-heading-line-height, 62px);
	font-weight: var(--pbs-heading-font-weight, 300);
	letter-spacing: var(--pbs-heading-letter-spacing, -0.56px);
	text-align: var(--pbs-heading-text-align, center);
}

.ponca-bs__heading-prefix {
	display: inline;
	color: var(--pbs-prefix-color, #EEDCD9);
	font-style: var(--pbs-prefix-font-style, normal);
}

.ponca-bs__heading-accent {
	display: inline;
	color: var(--pbs-accent-color, #EEDCD9);
	font-style: var(--pbs-accent-font-style, italic);
}

.ponca-bs__heading-suffix {
	display: inline;
	color: var(--pbs-suffix-color, #EEDCD9);
	font-style: var(--pbs-suffix-font-style, normal);
}

.ponca-bs__description {
	color: var(--pbs-desc-color, #A7A7A7);
	font-family: var(--pbs-desc-font-family, 'DM Sans', sans-serif);
	font-size: var(--pbs-desc-font-size, 18px);
	line-height: var(--pbs-desc-line-height, 30px);
	font-weight: var(--pbs-desc-font-weight, 400);
	font-style: var(--pbs-desc-font-style, normal);
	text-align: var(--pbs-desc-text-align, center);
}

.ponca-bs__row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
	flex-wrap: wrap;
	align-items: var(--pbs-row-align-items, center);
	gap: var(--pbs-row-gap, 100px);
	padding: var(--pbs-row-pad, 72px 48px 0px);
}

.ponca-bs__item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	flex: 1 1 0;
	box-sizing: border-box;
	text-decoration: none;
	align-items: var(--pbs-item-align-items, center);
	min-width: var(--pbs-item-min-width, 120px);
	gap: var(--pbs-item-gap, 24px);
}

.ponca-bs__number {
	color: var(--pbs-number-color, #FFFFFF);
	font-family: var(--pbs-number-font-family, 'Cormorant Garamond', serif);
	font-size: var(--pbs-number-font-size, 60px);
	line-height: var(--pbs-number-line-height, 63px);
	font-weight: var(--pbs-number-font-weight, 300);
	font-style: var(--pbs-number-font-style, normal);
	letter-spacing: var(--pbs-number-letter-spacing, 0px);
	text-align: var(--pbs-number-text-align, center);
}

.ponca-bs__label {
	color: var(--pbs-label-color, rgba(255,255,255,0.7));
	font-family: var(--pbs-label-font-family, 'DM Sans', sans-serif);
	font-size: var(--pbs-label-font-size, 15px);
	line-height: var(--pbs-label-line-height, 25px);
	font-weight: var(--pbs-label-font-weight, 400);
	font-style: var(--pbs-label-font-style, normal);
	letter-spacing: var(--pbs-label-letter-spacing, 0.01em);
	text-transform: var(--pbs-label-text-transform, uppercase);
	text-align: var(--pbs-label-text-align, center);
}

.ponca-bs__divider {
	flex: 0 0 auto;
	align-self: center;
	width: var(--pbs-divider-width, 1px);
	height: var(--pbs-divider-height, 60px);
	background: var(--pbs-divider-bg, #FFF8F6);
}

a.ponca-bs__item { text-decoration: none; transition: opacity 180ms ease; }
a.ponca-bs__item:hover { opacity: 0.85; }

.ponca-bs.alignwide,
.ponca-bs.alignfull { max-width: none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1280px) {
	.ponca-bs__heading {
		font-size: clamp(40px, 4.5vw, 56px) !important;
		line-height: 1.15 !important;
	}
	.ponca-bs__number {
		font-size: clamp(44px, 4.5vw, 60px) !important;
	}
}


@media (max-width: 768px) {
	.ponca-bs__heading {
		font-size: 36px !important;
		line-height: 42px !important;
	}
	.ponca-bs__description {
		font-size: 16px !important;
		line-height: 26px !important;
	}
	.ponca-bs__row {
		flex-wrap: wrap !important;
	}
	.ponca-bs__item {
		flex: 1 1 45% !important;
		min-width: 45% !important;
	}
	.ponca-bs__divider {
		display: none !important;
	}
	.ponca-bs__number {
		font-size: 44px !important;
		line-height: 1.05 !important;
	}
}

@media (max-width: 480px) {
	.ponca-bs__heading {
		font-size: 30px !important;
		line-height: 36px !important;
	}
	.ponca-bs__item {
		flex: 1 1 100% !important;
		min-width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ponca-bs * {
		transition: none !important;
		animation: none !important;
	}
}
