/*
 * Gravity Forms styling for the 2026 theme.
 * Ported from the ASI-2025 theme and adapted for the corporate + warm variants.
 */

.gform_wrapper {
    max-width: 100% !important;
}

.gform_wrapper form {
    margin: 0 !important;
}

.gform_wrapper .gfield {
    margin-bottom: 1rem !important;
    padding: 0 !important;
}

.gform_wrapper .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    grid-column-gap: 1rem !important;
    grid-row-gap: 1rem !important;
}

.gform_wrapper .gform_fields > .gfield {
    margin-bottom: 0 !important;
    grid-column: span 12 !important;
}

.gform_wrapper .gform_fields > .gfield.gfield--width-half {
    grid-column: span 6 !important;
}

.gform_wrapper .gform_fields > .gfield.gfield--width-third {
    grid-column: span 4 !important;
}

.gform_wrapper .gform_fields > .gfield.gfield--width-two-thirds {
    grid-column: span 8 !important;
}

.gform_wrapper .gform_fields > .gfield.gfield--width-quarter {
    grid-column: span 3 !important;
}

@media (max-width: 640px) {
    .gform_wrapper .gform_fields > .gfield.gfield--width-half,
    .gform_wrapper .gform_fields > .gfield.gfield--width-third,
    .gform_wrapper .gform_fields > .gfield.gfield--width-two-thirds,
    .gform_wrapper .gform_fields > .gfield.gfield--width-quarter {
        grid-column: span 12 !important;
    }
}

.gform_wrapper .ginput_complex {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-column-gap: 1rem !important;
    grid-row-gap: 0 !important;
}

.gform_wrapper .ginput_complex > span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gform_wrapper .ginput_complex input {
    width: 100% !important;
    margin-bottom: 0.25rem !important;
}

.gform_wrapper .ginput_complex label,
.gform_wrapper .ginput_complex .gform-field-label {
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: rgb(107 114 128) !important;
    margin: 0.25rem 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

@media (max-width: 640px) {
    .gform_wrapper .ginput_complex {
        grid-template-columns: 1fr !important;
        grid-row-gap: 0.5rem !important;
    }
}

.gform_wrapper .gfield_label {
    display: block !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: rgb(55 65 81) !important;
    margin: 0 0 0.375rem 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

.gform_wrapper .gfield_description,
.gform_wrapper .gfield .gform-field-description {
    margin: 0.25rem 0 0 0 !important;
    padding: 0 !important;
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
}

.gform_wrapper .gform-body,
.gform_wrapper .gform_body {
    padding: 0 !important;
}

.gform_wrapper,
.gform_wrapper [class*="gform-spacing"],
.gform_wrapper [class*="gform-theme"],
.gform_wrapper.gravity-theme,
.gform_wrapper.gform_wrapper {
    --gf-ctrl-spacing-y-md: 1rem !important;
    --gf-ctrl-spacing-x-md: 1rem !important;
    --gform-theme-control-spacing-y: 1rem !important;
    --gform-theme-field-spacing: 1rem !important;
    --gf-form-gap-y: 1rem !important;
    --gf-form-gap-x: 1rem !important;
    --gform-theme--gap-row: 1rem !important;
    --gform-theme--gap-column: 1rem !important;
}

.gform_wrapper .gform_fields,
.gform_wrapper.gravity-theme .gform_fields {
    row-gap: 1rem !important;
    column-gap: 1rem !important;
}

.gform_wrapper .gfield.gfield--type-name .ginput_container_name,
.gform_wrapper .ginput_container_name {
    margin: 0 !important;
    padding: 0 !important;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper select,
.gform_wrapper textarea {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid rgb(209 213 219) !important;
    border-radius: 0.5rem !important;
    font-size: 1rem !important;
    background-color: #ffffff !important;
    color: rgb(17 24 39) !important;
    transition: all 0.15s ease !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px #003085 !important;
}

.gform_wrapper textarea {
    resize: vertical !important;
    min-height: 100px !important;
}

.gform_wrapper .gfield_required {
    color: rgb(220 38 38) !important;
}

.gform_wrapper .validation_error {
    background-color: rgb(254 242 242) !important;
    color: rgb(153 27 27) !important;
    border: 1px solid rgb(254 226 226) !important;
    border-radius: 0.5rem !important;
    padding: 1rem !important;
    margin-bottom: 1.5rem !important;
}

.gform_wrapper .gfield_error {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 1.5rem !important;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
    border-color: rgb(220 38 38) !important;
}

.gform_wrapper .validation_message {
    color: rgb(185 28 28) !important;
    font-size: 0.875rem !important;
    margin-top: 0.5rem !important;
}

.gform_wrapper .gform_footer {
    margin: 0 !important;
    padding: 0 !important;
}

.gform_wrapper .gform_button {
    width: 100% !important;
    background-color: #FFA500 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 1rem 1.5rem !important;
    border-radius: 0.5rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease !important;
    font-size: 1rem !important;
}

.gform_wrapper .gform_button:hover {
    background-color: #CC8400 !important;
}

.gform_wrapper .gform_button:disabled {
    background-color: rgb(209 213 219) !important;
    cursor: not-allowed !important;
}

.gform_confirmation_message {
    background-color: rgb(240 253 244) !important;
    color: rgb(22 101 52) !important;
    border: 1px solid rgb(134 239 172) !important;
    border-radius: 0.5rem !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
}

.gform_wrapper ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gform_wrapper li {
    list-style: none !important;
}

.gform_wrapper .gform_fields {
    padding: 0 !important;
    margin: 0 !important;
}

/* ------------------------------------------------------------------ */
/* Warm variant overrides — scoped to the warm body class.            */
/* ------------------------------------------------------------------ */

.beta-warm-theme .gform_wrapper .gfield_label {
    font-family: 'Libre Baskerville', Georgia, serif !important;
    color: rgb(31 41 55) !important;
}

.beta-warm-theme .gform_wrapper input[type="text"]:focus,
.beta-warm-theme .gform_wrapper input[type="email"]:focus,
.beta-warm-theme .gform_wrapper input[type="tel"]:focus,
.beta-warm-theme .gform_wrapper input[type="url"]:focus,
.beta-warm-theme .gform_wrapper input[type="number"]:focus,
.beta-warm-theme .gform_wrapper select:focus,
.beta-warm-theme .gform_wrapper textarea:focus {
    box-shadow: 0 0 0 2px #325472 !important;
}

.beta-warm-theme .gform_wrapper .gform_button {
    background-color: #DE7F2C !important;
    border-radius: 9999px !important;
}

.beta-warm-theme .gform_wrapper .gform_button:hover {
    background-color: #B9671F !important;
}
