/* ==========================================================================
   Revs Institute — Global Gravity Forms Dark Theme
   Inspired by Tailwind UI Dark with Revs Red (#d22730) accents.
   Overrides: GF theme.min.css, basic.min.css, AND Uncode .style-dark rules.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design Tokens
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme {
    --gf-input-bg: #1e1e1e;
    --gf-input-bg-hover: #262626;
    --gf-input-border: rgba(255, 255, 255, 0.12);
    --gf-input-border-hover: rgba(255, 255, 255, 0.2);
    --gf-input-radius: 6px;
    --gf-input-padding: 10px 14px;
    --gf-text: #f5f5f5;
    --gf-text-label: #e5e5e5;
    --gf-text-sub: #a3a3a3;
    --gf-text-placeholder: #737373;
    --gf-text-muted: #525252;
    --gf-accent: #d22730;
    --gf-accent-dark: #a81d26;
    --gf-accent-ring: 0 0 0 2px #d22730, 0 0 0 4px rgba(210, 39, 48, 0.25);
    --gf-error-bg: rgba(210, 39, 48, 0.1);
    --gf-error-border: rgba(210, 39, 48, 0.4);
    --gf-error-text: #fca5a5;
    --gf-divider: rgba(255, 255, 255, 0.08);
    --gf-font: 'Regular PRO', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* --------------------------------------------------------------------------
   2. Labels & Text
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gfield_label,
body .gform_wrapper.gravity-theme label.gfield_label,
body .gform_wrapper.gravity-theme legend.gfield_label {
    color: var(--gf-text-label) !important;
    font-family: var(--gf-font) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.01em;
}

body .gform_wrapper.gravity-theme .gfield_required {
    color: var(--gf-accent) !important;
}

body .gform_wrapper.gravity-theme .description,
body .gform_wrapper.gravity-theme .gfield_description,
body .gform_wrapper.gravity-theme .gsection_description,
body .gform_wrapper.gravity-theme .instruction {
    color: var(--gf-text-sub) !important;
    font-size: 0.875rem !important;
}

body .gform_wrapper.gravity-theme .ginput_complex label {
    color: var(--gf-text-sub) !important;
    font-weight: 400 !important;
    font-size: 0.8125rem !important;
}

body .gform_wrapper.gravity-theme .gform_required_legend {
    color: var(--gf-text-sub) !important;
}

/* --------------------------------------------------------------------------
   3. All Input Fields
   Force solid dark backgrounds to override Uncode's:
     .style-dark input { background-color: transparent }
     .input-underline input { background: none !important }
   -------------------------------------------------------------------------- */

html body .gform_wrapper.gravity-theme input[type="text"],
html body .gform_wrapper.gravity-theme input[type="email"],
html body .gform_wrapper.gravity-theme input[type="tel"],
html body .gform_wrapper.gravity-theme input[type="number"],
html body .gform_wrapper.gravity-theme input[type="url"],
html body .gform_wrapper.gravity-theme input[type="password"],
html body .gform_wrapper.gravity-theme input[type="date"],
html body .gform_wrapper.gravity-theme input[type="datetime-local"],
html body .gform_wrapper.gravity-theme input[type="month"],
html body .gform_wrapper.gravity-theme input[type="week"],
html body .gform_wrapper.gravity-theme input[type="time"],
html body .gform_wrapper.gravity-theme input[type="search"],
html body .gform_wrapper.gravity-theme textarea,
html body .gform_wrapper.gravity-theme select {
    background-color: var(--gf-input-bg) !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
    color: var(--gf-text) !important;
    font-family: var(--gf-font) !important;
    font-size: 0.9375rem !important;
    padding: var(--gf-input-padding) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    outline: none !important;
    box-shadow: none !important;
}

