﻿/* --- AAA button base (works with <asp:Button> which renders <input>) --- */
input.btnOutline,
button.btnOutline,
a.btnOutline {
    display: block; /* btn-block-ish */
    width: 100%;
    padding: 10px 14px;
    font-weight: 600;
    border-width: 2px;
    border-style: solid;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    /* kill Bootstrap "form-control" styling side effects */
    height: auto;
    line-height: 1.2;
}

    /* IMPORTANT: keep hover/focus/active AAA-safe (don’t lighten colors) */
    input.btnOutline:hover,
    input.btnOutline:focus,
    input.btnOutline:active,
    button.btnOutline:hover,
    button.btnOutline:focus,
    button.btnOutline:active,
    a.btnOutline:hover,
    a.btnOutline:focus,
    a.btnOutline:active {
        color: #fff;
        outline: 3px solid #000; /* visible focus indicator */
        outline-offset: 2px;
    }

    /* --- AAA color sets (all 7:1+ contrast with white text) --- */
    input.btnOutline.successOutline,
    button.btnOutline.successOutline,
    a.btnOutline.successOutline {
        background: #1f5a2a;
        border-color: #1f5a2a;
        color: #fff;
    }

        input.btnOutline.successOutline:hover,
        input.btnOutline.successOutline:focus,
        input.btnOutline.successOutline:active,
        button.btnOutline.successOutline:hover,
        button.btnOutline.successOutline:focus,
        button.btnOutline.successOutline:active,
        a.btnOutline.successOutline:hover,
        a.btnOutline.successOutline:focus,
        a.btnOutline.successOutline:active {
            background: #184621;
            border-color: #184621;
        }

    input.btnOutline.warningOutline,
    button.btnOutline.warningOutline,
    a.btnOutline.warningOutline {
        background: #6b3e00;
        border-color: #6b3e00;
        color: #fff;
    }

        input.btnOutline.warningOutline:hover,
        input.btnOutline.warningOutline:focus,
        input.btnOutline.warningOutline:active,
        button.btnOutline.warningOutline:hover,
        button.btnOutline.warningOutline:focus,
        button.btnOutline.warningOutline:active,
        a.btnOutline.warningOutline:hover,
        a.btnOutline.warningOutline:focus,
        a.btnOutline.warningOutline:active {
            background: #563200;
            border-color: #563200;
        }

    input.btnOutline.primaryOutline,
    button.btnOutline.primaryOutline,
    a.btnOutline.primaryOutline {
        background: #0b3d91;
        border-color: #0b3d91;
        color: #fff;
    }

        input.btnOutline.primaryOutline:hover,
        input.btnOutline.primaryOutline:focus,
        input.btnOutline.primaryOutline:active,
        button.btnOutline.primaryOutline:hover,
        button.btnOutline.primaryOutline:focus,
        button.btnOutline.primaryOutline:active,
        a.btnOutline.primaryOutline:hover,
        a.btnOutline.primaryOutline:focus,
        a.btnOutline.primaryOutline:active {
            background: #083070;
            border-color: #083070;
        }

    input.btnOutline.dangerOutline,
    button.btnOutline.dangerOutline,
    a.btnOutline.dangerOutline {
        background: #7a1f1f;
        border-color: #7a1f1f;
        color: #fff;
    }

        input.btnOutline.dangerOutline:hover,
        input.btnOutline.dangerOutline:focus,
        input.btnOutline.dangerOutline:active,
        button.btnOutline.dangerOutline:hover,
        button.btnOutline.dangerOutline:focus,
        button.btnOutline.dangerOutline:active,
        a.btnOutline.dangerOutline:hover,
        a.btnOutline.dangerOutline:focus,
        a.btnOutline.dangerOutline:active {
            background: #641a1a;
            border-color: #641a1a;
        }

    /* Disabled */
    input.btnOutline:disabled,
    button.btnOutline:disabled {
        opacity: 0.65;
        cursor: not-allowed;
    }

    /* FORCE button text to render white, even if a theme uses -webkit-text-fill-color */
    input.btnOutline,
    input.btnOutline:visited,
    input.btnOutline:hover,
    input.btnOutline:focus,
    input.btnOutline:active {
        color: #fff !important;
        -webkit-text-fill-color: #fff !important; /* <- this is the missing piece sometimes */
        opacity: 1 !important; /* in case opacity is dimming it */
    }

