/* ==========================================================================
   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(--uncode-palette-color-210407) !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;
}

/* 2. Primary Dark Solid (Default uncode button / color-210407 / Rose) */
.btn:not(.btn-outline),
.btn.btn-color-210407:not(.btn-outline),
.style-light .btn-default:not(.btn-outline) {
	background-color: var(--uncode-palette-color-210407) !important;
	border-color: var(--uncode-palette-color-210407) !important;
	color: #ffffff !important;
}

.btn:not(.btn-outline):hover,
.btn.btn-color-210407:not(.btn-outline):hover,
.btn-color-210407:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover,
.style-light .btn-default:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):hover {
	background-color: #784458 !important;
	border-color: #784458 !important;
	color: #ffffff !important;
}

.btn:not(.btn-outline):active,
.btn:not(.btn-outline):focus,
.btn.btn-color-210407:not(.btn-outline):active,
.btn.btn-color-210407:not(.btn-outline):focus,
.btn-color-210407:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):focus,
.btn-color-210407:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):active,
.style-light .btn-default:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):active,
.style-light .btn-default:not(.btn-outline):not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):focus {
	background-color: #693C4D !important;
	border-color: #693C4D !important;
	color: #ffffff !important;
}

.btn:not(.btn-outline):disabled,
.btn:not(.btn-outline)[disabled],
.btn.btn-color-210407:not(.btn-outline):disabled,
.btn.btn-color-210407:not(.btn-outline)[disabled] {
	background-color: #C099A8 !important;
	border-color: #C099A8 !important;
	color: #ffffff !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: #ffffff !important;
	border-color: #ffffff !important;
	color: var(--uncode-palette-color-210407) !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-210407) !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-210407) !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: #ffffff !important;
	border-color: #ffffff !important;
	color: var(--uncode-palette-color-210407) !important;
	opacity: 0.8 !important;
	cursor: not-allowed;
}

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

.btn.btn-outline:hover,
.btn.btn-color-589256.btn-outline:hover {
	background-color: transparent !important;
	border-color: #252D30 !important;
	color: #252D30 !important;
}

.btn.btn-outline:active,
.btn.btn-outline:focus,
.btn.btn-color-589256.btn-outline:active,
.btn.btn-color-589256.btn-outline:focus {
	background-color: transparent !important;
	border-color: #252D30 !important;
	color: #252D30 !important;
	opacity: 0.70 !important;
}

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

/* 5. Secondary Light Outline (color-206917 / Almost White) */
.btn.btn-color-206917.btn-outline {
	background-color: transparent !important;
	color: #ffffff !important;
	border: 2px solid rgba(245, 254, 254, 0.2) !important;
}

.btn.btn-color-206917.btn-outline:hover {
	background-color: transparent !important;
	border-color: #ffffff !important;
	color: #ffffff !important;
}

.btn.btn-color-206917.btn-outline:active,
.btn.btn-color-206917.btn-outline:focus {
	background-color: transparent !important;
	border-color: #ffffff !important;
	color: #ffffff !important;
	opacity: 0.7 !important;
}

.btn.btn-color-206917.btn-outline:disabled,
.btn.btn-color-206917.btn-outline[disabled] {
	background-color: transparent !important;
	border: 2px solid rgba(245, 254, 254, 0.2) !important;
	color: #ffffff !important;
	opacity: 0.4 !important;
	cursor: not-allowed;
}

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

/* Special Case: Light Blue Accent Button */
.btn-container .btn-color-154758 {
	border-color: var(--uncode-palette-color-589256) !important;
	color: var(--uncode-palette-color-589256) !important;
	background: transparent !important;
}
.btn-color-154758:not(.btn-flat):not(.btn-hover-nobg):not(.icon-animated):not(.btn-text-skin):hover {
	border-color: var(--uncode-palette-color-210407) !important;
	background-color: var(--uncode-palette-color-210407) !important;
	color: #ffffff !important;	
}

