/* ==========================================================================
   04-buttons-forms.css — buttons, CTAs, form submit styles
   --------------------------------------------------------------------------
   Extracted from frontend/uncode-child/style.css lines 64-66, 92-419.
   Contains: Gravity Forms button, Figma button system (pill, light/dark,
   outline variants), .btn-link, .btn-default, input[type="submit"],
   :visited color protection, responsive overrides.

   Status: NOT yet enqueued. See docs/audit/css-restructure-recipe.md (Phase 2b.2).
   ========================================================================== */

/* Gravity Forms button override */
.gform_button.button {
	background-color: var(--aqua-black, #000000) !important;
	border-color: var(--aqua-black, #000000) !important;
}

/* =======================================
   Figma Button Specifications
   ======================================= */

/* 1. Global Base Button Styles (Size=Lrg) */
.btn {
	font-size: 16px !important;
	line-height: 24px !important;
	border-radius: 28px !important;
	padding: 14px 25px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.2s ease-in-out !important;
}

/* 1b. Steele SD Black (jevc) — site-wide Figma body CTAs */
.btn.btn-color-jevc:not(.btn-outline) {
	font-family: var(--aqua-font-body, 'Open Sans', sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 19.2px !important;
	letter-spacing: 2.16px !important;
	text-transform: uppercase !important;
	border-radius: 999px !important;
	padding: 14px 29px !important;
	background-color: var(--aqua-black, #000000) !important;
	border: 1px solid var(--aqua-black, #000000) !important;
	color: var(--aqua-text-inverse, #ffffff) !important;
}

.btn.btn-color-jevc:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):hover,
.btn.btn-color-jevc:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):focus,
.btn.btn-color-jevc:not(.btn-outline):not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover,
.btn.btn-color-jevc:not(.btn-outline):not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):focus,
.btn.btn-color-jevc:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):active,
.btn.btn-color-jevc:not(.btn-outline):not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):active,
.btn.btn-sm.btn-color-jevc:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):hover,
.btn.btn-sm.btn-color-jevc:not(.btn-outline):not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover {
	background-color: #262626 !important;
	border-color: #262626 !important;
	color: var(--aqua-text-inverse, #ffffff) !important;
}

.btn.btn-sm.btn-color-jevc:not(.btn-outline) {
	font-family: var(--aqua-font-body, 'Open Sans', sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 19.2px !important;
	letter-spacing: 2.16px !important;
	text-transform: uppercase !important;
	border-radius: 999px !important;
	padding: 14px 29px !important;
	background-color: var(--aqua-black, #000000) !important;
	border: 1px solid var(--aqua-black, #000000) !important;
	color: var(--aqua-text-inverse, #ffffff) !important;
}

.btn.btn-sm.btn-color-jevc.btn-outline {
	font-family: var(--aqua-font-body, 'Open Sans', sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 19.2px !important;
	letter-spacing: 2.16px !important;
	text-transform: uppercase !important;
	border-radius: 999px !important;
	padding: 14px 29px !important;
	background-color: transparent !important;
	border: 1px solid var(--aqua-black, #000000) !important;
	color: var(--aqua-black, #000000) !important;
}

.btn.btn-color-jevc.btn-outline {
	font-family: var(--aqua-font-body, 'Open Sans', sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 19.2px !important;
	letter-spacing: 2.16px !important;
	text-transform: uppercase !important;
	border-radius: 999px !important;
	padding: 14px 29px !important;
	background-color: transparent !important;
	border: 1px solid var(--aqua-black, #000000) !important;
	color: var(--aqua-black, #000000) !important;
}

.btn.btn-color-jevc.btn-outline:not(.btn-hover-nobg):not(.icon-animated):hover,
.btn.btn-color-jevc.btn-outline:not(.btn-hover-nobg):not(.icon-animated):focus,
.btn.btn-color-jevc.btn-outline:not(.btn-hover-nobg):not(.icon-animated):active,
.btn.btn-color-jevc.btn-outline:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover,
.btn.btn-color-jevc.btn-outline:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):focus,
.btn.btn-color-jevc.btn-outline:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):active {
	background-color: rgba(0, 0, 0, 0.05) !important;
	border-color: var(--aqua-black, #000000) !important;
	color: var(--aqua-black, #000000) !important;
}

/* 2. Primary Dark Solid (color-115325 / Rose — excludes jevc) */
.btn.btn-color-115325:not(.btn-outline),
.btn.btn-default:not(.btn-color-jevc):not(.btn-outline),
.style-light .btn-default:not(.btn-color-jevc):not(.btn-outline) {
	background-color: var(--uncode-palette-color-115325) !important;
	border-color: var(--uncode-palette-color-115325) !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-color-115325:not(.btn-outline):hover,
.btn.btn-default:not(.btn-color-jevc):not(.btn-outline):hover,
.btn-color-115325:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover,
.style-light .btn-default:not(.btn-color-jevc):not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):hover {
	background-color: #363635 !important;
	border-color: #363635 !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-color-115325:not(.btn-outline):active,
.btn.btn-color-115325:not(.btn-outline):focus,
.btn.btn-default:not(.btn-color-jevc):not(.btn-outline):active,
.btn.btn-default:not(.btn-color-jevc):not(.btn-outline):focus,
.btn-color-115325:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):focus,
.btn-color-115325:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):active,
.style-light .btn-default:not(.btn-color-jevc):not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):active,
.style-light .btn-default:not(.btn-color-jevc):not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):focus {
	background-color: #2d2d2c !important;
	border-color: #2d2d2c !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-color-115325:not(.btn-outline):disabled,
.btn.btn-color-115325:not(.btn-outline)[disabled],
.btn.btn-default:not(.btn-color-jevc):not(.btn-outline):disabled,
.btn.btn-default:not(.btn-color-jevc):not(.btn-outline)[disabled] {
	background-color: #8a8a89 !important;
	border-color: #8a8a89 !important;
	color: var(--aqua-text-inverse) !important;
	cursor: not-allowed;
	opacity: 1 !important;
}

/* 3. Primary Light Solid (color-xsdn / btn-white) */
.btn.btn-color-xsdn:not(.btn-outline),
.btn.btn-white:not(.btn-outline) {
	background-color: var(--aqua-text-inverse) !important;
	border-color: var(--aqua-text-inverse) !important;
	color: var(--uncode-palette-color-115325) !important;
}

.btn.btn-color-xsdn:not(.btn-outline):hover,
.btn.btn-white:not(.btn-outline):hover,
.btn-color-xsdn:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover {
	background-color: #F2F2F2 !important;
	border-color: #F2F2F2 !important;
	color: var(--uncode-palette-color-115325) !important;
}

.btn.btn-color-xsdn:not(.btn-outline):active,
.btn.btn-color-xsdn:not(.btn-outline):focus,
.btn.btn-white:not(.btn-outline):active,
.btn.btn-white:not(.btn-outline):focus,
.btn-color-xsdn:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):active,
.btn-color-xsdn:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):focus {
	background-color: #E6E6E6 !important;
	border-color: #E6E6E6 !important;
	color: var(--uncode-palette-color-115325) !important;
}

.btn.btn-color-xsdn:not(.btn-outline):disabled,
.btn.btn-color-xsdn:not(.btn-outline)[disabled],
.btn.btn-white:not(.btn-outline):disabled,
.btn.btn-white:not(.btn-outline)[disabled] {
	background-color: var(--aqua-text-inverse) !important;
	border-color: var(--aqua-text-inverse) !important;
	color: var(--uncode-palette-color-115325) !important;
	opacity: 0.8 !important;
	cursor: not-allowed;
}

/* 4. Secondary Dark Outline (color-354612 / Almost Black) */
.btn.btn-outline,
.btn.btn-color-354612.btn-outline {
	background-color: transparent !important;
	color: var(--uncode-palette-color-354612) !important;
	border: 2px solid rgba(0, 0, 0, 0.20) !important;
}

.btn.btn-outline:hover,
.btn.btn-color-354612.btn-outline:hover {
	background-color: transparent !important;
	border-color: var(--aqua-text-primary) !important;
	color: var(--aqua-text-primary) !important;
}

.btn.btn-outline:active,
.btn.btn-outline:focus,
.btn.btn-color-354612.btn-outline:active,
.btn.btn-color-354612.btn-outline:focus {
	background-color: transparent !important;
	border-color: var(--aqua-text-primary) !important;
	color: var(--aqua-text-primary) !important;
	opacity: 0.70 !important;
}

.btn.btn-outline:disabled,
.btn.btn-outline[disabled],
.btn.btn-color-354612.btn-outline:disabled,
.btn.btn-color-354612.btn-outline[disabled] {
	background-color: transparent !important;
	border: 2px solid rgba(0, 0, 0, 0.20) !important;
	color: var(--uncode-palette-color-354612) !important;
	opacity: 0.5 !important;
	cursor: not-allowed;
}

/* 5. Secondary Light Outline (color-xsdn / Almost White) */
.btn.btn-color-xsdn.btn-outline {
	background-color: transparent !important;
	color: var(--aqua-text-inverse) !important;
	border: 2px solid rgba(255, 255, 255, 0.20) !important;
}

.btn.btn-color-xsdn.btn-outline:hover {
	background-color: transparent !important;
	border-color: var(--aqua-text-inverse) !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-color-xsdn.btn-outline:active,
.btn.btn-color-xsdn.btn-outline:focus {
	background-color: transparent !important;
	border-color: var(--aqua-text-inverse) !important;
	color: var(--aqua-text-inverse) !important;
	opacity: 0.7 !important;
}

.btn.btn-color-xsdn.btn-outline:disabled,
.btn.btn-color-xsdn.btn-outline[disabled] {
	background-color: transparent !important;
	border: 2px solid rgba(255, 255, 255, 0.20) !important;
	color: var(--aqua-text-inverse) !important;
	opacity: 0.4 !important;
	cursor: not-allowed;
}

/* Special Case: Outline Button on light tan */
.btn-container .btn-color-663086.btn-outline {
	border-color: #d2d2d2 !important;
}
.btn-container .btn-color-663086.btn-outline:not(.btn-hover-nobg):hover, 
.btn-container .btn-color-663086.btn-outline:not(.btn-hover-nobg):focus, 
.btn-container .btn-color-663086.btn-outline:active {
	border-color: var(--aqua-text-primary) !important;
}

/* Special Case: Light Blue Accent Button */
.btn-container .btn-color-126532 {
	border-color: var(--uncode-palette-color-354612) !important;
	color: var(--uncode-palette-color-354612) !important;
	background: transparent !important;
}
.btn-color-126532:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover {
	border-color: var(--uncode-palette-color-115325) !important;
	background-color: var(--uncode-palette-color-115325) !important;
	color: var(--aqua-text-inverse) !important;	
}

/* Navigation CTA Button */
.menu-container .cta-phone.menu-item a:hover {
	border-color: var(--uncode-palette-color-115325) !important;
	background-color: #363635 !important;
	color: var(--aqua-text-inverse) !important;		
    box-shadow: inset transparent 0 0 0 0px !important; 	
}

.btn-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -8px;
}

.btn-wrap .btn {
	float: left;
	margin: 0 8px;
}

@media (max-width: 569px) {
	.btn {
		padding: 19px 25px !important;	
	}

	.btn-sm-min {
		min-width: 240px !important;
	}
}

/* =======================================
   Button: .btn-link override (text link default)
   ======================================= */
.btn.btn-link {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	font-family: var(--aqua-font-body, 'Open Sans', sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.6 !important;
	letter-spacing: 2.4px !important;
	text-transform: uppercase !important;
	color: var(--aqua-text-primary, #080808) !important;
}

.btn.btn-link:hover,
.btn.btn-link:focus,
.btn.btn-link:active {
	background: transparent !important;
	border: none !important;
	color: var(--aqua-text-primary, #080808) !important;
	opacity: 0.65;
}

.tmb .btn.btn-link::after,
.t-entry .btn.btn-link::after {
	content: ' \2192';
}

/* =======================================
   Button: .btn-default override (Uncode skins)
   ======================================= */
.btn.btn-default:not(.btn-outline) {
	background-color: var(--uncode-palette-color-115325) !important;
	border-color: var(--uncode-palette-color-115325) !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-default:not(.btn-outline):hover {
	background-color: #363635 !important;
	border-color: #363635 !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-default:not(.btn-outline):active,
.btn.btn-default:not(.btn-outline):focus {
	background-color: #2d2d2c !important;
	border-color: #2d2d2c !important;
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-default.btn-outline,
.style-light .btn-default.btn-outline {
	background-color: transparent !important;
	color: var(--aqua-black, #000000) !important;
	border: 1px solid var(--aqua-black, #000000) !important;
	border-radius: 999px !important;
	font-family: var(--aqua-font-body, 'Open Sans', sans-serif) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 19.2px !important;
	letter-spacing: 2.16px !important;
	text-transform: uppercase !important;
	padding: 14px 29px !important;
}

.btn.btn-default.btn-outline:hover,
.btn.btn-default.btn-outline:focus,
.style-light .btn-default.btn-outline:not(.icon-animated):not(.icon-automatic-video):hover,
.style-light .btn-default.btn-outline:not(.icon-animated):not(.icon-automatic-video):focus {
	background-color: rgba(0, 0, 0, 0.05) !important;
	border-color: var(--aqua-black, #000000) !important;
	color: var(--aqua-black, #000000) !important;
	opacity: 1 !important;
}

.btn.btn-default.btn-outline:active,
.style-light .btn-default.btn-outline:not(.icon-animated):not(.icon-automatic-video):active {
	background-color: rgba(0, 0, 0, 0.05) !important;
	border-color: var(--aqua-black, #000000) !important;
	color: var(--aqua-black, #000000) !important;
	opacity: 1 !important;
}

/* =======================================
   Button: input[type="submit"] base
   ======================================= */
input[type="submit"] {
	font-size: 16px;
	line-height: 24px;
	border-radius: 28px;
	padding: 14px 25px;
	font-weight: 500;
	text-decoration: none;
	background-color: var(--uncode-palette-color-115325);
	border: 2px solid var(--uncode-palette-color-115325);
	color: var(--aqua-text-inverse);
	cursor: pointer;
	transition: all 0.2s ease-in-out;
}

input[type="submit"]:hover {
	background-color: #363635;
	border-color: #363635;
	color: var(--aqua-text-inverse);
}

input[type="submit"]:active,
input[type="submit"]:focus {
	background-color: #2d2d2c;
	border-color: #2d2d2c;
	color: var(--aqua-text-inverse);
}

/* =======================================
   Button: :visited color protection
   ======================================= */
.btn:visited,
.btn.btn-color-jevc:not(.btn-outline):visited {
	color: var(--aqua-text-inverse, #ffffff) !important;
}

.btn.btn-link:visited {
	color: var(--aqua-text-primary, #080808) !important;
}

.btn.btn-outline:visited,
.btn.btn-default.btn-outline:visited,
.btn.btn-color-jevc.btn-outline:visited {
	color: var(--aqua-black, #000000) !important;
}

.btn.btn-color-xsdn.btn-outline:visited {
	color: var(--aqua-text-inverse) !important;
}

.btn.btn-color-xsdn:visited,
.btn.btn-white:visited {
	color: var(--uncode-palette-color-115325) !important;
}

/* ===================================
   GRAVITY FORMS - GLOBAL FIXES
   =================================== */

.gform_wrapper .gfield--type-select select {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E") !important;
    background-size: 12px !important;
    background-position: calc(100% - 14px) center !important;
    background-repeat: no-repeat !important;
    padding-right: 36px !important;
}

/* ===================================
   GRAVITY FORMS - CONSULTATION FORM (#14)
   =================================== */

#gform_wrapper_14 .gform_fields {
    row-gap: 13px !important;
}

#gform_wrapper_14 .gform_required_legend {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
}

#gform_wrapper_14 #field_14_33 {
    display: none !important;
}

#gform_wrapper_14 #field_14_35 {
    font-size: 14px !important;
    font-style: italic !important;
}

.aqua-contact-form-image .background-inner {
    border-radius: 16px !important;
}

#gform_wrapper_14 {
    margin-top: -5px !important;
    margin-bottom: -5px !important;
}

.gform_wrapper .gform_button,
.gform_button.button {
	background-color: var(--aqua-black, #000000) !important;
	border: 1px solid var(--aqua-black, #000000) !important;
	border-radius: 999px !important;
	font-family: 'Open Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	letter-spacing: 2.16px !important;
	text-transform: uppercase !important;
	color: var(--aqua-text-inverse, #ffffff) !important;
	padding: 14px 29px !important;
	height: auto !important;
	line-height: 19.2px !important;
	cursor: pointer !important;
	transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_button.button:hover,
.gform_button.button:focus {
	background-color: #262626 !important;
	border-color: #262626 !important;
	color: var(--aqua-text-inverse, #ffffff) !important;
}

.gform_wrapper .gform_button:focus {
	outline-color: var(--aqua-text-accent) !important;
	box-shadow: 0 0 0 3px rgba(38, 38, 38, 0.25) !important;
}