.text-muted a,
.text-muted a:visited {
    color: #1a1a1a !important;
    text-decoration: underline;
}

    .text-muted a:hover,
    .text-muted a:focus,
    .text-muted a:active {
        color: #000000 !important;
        outline: 2px solid #000000;
        outline-offset: 2px;
    }


/* Footer text + links on a light background */
footer .text-muted,
.footer .text-muted,
#footer .text-muted {
    color: #1a1a1a !important; /* AA+ on white */
}

    footer .text-muted a,
    .footer .text-muted a,
    #footer .text-muted a,
    footer .text-muted a:visited,
    .footer .text-muted a:visited,
    #footer .text-muted a:visited {
        color: #0b3d91 !important; /* dark blue link */
        text-decoration: underline;
    }

        footer .text-muted a:hover,
        footer .text-muted a:focus,
        .footer .text-muted a:hover,
        .footer .text-muted a:focus,
        #footer .text-muted a:hover,
        #footer .text-muted a:focus {
            color: #083070 !important; /* even darker on hover */
            outline: 2px solid currentColor;
            outline-offset: 2px;
        }

/* --- AAA Alerts: use dark fills + white text --- */
.alert {
    border-width: 2px;
    border-style: solid;
}

    /* Ensure all text inside alerts is readable */
    .alert,
    .alert * {
        color: #fff !important;
    }

        /* Links inside alerts should still look like links */
        .alert a {
            color: #fff !important;
            text-decoration: underline;
        }

            .alert a:hover,
            .alert a:focus {
                text-decoration: underline;
                outline: 2px solid #fff;
                outline-offset: 2px;
            }

        /* SUCCESS */
        .alert.alert-success {
            background-color: #1f5a2a !important;
            border-color: #1f5a2a !important;
        }

        /* INFO */
        .alert.alert-info {
            background-color: #0b3d91 !important;
            border-color: #0b3d91 !important;
        }

        /* WARNING */
        .alert.alert-warning {
            background-color: #6b3e00 !important;
            border-color: #6b3e00 !important;
        }

        /* DANGER */
        .alert.alert-danger {
            background-color: #7a1f1f !important;
            border-color: #7a1f1f !important;
        }

        /* DARK */
        .alert.alert-dark {
            background-color: #1a1a1a !important;
            border-color: #1a1a1a !important;
        }

        /* LIGHT: still keep AAA by using dark text on very light bg */
        .alert.alert-light,
        .alert.alert-light * {
            background-color: #f2f2f2 !important;
            border-color: #bdbdbd !important;
            color: #111 !important;
        }

            .alert.alert-light a {
                color: #111 !important;
            }

                .alert.alert-light a:hover,
                .alert.alert-light a:focus {
                    outline: 2px solid #111;
                    outline-offset: 2px;
                }
/* AAA-compliant hyperlink */
a#hlSurvey123,
a#hlSurvey123:visited {
    color: #0b3d91 !important; /* very dark blue (AAA on white) */
    text-decoration: underline;
    font-weight: 600;
}

    a#hlSurvey123:hover,
    a#hlSurvey123:focus,
    a#hlSurvey123:active {
        color: #083070 !important; /* even darker on hover */
        outline: 2px solid currentColor;
        outline-offset: 2px;
    }

/* WebForms-safe: matches hlSurvey123 even when ClientID is mangled */
a[id$="hlSurvey123"],
a[id$="hlSurvey123"]:visited {
    color: #0b3d91 !important;
    -webkit-text-fill-color: #0b3d91 !important;
    text-decoration: underline;
    font-weight: 600;
    opacity: 1 !important;
}

    a[id$="hlSurvey123"]:hover,
    a[id$="hlSurvey123"]:focus,
    a[id$="hlSurvey123"]:active {
        color: #083070 !important;
        -webkit-text-fill-color: #083070 !important;
        outline: 2px solid currentColor;
        outline-offset: 2px;
    }

/* AA-safe environment + user labels */
span[id$="lblEnvironment"] {
    color: #8b0000 !important;
    font-weight: 700;
}

span[id$="lblUserName"] {
    color: #145a32 !important;
    font-weight: 700;
}
