/*
 * VIONN Gravity Forms Light Style
 * Appearance only: no JS, no form markup rewrites, no GF submission hooks.
 */

:root {
    --vionn-gf-blue: #286fde;
    --vionn-gf-blue-hover: #1f5fc4;
    --vionn-gf-blue-dark: #155ba9;
    --vionn-gf-white: #ffffff;
    --vionn-gf-line: rgba(255, 255, 255, .68);
    --vionn-gf-soft: rgba(255, 255, 255, .12);
    --vionn-gf-muted: rgba(255, 255, 255, .86);
    --vionn-gf-error: #b42318;
}

/* Keep the rules on MyVIONN GF instances only. */
.vionn-gf-light-enabled .pp-gravity-form .gform_wrapper,
.vionn-gf-light-enabled .gform_wrapper.gravity-theme {
    color: var(--vionn-gf-white);
}

/* Required legend is redundant on these pages. */
.vionn-gf-light-enabled .gform_wrapper .gform_required_legend {
    display: none !important;
}

/* ---------- Step navigation ---------- */
.vionn-gf-light-enabled .gform_wrapper .gf_page_steps {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 28px;
    width: 100%;
    margin: 0 0 28px !important;
    padding: 0 0 18px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.58) !important;
}

.vionn-gf-light-enabled .gform_wrapper .gf_step {
    display: inline-flex !important;
    align-items: center !important;
    gap: 11px;
    margin: 0 !important;
    padding: 0 !important;
    opacity: .62;
}

.vionn-gf-light-enabled .gform_wrapper .gf_step.gf_step_active,
.vionn-gf-light-enabled .gform_wrapper .gf_step.gf_step_completed {
    opacity: 1;
}

.vionn-gf-light-enabled .gform_wrapper .gf_step_number {
    display: inline-grid !important;
    place-items: center;
    flex: 0 0 38px;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border: 2px solid rgba(255,255,255,.85) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    box-sizing: border-box;
}

.vionn-gf-light-enabled .gform_wrapper .gf_step_active .gf_step_number {
    background: var(--vionn-gf-blue) !important;
    border-color: #fff !important;
    color: #fff !important;
}

.vionn-gf-light-enabled .gform_wrapper .gf_step_label {
    padding: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    white-space: normal;
}

/* ---------- Typography ---------- */
.vionn-gf-light-enabled .gform_wrapper .gfield_label,
.vionn-gf-light-enabled .gform_wrapper .gform-field-label,
.vionn-gf-light-enabled .gform_wrapper legend,
.vionn-gf-light-enabled .gform_wrapper .gfield_description,
.vionn-gf-light-enabled .gform_wrapper .gform_fileupload_rules,
.vionn-gf-light-enabled .gform_wrapper .gsection_description,
.vionn-gf-light-enabled .gform_wrapper .ginput_container_name label,
.vionn-gf-light-enabled .gform_wrapper .ginput_container_address label,
.vionn-gf-light-enabled .gform_wrapper .ginput_container_time label {
    color: var(--vionn-gf-white) !important;
}

.vionn-gf-light-enabled .gform_wrapper .gfield_label,
.vionn-gf-light-enabled .gform_wrapper .gfield_label .gform-field-label__text,
.vionn-gf-light-enabled .gform_wrapper legend .gform-field-label__text {
    font-weight: 600 !important;
}

.vionn-gf-light-enabled .gform_wrapper .gfield_description,
.vionn-gf-light-enabled .gform_wrapper .gform_fileupload_rules {
    opacity: .9;
    line-height: 1.45 !important;
}

.vionn-gf-light-enabled .gform_wrapper .gfield_required,
.vionn-gf-light-enabled .gform_wrapper .gfield_required_asterisk {
    color: #ff6a45 !important;
}

