

/* GRAVITY FORMS */

body .form-content .gform-theme--api,
body .form-content .gform-theme--foundation{
	--gf-form-gap-y: 10px;
	--gf-form-gap-x: 2rem;
}

body .gform-theme--foundation .gfield_visibility_hidden {
    position: absolute !important;
}

.gfield-detalle-salida{
	 position: absolute !important;
	 width: 0 !important;
	 height: 0 !important;
	 opacity: 0 !important;
	 pointer-events: none !important;
	 overflow: hidden  !important;
	 pointer-events: none  !important;
}

body .form-content{
    position: relative;
}
body .gform_heading{
	display: none;
}

body .form-content .gform_fields{
 position: relative;
}
body .form-content .gfield input,
body .form-content .gfield select,
body .form-content textarea,
body .form-content .gfield textarea.large{
	padding: 0.4em 0;
	background-color: #ffffff;
	font-family: inherit;
	font-size: 13px;
	min-height: 0px;
	outline: none;
	border: none;
	border-bottom: 1px solid #444;
	width: 100%;
	outline: none;
	border-radius: 0;
	box-shadow: none;
	height: auto;
}

body .form-content .gform-theme--framework .gform-field-label--type-inline{
	--gf-local-margin-x: 0;
    --gf-local-margin-y: 0.3rem;
}
body  ::placeholder{
	color: var(--green);
	font-weight: 300;
	font-size: 14px;
}

body .form-content .gfield textarea.large{
	height: 7rem;
	border-radius: 0;
}

body .form-content .gfield textarea.small{
	height: 4.2rem;
	border-radius: 0;
}


body .gfield_consent_label{
	font-size: 12px;
}
body .gfield_consent_label a{
}
body .form-content .gform_footer,
body .form-content .gform_page_footer {
    margin: 2rem auto;
    padding: 0px 0;
    display: flex;
    justify-content: center;
}


body .form-content .gfield input[type="checkbox"]{
	opacity: 0;
	visibility: hidden;
	position: absolute;
}

body .gfield_consent_label{
	position: relative;
	padding-left: 23px;
	display: block;
	padding-top: 0;
	font-size: 13px;
	text-align: left;
	font-weight: 400;
}
body .green-content .gfield_consent_label{
	color: #ffffff;
}
body .gfield_consent_label a{
}
body .gfield_consent_label:before{
	content: '';
	position: absolute;
	left: 0;
	top: -1px;
	width: 16px;
	height: 16px;
	border: 1px solid;
	border-radius: 3px;
}
body .gfield_consent_label:after{
	content: '';
	position: absolute;
	left: 2px;
	top: 1px;
	width: 12px;
	height: 12px;
	background: var(--color-primary);
	opacity: 0;
	visibility: hidden;
	border-radius: 3px;
}
body .ginput_container_consent input[type="checkbox"]:checked + .gfield_consent_label:before{}
body .ginput_container_consent input[type="checkbox"]:checked + .gfield_consent_label:after{
	opacity: 1;
	visibility: visible;
}

body .form-content .gfield,
body .gform_legacy_markup_wrapper li.gfield.gfield_error,
body .gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning{
	position: relative;
	background: none;
	border: none;
	width: 100%;
	margin-right: 0;
	max-width: 100%;
	min-width: 100%;
	padding: 0;
	margin: 0 0 0px;
	font-size: 14px;
	margin: 0;
}
body .form-content .gfield_label{
	font-size: 17px;
	margin: 0px 0 1px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--red);
}

body .form-content .gform_validation_errors{
	display: none;
}

body .form-content label a{
	font-weight: bold;
	
}
body .form-content [aria-invalid=true]+label a{
	color: #c02b0a;	
	
}

