/* Huuguu UI Blocks · CTA */
.huu-uib-cta {
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.huu-uib-cta--width-boxed {
	max-width: var(--huu-cta-inner-max-width, var(--huu-uib-max-width, 1240px));
	margin-inline: auto;
}

.huu-uib-cta--width-full {
	max-width: none;
}

.huu-uib-cta__inner {
	width: 100%;
	max-width: var(--huu-cta-inner-max-width, var(--huu-uib-max-width, 1240px));
	margin-inline: auto;
}

.huu-uib-cta__box {
	position: relative;
	display: grid;
	gap: clamp(20px, 3vw, 32px);
	overflow: hidden;
	border-style: solid;
	border-color: rgba(2, 130, 11, .16);
	background: var(--huu-uib-surface, #fff);
	isolation: isolate;
}

.huu-uib-cta__content {
	display: grid;
	gap: 14px;
	position: relative;
	z-index: 1;
}

.huu-uib-cta__title,
.huu-uib-cta__description {
	margin: 0;
}

.huu-uib-cta__title {
	font-size: var(--huu-uib-h2-size, 54px);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.huu-uib-cta__description {
	font-size: var(--huu-uib-body-size, 18px);
	line-height: 1.65;
}

.huu-uib-cta__actions {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.huu-uib-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--huu-cta-button-icon-gap, 8px);
	text-decoration: none;
	transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.huu-uib-cta__btn:hover {
	transform: translateY(-2px);
}

.huu-uib-cta__btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	width: var(--huu-cta-button-icon-size, 16px);
	height: var(--huu-cta-button-icon-size, 16px);
	flex: 0 0 auto;
}

.huu-uib-cta__btn-icon svg,
.huu-uib-cta__btn-icon i {
	width: var(--huu-cta-button-icon-size, 16px);
	height: var(--huu-cta-button-icon-size, 16px);
	font-size: var(--huu-cta-button-icon-size, 16px);
	display: block;
}

.huu-uib-cta--centered-card .huu-uib-cta__box {
	text-align: center;
	align-items: center;
}

.huu-uib-cta--centered-card .huu-uib-cta__actions {
	justify-content: center;
}

.huu-uib-cta--split-panel .huu-uib-cta__box {
	grid-template-columns: minmax(0, 1.4fr) auto;
	align-items: center;
	text-align: left;
}

.huu-uib-cta--split-panel .huu-uib-cta__actions {
	justify-content: flex-end;
}

.huu-uib-cta--compact-band .huu-uib-cta__box {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	text-align: left;
}

.huu-uib-cta--compact-band .huu-uib-cta__description {
	font-size: var(--huu-uib-body-size, 18px);
}

.huu-uib-cta--compact-band .huu-uib-cta__actions {
	justify-content: flex-end;
}

.huu-uib-cta--compact-band .huu-uib-cta__box::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,255,255,0));
	z-index: 0;
}