/* Also override .style-dark and .input-underline at max specificity */
html body .style-dark .gform_wrapper.gravity-theme input[type="text"],
html body .style-dark .gform_wrapper.gravity-theme input[type="email"],
html body .style-dark .gform_wrapper.gravity-theme input[type="tel"],
html body .style-dark .gform_wrapper.gravity-theme input[type="number"],
html body .style-dark .gform_wrapper.gravity-theme input[type="url"],
html body .style-dark .gform_wrapper.gravity-theme input[type="password"],
html body .style-dark .gform_wrapper.gravity-theme textarea,
html body .style-dark .gform_wrapper.gravity-theme select,
html body .input-underline .gform_wrapper.gravity-theme input[type="text"],
html body .input-underline .gform_wrapper.gravity-theme input[type="email"],
html body .input-underline .gform_wrapper.gravity-theme input[type="tel"],
html body .input-underline .gform_wrapper.gravity-theme input[type="number"],
html body .input-underline .gform_wrapper.gravity-theme input[type="url"],
html body .input-underline .gform_wrapper.gravity-theme input[type="password"],
html body .input-underline .gform_wrapper.gravity-theme textarea,
html body .input-underline .gform_wrapper.gravity-theme select,
html body .input-background .gform_wrapper.gravity-theme input[type="text"],
html body .input-background .gform_wrapper.gravity-theme input[type="email"],
html body .input-background .gform_wrapper.gravity-theme input[type="tel"],
html body .input-background .gform_wrapper.gravity-theme input[type="number"],
html body .input-background .gform_wrapper.gravity-theme input[type="url"],
html body .input-background .gform_wrapper.gravity-theme input[type="password"],
html body .input-background .gform_wrapper.gravity-theme textarea,
html body .input-background .gform_wrapper.gravity-theme select {
    background-color: var(--gf-input-bg) !important;
    background-image: none !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
    color: var(--gf-text) !important;
    padding: var(--gf-input-padding) !important;
}

/* Re-apply caret on selects at this higher specificity */
html body .style-dark .gform_wrapper.gravity-theme select,
html body .input-underline .gform_wrapper.gravity-theme select,
html body .input-background .gform_wrapper.gravity-theme select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='%23a3a3a3'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 20px !important;
    padding-right: 40px !important;
}

/* Hover */
html body .gform_wrapper.gravity-theme input[type="text"]:hover,
html body .gform_wrapper.gravity-theme input[type="email"]:hover,
html body .gform_wrapper.gravity-theme input[type="tel"]:hover,
html body .gform_wrapper.gravity-theme input[type="number"]:hover,
html body .gform_wrapper.gravity-theme input[type="url"]:hover,
html body .gform_wrapper.gravity-theme input[type="password"]:hover,
html body .gform_wrapper.gravity-theme textarea:hover,
html body .gform_wrapper.gravity-theme select:hover {
    background-color: var(--gf-input-bg-hover) !important;
    border-color: var(--gf-input-border-hover) !important;
}

/* Focus — Revs Red ring, Tailwind-style offset */
html body .gform_wrapper.gravity-theme input[type="text"]:focus,
html body .gform_wrapper.gravity-theme input[type="email"]:focus,
html body .gform_wrapper.gravity-theme input[type="tel"]:focus,
html body .gform_wrapper.gravity-theme input[type="number"]:focus,
html body .gform_wrapper.gravity-theme input[type="url"]:focus,
html body .gform_wrapper.gravity-theme input[type="password"]:focus,
html body .gform_wrapper.gravity-theme input[type="date"]:focus,
html body .gform_wrapper.gravity-theme input[type="search"]:focus,
html body .gform_wrapper.gravity-theme textarea:focus,
html body .gform_wrapper.gravity-theme select:focus {
    background-color: var(--gf-input-bg-hover) !important;
    border-color: var(--gf-accent) !important;
    box-shadow: var(--gf-accent-ring) !important;
    outline: none !important;
}

/* Placeholder */
body .gform_wrapper.gravity-theme ::placeholder {
    color: var(--gf-text-placeholder) !important;
    opacity: 1 !important;
}

body .gform_wrapper.gravity-theme ::-ms-input-placeholder {
    color: var(--gf-text-placeholder) !important;
}

