/*---------- [ =Forms]----------*/
div[id^="gform_wrapper"] h2.gform_title { font-size: var(--fs-lg); }
.gfield :is(.gfield_radio, .gfield_checkbox) .gchoice:focus-within, .ginput_container_consent:focus-within { outline: 1px dotted var(--c-primary-800); }
.entry-content .gform_wrapper input:not([type="submit"]):focus, .entry-content .gform_wrapper select:focus, .entry-content .gform_wrapper textarea:focus { box-shadow: 0 0 0 2px var(--c-primary); }
.gform_wrapper.gravity-theme form .gfield_label { margin-bottom: 0; }
.gform_wrapper.gravity-theme form .gfield_description { padding-top: 0; }
.gform_wrapper.gravity-theme form .ginput_complex label { padding-top: 0;}
/*---------- [ =Stylized =Checkboxes & =Radio Buttons to replace unstyled default ]----------*/
.gfield.stylized :is(.gfield_radio, .gfield_checkbox) .gchoice,
.stylized .ginput_container_consent { position: relative; padding-left: 4ch; margin-bottom: 1ch; }
.gfield.stylized :is(.gfield_radio, .gfield_checkbox) .gchoice label::after,
.stylized .ginput_container_consent label::after { content: ""; background: var(--c-lightest); border: 1px solid var(--c-neutral); width: 2.3ch; height: 2.3ch; display: block; position: absolute; left: 0; top: 0; z-index: 0; transition: all 100ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.gfield.stylized:not(.checkboxed) .gfield_radio .gchoice label::after { border-radius: 100%; }
.gfield.stylized :is(.gfield_radio, .gfield_checkbox) .gchoice label::before,
.stylized .ginput_container_consent label::before { content: ""; display: block; position: absolute; width: .75ch; height: 1.5ch; border: solid var(--c-lightest); border-width: 0 2px 2px 0; left: .75ch; top: .15ch; transform: rotate(45deg); opacity: 0; z-index: 1; transition: all 150ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.gfield.stylized:not(.checkboxed) .gfield_radio .gchoice label::before { width: 1.5ch; height: 1.5ch; border: none; border-radius: 100%; left: .4ch; top: .4ch; transform: scale(0); background: var(--c-primary-focus); }
.gfield.stylized .ginput_container :is(input[type=checkbox], input[type=radio]),
.stylized .ginput_container_consent input[type=checkbox] { opacity: 0; outline: none; z-index: 100; width: 2.3ch; height: 2.3ch; top: 0; left: 0; position: absolute; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; }
.gfield.stylized .gfield_checkbox input[type=checkbox] + label,
.stylized .ginput_container_consent label { cursor: pointer; }
.gfield.stylized .ginput_container input[type=checkbox]:checked + label,
.gfield.stylized .ginput_container input[type=radio]:checked + label { font-weight: 500; }
.gfield.stylized .gfield_checkbox input[type=checkbox]:checked + label:before,
.stylized .ginput_container_consent input[type=checkbox]:checked + label::before,
.gfield.stylized.checkboxed .gfield_radio input[type=radio]:checked + label:before { opacity: 1; top: .15ch; }
.gfield.stylized .gfield_checkbox input[type=checkbox]:checked + label::after,
.stylized .ginput_container_consent input[type=checkbox]:checked + label::after,
.gfield.stylized.checkboxed .gfield_radio input[type=radio]:checked + label:after { background-color: var(--c-primary-focus); font-weight: normal; /*fixes checkbox size when bolding text on checked state*/ ; }
.gfield.stylized:not(.checkboxed) .gfield_radio input[type=radio]:checked + label:before { opacity: 1; transform: scale(1); }
.gfield.stylized .ginput_container input[type=checkbox] + label,
.gfield.stylized .ginput_container input[type=radio] + label { font-size: var(--wp--preset--font-size--md); }
/*---------- [ =Buttonized =Checkbox & =Radio Inputs for Gravity Forms ]----------*/
.gfield.buttonized :is(.gfield_radio, .gfield_checkbox) .gchoice { position: relative; padding: 0; margin-bottom: .5ch; }
.gform_wrapper :is(.gfield.buttonized input[type="radio"], .gfield.buttonized input[type="checkbox"]) { position: absolute; left: -9999px; }
.gfield.buttonized :is(.gfield_radio label, .gfield_checkbox label) { display: block !important; position: relative; max-width: 100%; padding: 1ch 1ch 1ch 5ch; font-size: var(--wp--preset--font-size--md); border-radius: var(--border-radius); background-color: var(--c-neutral-container); cursor: pointer; }
.gfield.buttonized :is(.gfield_radio label:hover, .gfield_checkbox label:hover) { background-color: var(--c-primary-container); font-weight: normal; /*fixes checkbox size when bolding text on checked state*/ ; }
.gform_wrapper .gfield.buttonized :is(input[type="radio"]:focus+label, input[type="checkbox"]:focus+label) { border-color: var(--c-primary-focus); }
.gfield.buttonized :is(input[type="radio"]:checked+label, input[type="checkbox"]:checked+label) { border-color: var(--c-primary-focus); background-color: var(--c-primary-100); color: var(--c-primary-focus); overflow: hidden; }
.gfield.buttonized input[type="radio"]:checked+label::before,
.gfield.buttonized input[type="checkbox"]:checked+label::before { content: ""; display: block; position: absolute; width: .8ch; height: 1.6ch; border: solid var(--c-primary-focus); border-width: 0 .25ch .25ch 0; border-radius: 0; background: none; left: 2ch; top: 1.25ch; transform: rotate(45deg); z-index: 1; transition: all 150ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.gfield.buttonized .gfield_radio label::before,
.gfield.buttonized .gfield_checkbox label::before { display: none; }
.gfield.buttonized .gfield_radio label::after,
.gfield.buttonized .gfield_checkbox label::after,
.gform_wrapper .gfield.buttonized input[type="radio"]:checked+label::after,
.gform_wrapper .gfield.buttonized input[type="checkbox"]:checked+label::after { display: none; }
/*---------- [ =Validation UI ]----------*/
.entry-content .gform_wrapper .gform_validation_errors > h2 .gform-icon { align-items: flex-start; top: auto; }
.entry-content .gform_wrapper .gfield_required { color: var(--c-alert); }
.entry-content .gform_wrapper.gravity-theme .gform_validation_errors,
.entry-content .gform_wrapper .gfield_validation_message.gfield_description,
.entry-content .gform_wrapper .validation_message.gfield_description { border: none; border-radius: 0; border-left: .25rem solid var(--c-alert); color: var(--c-alert); padding: calc(var(--s-base)*.5) !important; font-size: var(--fs-xs); background: var(--c-alert-container); }
.entry-content .gform_wrapper.gravity-theme .gform_validation_errors { padding-left: 3rem !important; }
.entry-content .gform_wrapper .gform_validation_errors h2.gform_submission_error { color: var(--c-alert); font-family: var(--ff-body); padding-left: 1rem; }
.entry-content .gform_wrapper .gform_validation_errors > ol a { color: var(--c-alert); }
/*---------- [ =Confirmation UI ]----------*/
.gform_confirmation_message { background: var(--c-lightest); padding: var(--s-md); }