/* ---------- Inputs ---------- */
.vionn-gf-light-enabled .gform_wrapper input[type="text"],
.vionn-gf-light-enabled .gform_wrapper input[type="email"],
.vionn-gf-light-enabled .gform_wrapper input[type="tel"],
.vionn-gf-light-enabled .gform_wrapper input[type="url"],
.vionn-gf-light-enabled .gform_wrapper input[type="number"],
.vionn-gf-light-enabled .gform_wrapper input[type="password"],
.vionn-gf-light-enabled .gform_wrapper input[type="date"],
.vionn-gf-light-enabled .gform_wrapper select,
.vionn-gf-light-enabled .gform_wrapper textarea {
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 2px !important;
    outline: 0 !important;
    background: rgba(255,255,255,.025) !important;
    color: #fff !important;
    box-shadow: none !important;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
    box-sizing: border-box;
}

.vionn-gf-light-enabled .gform_wrapper textarea {
    min-height: 120px !important;
    resize: vertical;
}

.vionn-gf-light-enabled .gform_wrapper input::placeholder,
.vionn-gf-light-enabled .gform_wrapper textarea::placeholder {
    color: rgba(255,255,255,.58) !important;
    opacity: 1;
}

.vionn-gf-light-enabled .gform_wrapper input[type="text"]:focus,
.vionn-gf-light-enabled .gform_wrapper input[type="email"]:focus,
.vionn-gf-light-enabled .gform_wrapper input[type="tel"]:focus,
.vionn-gf-light-enabled .gform_wrapper input[type="url"]:focus,
.vionn-gf-light-enabled .gform_wrapper input[type="number"]:focus,
.vionn-gf-light-enabled .gform_wrapper input[type="password"]:focus,
.vionn-gf-light-enabled .gform_wrapper input[type="date"]:focus,
.vionn-gf-light-enabled .gform_wrapper select:focus,
.vionn-gf-light-enabled .gform_wrapper textarea:focus {
    border-color: #fff !important;
    background: rgba(255,255,255,.07) !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.12) !important;
}

.vionn-gf-light-enabled .gform_wrapper select option {
    color: #111 !important;
    background: #fff !important;
}

/* ---------- Radio / checkbox / consent ---------- */
.vionn-gf-light-enabled .gform_wrapper .gchoice,
.vionn-gf-light-enabled .gform_wrapper .ginput_container_consent {
    color: #fff !important;
}

.vionn-gf-light-enabled .gform_wrapper .gchoice label,
.vionn-gf-light-enabled .gform_wrapper .gfield_consent_label,
.vionn-gf-light-enabled .gform_wrapper .gfield_consent_label a {
    color: #fff !important;
}

.vionn-gf-light-enabled .gform_wrapper .gfield_consent_label a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vionn-gf-light-enabled .gform_wrapper input[type="checkbox"],
.vionn-gf-light-enabled .gform_wrapper input[type="radio"] {
    accent-color: var(--vionn-gf-blue);
}

.vionn-gf-light-enabled .gform_wrapper .ginput_container_consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.vionn-gf-light-enabled .gform_wrapper .ginput_container_consent > input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 3px !important;
}

/* ---------- File upload ---------- */
.vionn-gf-light-enabled .gform_wrapper .gform_drop_area {
    border: 1px dashed rgba(255,255,255,.68) !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.05) !important;
    color: #fff !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_drop_instructions {
    color: #fff !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_button_select_files {
    min-height: 42px !important;
    padding: 10px 18px !important;
    border: 1px solid #fff !important;
    border-radius: 3px !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    font-weight: 600 !important;
}

/* ---------- Main navigation / submit buttons ---------- */
.vionn-gf-light-enabled .gform_wrapper .gform-page-footer,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer,
.vionn-gf-light-enabled .gform_wrapper .gform_footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 26px !important;
    padding: 0 !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_next_button,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_previous_button,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_button,
.vionn-gf-light-enabled .gform_wrapper .gform_footer .gform_button,
.vionn-gf-light-enabled .gform_wrapper input[type="submit"].gform_button,
.vionn-gf-light-enabled .gform_wrapper button.gform_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 3px !important;
    background: var(--vionn-gf-blue) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: .01em;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background-color .15s ease, transform .08s ease, border-color .15s ease !important;
    box-sizing: border-box !important;
    appearance: none;
    -webkit-appearance: none;
}