/*
 * Uncode/WP Rocket injects:
 *   .input-background .style-dark input[type="email"]::placeholder { color: #000 !important }
 * We must match that ancestry to win the specificity war.
 */
html body .input-background .style-dark .gform_wrapper.gravity-theme input[type="email"]::placeholder,
html body .input-background .style-dark .gform_wrapper.gravity-theme input[type="email"]::-webkit-input-placeholder,
html body .input-background .style-dark .gform_wrapper.gravity-theme input[type="email"]::-moz-placeholder,
html body .input-background .style-dark .gform_wrapper.gravity-theme input[type="email"]:-ms-input-placeholder,
html body .input-background .style-light .style-dark .gform_wrapper.gravity-theme input[type="email"]::placeholder,
html body .input-background .style-light .style-dark .gform_wrapper.gravity-theme input[type="email"]::-webkit-input-placeholder,
html body .style-dark .gform_wrapper.gravity-theme input[type="email"]::placeholder,
html body .style-dark .gform_wrapper.gravity-theme input[type="email"]::-webkit-input-placeholder,
html body .input-background .style-dark input[type="email"]::placeholder,
html body .input-background .style-dark input[type="email"]::-webkit-input-placeholder {
    color: var(--gf-text-placeholder) !important;
    opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   4. Dropdowns / Select
   -------------------------------------------------------------------------- */

html body .gform_wrapper.gravity-theme select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='%23a3a3a3'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 20px !important;
    padding-right: 40px !important;
}

html body .gform_wrapper.gravity-theme select option,
html body .style-dark .gform_wrapper.gravity-theme select option,
html body .input-background .gform_wrapper.gravity-theme select option,
html body .input-background .style-dark .gform_wrapper.gravity-theme select option,
html body .input-background .style-dark select option {
    background-color: #1e1e1e !important;
    color: #f5f5f5 !important;
    padding: 8px;
}

/* --------------------------------------------------------------------------
   5. Checkboxes & Radios
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gfield_checkbox label,
body .gform_wrapper.gravity-theme .gfield_radio label {
    color: var(--gf-text) !important;
    font-size: 0.9375rem !important;
}

body .gform_wrapper.gravity-theme .gfield-choice-input {
    accent-color: var(--gf-accent);
    width: 16px;
    height: 16px;
}

body .gform_wrapper.gravity-theme .gfield-choice-input:disabled + label {
    color: var(--gf-text-muted) !important;
}

/* --------------------------------------------------------------------------
   6. File Upload — Tailwind dashed upload zone style
   -------------------------------------------------------------------------- */

html body .gform_wrapper.gravity-theme .gform_drop_area {
    background: transparent !important;
    border: 2px dashed rgba(255, 255, 255, 0.15) !important;
    border-radius: var(--gf-input-radius) !important;
    color: var(--gf-text-sub) !important;
    padding: 40px 32px !important;
    text-align: center !important;
    transition: border-color 0.2s ease;
}

