/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
#contact_section { color: var(--wp--preset--color--content); }
.gfield { border: 1px solid var(--accent-color); border-radius: 0.3rem; overflow: hidden !important; background: var(--white); line-height: normal; }
.gfield:focus-within { outline: 2px auto -webkit-focus-ring-color; }
.gfield .gfield_label.gform-field-label { color: var(--accent-color); font-weight: normal; font-size: 0.7rem; margin-bottom: 0; padding-left: 0.6rem; }
.gfield .medium, .gfield .large { padding: 0 0.6rem 0.35rem !important; color: var(--content-color); background: var(--white); outline: none; border: 0 !important; }
.gform_footer { position: relative; margin-top: 0.7rem; }
.gform_footer { justify-content: center; }
.gform_button { transition: color 0.3s, background-color 0.3s; margin: 0.9rem auto 0; }
.gform_ajax_spinner { position: absolute; top: 0; right: 0.5rem; bottom: 0; margin: auto; border: 0.2em solid rgba(0, 0, 0, 0.4); border-left: 0.2em solid #07B084; border-radius: 50%; width: 1.2em; height: 1.2em; animation: spin 1.1s infinite linear; }
.gform_confirmation_message {font-family: inherit;font-size: 1.1em;font-weight: normal;background: rgba(255, 255, 255, 0.5);text-align: center;padding: 1rem 1rem 1.5rem;border: 5px dashed seagreen;border-radius: 0.75rem;color: seagreen;}
.gform_fileupload_rules { padding: 0 1rem 1rem; font-style: italic; }

/* Validation styling */ 
.gform_wrapper .gform_validation_errors .gform_submission_error { border: none; margin: 0; }
.gform_validation_errors p { margin: 0; }
.gfield_error { border-color: #c02b0a; }
.gfield_validation_message { border-left: none !important; border-right: none !important; border-bottom: none !important; }
.gform_required_legend, #contact_section .sidebar-form-content { display: none; }

/* Full width contact form */ 
#contact_section { --contain-padding: clamp(var(--mobile-padding, 1rem), calc(50vw - 20rem), 26.3rem); padding-top: clamp(2.4rem, 10vw, 6.25rem); padding-bottom: clamp(2.4rem, 10vw, 6.25rem); }
#contact_section .wp-block-cover__inner-container { background: rgba(255,255,255,0.9); padding: 1.25rem clamp(1.2rem, 10vw, 7.5rem) 3.25rem; }
#contact_section .gform_title {text-align: center;color: var(--wp--preset--color--h-2);}
#contact_section .gform_description {font-size: clamp(0.7rem, 3vw, 0.9rem);color: var(--wp--preset--color--h-2);}
#contact_section .contact-emergency {display: block;margin-bottom: 1rem;color: var(--wp--preset--color--h-2);}

@media (prefers-reduced-motion:no-preference) { 
    #contact_section .wp-block-cover__inner-container { opacity: 0; transform: translateY(2rem); transition: transform 0.6s, opacity 0.6s; }
    #contact_section.js-intersected .wp-block-cover__inner-container { opacity: 1; transform: translateY(0); }
}