@media (max-width: 1024px) {
	.huu-uib-cta--split-panel .huu-uib-cta__box,
	.huu-uib-cta--compact-band .huu-uib-cta__box {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.huu-uib-cta--split-panel .huu-uib-cta__actions,
	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.huu-uib-cta__actions {
		align-items: stretch;
	}

	.huu-uib-cta__btn {
		width: 100%;
	}
}

/* Compact band refinement: intentionally flatter and more horizontal than split panel. */
.huu-uib-cta--compact-band .huu-uib-cta__box {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.huu-uib-cta--compact-band .huu-uib-cta__content {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	column-gap: clamp(14px, 2vw, 24px);
	row-gap: 8px;
}

.huu-uib-cta--compact-band .huu-uib-cta__title {
	font-size: clamp(24px, 2.4vw, 38px);
	line-height: 1.08;
	letter-spacing: -0.028em;
}

.huu-uib-cta--compact-band .huu-uib-cta__description {
	font-size: clamp(15px, 1.15vw, 17px);
	line-height: 1.55;
}

.huu-uib-cta__btn-icon,
.huu-uib-cta__btn-icon svg,
.huu-uib-cta__btn-icon i {
	color: inherit;
	fill: currentColor;
}

@media (max-width: 767px) {
	.huu-uib-cta--compact-band .huu-uib-cta__content {
		grid-template-columns: 1fr;
	}
}

/* CTA v2: reliable button colors and responsive compact band */
.huu-uib-cta .huu-uib-cta__btn {
	border-style: solid;
}

.huu-uib-cta .huu-uib-cta__btn-icon,
.huu-uib-cta .huu-uib-cta__btn-icon svg,
.huu-uib-cta .huu-uib-cta__btn-icon i,
.huu-uib-cta .huu-uib-cta__btn-icon path {
	color: inherit;
	fill: currentColor;
	stroke: currentColor;
}

/* Compact band should be a real band on desktop and a clean CTA card on tablet/mobile. */
.huu-uib-cta--compact-band .huu-uib-cta__box {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(16px, 3vw, 32px);
}

.huu-uib-cta--compact-band .huu-uib-cta__content {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
	align-items: center;
	column-gap: clamp(16px, 3vw, 32px);
	row-gap: 10px;
}

.huu-uib-cta--compact-band .huu-uib-cta__title,
.huu-uib-cta--compact-band .huu-uib-cta__description {
	max-width: none;
}

@media (max-width: 1024px) {
	.huu-uib-cta--compact-band .huu-uib-cta__box {
		grid-template-columns: 1fr;
		align-items: stretch;
		text-align: center;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__content {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.huu-uib-cta--compact-band .huu-uib-cta__box {
		gap: 18px;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		width: 100%;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__btn {
		width: 100%;
	}
}

/* CTA v3: alignment, reliable button colors, shadow control, and image background element */
.huu-uib-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.huu-uib-cta__bg-image {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.huu-uib-cta-align-left .huu-uib-cta__box,
.huu-uib-cta-align-left .huu-uib-cta__title,
.huu-uib-cta-align-left .huu-uib-cta__description {
	text-align: left;
}

.huu-uib-cta-align-center .huu-uib-cta__box,
.huu-uib-cta-align-center .huu-uib-cta__title,
.huu-uib-cta-align-center .huu-uib-cta__description {
	text-align: center;
}

.huu-uib-cta-align-right .huu-uib-cta__box,
.huu-uib-cta-align-right .huu-uib-cta__title,
.huu-uib-cta-align-right .huu-uib-cta__description {
	text-align: right;
}

.huu-uib-cta-align-left .huu-uib-cta__actions {
	justify-content: flex-start;
}

.huu-uib-cta-align-center .huu-uib-cta__actions {
	justify-content: center;
}

.huu-uib-cta-align-right .huu-uib-cta__actions {
	justify-content: flex-end;
}

.huu-uib-cta .huu-uib-cta__btn,
.huu-uib-cta .huu-uib-cta__btn:visited,
.huu-uib-cta .huu-uib-cta__btn:focus {
	color: inherit;
}

.huu-uib-cta .huu-uib-cta__btn .huu-uib-cta__btn-text,
.huu-uib-cta .huu-uib-cta__btn .huu-uib-cta__btn-icon,
.huu-uib-cta .huu-uib-cta__btn .huu-uib-cta__btn-icon svg,
.huu-uib-cta .huu-uib-cta__btn .huu-uib-cta__btn-icon path,
.huu-uib-cta .huu-uib-cta__btn .huu-uib-cta__btn-icon i {
	color: inherit;
	fill: currentColor;
	stroke: currentColor;
}

/* CTA v4: alignment fixes and button controls scoped inside each button tab. */
.huu-uib-cta-align-left .huu-uib-cta__box,
.huu-uib-cta-align-left .huu-uib-cta__content,
.huu-uib-cta-align-left .huu-uib-cta__title,
.huu-uib-cta-align-left .huu-uib-cta__description {
	text-align: left !important;
}

.huu-uib-cta-align-center .huu-uib-cta__box,
.huu-uib-cta-align-center .huu-uib-cta__content,
.huu-uib-cta-align-center .huu-uib-cta__title,
.huu-uib-cta-align-center .huu-uib-cta__description {
	text-align: center !important;
}

.huu-uib-cta-align-right .huu-uib-cta__box,
.huu-uib-cta-align-right .huu-uib-cta__content,
.huu-uib-cta-align-right .huu-uib-cta__title,
.huu-uib-cta-align-right .huu-uib-cta__description {
	text-align: right !important;
}

.huu-uib-cta-align-left .huu-uib-cta__actions {
	justify-content: flex-start !important;
}

.huu-uib-cta-align-center .huu-uib-cta__actions {
	justify-content: center !important;
}

.huu-uib-cta-align-right .huu-uib-cta__actions {
	justify-content: flex-end !important;
}

@media (max-width: 1024px) {
	.huu-uib-cta--compact-band .huu-uib-cta__box,
	.huu-uib-cta--compact-band .huu-uib-cta__content,
	.huu-uib-cta--compact-band .huu-uib-cta__title,
	.huu-uib-cta--compact-band .huu-uib-cta__description {
		text-align: inherit;
	}
}

.huu-uib-cta a.huu-uib-cta__btn--primary,
.huu-uib-cta a.huu-uib-cta__btn--primary:visited,
.huu-uib-cta a.huu-uib-cta__btn--primary:focus,
.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-text {
	color: var(--huu-cta-primary-text, inherit);
}

.huu-uib-cta a.huu-uib-cta__btn--secondary,
.huu-uib-cta a.huu-uib-cta__btn--secondary:visited,
.huu-uib-cta a.huu-uib-cta__btn--secondary:focus,
.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-text {
	color: var(--huu-cta-secondary-text, inherit);
}

/* CTA v5: reliable button color variables and vertical CTA box alignment. */
.huu-uib-cta .huu-uib-cta__box {
	align-items: var(--huu-cta-box-vertical-align, center);
}

.huu-uib-cta a.huu-uib-cta__btn--primary,
.huu-uib-cta a.huu-uib-cta__btn--primary:visited,
.huu-uib-cta a.huu-uib-cta__btn--primary:focus,
.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-text {
	color: var(--huu-cta-primary-text, inherit) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--primary {
	background-color: var(--huu-cta-primary-bg, var(--huu-uib-primary, #02820b)) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-icon,
.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-icon svg,
.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-icon path,
.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-icon i {
	color: var(--huu-cta-primary-icon, currentColor) !important;
	fill: var(--huu-cta-primary-icon, currentColor) !important;
	stroke: var(--huu-cta-primary-icon, currentColor) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--primary:hover {
	background-color: var(--huu-cta-primary-hover-bg, var(--huu-cta-primary-bg, var(--huu-uib-primary, #02820b))) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--primary:hover,
.huu-uib-cta a.huu-uib-cta__btn--primary:hover .huu-uib-cta__btn-text {
	color: var(--huu-cta-primary-hover-text, var(--huu-cta-primary-text, inherit)) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--primary:hover .huu-uib-cta__btn-icon,
.huu-uib-cta a.huu-uib-cta__btn--primary:hover .huu-uib-cta__btn-icon svg,
.huu-uib-cta a.huu-uib-cta__btn--primary:hover .huu-uib-cta__btn-icon path,
.huu-uib-cta a.huu-uib-cta__btn--primary:hover .huu-uib-cta__btn-icon i {
	color: var(--huu-cta-primary-hover-icon, var(--huu-cta-primary-icon, currentColor)) !important;
	fill: var(--huu-cta-primary-hover-icon, var(--huu-cta-primary-icon, currentColor)) !important;
	stroke: var(--huu-cta-primary-hover-icon, var(--huu-cta-primary-icon, currentColor)) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--secondary,
.huu-uib-cta a.huu-uib-cta__btn--secondary:visited,
.huu-uib-cta a.huu-uib-cta__btn--secondary:focus,
.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-text {
	color: var(--huu-cta-secondary-text, inherit) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--secondary {
	background-color: var(--huu-cta-secondary-bg, transparent) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-icon,
.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-icon svg,
.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-icon path,
.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-icon i {
	color: var(--huu-cta-secondary-icon, currentColor) !important;
	fill: var(--huu-cta-secondary-icon, currentColor) !important;
	stroke: var(--huu-cta-secondary-icon, currentColor) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--secondary:hover {
	background-color: var(--huu-cta-secondary-hover-bg, var(--huu-cta-secondary-bg, transparent)) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--secondary:hover,
.huu-uib-cta a.huu-uib-cta__btn--secondary:hover .huu-uib-cta__btn-text {
	color: var(--huu-cta-secondary-hover-text, var(--huu-cta-secondary-text, inherit)) !important;
}

.huu-uib-cta a.huu-uib-cta__btn--secondary:hover .huu-uib-cta__btn-icon,
.huu-uib-cta a.huu-uib-cta__btn--secondary:hover .huu-uib-cta__btn-icon svg,
.huu-uib-cta a.huu-uib-cta__btn--secondary:hover .huu-uib-cta__btn-icon path,
.huu-uib-cta a.huu-uib-cta__btn--secondary:hover .huu-uib-cta__btn-icon i {
	color: var(--huu-cta-secondary-hover-icon, var(--huu-cta-secondary-icon, currentColor)) !important;
	fill: var(--huu-cta-secondary-hover-icon, var(--huu-cta-secondary-icon, currentColor)) !important;
	stroke: var(--huu-cta-secondary-hover-icon, var(--huu-cta-secondary-icon, currentColor)) !important;
}

/* CTA v6: neutralize global frontend button shadow and text-fill defaults inside this widget. */
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary:link,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary:visited,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary:link,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary:visited {
	box-shadow: none !important;
}

.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary:link,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary:visited,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary .huu-uib-cta__btn-text {
	color: var(--huu-cta-primary-text, inherit) !important;
	-webkit-text-fill-color: var(--huu-cta-primary-text, inherit) !important;
}

.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary:hover,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--primary:hover .huu-uib-cta__btn-text {
	color: var(--huu-cta-primary-hover-text, var(--huu-cta-primary-text, inherit)) !important;
	-webkit-text-fill-color: var(--huu-cta-primary-hover-text, var(--huu-cta-primary-text, inherit)) !important;
}

.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary:link,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary:visited,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary .huu-uib-cta__btn-text {
	color: var(--huu-cta-secondary-text, inherit) !important;
	-webkit-text-fill-color: var(--huu-cta-secondary-text, inherit) !important;
}

.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary:hover,
.huu-uib-block.huu-uib-cta a.huu-uib-cta__btn--secondary:hover .huu-uib-cta__btn-text {
	color: var(--huu-cta-secondary-hover-text, var(--huu-cta-secondary-text, inherit)) !important;
	-webkit-text-fill-color: var(--huu-cta-secondary-hover-text, var(--huu-cta-secondary-text, inherit)) !important;
}


/* CTA v7: button-column vertical alignment for split/compact layouts.
   The Elementor control now targets .huu-uib-cta__actions instead of the whole box. */
.huu-uib-cta--compact-band .huu-uib-cta__box,
.huu-uib-cta--split-panel .huu-uib-cta__box {
	align-items: stretch;
}

.huu-uib-cta--compact-band .huu-uib-cta__actions,
.huu-uib-cta--split-panel .huu-uib-cta__actions {
	align-self: center;
}

/* Keep stacked tablet/mobile CTAs visually centered and avoid strange button floating. */
@media (max-width: 1024px) {
	.huu-uib-cta--compact-band .huu-uib-cta__box,
	.huu-uib-cta--split-panel .huu-uib-cta__box {
		align-items: center;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions,
	.huu-uib-cta--split-panel .huu-uib-cta__actions {
		align-self: center;
	}
}


/* CTA v8: compact-band title/description rows + button column vertical alignment.
   In compact band, .huu-uib-cta__content becomes display:contents on desktop so the button column
   can span title + description rows and align top/middle/bottom correctly. */
@media (min-width: 1025px) {
	.huu-uib-cta--compact-band .huu-uib-cta__box {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		align-items: stretch !important;
		column-gap: clamp(16px, 3vw, 32px);
		row-gap: 8px;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__content {
		display: contents !important;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__title {
		grid-column: 1;
		grid-row: 1;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__description {
		grid-column: 1;
		grid-row: 2;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
		justify-self: end;
	}
}

.huu-uib-cta--split-panel .huu-uib-cta__actions {
	align-self: var(--huu-cta-actions-vertical-align, center) !important;
}

/* Keep tablet/mobile stacked and predictable. */
@media (max-width: 1024px) {
	.huu-uib-cta--compact-band .huu-uib-cta__content {
		display: grid !important;
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__title,
	.huu-uib-cta--compact-band .huu-uib-cta__description,
	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: auto;
		grid-row: auto;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions,
	.huu-uib-cta--split-panel .huu-uib-cta__actions {
		align-self: center !important;
		justify-self: center;
	}
}


/* CTA v10: final content alignment and compact-band action alignment fix. */
.huu-uib-cta-align-left .huu-uib-cta__title,
.huu-uib-cta-align-left .huu-uib-cta__description {
	text-align: left !important;
	justify-self: start !important;
}

.huu-uib-cta-align-center .huu-uib-cta__title,
.huu-uib-cta-align-center .huu-uib-cta__description {
	text-align: center !important;
	justify-self: center !important;
}

.huu-uib-cta-align-right .huu-uib-cta__title,
.huu-uib-cta-align-right .huu-uib-cta__description {
	text-align: right !important;
	justify-self: end !important;
}

@media (min-width: 1025px) {
	.huu-uib-cta--compact-band .huu-uib-cta__box {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		align-items: stretch !important;
		column-gap: clamp(16px, 3vw, 32px);
		row-gap: 8px;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__content {
		display: contents !important;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__title {
		grid-column: 1;
		grid-row: 1;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__description {
		grid-column: 1;
		grid-row: 2;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
		justify-self: end;
	}

	.huu-uib-cta--split-panel .huu-uib-cta__actions {
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
	}
}

@media (max-width: 1024px) {
	.huu-uib-cta--compact-band .huu-uib-cta__content {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__title,
	.huu-uib-cta--compact-band .huu-uib-cta__description,
	.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: auto;
		grid-row: auto;
	}

	.huu-uib-cta--compact-band .huu-uib-cta__actions,
	.huu-uib-cta--split-panel .huu-uib-cta__actions {
		align-self: center !important;
	}
}

/* CTA v11: final compact-band, alignment, animation spacing, and mobile image coverage fixes. */
.huu-uib-block.huu-uib-cta {
	--huu-cta-text-align: center;
	--huu-cta-actions-justify: center;
	--huu-cta-items-justify: center;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.huu-uib-block.huu-uib-cta .huu-uib-cta__bg-image {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.huu-uib-block.huu-uib-cta.huu-uib-cta--has-bg-image {
	min-height: clamp(360px, 42vw, 620px);
}

.huu-uib-block.huu-uib-cta .huu-uib-cta__box,
.huu-uib-block.huu-uib-cta .huu-uib-cta__content,
.huu-uib-block.huu-uib-cta .huu-uib-cta__title,
.huu-uib-block.huu-uib-cta .huu-uib-cta__description {
	text-align: var(--huu-cta-text-align) !important;
}

.huu-uib-block.huu-uib-cta .huu-uib-cta__content,
.huu-uib-block.huu-uib-cta .huu-uib-cta__title,
.huu-uib-block.huu-uib-cta .huu-uib-cta__description {
	justify-items: var(--huu-cta-items-justify) !important;
	justify-self: var(--huu-cta-items-justify) !important;
}

.huu-uib-block.huu-uib-cta .huu-uib-btns.huu-uib-cta__actions {
	margin-top: 0 !important;
	justify-content: var(--huu-cta-actions-justify) !important;
}

.huu-uib-block.huu-uib-cta--centered-card .huu-uib-cta__box {
	grid-template-columns: 1fr;
	justify-items: var(--huu-cta-items-justify) !important;
}

.huu-uib-block.huu-uib-cta--centered-card .huu-uib-cta__actions {
	justify-self: var(--huu-cta-items-justify) !important;
}

.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__box {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__actions {
	align-self: var(--huu-cta-actions-vertical-align, center) !important;
	justify-self: var(--huu-cta-items-justify) !important;
}

@media (min-width: 1025px) {
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__box {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		align-items: stretch !important;
		column-gap: clamp(16px, 3vw, 32px);
		row-gap: 8px;
	}

	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__content {
		display: contents !important;
	}

	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__title {
		grid-column: 1;
		grid-row: 1;
	}

	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__description {
		grid-column: 1;
		grid-row: 2;
	}

	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
		justify-self: var(--huu-cta-items-justify) !important;
	}
}

@media (max-width: 1024px) {
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__box,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__box {
		grid-template-columns: 1fr !important;
		align-items: stretch !important;
	}

	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__content {
		display: grid !important;
		grid-template-columns: 1fr !important;
		justify-items: var(--huu-cta-items-justify) !important;
	}

	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__title,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__description,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__actions,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions {
		width: 100%;
		align-self: center !important;
		justify-self: stretch !important;
	}
}

@media (max-width: 767px) {
	.huu-uib-block.huu-uib-cta.huu-uib-cta--has-bg-image {
		min-height: clamp(420px, 92vw, 640px);
	}

	.huu-uib-block.huu-uib-cta .huu-uib-cta__bg-image {
		height: 100%;
	}

	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] .huu-uib-cta__btn,
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] .huu-uib-action-slot {
		width: 100%;
	}
}


/* CTA v12: content-driven background height + consistent split/compact alignment. */
.huu-uib-block.huu-uib-cta {
	--huu-cta-text-align: center;
	--huu-cta-actions-justify: center;
	--huu-cta-items-justify: center;
	position: relative !important;
	isolation: isolate;
	overflow: hidden;
	min-height: 0 !important;
}
.huu-uib-block.huu-uib-cta.huu-uib-cta--has-bg-image { min-height: 0 !important; }
.huu-uib-block.huu-uib-cta .huu-uib-cta__bg-image {
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	pointer-events: none !important;
}
.huu-uib-block.huu-uib-cta .huu-uib-cta__inner,
.huu-uib-block.huu-uib-cta .huu-uib-cta__box { position: relative; z-index: 1; }
.huu-uib-block.huu-uib-cta .huu-uib-cta__box,
.huu-uib-block.huu-uib-cta .huu-uib-cta__content,
.huu-uib-block.huu-uib-cta .huu-uib-cta__title,
.huu-uib-block.huu-uib-cta .huu-uib-cta__description { text-align: var(--huu-cta-text-align) !important; }
.huu-uib-block.huu-uib-cta .huu-uib-cta__content { justify-items: var(--huu-cta-items-justify) !important; }
.huu-uib-block.huu-uib-cta .huu-uib-cta__title,
.huu-uib-block.huu-uib-cta .huu-uib-cta__description { justify-self: var(--huu-cta-items-justify) !important; max-width: 100%; }
.huu-uib-block.huu-uib-cta .huu-uib-btns.huu-uib-cta__actions {
	margin-top: 0 !important;
	justify-content: var(--huu-cta-actions-justify) !important;
}
.huu-uib-block.huu-uib-cta--centered-card .huu-uib-cta__box {
	grid-template-columns: 1fr !important;
	justify-items: var(--huu-cta-items-justify) !important;
}
.huu-uib-block.huu-uib-cta--centered-card .huu-uib-cta__actions { width: 100%; justify-self: stretch !important; }
@media (min-width: 1025px) {
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__box {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: center !important;
	}
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__content { grid-column: 1 !important; }
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__actions {
		grid-column: 2 !important;
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
		justify-self: end !important;
	}
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__box {
		display: grid !important;
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) auto !important;
		grid-template-rows: auto !important;
		align-items: center !important;
		column-gap: clamp(18px, 3vw, 40px) !important;
		row-gap: 0 !important;
	}
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__content { display: contents !important; }
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__title { grid-column: 1 !important; grid-row: 1 !important; }
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__description { grid-column: 2 !important; grid-row: 1 !important; }
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: 3 !important;
		grid-row: 1 !important;
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
		justify-self: end !important;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__box,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__box {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: center !important;
	}
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__content { display: grid !important; grid-column: 1 !important; gap: 10px !important; }
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__title,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__description { grid-column: auto !important; grid-row: auto !important; }
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__actions,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions {
		grid-column: 2 !important;
		width: auto !important;
		align-self: var(--huu-cta-actions-vertical-align, center) !important;
		justify-self: end !important;
	}
}
@media (max-width: 767px) {
	.huu-uib-block.huu-uib-cta.huu-uib-cta--has-bg-image { min-height: 0 !important; }
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__box,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__box {
		display: grid !important;
		grid-template-columns: 1fr !important;
		align-items: stretch !important;
	}
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__content { display: grid !important; gap: 10px !important; }
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__title,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__description,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions,
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__actions { grid-column: auto !important; grid-row: auto !important; }
	.huu-uib-block.huu-uib-cta--split-panel .huu-uib-cta__actions,
	.huu-uib-block.huu-uib-cta--compact-band .huu-uib-cta__actions,
	.huu-uib-block.huu-uib-cta--centered-card .huu-uib-cta__actions { width: 100% !important; justify-self: stretch !important; }
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] .huu-uib-cta__btn,
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] .huu-uib-action-slot { width: 100% !important; }
}

/* CTA v13: responsive button width control.
   Auto keeps the CTA button at its natural size; Full stretches it only when selected. */
.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width="auto"] {
	width: auto !important;
	max-width: 100% !important;
}
.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width="auto"] .huu-uib-cta__btn,
.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width="auto"] .huu-uib-action-slot {
	width: auto !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
}
.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width="full"] {
	width: 100% !important;
}
.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width="full"] .huu-uib-cta__btn,
.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width="full"] .huu-uib-action-slot {
	width: 100% !important;
	flex: 1 1 100% !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-tablet="auto"] {
		width: auto !important;
		max-width: 100% !important;
	}
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-tablet="auto"] .huu-uib-cta__btn,
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-tablet="auto"] .huu-uib-action-slot {
		width: auto !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-tablet="full"] {
		width: 100% !important;
	}
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-tablet="full"] .huu-uib-cta__btn,
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-tablet="full"] .huu-uib-action-slot {
		width: 100% !important;
		flex: 1 1 100% !important;
	}
}

@media (max-width: 767px) {
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="auto"] {
		width: auto !important;
		max-width: 100% !important;
		justify-self: var(--huu-cta-items-justify) !important;
	}
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="auto"] .huu-uib-cta__btn,
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="auto"] .huu-uib-action-slot {
		width: auto !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] {
		width: 100% !important;
		justify-self: stretch !important;
	}
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] .huu-uib-cta__btn,
	.huu-uib-block.huu-uib-cta .huu-uib-cta__actions[data-huu-uib-button-width-mobile="full"] .huu-uib-action-slot {
		width: 100% !important;
		flex: 1 1 100% !important;
	}
}
