@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&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 ADOPT-A-BUFFALO  (class prefix: ponca-ab)
   All instance-specific values come from --ponca-ab-* custom
   properties emitted inline by render.php; the fallbacks below
   match the block.json attribute defaults.
   ============================================================ */

.ponca-ab {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	background-color: var(--ponca-ab-bg, #FFFFFF);
	padding-top: var(--ponca-ab-pad-y, 128px);
	padding-bottom: var(--ponca-ab-pad-y, 128px);
	padding-left: var(--ponca-ab-pad-x, 48px);
	padding-right: var(--ponca-ab-pad-x, 48px);
}
.ponca-ab *,
.ponca-ab *::before,
.ponca-ab *::after { box-sizing: border-box; }

/* Container */
.ponca-ab__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 auto;
	width: 100%;
	max-width: var(--ponca-ab-maxw, 1600px);
	gap: var(--ponca-ab-section-gap, 60px);
}

/* Banner */
.ponca-ab__banner {
	display: block;
	width: 100%;
	overflow: hidden;
	height: var(--ponca-ab-banner-h, 507px);
	border-radius: var(--ponca-ab-banner-radius, 0px);
}
.ponca-ab__banner-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: var(--ponca-ab-banner-fit, cover);
	object-position: var(--ponca-ab-banner-pos, center);
}

/* Body */
.ponca-ab__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ponca-ab-body-gap, 30px);
}

