/* Huuguu UI Blocks Button Core v2.0-alpha.33 */
.huu-uib-buttons,
.huu-uib-cta-block__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--huu-uib-button-gap, 12px);
}

.huu-uib-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--huu-uib-button-icon-gap, 8px);
	box-sizing: border-box;
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.huu-uib-btn--static {
	cursor: default;
	pointer-events: none;
}

.huu-uib-btn__icon,
.huu-uib-btn__icon svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	line-height: 1;
	fill: currentColor;
}

.huu-uib-btn:hover {
	text-decoration: none;
}

@media (max-width: 767px) {
	.huu-uib-buttons--stack-mobile,
	.huu-uib-cta-block--stack-mobile .huu-uib-cta-block__actions {
		flex-direction: column;
	}
}

/* v2 Button Core */
.huu-uib-btn{cursor:pointer;border-style:solid;border-width:1px;gap:8px}
.huu-uib-btn__icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.huu-uib-btn__icon svg{width:1em;height:1em;display:block;fill:currentColor}
.huu-uib-btn--icon-right{flex-direction:row-reverse}

/* v2.0-alpha.28: responsive button width modes
   Full means: the buttons group occupies the available column width and each button stretches.
   Auto means: the group keeps natural button width and respects alignment controls. */
.huu-uib-buttons--width-full{width:100%;flex-direction:column;align-items:stretch}
.huu-uib-buttons--width-full .huu-uib-btn{width:100%}
.huu-uib-buttons--width-auto{width:auto;max-width:100%;flex-direction:row;align-items:center}
.huu-uib-buttons--width-auto .huu-uib-btn{width:auto}

@media (min-width:768px) and (max-width:1024px){
	.huu-uib-buttons--tablet-width-full{width:100%;flex-direction:column;align-items:stretch}
	.huu-uib-buttons--tablet-width-full .huu-uib-btn{width:100%}
	.huu-uib-buttons--tablet-width-auto{width:auto;max-width:100%;flex-direction:row;align-items:center}
	.huu-uib-buttons--tablet-width-auto .huu-uib-btn{width:auto}
}
@media (max-width:767px){
	.huu-uib-buttons--mobile-width-full{width:100%;flex-direction:column;align-items:stretch}
	.huu-uib-buttons--mobile-width-full .huu-uib-btn{width:100%}
	.huu-uib-buttons--mobile-width-auto{width:auto;max-width:100%;flex-direction:row;align-items:center}
	.huu-uib-buttons--mobile-width-auto .huu-uib-btn{width:auto}
}


/* v2.0-alpha.33: editor/default fallback hardening. These rules intentionally live last
   so responsive width modes win over older widget CSS loaded before the core. */
@media (min-width:768px) and (max-width:1024px){
	.huu-uib-buttons.huu-uib-buttons--tablet-width-full{width:100%;flex-direction:column;align-items:stretch}
	.huu-uib-buttons.huu-uib-buttons--tablet-width-full > .huu-uib-btn{width:100%}
	.huu-uib-buttons.huu-uib-buttons--tablet-width-auto{width:auto;max-width:100%;flex-direction:row;align-items:center}
	.huu-uib-buttons.huu-uib-buttons--tablet-width-auto > .huu-uib-btn{width:auto}
}
@media (max-width:767px){
	.huu-uib-buttons.huu-uib-buttons--mobile-width-full{width:100%;flex-direction:column;align-items:stretch}
	.huu-uib-buttons.huu-uib-buttons--mobile-width-full > .huu-uib-btn{width:100%}
	.huu-uib-buttons.huu-uib-buttons--mobile-width-auto{width:auto;max-width:100%;flex-direction:row;align-items:center}
	.huu-uib-buttons.huu-uib-buttons--mobile-width-auto > .huu-uib-btn{width:auto}
}

/* v2.0-alpha.45: Button typography finishing. */
.huu-uib-btn__icon{font-size:var(--huu-uib-button-icon-size,1em)}
.huu-uib-btn__icon svg{width:1em;height:1em}

