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

/* ============================================================
   PONCA SONG VERSES — centered header + verse-card grid + dark quote card
   Class prefix: ponca-sv
   ============================================================ */

.ponca-sv {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: var(--ponca-sv-bg, #FFFDF6);
	padding-top: var(--ponca-sv-pad-y, 0px);
	padding-bottom: var(--ponca-sv-pad-y, 0px);
	padding-left: var(--ponca-sv-pad-x, 160px);
	padding-right: var(--ponca-sv-pad-x, 160px);
}
.ponca-sv *, .ponca-sv *::before, .ponca-sv *::after { box-sizing: border-box; }

.ponca-sv__container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	width: 100%;
	max-width: var(--ponca-sv-container-max-width, 1600px);
	gap: var(--ponca-sv-container-gap, 60px);
}

.ponca-sv__header {
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: var(--ponca-sv-header-align, center);
	gap: var(--ponca-sv-header-gap, 24px);
	max-width: var(--ponca-sv-header-max-width, 100%);
}

.ponca-sv__header-stack {
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: var(--ponca-sv-header-align, center);
	gap: var(--ponca-sv-header-stack-gap, 14px);
}

.ponca-sv__eyebrow,
.ponca-sv__heading,
.ponca-sv__description,
.ponca-sv__verse-label,
.ponca-sv__verse-primary,
.ponca-sv__verse-translation,
.ponca-sv__full-meaning-eyebrow,
.ponca-sv__full-meaning-text { margin: 0; }

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

.ponca-sv__heading {
	width: 100%;
	text-align: var(--ponca-sv-heading-text-align, center);
	font-family: var(--ponca-sv-heading-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-sv-heading-font-size, 56px);
	line-height: var(--ponca-sv-heading-line-height, 62px);
	font-weight: var(--ponca-sv-heading-font-weight, 300);
	letter-spacing: var(--ponca-sv-heading-letter-spacing, -0.56px);
}