html body .gform_wrapper.gravity-theme .gform_drop_area:hover {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

body .gform_wrapper.gravity-theme .gform_drop_instructions {
    color: var(--gf-text-sub) !important;
    font-size: 0.875rem !important;
}

html body .gform_wrapper.gravity-theme .gform_button_select_files,
html body .gform_wrapper.gravity-theme .gform_drop_area .button {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--gf-text) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 8px 16px !important;
    border-radius: var(--gf-input-radius) !important;
    font-family: var(--gf-font) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

html body .gform_wrapper.gravity-theme .gform_button_select_files:hover,
html body .gform_wrapper.gravity-theme .gform_drop_area .button:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

body .gform_wrapper.gravity-theme .gform_fileupload_rules {
    color: var(--gf-text-muted) !important;
    font-size: 0.75rem !important;
}

body .gform_wrapper.gravity-theme .ginput_preview {
    color: var(--gf-text-sub) !important;
}

/* --------------------------------------------------------------------------
   7. Submit Button — Revs Red, bold
   -------------------------------------------------------------------------- */

html body .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
html body .gform_wrapper.gravity-theme .gform_footer button[type="submit"],
html body .gform_wrapper.gravity-theme .gform_footer .gform_button,
html body .gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
html body .gform_wrapper.gravity-theme .gform_page_footer button[type="submit"],
html body .gform_wrapper.gravity-theme #field_submit input[type="submit"],
html body .gform_wrapper.gravity-theme #field_submit button[type="submit"] {
    background: var(--gf-accent) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 32px !important;
    font-family: 'Gotham', 'Orbitron', var(--gf-font) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    border-radius: var(--gf-input-radius) !important;
    transition: all 0.2s ease !important;
    -webkit-appearance: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

html body .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
html body .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover,
html body .gform_wrapper.gravity-theme .gform_footer .gform_button:hover,
html body .gform_wrapper.gravity-theme .gform_page_footer input[type="submit"]:hover,
html body .gform_wrapper.gravity-theme #field_submit input[type="submit"]:hover,
html body .gform_wrapper.gravity-theme #field_submit button[type="submit"]:hover {
    background: var(--gf-accent-dark) !important;
    box-shadow: 0 4px 12px rgba(210, 39, 48, 0.35) !important;
    transform: translateY(-1px);
}

html body .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:focus-visible,
html body .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:focus-visible,
html body .gform_wrapper.gravity-theme #field_submit input[type="submit"]:focus-visible,
html body .gform_wrapper.gravity-theme #field_submit button[type="submit"]:focus-visible {
    box-shadow: 0 0 0 2px #1e1e1e, 0 0 0 4px var(--gf-accent) !important;
    outline: none !important;
}

html body .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:disabled,
html body .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Previous / Save — ghost button */
html body .gform_wrapper.gravity-theme .gform_previous_button.button,
html body .gform_wrapper.gravity-theme .gform_save_link.button {
    background-color: transparent !important;
    color: var(--gf-text-sub) !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
}

