/* ==============================================================
 * Ponca · A Thriving Sovereign Nation
 *
 * Static layout (flex/grid/alignment/spacing structure) lives here keyed on
 * element classes. Editor-controlled design tokens (colours, typography,
 * spacing, dimensions) are emitted as --psn-* custom properties on the block
 * wrapper in render.php and consumed below via var(..., default).
 * ============================================================ */

.wp-block-ponca-sovereign-nation {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	background-color: #FFFFFF;
	padding: var(--psn-pt, 128px) var(--psn-pr, 48px) var(--psn-pb, 128px) var(--psn-pl, 48px);
	min-height: var(--psn-minh, auto);
}

/* The container background-color token is emitted inline on the wrapper, so the
   value above is only a baseline default for the unlikely no-attribute case. */

.wp-block-ponca-sovereign-nation *,
.wp-block-ponca-sovereign-nation *::before,
.wp-block-ponca-sovereign-nation *::after {
	box-sizing: border-box;
}

.ponca-sn__inner {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: var(--psn-maxw, 1600px);
	gap: var(--psn-col-gap, 60px);
	align-items: var(--psn-valign, center);
}

/* Left column */
.ponca-sn__left {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 var(--psn-left-w, 764px);
	max-width: var(--psn-left-w, 764px);
	gap: var(--psn-left-gap, 24px);
}

.ponca-sn__header {
	display: flex;
	flex-direction: column;
	gap: var(--psn-header-gap, 14px);
}

.ponca-sn__eyebrow {
	margin: 0;
	display: block;
	color: var(--psn-eyebrow-color, #8C1704);
	font-family: var(--psn-eyebrow-font-family, "DM Sans");
	font-size: var(--psn-eyebrow-font-size, 13px);
	line-height: var(--psn-eyebrow-line-height, 22px);
	font-weight: var(--psn-eyebrow-font-weight, 600);
	letter-spacing: var(--psn-eyebrow-letter-spacing, 3px);
	text-transform: var(--psn-eyebrow-text-transform, uppercase);
}

.ponca-sn__heading {
	margin: 0;
	color: var(--psn-heading-color, #0D0F0E);
	font-family: var(--psn-heading-font-family, "Cormorant Garamond");
	font-size: var(--psn-heading-font-size, 56px);
	line-height: var(--psn-heading-line-height, 62px);
	font-weight: var(--psn-heading-font-weight, 300);
	font-style: var(--psn-heading-font-style, normal);
	letter-spacing: var(--psn-heading-letter-spacing, -0.56px);
}

.ponca-sn__heading-line {
	display: block;
}

.ponca-sn__heading-line--accent {
	color: var(--psn-heading-accent-color, #0D0F0E);
	font-style: var(--psn-heading-accent-style, italic);
	font-weight: var(--psn-heading-accent-weight, 300);
}

.ponca-sn__body {
	display: flex;
	flex-direction: column;
	gap: var(--psn-body-gap, 24px);
}

.ponca-sn__body p {
	margin: 0;
	color: var(--psn-body-color, #474747);
	font-family: var(--psn-body-font-family, "DM Sans");
	font-size: var(--psn-body-font-size, 18px);
	line-height: var(--psn-body-line-height, 30px);
	font-weight: var(--psn-body-font-weight, 400);
}

/* Right column - stat cards */
.ponca-sn__right {
	display: flex;
	flex-wrap: wrap;
	min-width: 0;
	flex: 0 0 var(--psn-right-w, 728px);
	max-width: var(--psn-right-w, 728px);
	gap: var(--psn-cards-gap, 30px);
}

.ponca-sn__stat {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: var(--psn-card-w, 349px);
	height: var(--psn-card-h, 262px);
	padding: var(--psn-card-padding, 40px);
	background-color: var(--psn-card-bg, #FFF8F6);
	border: var(--psn-card-border-w, 1px) solid var(--psn-card-border-color, #DBB7B1);
	border-radius: var(--psn-card-radius, 0px);
	gap: var(--psn-card-top-gap, 70px);
}

.ponca-sn__stat-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}

.ponca-sn__stat-number {
	margin: 0;
	color: var(--psn-number-color, #8C1704);
	font-family: var(--psn-number-font-family, "Cormorant Garamond");
	font-size: var(--psn-number-font-size, 48px);
	line-height: var(--psn-number-line-height, 20px);
	font-weight: var(--psn-number-font-weight, 300);
	font-style: var(--psn-number-font-style, italic);
	letter-spacing: var(--psn-number-letter-spacing, -0.48px);
}

.ponca-sn__stat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ponca-sn__stat-icon svg {
	display: block;
}

.ponca-sn__stat-bottom {
	display: flex;
	flex-direction: column;
	gap: var(--psn-card-bottom-gap, 20px);
}

.ponca-sn__stat-title,
.ponca-sn__stat-subtitle {
	margin: 0;
}

.ponca-sn__stat-title {
	color: var(--psn-title-color, #0D0F0E);
	font-family: var(--psn-title-font-family, "Cormorant Garamond");
	font-size: var(--psn-title-font-size, 32px);
	line-height: var(--psn-title-line-height, 37px);
	font-weight: var(--psn-title-font-weight, 400);
	font-style: var(--psn-title-font-style, normal);
	letter-spacing: var(--psn-title-letter-spacing, 0.576px);
}

.ponca-sn__stat-subtitle {
	color: var(--psn-subtitle-color, #474747);
	font-family: var(--psn-subtitle-font-family, "DM Sans");
	font-size: var(--psn-subtitle-font-size, 16px);
	line-height: var(--psn-subtitle-line-height, 25px);
	font-weight: var(--psn-subtitle-font-weight, 400);
}

/* ==============================================================
 * Responsive
 * ============================================================ */
@media (max-width: 1400px) {
	.ponca-sn__stat {
		flex: 1 1 calc(50% - 15px);
		max-width: calc(50% - 15px);
		width: auto !important;
	}
}

@media (max-width: 1200px) {
	.wp-block-ponca-sovereign-nation {
		padding-left: 48px !important;
		padding-right: 48px !important;
	}
}
@media (max-width: 1024px) {
	.ponca-sn__inner {
		flex-direction: column;
	}
	.ponca-sn__left,
	.ponca-sn__right {
		max-width: 100% !important;
		flex: 1 1 100% !important;
		width: 100%;
	}
}
@media (max-width: 768px) {
	.wp-block-ponca-sovereign-nation {
		padding-left: 24px !important;
		padding-right: 24px !important;
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}
	.ponca-sn__heading {
		font-size: 36px !important;
		line-height: 42px !important;
	}
	.ponca-sn__body p {
		font-size: 16px !important;
		line-height: 28px !important;
	}
	.ponca-sn__stat {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 200px;
	}
	.ponca-sn__stat-title {
		font-size: 24px !important;
		line-height: 30px !important;
	}
}

@media (max-width: 480px) {
	.ponca-sn__heading {
		font-size: 30px !important;
		line-height: 36px !important;
	}
	.ponca-sn__stat-number {
		font-size: 36px !important;
	}
}