.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_previous_button {
    background: var(--vionn-gf-blue-dark) !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_next_button:hover,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_button:hover,
.vionn-gf-light-enabled .gform_wrapper .gform_footer .gform_button:hover,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_previous_button:hover {
    background: var(--vionn-gf-blue-hover) !important;
    border-color: rgba(255,255,255,.62) !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_next_button:active,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_button:active,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_previous_button:active {
    transform: translateY(1px);
}

/* Image-based first-step buttons used on the legacy VIONN forms.
 * These must look like the original clickable artwork, not like a blue text button.
 */
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer button.gform_image_button,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 10px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_page_footer button.gform_image_button:hover,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer button.gform_image_button:focus,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer button.gform_image_button:active,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button:hover,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button:focus,
.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button:active {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button img {
    display: block !important;
    width: 240px !important;
    max-width: min(100%, 240px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain;
}

/* Hide the spinner without changing GF behavior; GF controls its visibility. */
.vionn-gf-light-enabled .gform_wrapper .gform_ajax_spinner {
    margin: 8px auto 0 !important;
}

/* ---------- Validation ---------- */
.vionn-gf-light-enabled .gform_wrapper .gform_validation_errors {
    margin: 0 0 22px !important;
    padding: 16px 18px !important;
    border: 2px solid #d92d20 !important;
    border-radius: 4px !important;
    background: #fff6f5 !important;
    box-shadow: none !important;
}

.vionn-gf-light-enabled .gform_wrapper .gform_validation_errors h2,
.vionn-gf-light-enabled .gform_wrapper .gform_validation_errors .gform_submission_error {
    margin: 0 !important;
    color: var(--vionn-gf-error) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

.vionn-gf-light-enabled .gform_wrapper .gfield_validation_message,
.vionn-gf-light-enabled .gform_wrapper .validation_message {
    margin-top: 7px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(255,255,255,.4) !important;
    border-radius: 3px !important;
    background: rgba(120,0,0,.14) !important;
    color: #fff !important;
    font-size: 13px !important;
}

.vionn-gf-light-enabled .gform_wrapper .gfield_error input,
.vionn-gf-light-enabled .gform_wrapper .gfield_error select,
.vionn-gf-light-enabled .gform_wrapper .gfield_error textarea {
    border-color: #ffb4a8 !important;
}

/* Tables embedded in HTML fields should not pick up visible borders. */
.vionn-gf-light-enabled .gform_wrapper table.tablereg,
.vionn-gf-light-enabled .gform_wrapper table.tablereg td,
.vionn-gf-light-enabled .gform_wrapper table.tablereg th {
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
    .vionn-gf-light-enabled .gform_wrapper .gf_page_steps {
        gap: 13px 18px;
        margin-bottom: 22px !important;
        padding-bottom: 15px !important;
    }

    .vionn-gf-light-enabled .gform_wrapper .gf_step {
        flex: 1 1 100%;
    }

    .vionn-gf-light-enabled .gform_wrapper .gf_step_number {
        flex-basis: 34px;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    .vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_next_button,
    .vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_previous_button,
    .vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_button,
    .vionn-gf-light-enabled .gform_wrapper .gform_footer .gform_button {
        min-height: 54px !important;
        padding: 13px 14px !important;
        font-size: 14px !important;
    }

    .vionn-gf-light-enabled .gform_wrapper .gform_page_footer button.gform_image_button,
    .vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button {
        min-height: 0 !important;
        padding: 0 !important;
    }

    .vionn-gf-light-enabled .gform_wrapper .gform_page_footer .gform_image_button img {
        width: 190px !important;
        max-width: min(100%, 190px) !important;
        max-height: none !important;
    }

    .vionn-gf-light-enabled .gform_wrapper .ginput_complex.ginput_container_name {
        row-gap: 12px !important;
    }
}