/* v2.0-alpha.56.8: deterministic icon placement for live Elementor preview. */
.huu-uib-btn{display:inline-flex;align-items:center;justify-content:center}
.huu-uib-btn--icon-left{flex-direction:row}
.huu-uib-btn--icon-right{flex-direction:row}
.huu-uib-btn--icon-left .huu-uib-btn__icon{order:0}
.huu-uib-btn--icon-left .huu-uib-btn__text{order:1}
.huu-uib-btn--icon-right .huu-uib-btn__text{order:1}
.huu-uib-btn--icon-right .huu-uib-btn__icon{order:2}

/* v2.0-alpha.56.9: live preview-safe icon ordering via Button Core variables. */
.huu-uib-btn__icon{order:var(--huu-uib-btn-icon-order,0)}
.huu-uib-btn__text{order:var(--huu-uib-btn-text-order,1)}
.huu-uib-btn--icon-left{--huu-uib-btn-icon-order:0;--huu-uib-btn-text-order:1}
.huu-uib-btn--icon-right{--huu-uib-btn-icon-order:2;--huu-uib-btn-text-order:1}

/* v2.0-alpha.69: Button Core ownership audit.
   The core owns generic button mechanics only; widgets own their visual tokens. */
.huu-uib-buttons {
	gap: var(--huu-uib-buttons-gap, var(--huu-uib-button-gap, 12px));
}
.huu-uib-btn {
	gap: var(--huu-uib-btn-icon-gap, var(--huu-uib-button-icon-gap, 8px));
	border-width: var(--huu-uib-btn-border-width, 1px);
	border-style: var(--huu-uib-btn-border-style, solid);
	border-color: var(--huu-uib-btn-border-color, transparent);
	border-radius: var(--huu-uib-btn-radius, var(--huu-uib-button-radius, 10px));
	font-size: var(--huu-uib-btn-font-size, var(--huu-uib-body-size, 16px));
	font-weight: var(--huu-uib-btn-font-weight, var(--huu-uib-body-weight, 600));
	min-height: var(--huu-uib-btn-min-height, var(--huu-uib-button-min-height, 48px));
	padding: var(--huu-uib-btn-padding, var(--huu-uib-button-padding-y, 12px) var(--huu-uib-button-padding-x, 22px));
	background: var(--huu-uib-btn-bg, transparent);
	color: var(--huu-uib-btn-color, currentColor);
}
.huu-uib-btn:hover,
.huu-uib-btn:focus-visible {
	border-color: var(--huu-uib-btn-hover-border-color, var(--huu-uib-btn-border-color, transparent));
	background: var(--huu-uib-btn-hover-bg, var(--huu-uib-btn-bg, transparent));
	color: var(--huu-uib-btn-hover-color, var(--huu-uib-btn-color, currentColor));
}
.huu-uib-btn:focus-visible {
	outline: 2px solid var(--huu-uib-focus-color, var(--huu-uib-color-primary, #007721));
	outline-offset: 3px;
}


/* v2.0-alpha.70.3: Button Core editor/front parity.
   Legacy frontend.css uses high-specificity global button selectors with.
   These rules keep per-widget Button Core variables authoritative in Elementor preview and frontend. */
.huu-uib-block a.huu-uib-btn:hover,
.huu-uib-block a.huu-uib-btn:focus,
.huu-uib-block a.huu-uib-btn:focus-visible,
.huu-uib-block a.huu-uib-btn:active,
.elementor-editor-active .huu-uib-block a.huu-uib-btn:hover,
.elementor-editor-active .huu-uib-block a.huu-uib-btn:focus {
	background: var(--huu-uib-btn-hover-bg, var(--huu-uib-btn-bg, transparent));
	color: var(--huu-uib-btn-hover-color, var(--huu-uib-btn-color, currentColor));
	-webkit-text-fill-color: var(--huu-uib-btn-hover-color, var(--huu-uib-btn-color, currentColor));
	border-color: var(--huu-uib-btn-hover-border-color, var(--huu-uib-btn-border-color, transparent));
}
.huu-uib-block a.huu-uib-btn:hover *,
.huu-uib-block a.huu-uib-btn:focus *,
.huu-uib-block a.huu-uib-btn:focus-visible *,
.huu-uib-block a.huu-uib-btn:active *,
.elementor-editor-active .huu-uib-block a.huu-uib-btn:hover *,
.elementor-editor-active .huu-uib-block a.huu-uib-btn:focus * {
	color: inherit;
	-webkit-text-fill-color: inherit;
	fill: currentColor;
	stroke: currentColor;
}


/* v2.0-alpha.70.7: Button Core hover motion.
   Motion is owned by Button Core and exposed through per-widget CSS variables.
   Defaults stay lightweight and respect reduced-motion/mobile safety. */
.huu-uib-buttons {
	--huu-uib-btn-hover-transform: translateY(-2px);
	--huu-uib-btn-hover-shadow-value: 0 10px 24px rgba(0,0,0,.16);
	--huu-uib-btn-hover-shadow: var(--huu-uib-btn-hover-shadow-value);
	--huu-uib-btn-hover-duration: 220ms;
}
.huu-uib-buttons .huu-uib-btn {
	transition-duration: var(--huu-uib-btn-hover-duration, 220ms);
	transition-property: background-color, color, border-color, transform, box-shadow, -webkit-text-fill-color;
	transition-timing-function: ease;
}
.huu-uib-buttons .huu-uib-btn:hover,
.huu-uib-buttons .huu-uib-btn:focus-visible {
	transform: var(--huu-uib-btn-hover-transform, none);
	box-shadow: var(--huu-uib-btn-hover-shadow, none);
}
.huu-uib-buttons .huu-uib-btn:active {
	transform: translateY(0) scale(.99);
	box-shadow: none;
}
@media (max-width:767px) {
	.huu-uib-buttons .huu-uib-btn:hover,
	.huu-uib-buttons .huu-uib-btn:focus-visible {
		transform: var(--huu-uib-btn-hover-mobile-transform, var(--huu-uib-btn-hover-transform, none));
		box-shadow: var(--huu-uib-btn-hover-mobile-shadow, var(--huu-uib-btn-hover-shadow, none));
	}
}
@media (prefers-reduced-motion: reduce) {
	.huu-uib-buttons .huu-uib-btn {
		transition-duration: 0ms;
	}
	.huu-uib-buttons .huu-uib-btn:hover,
	.huu-uib-buttons .huu-uib-btn:focus-visible,
	.huu-uib-buttons .huu-uib-btn:active {
		transform: none;
		box-shadow: none;
	}
}


/* v2.0-alpha.71.7 — Button Core hover color ownership fix.
   Elementor control selectors now set Button Core CSS variables; these rules ensure
   text/icon/SVG inherit hover colors consistently in editor and frontend. */
.huu-uib-buttons .huu-uib-btn:hover,
.huu-uib-buttons .huu-uib-btn:focus,
.huu-uib-buttons .huu-uib-btn:focus-visible,
.huu-uib-buttons .huu-uib-btn:active {
	background: var(--huu-uib-btn-hover-bg, var(--huu-uib-btn-bg, transparent));
	color: var(--huu-uib-btn-hover-color, var(--huu-uib-btn-color, currentColor));
	-webkit-text-fill-color: var(--huu-uib-btn-hover-color, var(--huu-uib-btn-color, currentColor));
	border-color: var(--huu-uib-btn-hover-border-color, var(--huu-uib-btn-border-color, transparent));
}
.huu-uib-buttons .huu-uib-btn:hover .huu-uib-btn__text,
.huu-uib-buttons .huu-uib-btn:hover .huu-uib-btn__icon,
.huu-uib-buttons .huu-uib-btn:hover svg,
.huu-uib-buttons .huu-uib-btn:focus .huu-uib-btn__text,
.huu-uib-buttons .huu-uib-btn:focus .huu-uib-btn__icon,
.huu-uib-buttons .huu-uib-btn:focus svg,
.huu-uib-buttons .huu-uib-btn:focus-visible .huu-uib-btn__text,
.huu-uib-buttons .huu-uib-btn:focus-visible .huu-uib-btn__icon,
.huu-uib-buttons .huu-uib-btn:focus-visible svg,
.huu-uib-buttons .huu-uib-btn:active .huu-uib-btn__text,
.huu-uib-buttons .huu-uib-btn:active .huu-uib-btn__icon,
.huu-uib-buttons .huu-uib-btn:active svg {
	color: inherit;
	-webkit-text-fill-color: inherit;
	fill: currentColor;
	stroke: currentColor;
}
