body.login-shortcode-page {
    /* Scoped to avoid affecting global WP if stored in global CSS, but here it's specific file */
    /* Original used body selector directly */
    background: #f5f5f5;
    /* display: flex; align-items: center; justify-content: center; */
    /* The above flex on body might break WP theme layout if not careful. 
       Shortcode is inside a page. Better to style the container .millennium-login-container 
    */
}

.millennium-login-container .logo img {
    height: 40px;
}

div.millennium-login-wrapper {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: initial;
    padding: unset;
    margin: auto;
}

.millennium-login-wrapper form {
    background-color: #fff;
    color: #161922;
    box-shadow: 0 9px 18px 0 rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border-radius: 5px;
    transition: all .2s ease-in-out;
    padding: 40px 30px 30px 30px;
    position: relative;
    max-width: 320px;
    /* added for sanity inside page */
    width: 100%;
}

.millennium-login-wrapper form:before {
    content: '';
    background-color: #a72d32;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 20px;
}

.millennium-login-wrapper h1,
.millennium-login-wrapper a {
    color: #a72d32;
    font-size: 20px;
    /* Reduced font size for H1 */
}

/* Ensure h1 specifically is targeted if needed, or keep shared selector if h1 is the only header */
.millennium-login-wrapper .form-title,
.millennium-login-wrapper h1 {
    font-size: 22px;
    /* Explicit size, slightly smaller than default */
    margin-bottom: 20px;
    word-wrap: break-word;
    /* Ensure wrapping */
}

/* Target all submit buttons or buttons with .button class */
.millennium-login-wrapper .button-primary,
.millennium-login-wrapper input[type="submit"],
.millennium-login-wrapper button {
    background: #a72d32;
    border-color: #a72d32;
    padding: 10px 20px !important;
    /* Increased padding */
    border-radius: 5px;
    color: white;
    /* ensure text is visible */
    text-decoration: none;
    line-height: normal;
    /* Ensure text centers well */
    height: auto;
    /* Allow padding to define height */
    font-size: 14px;
    cursor: pointer;
    border: 1px solid #a72d32;
}

.millennium-login-wrapper form .input,
.millennium-login-wrapper input[type=password],
.millennium-login-wrapper input[type=text],
.millennium-login-wrapper input[type=email] {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
    width: 100%;
    /* Ensure inputs fill container */
    margin-bottom: 10px;
    padding: 5px;
}

.millennium-login-wrapper form p.submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 15px;
}

.millennium-login-wrapper label {
    color: #161922;
    font-size: 14px;
    font-weight: 500;
}

a.indietro {
    color: #161922;
    margin-top: 30px;
    display: inline-block;
}

.error-msg {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    /* Fixed overlap */
    display: none;
    background-color: white;
    border-left: 4px solid #dc3232;
    padding: 12px;
    margin-left: 0;
    background-color: #fff;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
}

.success-msg {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    display: none;
    background-color: white;
    border-left: 4px solid green;
    padding: 12px;
    margin-left: 0;
    background-color: #fff;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
}

.success-msg span,
.error-msg span {
    font-weight: 600;
}

i.look {
    position: absolute;
    top: 34px;
    /* Adjust based on input height / label */
    color: #9e9e9edb;
    right: 15px;
    /* Moved slightly inward */
    cursor: pointer;
}

/* Adjustments for field wrapper if using p with relative pos */
.millennium-login-wrapper form p.field-wrapper {
    position: relative;
    font-weight: 600;
}