.ponca-sv__heading-prefix {
	color: var(--ponca-sv-heading-prefix-color, #0D0F0E);
	font-style: var(--ponca-sv-heading-prefix-font-style, normal);
}

.ponca-sv__heading-accent {
	color: var(--ponca-sv-heading-accent-color, #B28E07);
	font-style: var(--ponca-sv-heading-accent-font-style, italic);
}

.ponca-sv__heading-suffix {
	color: var(--ponca-sv-heading-suffix-color, #0D0F0E);
	font-style: var(--ponca-sv-heading-suffix-font-style, normal);
}

.ponca-sv__description {
	text-align: var(--ponca-sv-description-text-align, center);
	max-width: var(--ponca-sv-description-max-width, 660px);
	color: var(--ponca-sv-description-color, #474747);
	font-family: var(--ponca-sv-description-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-sv-description-font-size, 18px);
	line-height: var(--ponca-sv-description-line-height, 30px);
	font-weight: var(--ponca-sv-description-font-weight, 400);
	font-style: var(--ponca-sv-description-font-style, normal);
}

.ponca-sv__verses {
	display: grid;
	width: 100%;
	grid-template-columns: var(--ponca-sv-verses-cols, repeat(3, minmax(0, 1fr)));
	gap: var(--ponca-sv-verses-gap, 30px);
}

.ponca-sv__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: var(--ponca-sv-card-align, center);
	justify-content: center;
	background: var(--ponca-sv-card-bg, #FFFFFF);
	border: var(--ponca-sv-card-border-width, 1px) solid var(--ponca-sv-card-border-color, #F5E7B3)!important;
	border-radius: var(--ponca-sv-card-border-radius, 0px);
	padding: var(--ponca-sv-card-padding, 40px);
	gap: var(--ponca-sv-card-gap, 20px);
	min-height: var(--ponca-sv-card-min-height, 220px);
	transition: background 180ms ease, border-color 180ms ease, transform 200ms ease;
}
.ponca-sv__card:hover {
	background: var(--ponca-sv-card-hover-bg, #FFFDF6) !important;
	border-color: var(--ponca-sv-card-hover-bd, #DEB209) !important;
}

.ponca-sv__verse-label {
	width: 100%;
	text-align: var(--ponca-sv-verse-label-text-align, center);
	color: var(--ponca-sv-verse-label-color, #A78607);
	font-family: var(--ponca-sv-verse-label-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-sv-verse-label-font-size, 18px);
	line-height: var(--ponca-sv-verse-label-line-height, 20px);
	font-weight: var(--ponca-sv-verse-label-font-weight, 500);
	font-style: var(--ponca-sv-verse-label-font-style, normal);
	letter-spacing: var(--ponca-sv-verse-label-letter-spacing, 0.898px);
	text-transform: var(--ponca-sv-verse-label-text-transform, uppercase);
}

.ponca-sv__verse-primary {
	width: 100%;
	text-align: var(--ponca-sv-verse-primary-text-align, center);
	color: var(--ponca-sv-verse-primary-color, #0D0F0E);
	font-family: var(--ponca-sv-verse-primary-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-sv-verse-primary-font-size, 40px);
	line-height: var(--ponca-sv-verse-primary-line-height, 55px);
	font-weight: var(--ponca-sv-verse-primary-font-weight, 300);
	font-style: var(--ponca-sv-verse-primary-font-style, normal);
	letter-spacing: var(--ponca-sv-verse-primary-letter-spacing, 0px);
}

.ponca-sv__verse-translation {
	width: 100%;
	text-align: var(--ponca-sv-verse-translation-text-align, center);
	color: var(--ponca-sv-verse-translation-color, #474747);
	font-family: var(--ponca-sv-verse-translation-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-sv-verse-translation-font-size, 16px);
	line-height: var(--ponca-sv-verse-translation-line-height, 25px);
	font-weight: var(--ponca-sv-verse-translation-font-weight, 400);
	font-style: var(--ponca-sv-verse-translation-font-style, normal);
}

.ponca-sv__full-meaning-wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: center;
}

.ponca-sv__full-meaning {
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: var(--ponca-sv-fm-align, center);
	justify-content: center;
	max-width: var(--ponca-sv-fm-max-width, 100%);
	background: var(--ponca-sv-fm-bg, #691103);
	border: var(--ponca-sv-fm-border-width, 1px) solid var(--ponca-sv-fm-border-color, #EEDCD9);
	border-radius: var(--ponca-sv-fm-border-radius, 0px);
	padding: var(--ponca-sv-fm-padding, 40px);
	gap: var(--ponca-sv-fm-gap, 20px);
}

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

.ponca-sv__full-meaning-text {
	width: 100%;
	text-align: var(--ponca-sv-fm-text-text-align, center);
	color: var(--ponca-sv-fm-text-color, #E2D7CA);
	font-family: var(--ponca-sv-fm-text-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-sv-fm-text-font-size, 40px);
	line-height: var(--ponca-sv-fm-text-line-height, 55px);
	font-weight: var(--ponca-sv-fm-text-font-weight, 300);
	font-style: var(--ponca-sv-fm-text-font-style, normal);
	letter-spacing: var(--ponca-sv-fm-text-letter-spacing, 0px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1280px) {
	.ponca-sv { padding-left: max(48px, 4vw) !important; padding-right: max(48px, 4vw) !important; }
	.ponca-sv__heading { font-size: clamp(40px, 5vw, 56px) !important; line-height: 1.15 !important; }
	.ponca-sv__verse-primary { font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.35 !important; }
	.ponca-sv__full-meaning-text { font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.35 !important; }
}

@media (max-width: 1024px) {
	.ponca-sv { padding-left: 24px !important; padding-right: 24px !important; }
	.ponca-sv__container { gap: 40px !important; }
	.ponca-sv__verses { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 768px) {
	.ponca-sv { padding-left: 16px !important; padding-right: 16px !important; }
	.ponca-sv__container { gap: 32px !important; }
	.ponca-sv__heading { font-size: 36px !important; line-height: 42px !important; }
	.ponca-sv__verses { grid-template-columns: 1fr !important; gap: 16px !important; }
	.ponca-sv__card { min-height: auto !important; }
	.ponca-sv__verse-primary { font-size: 28px !important; line-height: 36px !important; }
	.ponca-sv__full-meaning { max-width: 100%; }
	.ponca-sv__full-meaning-text { font-size: 24px !important; line-height: 32px !important; }
}

@media (max-width: 600px) {
	.ponca-sv__heading { font-size: 32px !important; line-height: 38px !important; }
	.ponca-sv__verse-primary { font-size: 24px !important; line-height: 32px !important; }
	.ponca-sv__full-meaning-text { font-size: 20px !important; line-height: 28px !important; }
}

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