/* Navigation CTA Button */
.menu-container .cta-phone.menu-item a:hover {
	border-color: var(--uncode-palette-color-210407) !important;
	background-color: #784458 !important;
	color: #ffffff !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 (Uncode resets)
   ======================================= */
.btn.btn-link {
	padding: 14px 25px !important;
	border: 2px solid transparent !important;
	border-radius: 28px !important;
	background-color: var(--uncode-palette-color-210407) !important;
	border-color: var(--uncode-palette-color-210407) !important;
	color: #ffffff !important;
}

.btn.btn-link:hover {
	background-color: #784458 !important;
	border-color: #784458 !important;
	color: #ffffff !important;
}

.btn.btn-link:active,
.btn.btn-link:focus {
	background-color: #693C4D !important;
	border-color: #693C4D !important;
	color: #ffffff !important;
}

/* =======================================
   Button: .btn-default override (Uncode skins)
   ======================================= */
.btn.btn-default:not(.btn-outline) {
	background-color: var(--uncode-palette-color-210407) !important;
	border-color: var(--uncode-palette-color-210407) !important;
	color: #ffffff !important;
}

.btn.btn-default:not(.btn-outline):hover {
	background-color: #784458 !important;
	border-color: #784458 !important;
	color: #ffffff !important;
}

.btn.btn-default:not(.btn-outline):active,
.btn.btn-default:not(.btn-outline):focus {
	background-color: #693C4D !important;
	border-color: #693C4D !important;
	color: #ffffff !important;
}

.btn.btn-default.btn-outline,
.style-light .btn-default.btn-outline {
	background-color: transparent !important;
	color: var(--uncode-palette-color-589256) !important;
	border: 2px solid rgba(21, 34, 41, 0.2) !important;
}

.btn.btn-default.btn-outline:hover,
.style-light .btn-default.btn-outline:not(.icon-animated):not(.icon-automatic-video):hover {
	background-color: transparent !important;
	border-color: #252D30 !important;
	color: #252D30 !important;
}

.btn.btn-default.btn-outline:active,
.btn.btn-default.btn-outline:focus,
.style-light .btn-default.btn-outline:not(.icon-animated):not(.icon-automatic-video):active,
.style-light .btn-default.btn-outline:not(.icon-animated):not(.icon-automatic-video):focus {
	background-color: transparent !important;
	border-color: #252D30 !important;
	color: #252D30 !important;
	opacity: 0.70 !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-210407);
	border: 2px solid var(--uncode-palette-color-210407);
	color: #ffffff;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
}

input[type="submit"]:hover {
	background-color: #784458;
	border-color: #784458;
	color: #ffffff;
}

input[type="submit"]:active,
input[type="submit"]:focus {
	background-color: #693C4D;
	border-color: #693C4D;
	color: #ffffff;
}

/* =======================================
   Button: :visited color protection
   ======================================= */
.btn:visited,
.btn.btn-link:visited {
	color: #ffffff !important;
}

.btn.btn-outline:visited,
.btn.btn-default.btn-outline:visited {
	color: var(--uncode-palette-color-589256) !important;
}

.btn.btn-color-206917.btn-outline:visited {
	color: #ffffff !important;
}

.btn.btn-color-xsdn:visited,
.btn.btn-white:visited {
	color: var(--uncode-palette-color-210407) !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;
}

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

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

.gform_wrapper .gform_button {
    background: linear-gradient(180deg, #31c3f2 0%, #1d87af 100%) !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 42px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    padding: 0 20px !important;
    height: 40px !important;
    line-height: 40px !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}
.gform_wrapper .gform_button:hover {
    background: linear-gradient(180deg, #1d87af 0%, #00526d 100%) !important;
}

.gform_wrapper .gform_button:focus {
    outline-color: #00526d !important;
    box-shadow: 0 0 0 3px rgba(0, 82, 109, 0.25) !important;
}