/* Header (eyebrow + headline) */
.ponca-ab__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ponca-ab-header-gap, 24px);
}
.ponca-ab__eyebrow {
	margin: 0;
	color: var(--ponca-ab-eyebrow-color, #DEB209);
	font-family: var(--ponca-ab-eyebrow-ff, 'DM Sans', sans-serif);
	font-size: var(--ponca-ab-eyebrow-fs, 13px);
	line-height: var(--ponca-ab-eyebrow-lh, 22px);
	font-weight: var(--ponca-ab-eyebrow-fw, 600);
	font-style: var(--ponca-ab-eyebrow-fst, normal);
	letter-spacing: var(--ponca-ab-eyebrow-ls, 3px);
	text-transform: var(--ponca-ab-eyebrow-tt, uppercase);
}
.ponca-ab__headline {
	margin: 0;
	font-family: var(--ponca-ab-headline-ff, 'Cormorant Garamond', serif);
	font-size: var(--ponca-ab-headline-fs, 56px);
	line-height: var(--ponca-ab-headline-lh, 62px);
	font-weight: var(--ponca-ab-headline-fw, 300);
	letter-spacing: var(--ponca-ab-headline-ls, -0.56px);
}
.ponca-ab__headline-top,
.ponca-ab__headline-bottom { display: inline; }
.ponca-ab__headline-top {
	color: var(--ponca-ab-hl-top-color, #0D0F0E);
	font-style: var(--ponca-ab-hl-top-fst, normal);
}
.ponca-ab__headline-bottom {
	color: var(--ponca-ab-hl-bot-color, #DEB209);
	font-style: var(--ponca-ab-hl-bot-fst, italic);
}

/* Intro paragraphs */
.ponca-ab__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ponca-ab-intro-gap, 24px);
}
.ponca-ab__intro-p {
	margin: 0;
	width: 100%;
	color: var(--ponca-ab-intro-color, #474747);
	font-family: var(--ponca-ab-intro-ff, 'DM Sans', sans-serif);
	font-size: var(--ponca-ab-intro-fs, 18px);
	line-height: var(--ponca-ab-intro-lh, 30px);
	font-weight: var(--ponca-ab-intro-fw, 400);
	font-style: var(--ponca-ab-intro-fst, normal);
}

/* Checklist */
.ponca-ab__checklist {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ponca-ab-checklist-gap, 14px);
}
.ponca-ab__check-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	gap: var(--ponca-ab-check-row-gap, 10px);
}
.ponca-ab__check-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ponca-ab__check { display: block; }
.ponca-ab__check-text {
	margin: 0;
	min-width: 0;
	color: var(--ponca-ab-check-color, #474747);
	font-family: var(--ponca-ab-check-ff, 'DM Sans', sans-serif);
	font-size: var(--ponca-ab-check-fs, 18px);
	line-height: var(--ponca-ab-check-lh, 30px);
	font-weight: var(--ponca-ab-check-fw, 600);
	font-style: var(--ponca-ab-check-fst, normal);
}

/* Closing paragraphs */
.ponca-ab__outro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ponca-ab-outro-gap, 24px);
}
.ponca-ab__outro-p {
	margin: 0;
	width: 100%;
	color: var(--ponca-ab-outro-color, #474747);
	font-family: var(--ponca-ab-outro-ff, 'DM Sans', sans-serif);
	font-size: var(--ponca-ab-outro-fs, 18px);
	line-height: var(--ponca-ab-outro-lh, 30px);
	font-weight: var(--ponca-ab-outro-fw, 400);
	font-style: var(--ponca-ab-outro-fst, normal);
}

/* Inline formatting inside body paragraphs */
.ponca-ab__intro-p a,
.ponca-ab__outro-p a {
	color: #B28E07;
	text-decoration: underline;
}
.ponca-ab__intro-p a:hover,
.ponca-ab__outro-p a:hover { text-decoration: none; }
.ponca-ab__intro-p strong,
.ponca-ab__outro-p strong,
.ponca-ab__check-text strong { font-weight: 600; }
.ponca-ab__intro-p em,
.ponca-ab__outro-p em,
.ponca-ab__check-text em { font-style: italic; }

/* Button */
.ponca-ab__button-wrap {
	display: flex;
	width: 100%;
	justify-content: var(--ponca-ab-btn-align, flex-start);
	margin-top: var(--ponca-ab-btn-mt, 6px);
}
.ponca-ab__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
	gap: var(--ponca-ab-btn-gap, 19px);
	background-color: var(--ponca-ab-btn-bg, #7E1504);
	color: var(--ponca-ab-btn-color, #EEDCD9);
	border: var(--ponca-ab-btn-bw, 0px) solid var(--ponca-ab-btn-bc, #7E1504);
	border-radius: var(--ponca-ab-btn-radius, 4px);
	padding: var(--ponca-ab-btn-py, 18px) var(--ponca-ab-btn-px, 32px);
	font-family: var(--ponca-ab-btn-ff, 'DM Sans', sans-serif);
	font-size: var(--ponca-ab-btn-fs, 14px);
	line-height: var(--ponca-ab-btn-lh, 22px);
	font-weight: var(--ponca-ab-btn-fw, 600);
	letter-spacing: var(--ponca-ab-btn-ls, 1.2px);
	text-transform: var(--ponca-ab-btn-tt, uppercase);
}
.ponca-ab__button:hover,
.ponca-ab__button:focus-visible {
	background-color: var(--ponca-ab-btn-hover-bg, #5F0F02);
	color: var(--ponca-ab-btn-hover-col, #FFFFFF);
}
.ponca-ab__button-arrow { display: inline-flex; }

/* Footer ornament */
.ponca-ab__footer-pattern {
	display: block;
	pointer-events: none;
	user-select: none;
	box-sizing: border-box;
	width: 100%;
	height: var(--ponca-ab-foot-h, 82px);
	margin-top: var(--ponca-ab-foot-mt, 0px);
	margin-bottom: var(--ponca-ab-foot-mb, 0px);
	opacity: var(--ponca-ab-foot-opacity, 1);
	background-color: var(--ponca-ab-foot-bg, transparent);
	background-image: var(--ponca-ab-foot-img, none);
	background-repeat: var(--ponca-ab-foot-repeat, repeat-x);
	background-position: var(--ponca-ab-foot-pos, center bottom);
	background-size: var(--ponca-ab-foot-size, auto 100%);
}
.ponca-ab__footer-pattern--full {
	position: absolute;
	width: 100vw;
	max-width: 100vw;
	left: 0;
	bottom: 0;
	/*margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	right: auto;*/
}

/* Responsive */
@media (max-width: 1280px) {
	.ponca-ab__headline { font-size: clamp(36px, 4.4vw, 56px) !important; line-height: 1.15 !important; }
	.ponca-ab__banner { height: clamp(280px, 36vw, 507px) !important; }
}

@media (max-width: 768px) {
	.ponca-ab__headline { font-size: 32px !important; line-height: 38px !important; }
	.ponca-ab__intro-p,
	.ponca-ab__outro-p,
	.ponca-ab__check-text { font-size: 16px !important; line-height: 26px !important; }
	.ponca-ab__button { width: 100%; justify-content: center; }
	.ponca-ab__button-wrap { justify-content: stretch !important; }
}

@media (max-width: 720px) {
	.ponca-ab__footer-pattern { height: var(--ponca-ab-foot-h-mobile, 56px); }
}

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