html body .gform_wrapper.gravity-theme .gform_previous_button.button:hover,
html body .gform_wrapper.gravity-theme .gform_save_link.button:hover {
    border-color: var(--gf-input-border-hover) !important;
    color: var(--gf-text) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* --------------------------------------------------------------------------
   8. Validation — Form Level
   -------------------------------------------------------------------------- */

html body .gform_wrapper.gravity-theme .gform_validation_errors {
    background: var(--gf-error-bg) !important;
    border: 1px solid var(--gf-error-border) !important;
    border-radius: var(--gf-input-radius) !important;
    box-shadow: none !important;
    padding: 16px 16px 16px 48px !important;
}

body .gform_wrapper.gravity-theme .gform_validation_errors:focus {
    outline: 2px solid var(--gf-error-text) !important;
    outline-offset: 2px !important;
}

body .gform_wrapper.gravity-theme .gform_validation_errors > h2,
body .gform_wrapper.gravity-theme .gform_validation_errors .gform_submission_error,
body .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol a,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol li {
    color: var(--gf-error-text) !important;
}

body .gform_wrapper.gravity-theme .validation_error {
    background: var(--gf-error-bg) !important;
    border-color: var(--gf-error-border) !important;
    color: var(--gf-error-text) !important;
}

/* --------------------------------------------------------------------------
   9. Validation — Field Level
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gfield_error .gfield_label,
body .gform_wrapper.gravity-theme .gfield_error label,
body .gform_wrapper.gravity-theme .gfield_error legend,
body .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
body .gform_wrapper.gravity-theme [aria-invalid="true"] + label {
    color: var(--gf-error-text) !important;
}

html body .gform_wrapper.gravity-theme .gfield_validation_message,
html body .gform_wrapper.gravity-theme .validation_message {
    background: var(--gf-error-bg) !important;
    border: 1px solid var(--gf-error-border) !important;
    color: var(--gf-error-text) !important;
    border-radius: var(--gf-input-radius) !important;
    font-size: 0.8125rem !important;
}

html body .gform_wrapper.gravity-theme .gfield_error input,
html body .gform_wrapper.gravity-theme .gfield_error textarea,
html body .gform_wrapper.gravity-theme .gfield_error select,
html body .gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"] {
    border-color: var(--gf-error-border) !important;
    box-shadow: 0 0 0 1px var(--gf-error-border) !important;
}

/* --------------------------------------------------------------------------
   10. Section Breaks
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gsection {
    border-bottom: 1px solid var(--gf-divider) !important;
    padding-bottom: 12px !important;
}

body .gform_wrapper.gravity-theme .gsection .gsection_title {
    color: var(--gf-text) !important;
    font-family: 'English 1766', var(--gf-font) !important;
    font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   11. Character Counter
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .ginput_counter {
    color: var(--gf-text-muted) !important;
    font-size: 0.75rem !important;
}

body .gform_wrapper.gravity-theme .ginput_counter_tinymce {
    border-top-color: var(--gf-divider) !important;
    color: var(--gf-text-muted) !important;
}

/* --------------------------------------------------------------------------
   12. Multi-Page Progress & Steps
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gf_progressbar_title {
    color: var(--gf-text-sub) !important;
}

body .gform_wrapper.gravity-theme .gf_progressbar {
    background: rgba(255, 255, 255, 0.06) !important;
    border-radius: 999px !important;
}

body .gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue,
body .gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_gray {
    background-color: var(--gf-accent) !important;
}

body .gform_wrapper.gravity-theme .gf_page_steps {
    border-bottom-color: var(--gf-divider) !important;
}

body .gform_wrapper.gravity-theme .gf_step_number {
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--gf-text-sub) !important;
    background: transparent !important;
}

body .gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
    background: var(--gf-accent) !important;
    border-color: var(--gf-accent) !important;
    color: #ffffff !important;
}

body .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before {
    background: var(--gf-accent-dark) !important;
    border-color: var(--gf-accent-dark) !important;
}

body .gform_wrapper.gravity-theme .gf_step_label {
    color: var(--gf-text-sub) !important;
}

/* --------------------------------------------------------------------------
   13. Datepicker
   -------------------------------------------------------------------------- */

.gravity-theme.ui-datepicker {
    background: #1e1e1e !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
    color: var(--gf-text, #f5f5f5) !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-header {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next,
.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
    color: #a3a3a3 !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover,
.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover {
    color: #f5f5f5 !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-header select {
    color: #f5f5f5 !important;
    background-color: transparent !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar th span {
    color: #737373 !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default {
    color: #a3a3a3 !important;
    background: transparent !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default:hover {
    border-color: #d22730 !important;
    color: #f5f5f5 !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default {
    background: #d22730 !important;
    border-color: #d22730 !important;
    color: #ffffff !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-disabled .ui-state-default {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: transparent !important;
    color: #525252 !important;
}

/* --------------------------------------------------------------------------
   14. Enhanced Dropdowns (Chosen)
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .chosen-container-single .chosen-single {
    background: var(--gf-input-bg) !important;
    background-image: none !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
    color: var(--gf-text) !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: inherit !important;
    padding: var(--gf-input-padding) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-single .chosen-single span {
    color: var(--gf-text) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-single .chosen-default {
    color: var(--gf-text-placeholder) !important;
}

body .gform_wrapper.gravity-theme .chosen-container .chosen-drop {
    background: #1e1e1e !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0 0 var(--gf-input-radius) var(--gf-input-radius) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4) !important;
}

body .gform_wrapper.gravity-theme .chosen-container .chosen-results li {
    color: var(--gf-text-sub) !important;
}

body .gform_wrapper.gravity-theme .chosen-container .chosen-results li.highlighted {
    background-color: var(--gf-accent) !important;
    background-image: none !important;
    color: #ffffff !important;
}

body .gform_wrapper.gravity-theme .chosen-container .chosen-results li.no-results {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--gf-text-muted) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-active .chosen-single {
    border-color: var(--gf-accent) !important;
    box-shadow: var(--gf-accent-ring) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-active.chosen-with-drop .chosen-single {
    background-image: none !important;
    background: var(--gf-input-bg-hover) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices {
    background-color: var(--gf-input-bg) !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice {
    background: rgba(255, 255, 255, 0.1) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 4px !important;
    color: var(--gf-text) !important;
}

body .gform_wrapper.gravity-theme .chosen-container-single .chosen-search input[type="text"] {
    background-color: var(--gf-input-bg) !important;
    border: 1px solid var(--gf-input-border) !important;
    color: var(--gf-text) !important;
    border-radius: var(--gf-input-radius) !important;
}

/* --------------------------------------------------------------------------
   15. Consent, Credit Card, Password Strength
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gfield_consent_description {
    background: var(--gf-input-bg) !important;
    border-color: var(--gf-input-border) !important;
    color: var(--gf-text-sub) !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .gfield_creditcard_warning {
    background-color: var(--gf-error-bg) !important;
    border-color: var(--gf-error-border) !important;
}

body .gform_wrapper.gravity-theme .gfield_creditcard_warning .gfield_creditcard_warning_message {
    color: var(--gf-error-text) !important;
}

body .gform_wrapper.gravity-theme .gfield_password_strength {
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
    color: var(--gf-text) !important;
}

body .gform_wrapper.gravity-theme .gfield_password_strength.short,
body .gform_wrapper.gravity-theme .gfield_password_strength.mismatch {
    background-color: rgba(210, 39, 48, 0.2) !important;
    border-color: rgba(210, 39, 48, 0.4) !important;
}

body .gform_wrapper.gravity-theme .gfield_password_strength.bad {
    background-color: rgba(251, 146, 60, 0.15) !important;
    border-color: rgba(251, 146, 60, 0.4) !important;
}

body .gform_wrapper.gravity-theme .gfield_password_strength.good {
    background-color: rgba(250, 204, 21, 0.1) !important;
    border-color: rgba(250, 204, 21, 0.3) !important;
}

body .gform_wrapper.gravity-theme .gfield_password_strength.strong {
    background-color: rgba(74, 222, 128, 0.12) !important;
    border-color: rgba(74, 222, 128, 0.3) !important;
}

body .gform_wrapper.gravity-theme .gform_show_password {
    color: var(--gf-text-muted) !important;
}

/* --------------------------------------------------------------------------
   16. List / Repeater Fields
   -------------------------------------------------------------------------- */

html body .gform_wrapper.gravity-theme .gfield_list_group_item input,
html body .gform_wrapper.gravity-theme .gfield_list_group_item select {
    background: var(--gf-input-bg) !important;
    border: 1px solid var(--gf-input-border) !important;
    color: var(--gf-text) !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .gfield_list_icons button {
    filter: invert(0.7);
}

body .gform_wrapper.gravity-theme .gfield_list_icons button:hover {
    filter: invert(1);
}

body .gform_wrapper.gravity-theme .gfield_list_group_item::before {
    color: var(--gf-text-sub) !important;
}

body .gform_wrapper.gravity-theme .gfield_repeater_cell > .gfield_repeater_wrapper {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-left: 3px solid var(--gf-divider) !important;
    border-bottom: 1px solid var(--gf-divider) !important;
    border-radius: var(--gf-input-radius) !important;
    box-shadow: none !important;
}

body .gform_wrapper.gravity-theme .gfield_repeater_cell label {
    color: var(--gf-text-muted) !important;
}

/* --------------------------------------------------------------------------
   17. Product, Total, HTML, Scroll Text
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .ginput_product_price,
body .gform_wrapper.gravity-theme .ginput_shipping_price {
    color: var(--gf-accent) !important;
}

body .gform_wrapper.gravity-theme .ginput_total {
    color: #4ade80 !important;
}

body .gform_wrapper.gravity-theme .gsection.gf_scroll_text {
    background-color: var(--gf-input-bg) !important;
    border: 1px solid var(--gf-input-border) !important;
    border-radius: var(--gf-input-radius) !important;
    color: var(--gf-text-sub) !important;
}

body .gform_wrapper.gravity-theme .gfield.gfield_html {
    color: var(--gf-text-sub) !important;
}

/* Alert variants */
body .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_red {
    background-color: var(--gf-error-bg) !important;
    border: 1px solid var(--gf-error-border) !important;
    color: var(--gf-error-text) !important;
    text-shadow: none !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_green {
    background-color: rgba(74, 222, 128, 0.08) !important;
    border: 1px solid rgba(74, 222, 128, 0.25) !important;
    color: #86efac !important;
    text-shadow: none !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_yellow {
    background-color: rgba(250, 204, 21, 0.08) !important;
    border: 1px solid rgba(250, 204, 21, 0.25) !important;
    color: #fde68a !important;
    text-shadow: none !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_gray {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--gf-input-border) !important;
    color: var(--gf-text-sub) !important;
    text-shadow: none !important;
    border-radius: var(--gf-input-radius) !important;
}

body .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_blue {
    background-color: rgba(96, 165, 250, 0.08) !important;
    border: 1px solid rgba(96, 165, 250, 0.25) !important;
    color: #93c5fd !important;
    text-shadow: none !important;
    border-radius: var(--gf-input-radius) !important;
}

/* --------------------------------------------------------------------------
   18. Image Choice
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image-no-image {
    background-color: rgba(255, 255, 255, 0.04) !important;
    color: var(--gf-text-muted) !important;
}

body .gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where(:has(input:checked))::after {
    background-color: var(--gf-accent) !important;
}

body .gform_wrapper.gravity-theme .gfield_error .ginput_container_image_choice .gfield-choice-image-wrapper::before {
    border-color: var(--gf-error-text) !important;
}

/* --------------------------------------------------------------------------
   19. Confirmation Messages
   -------------------------------------------------------------------------- */

.gform_confirmation_wrapper,
.gform_confirmation_wrapper .gform_confirmation_message {
    color: #f5f5f5 !important;
}

.gform_confirmation_wrapper.gf_confirmation_simple_yellow {
    background-color: rgba(250, 204, 21, 0.08) !important;
    border-color: rgba(250, 204, 21, 0.25) !important;
    color: #fde68a !important;
}

.gform_confirmation_wrapper.gf_confirmation_simple_gray {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #a3a3a3 !important;
}

/* --------------------------------------------------------------------------
   20. Loader / Spinner
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .gform-loader {
    border-block-end-color: var(--gf-accent) !important;
    border-inline-start-color: var(--gf-accent) !important;
    border-block-start-color: transparent !important;
    border-inline-end-color: transparent !important;
}

/* --------------------------------------------------------------------------
   21. reCAPTCHA
   -------------------------------------------------------------------------- */

body .gform_wrapper.gravity-theme .ginput_recaptcha {
    transform: scale(0.95);
    transform-origin: left top;
}

/* --------------------------------------------------------------------------
   22. Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 640px) {
    body .gform_wrapper.gravity-theme .gfield_list_group {
        border-color: var(--gf-divider) !important;
        border-radius: var(--gf-input-radius) !important;
    }

    body .gform_wrapper.gravity-theme .gfield_list_icons {
        background-color: rgba(255, 255, 255, 0.03) !important;
    }
}

/* --------------------------------------------------------------------------
   23. Print
   -------------------------------------------------------------------------- */

@media print {
    html body .gform_wrapper.gravity-theme input,
    html body .gform_wrapper.gravity-theme textarea,
    html body .gform_wrapper.gravity-theme select {
        background: #fff !important;
        color: #000 !important;
        border: 1px solid #ccc !important;
    }

    body .gform_wrapper.gravity-theme .gfield_label,
    body .gform_wrapper.gravity-theme label {
        color: #000 !important;
    }
}
