/* GUTENBERG BLOCK OVERRIDES
------------------------------------- */

/* Buttons */
.wp-block-button .wp-block-button__link {
	border: none;
	border-radius: 30px;
	color: #fff;
	background-color: #fdad2f;
	font-family: 'helvetica-neue-lt-pro-cond', 'helvetica-lt-pro', helvetica, arial, sans-serif;
	font-size: 21px;
	line-height: 1.14;
	font-weight: 600;
	padding: .3em 2.1em;
	text-transform: uppercase;
	text-align: center;
}

.wp-block-button .wp-block-button__link:hover {
	color: #fff;
	background-color: #fbc97a;
}

/* Buttons group */
.wp-block-buttons {
	display: flex;
	gap: 20px;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

.wp-block-buttons.is-content-justification-center {
	justify-content: center;
}

.wp-block-buttons.is-content-justification-right {
	justify-content: flex-end;
}

.wp-block-buttons.is-content-justification-space-between {
	justify-content: space-between;
}

/* Buttons group - Two Column Grid style */
.wp-block-buttons.is-style-two-column-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 50px;
	row-gap: 33px;
}

.wp-block-buttons.is-style-two-column-grid .wp-block-button {
	width: 100%;
}

.wp-block-buttons.is-style-two-column-grid .wp-block-button__link {
	width: 100%;
}

@media (max-width: 768px) {
	.wp-block-buttons.is-style-two-column-grid {
		grid-template-columns: 1fr;
	}
}

/* Button - Green style */
.wp-block-button.is-style-green .wp-block-button__link {
	background-color: #a7c13f;
}

.wp-block-button.is-style-green .wp-block-button__link:hover {
	background-color: #d4e884;
}

/* Heading - Stylized Header (green underline bar) */
.is-style-stylized-header {
	position: relative;
	display: inline-block;
	font-size: 2.2em;
	line-height: 40px;
	margin-bottom: 40px;
	margin-top: 0;
	z-index: 0;
}

.is-style-stylized-header::after {
	content: '';
	width: calc(100% + 100vw);
	height: 13px;
	background-color: #a7c13f;
	display: block;
	right: 0;
	position: absolute;
	z-index: -1;
}

/* Images - float alignment */
.wp-block-image .alignleft,
.wp-block-image.alignleft {
	float: left;
	max-width: 200px;
	margin-right: 1.5em;
	margin-bottom: 1em;
	margin-left: 0;
}

.wp-block-image .alignright,
.wp-block-image.alignright {
	float: right;
	max-width: 200px;
	margin-left: 1.5em;
	margin-bottom: 1em;
	margin-right: 0;
}

.wp-block-image .alignleft img,
.wp-block-image .alignright img,
.wp-block-image.alignleft img,
.wp-block-image.alignright img {
	width: 100%;
	height: auto;
}

@media (max-width: 600px) {
	.wp-block-image .alignleft,
	.wp-block-image .alignright,
	.wp-block-image.alignleft,
	.wp-block-image.alignright {
		float: none;
		max-width: 100%;
		margin: 0 auto 1em;
	}
}

/* Quote */
.wp-block-quote {
	border-left: none;
	padding-left: 0;
	font-style: italic;
	font-size: 1em;
	color: #999;
	margin-bottom: 1.5em;
}

.wp-block-quote cite {
	display: block;
	text-align: right;
	font-style: normal;
	font-size: 0.85em;
	color: #999;
}

/* Gutenberg preset text colors (no theme.json, so define them here) */
.has-white-color.has-text-color { color: #fff; }
.has-black-color.has-text-color { color: #000; }

/* Full-width alignment — break out of all parent padding/max-width constraints */
.alignfull {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	padding-left: 0;
	padding-right: 0;
}

/* Cover block — match #main padding and constrain inner content */
.wp-block-cover {
	padding-left: var(--main-padding);
	padding-right: var(--main-padding);
}

.wp-block-cover__inner-container {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
}

/* Columns - override Gutenberg default 782px breakpoint to stack at 1024px */
.wp-block-columns {
	flex-wrap: wrap !important;
	gap: 50px;
}

.wp-block-columns .wp-block-column {
	flex-basis: 100% !important;
}

@media (min-width: 1025px) {
	.wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.wp-block-columns .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}
}

/* Lists — keep bullets inside the content area */
.wp-block-list {
	padding-inline-start: 1.5em;
}


/* Let .page-header go full width when the first block in post_content is wide/full */
header:has(+ .post_content > .alignwide:first-child) .page-header,
header:has(+ .post_content > .alignfull:first-child) .page-header {
	max-width: none !important;
}

/* Readable line width — constrain text blocks to ~65-90 characters on desktop */
.post_content > p,
.post_content > .wp-block-heading,
.post_content > .wp-block-list,
.post_content > .wp-block-quote,
.post_content > .wp-block-separator,
.post_content > *:not(.alignfull, .alignwide),
.wp-block-column > p,
.wp-block-column > .wp-block-heading,
.wp-block-column > .wp-block-list,
.wp-block-column > .wp-block-quote,
.page-header, .wp-block-column > *,
.single .single-title,
.single .meta {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 768px) {
	.post_content > p,
	.post_content > .wp-block-heading,
	.post_content > .wp-block-list,
	.post_content > .wp-block-quote,
	.post_content > .wp-block-separator,
	.post_content > *:not(.alignfull, .alignwide),
	.wp-block-column > p,
	.wp-block-column > .wp-block-heading,
	.wp-block-column > .wp-block-list,
	.wp-block-column > .wp-block-quote,
	.page-header, .wp-block-column > *,
	.single .single-title,
	.single .meta {
		max-width: 500px;
	}
}