body .form-content .gfield_description{font-size: 10px;background: none;border: none;font-weight: 300;padding: 0;display: inline-block;background: #fff;width: auto;padding: 3px 6px;background: #f0e46e;color: #000;position: absolute;bottom: -20px;right: 0;font-size: 10px;width: auto;z-index: 1;}

body .form-content .ginput_container_consent +  .gfield_description{
	bottom: -20px;
}

.hidden_label > label{
	display: none ;
}
::input-placeholder {
 color: var(--main);
 font-weight: 300;
 
}
::-webkit-input-placeholder {
 color: var(--main);
 font-weight: 400;
 font-size: 15px;
 
}
body .gform_body{
	position: relative;
	overflow: hidden;
}
body .form-content input[type="submit"]{
	padding: 0.9rem 2rem !important;
	line-height: 1 !important;
	font-family: inherit !important;
	border: 1px solid var(--color-primary) !important;
	background-color: var(--color-primary) !important;
	color: #ffffff !important;
	border-radius: 2rem !important;
	font-size: 1.1rem !important;
	font-weight: bold !important;
}

/* ==========================================================================
   FOOTER CONTACT FORM - GRAVITY FORMS OVERRIDE
   ========================================================================== */

/* Footer Gravity Forms Container - Multiple selectors for better compatibility */
.footer-section .contact-form-container .gform_wrapper,
.footer-section .contact-form-container #gform_wrapper_1,
.footer-section .contact-form-container .gform_legacy_markup_wrapper,
.contact-form-container .gform_wrapper {
    background: transparent !important;
    border: none !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Footer Form Fields Layout */
.footer-section .contact-form-container .gform_body,
.contact-form-container .gform_body {
    display: grid !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Footer Form Row Layout */
.footer-section .contact-form-container .gform_fields,
.footer-section .contact-form-container ul.gform_fields,
.contact-form-container .gform_fields,
.contact-form-container ul.gform_fields {
    display: grid !important;
    gap: 1.5rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: auto !important;
}

/* First row - Two columns for Nombre and Email */
.footer-section .contact-form-container .gfield:nth-child(1),
.footer-section .contact-form-container .gfield:nth-child(2),
.contact-form-container .gfield:nth-child(1),
.contact-form-container .gfield:nth-child(2) {
    grid-column: span 1 !important;
    margin-right: 0 !important;
    width: 100% !important;
}

/* Full width fields (Asunto, Mensaje, Checkbox, Submit) */
.footer-section .contact-form-container .gfield:nth-child(n+3),
.contact-form-container .gfield:nth-child(n+3) {
    grid-column: span 2 !important;
    width: 100% !important;
}

/* Footer Form Inputs and Textarea Styling - Multiple selectors for better compatibility */
.footer-section .contact-form-container .gfield input[type="text"],
.footer-section .contact-form-container .gfield input[type="email"],
.footer-section .contact-form-container .gfield input[type="tel"],
.footer-section .contact-form-container .gfield input[type="url"],
.footer-section .contact-form-container .gfield textarea,
.contact-form-container .gfield input[type="text"],
.contact-form-container .gfield input[type="email"],
.contact-form-container .gfield input[type="tel"],
.contact-form-container .gfield input[type="url"],
.contact-form-container .gfield textarea,
.footer-section .ginput_container input,
.footer-section .ginput_container textarea,
.contact-form-container .ginput_container input,
.contact-form-container .ginput_container textarea {
    width: 100% !important;
    padding: 1rem !important;
    background-color: #f4e7de !important;
    border: none !important;
    border-radius: 0.25rem !important;
    font-family: 'Host_Grotesk', 'Inter', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    color: #892716 !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.footer-section .contact-form-container .gfield input:focus,
.footer-section .contact-form-container .gfield textarea:focus,
.contact-form-container .gfield input:focus,
.contact-form-container .gfield textarea:focus,
.footer-section .ginput_container input:focus,
.footer-section .ginput_container textarea:focus,
.contact-form-container .ginput_container input:focus,
.contact-form-container .ginput_container textarea:focus {
    background-color: #fff !important;
    box-shadow: 0 0 0 2px rgba(244, 231, 222, 0.5) !important;
}

.footer-section .contact-form-container .gfield input::placeholder,
.footer-section .contact-form-container .gfield textarea::placeholder,
.contact-form-container .gfield input::placeholder,
.contact-form-container .gfield textarea::placeholder,
.footer-section .ginput_container input::placeholder,
.footer-section .ginput_container textarea::placeholder,
.contact-form-container .ginput_container input::placeholder,
.contact-form-container .ginput_container textarea::placeholder {
    color: #892716 !important;
    opacity: 0.7 !important;
}

/* Footer Textarea specific styling */
.footer-section .contact-form-container .gfield textarea,
.contact-form-container .gfield textarea,
.footer-section .ginput_container textarea,
.contact-form-container .ginput_container textarea {
    resize: vertical !important;
    min-height: 8rem !important;
    height: 8rem !important;
}

/* Footer Field Labels - Hide them since we use placeholders */
.footer-section .contact-form-container .gfield_label,
.contact-form-container .gfield_label,
.footer-section .gfield_label {
    display: none !important;
}

/* Footer Checkbox Styling */
.footer-section .contact-form-container .gfield_checkbox,
.footer-section .contact-form-container .ginput_container_consent {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 1rem 0;
}

.footer-section .contact-form-container .gfield input[type="checkbox"] {
    display: none !important;
}

.footer-section .contact-form-container .gfield_consent_label,
.footer-section .contact-form-container .gfield_checkbox label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    cursor: pointer !important;
    font-family: 'Host_Grotesk', 'Inter', sans-serif !important;
    font-size: 0.9rem !important;
    color: #dca893 !important;
    line-height: 1.4 !important;
    padding-left: 0 !important;
    text-align: left !important;
    margin: 0 !important;
}
.footer-section .contact-form-container .gfield_consent_label{
	display: block !Important;
	padding-left: 0.3rem !important;
}

.footer-section .contact-form-container .gfield_consent_label:before,
.footer-section .contact-form-container .gfield_checkbox label:before {
    content: '' !important;
    width: 1.2rem !important;
    height: 1.2rem !important;
    border: 2px solid #dca893 !important;
    border-radius: 0.2rem !important;
    position: relative !important;
    left: -0.3rem !important;
    top: 0.3rem !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

.footer-section .contact-form-container .gfield_consent_label:after,
.footer-section .contact-form-container .gfield_checkbox label:after {
    display: none !important;
}

.footer-section .contact-form-container input[type="checkbox"]:checked + .gfield_consent_label:before,
.footer-section .contact-form-container input[type="checkbox"]:checked + label:before {
    background-color: #dca893 !important;
    border-color: #dca893 !important;
}

.footer-section .contact-form-container input[type="checkbox"]:checked + .gfield_consent_label:after,
.footer-section .contact-form-container input[type="checkbox"]:checked + label:after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -60%) rotate(45deg) !important;
    width: 0.4rem !important;
    height: 0.7rem !important;
    border: solid #892716 !important;
    border-width: 0 2px 2px 0 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Footer Submit Button */
.footer-section .contact-form-container .gform_footer,
.footer-section .contact-form-container .gform_page_footer,
.contact-form-container .gform_footer,
.contact-form-container .gform_page_footer {
    margin: 1rem 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
}

.footer-section .contact-form-container input[type="submit"],
.footer-section .contact-form-container .gform_button,
.contact-form-container input[type="submit"],
.contact-form-container .gform_button,
.footer-section .gform_footer input[type="submit"],
.footer-section .gform_footer .gform_button {
    width: 100% !important;
    padding: 1rem 2rem !important;
    background-color: #dca893 !important;
    border: none !important;
    border-radius: 0.25rem !important;
    font-family: 'Host_Grotesk', 'Inter', sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    color: #892716 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    display: inline-block !important;
    text-align: center !important;
}

.footer-section .contact-form-container input[type="submit"]:hover,
.footer-section .contact-form-container .gform_button:hover,
.contact-form-container input[type="submit"]:hover,
.contact-form-container .gform_button:hover,
.footer-section .gform_footer input[type="submit"]:hover,
.footer-section .gform_footer .gform_button:hover {
    background-color: #f4e7de !important;
    transform: translateY(-2px) !important;
}

.footer-section .contact-form-container input[type="submit"]:active,
.footer-section .contact-form-container .gform_button:active,
.contact-form-container input[type="submit"]:active,
.contact-form-container .gform_button:active,
.footer-section .gform_footer input[type="submit"]:active,
.footer-section .gform_footer .gform_button:active {
    transform: translateY(0) !important;
}

.footer-section .contact-form-container input[type="submit"]:disabled,
.footer-section .contact-form-container .gform_button:disabled,
.contact-form-container input[type="submit"]:disabled,
.contact-form-container .gform_button:disabled,
.footer-section .gform_footer input[type="submit"]:disabled,
.footer-section .gform_footer .gform_button:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Footer Form Validation */
.footer-section .contact-form-container .gfield input.gfield_error,
.footer-section .contact-form-container .gfield textarea.gfield_error {
    border: 2px solid #ff6b6b !important;
    background-color: #ffe5e5 !important;
}

.footer-section .contact-form-container .validation_error,
.footer-section .contact-form-container .gfield_error .gfield_description {
    color: #ff6b6b !important;
    font-family: 'Host_Grotesk', 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    margin-top: 0.5rem !important;
    padding: 0.5rem !important;
    background-color: rgba(255, 107, 107, 0.1) !important;
    border-radius: 0.25rem !important;
    border-left: 3px solid #ff6b6b !important;
    position: static !important;
    width: auto !important;
    bottom: auto !important;
    right: auto !important;
}

.footer-section .contact-form-container .gform_confirmation_message {
    color: #4caf50 !important;
    font-family: 'Host_Grotesk', 'Inter', sans-serif !important;
    font-size: 1rem !important;
    margin-bottom: 1rem !important;
    padding: 1rem !important;
    background-color: rgba(76, 175, 80, 0.1) !important;
    border-radius: 0.25rem !important;
    border-left: 3px solid #4caf50 !important;
    text-align: center !important;
}

/* Footer Form Responsive */
@media (max-width: 575px) {
    .footer-section .contact-form-container .gform_fields,
    .footer-section .contact-form-container ul.gform_fields,
    .contact-form-container .gform_fields,
    .contact-form-container ul.gform_fields {
        grid-template-columns: 1fr !important;
    }
    
    .footer-section .contact-form-container .gfield:nth-child(1),
    .footer-section .contact-form-container .gfield:nth-child(2),
    .contact-form-container .gfield:nth-child(1),
    .contact-form-container .gfield:nth-child(2) {
        grid-column: span 1 !important;
        width: 100% !important;
        margin-right: 0 !important;
    }
    
    .footer-section .contact-form-container .gfield:nth-child(n+3),
    .contact-form-container .gfield:nth-child(n+3) {
        grid-column: span 1 !important;
    }
}

/* Additional Gravity Forms elements that might need styling */
.footer-section .gform_validation_container,
.contact-form-container .gform_validation_container {
    display: none !important;
}

.footer-section .gf_progressbar_wrapper,
.contact-form-container .gf_progressbar_wrapper {
    display: none !important;
}

.footer-section .gsection,
.contact-form-container .gsection {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Override any default Gravity Forms styling that might interfere */
.footer-section .gfield_error,
.contact-form-container .gfield_error {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.footer-section .validation_message,
.contact-form-container .validation_message {
    color: #ff6b6b !important;
    font-family: 'Host_Grotesk', 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    margin-top: 0.5rem !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Force visibility for important elements */
.footer-section .contact-form-container,
.contact-form-container {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Debug helper - uncomment to see form structure */
/*
.footer-section .gform_wrapper * {
    border: 1px solid red !important;
    margin: 2px !important;
}
*/

.legal-wrapper{
	background-color: #f5f5f5;
    padding: 1rem 1rem;
    font-size: smaller;
    margin-block: 0.4rem;
}

.footer-section .gform-theme--framework .gform_validation_errors .gform_submission_error {
    color: #ffffff;
   }


   .gfield_required.gfield_required_text{
    color: #ffffff !important;
   }