/* ========================================= */
/* 1. RESET & BASIC SETUP                    */
/* ========================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a {
    font-size: 20px;
    color: #504d68;
}

/* Fix for screen readers */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* ========================================= */
/* 2. HEADER STYLES                          */
/* ========================================= */
.header {
    position: relative;
    width: 100%;
    z-index: 100;
}

.header__upper {
    padding: 2rem 0;
    width: 100%;
    background-color: #6240BA;
}

.header__upper > .wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1140px;
    margin: 20px auto;
}

.header-branding > a {
    display: block;
}

.header-branding__image {
    height: 3.6rem;
}

/* ========================================= */
/* 3. MEDIA QUERY (DESKTOP LAYOUT)           */
/* ========================================= */
@media (min-width: 768px) {
    .header__upper {
        padding: 36px;
    }
    
    /* Footer Styling */
    .footer {
        background-color: #6240BA;
    }
    
    .footer__top {
        background-color: #1C1C47;
        padding: 24px 0;
    }
    
    .footer__bottom {
        padding: 28px 10px 40px 10px;
        font-size: 14px;
        display: flex;
        justify-content: center;
        background-color: #6240BA;
        color: white;
    }

    /* Standard Buttons */
    .btn-primary {
        color: #fff;
        background-color: #6240BA;
        border-color: #6240BA;
        font-size: large;
        padding: 10px;
    }

    .btn-primary:hover {
        background-color: #cc4c1e;
        border-color: #cc4c1e;
    }
    
    /* Anonymous Screen Fixes */
    #anonymousLoginScreen .btn-custom {
        color: #6240BA !important;
        border: 2px solid transparent;
    }

    #anonymousLoginScreen .btn-custom:hover {
        background: #fff;
        border-color: #6240BA;
    }
} 
/* END OF MEDIA QUERY - THE CRITICAL FIX STARTS BELOW */


/* ========================================= */
/* 4. NUCLEAR FIX: BUTTONS & EYES            */
/* ========================================= */

/* MASTER FIX: Target every hidden button ID directly */
#continue,
#cancel,
button#continue,
button#cancel,
.btn-verify,
button.btn-verify,
#emailVerificationControl_but_send_code,
#emailVerificationControl_but_verify_code,
#emailVerificationControl_but_send_new_code,
#emailVerificationControl_but_change_claims {
    /* Make them visible */
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    
    /* Force Brand Colors (Purple Background, White Text) */
    background-color: #6240BA !important;
    border: 1px solid #6240BA !important;
    color: #ffffff !important;
    
    /* Reset layout issues */
    width: auto !important;
    height: auto !important;
    padding: 10px 20px !important;
    margin-top: 10px !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* HOVER STATE (Orange) */
#continue:hover,
#cancel:hover,
.btn-verify:hover {
    background-color: #cc4c1e !important;
    border-color: #cc4c1e !important;
    color: #ffffff !important;
}

/* ========================================= */
/* 5. FIX FOR PASSWORD EYE ICONS (FLEXBOX)   */
/* ========================================= */

/* The Container (Span) */
#newPasswordtoggler,
#reenterPasswordtoggler,
span#newPasswordtoggler,
span#reenterPasswordtoggler {
    /* USE FLEXBOX TO CENTER PERFECTLY */
    display: inline-flex !important;
    align-items: center !important;      /* Vertical Center */
    justify-content: center !important;  /* Horizontal Center */
    
    /* Size & Style */
    width: 45px !important;
    height: 40px !important;
    background-color: #6240BA !important;
    border: 1px solid #6240BA !important;
    border-radius: 4px !important;
    margin-left: 5px !important;
    cursor: pointer !important;
    z-index: 9999 !important;
    padding: 0 !important; /* Reset padding so flex works */
}

/* The Icon (SVG or I) */
#newPasswordtoggler i,
#reenterPasswordtoggler i,
span#newPasswordtoggler i,
span#reenterPasswordtoggler i,
span#newPasswordtoggler svg,
span#reenterPasswordtoggler svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    font-size: 18px !important;
    
    /* RESET POSITIONING so it doesn't float away */
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: block !important;
}

/* Eye Hover */
#newPasswordtoggler:hover,
#reenterPasswordtoggler:hover {
    background-color: #cc4c1e !important;
    border-color: #cc4c1e !important;
}