
/**
 * Custom Form Button Enhancer Styles
 * Version: 2.0.0
 * Nuclear reset to override all Elementor and theme styles
 */

/* Complete button reset to override all Elementor and theme styles */
.button-complete button, .button-complete input[type="submit"], .button-complete .btn, .button-complete .elementor-button, .button-complete .gform_button {
	/* Nuclear reset - override all possible Elementor styles */
	all: unset !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	/* Force reset of box model */
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	outline: none !important;
	/* Reset text and font properties */
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	line-height: inherit !important;
	text-align: inherit !important;
	text-decoration: none !important;
	text-transform: inherit !important;
	letter-spacing: inherit !important;
	/* Reset background and colors */
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	color: inherit !important;
	/* Reset positioning and display */
	position: static !important;
	display: inline !important;
	/* Reset transforms and transitions */
	transform: none !important;
	transition: none !important;
	/* Reset shadows and effects */
	box-shadow: none !important;
	text-shadow: none !important;
	/* Reset cursor */
	cursor: auto !important;
	/* Reset dimensions */
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	/* Reset borders and radius */
	border-radius: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	/* Reset flex properties */
	flex: none !important;
	align-items: inherit !important;
	justify-content: inherit !important;
}

/* Reset any Elementor wrapper styles */
.button-complete .elementor-button-content-wrapper {
	all: unset !important;
	display: inline !important;
}

.button-complete .elementor-button-text {
	all: unset !important;
	display: inline !important;
}

.button-complete {
	position: relative;
	display: inline-block;
	margin: 10px;
}

.button-complete .btn {
	position: relative !important;
	display: inline-block !important;
	padding: 8px 30px !important;
	background-color: white !important;
	color: black !important;
	text-decoration: none !important;
	font-size: 12px !important;
	font-weight: normal !important;
	letter-spacing: 4px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: all .3s ease !important;
	font-family: "muli", sans-serif !important;
	text-align: center !important;
	box-sizing: border-box !important;
	border: 1px solid #999 !important;
	margin: 0 !important;
	z-index: 1 !important;
}

/* Create the side elements for border animation */
.button-complete .btn .side-right, .button-complete .btn .side-left {
	content: "" !important;
	position: absolute !important;
	background: black !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

/* Animate all four borders */
.button-complete .btn::before, .button-complete .btn::after {
	content: "" !important;
	position: absolute !important;
	background: black !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

/* Top border */
.button-complete .btn::before {
	top: 0 !important;
	right: 0 !important;
	height: 1px !important;
	width: 0 !important;
	transition: width .4s ease !important;
}

/* Bottom border */
.button-complete .btn::after {
	bottom: 0 !important;
	left: 0 !important;
	height: 1px !important;
	width: 0 !important;
	transition: width .4s ease !important;
}

/* Right border */
.button-complete .btn .side-right {
	top: 0 !important;
	right: 0 !important;
	width: 1px !important;
	height: 0 !important;
	transition: height .4s ease !important;
}

/* Left border */
.button-complete .btn .side-left {
	bottom: 0 !important;
	left: 0 !important;
	width: 1px !important;
	height: 0 !important;
	transition: height .4s ease !important;
}

/* Trigger animation on hover */
.button-complete:hover .btn::before, .button-complete:hover .btn::after {
	width: 100% !important;
}

.button-complete:hover .btn .side-left, .button-complete:hover .btn .side-right {
	height: 100% !important;
}

/* Corner extensions */
.corner-ext {
	position: absolute !important;
	background-color: #ccc !important;
	pointer-events: none !important;
	transition: background-color .4s ease !important;
}

.button-complete:hover .corner-ext {
	background-color: #ccc !important;
}

.corner-ext.tl-h {
	top: 0 !important;
	left: -10px !important;
	width: 12px !important;
	height: 1px !important;
}

.corner-ext.tl-v {
	top: -10px !important;
	left: 0 !important;
	width: 1px !important;
	height: 12px !important;
}

.corner-ext.tr-h {
	top: 0 !important;
	right: -10px !important;
	width: 12px !important;
	height: 1px !important;
}

.corner-ext.tr-v {
	top: -10px !important;
	right: 0 !important;
	width: 1px !important;
	height: 12px !important;
}

.corner-ext.bl-h {
	bottom: 0 !important;
	left: -10px !important;
	width: 12px !important;
	height: 1px !important;
}

.corner-ext.bl-v {
	bottom: -10px !important;
	left: 0 !important;
	width: 1px !important;
	height: 12px !important;
}

.corner-ext.br-h {
	bottom: 0 !important;
	right: -10px !important;
	width: 12px !important;
	height: 1px !important;
}

.corner-ext.br-v {
	bottom: -10px !important;
	right: 0 !important;
	width: 1px !important;
	height: 12px !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.button-complete .btn {
		padding: 6px 25px !important;
		font-size: 11px !important;
		letter-spacing: 3px !important;
	}
	
	.corner-ext.tl-h, .corner-ext.tr-h, .corner-ext.bl-h, .corner-ext.br-h {
		width: 10px !important;
	}
	
	.corner-ext.tl-v, .corner-ext.tr-v, .corner-ext.bl-v, .corner-ext.br-v {
		height: 10px !important;
	}
	
	.corner-ext.tl-h, .corner-ext.bl-h {
		left: -8px !important;
	}
	
	.corner-ext.tr-h, .corner-ext.br-h {
		right: -8px !important;
	}
	
	.corner-ext.tl-v, .corner-ext.tr-v {
		top: -8px !important;
	}
	
	.corner-ext.bl-v, .corner-ext.br-v {
		bottom: -8px !important;
	}
}

/* Gravity Forms specific overrides */
.gform_wrapper .button-complete {
	margin: 10px 0;
}

.gform_wrapper .button-complete .gform_button {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Elementor Forms specific overrides */
.elementor-form .button-complete {
	margin: 10px 0;
	display: inline-block;
}

.elementor-form .button-complete .elementor-button {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: normal !important;
	font-size: inherit !important;
	color: inherit !important;
	border-radius: 0 !important;
}

/* Ensure our button structure inherits from our base styles */
.button-complete button.btn, .button-complete input[type="submit"].btn, .button-complete .elementor-button.btn, .button-complete .gform_button.btn {
	position: relative !important;
	display: inline-block !important;
	padding: 8px 30px !important;
	background-color: white !important;
	color: black !important;
	text-decoration: none !important;
	font-size: 12px !important;
	font-weight: normal !important;
	letter-spacing: 4px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: all .3s ease !important;
	font-family: "muli", sans-serif !important;
	text-align: center !important;
	box-sizing: border-box !important;
	border: 1px solid #999 !important;
	margin: 0 !important;
	z-index: 1 !important;
}

.button-complete button.nitro-lazy, .button-complete input[type="submit"].nitro-lazy, .button-complete .btn.nitro-lazy, .button-complete .elementor-button.nitro-lazy, .button-complete .gform_button.nitro-lazy {
	background-image: none !important;
}
