/* =========================================================
   K59 HUB — LOGIN
   File: login.css
   Version: 1.0.4
   Updated: 2026-08-25

   Changelog:
   1.0.4 — Improved Forgot Password / Register alignment.
           - Align "Forgot your password?" to the left.
           - Align "Register" to the right.
           - Use full-width flex layout.
           - Improve responsive behaviour on mobile.

   1.0.3 — Reduced the spacing between the description
           and the login fields.

   1.0.2 — Adjusted panel transparency, input colors and
           typography, button width/alignment, and text
           alignment.

   1.0.1 — Increased specificity to override Divi 5
           module styles, including background, width
           and form fields.

   1.0.0 — Initial K59 Login styling.
   ========================================================= */


/* =========================================================
   1. LOGIN MODULE — MAIN PANEL
   ========================================================= */

.et_pb_login_0.et_pb_login.et_pb_module {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 28px 28px 18px !important;

    box-sizing: border-box !important;

    background: rgba(10, 10, 10, 0.55) !important;
    background-color: rgba(10, 10, 10, 0.55) !important;

    border: 1px solid rgba(255, 215, 140, 0.35) !important;
    border-radius: 16px !important;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    font-family: "Cinzel", serif !important;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* =========================================================
   2. DIVI INNER WRAPPERS
   ========================================================= */

.et_pb_login_0 .et_pb_newsletter_description,
.et_pb_login_0 .et_pb_newsletter_description_content,
.et_pb_login_0 .et_pb_newsletter_form,
.et_pb_login_0 .et_pb_login_form {
    background: transparent !important;
    background-color: transparent !important;
}

.et_pb_login_0 .et_pb_newsletter_description {
    padding: 0 !important;
}

.et_pb_login_0 .et_pb_newsletter_form,
.et_pb_login_0 .et_pb_login_form {
    padding: 0 !important;
}


/* =========================================================
   3. TITLE AND DESCRIPTION
   ========================================================= */

.et_pb_login_0 .et_pb_module_header {
    margin: 0 0 20px !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.96) !important;

    font-family: "Cinzel", serif !important;
    font-weight: 600 !important;
    font-size: 28px !important;
    line-height: 1.2em !important;

    letter-spacing: 0.04em !important;

    text-align: left !important;
}

.et_pb_login_0 .et_pb_newsletter_description_content {
    margin-bottom: 11px !important;

    color: rgba(255, 255, 255, 0.80) !important;

    font-family: "Cinzel", serif !important;
    font-size: 14px !important;
    line-height: 1.5em !important;

    text-align: left !important;
}


/* =========================================================
   4. LOGIN FORM
   ========================================================= */

.et_pb_login_0 .et_pb_newsletter_form form,
.et_pb_login_0 .et_pb_login_form form {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;

    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   5. FORM FIELDS
   ========================================================= */

.et_pb_login_0 .et_pb_contact_form_field {
    margin: 0 0 16px !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;

    border: 0 !important;
}


/* =========================================================
   6. INPUTS
   ========================================================= */

.et_pb_login_0 .et_pb_login_form input.input[type="text"],
.et_pb_login_0 .et_pb_login_form input.input[type="password"] {
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 14px !important;

    background: rgba(0, 0, 0, 0.45) !important;
    background-color: rgba(0, 0, 0, 0.45) !important;

    color: rgba(255, 255, 255, 0.95) !important;

    border: 1px solid rgba(255, 215, 140, 0.55) !important;
    border-radius: 10px !important;

    font-family: "Cinzel", serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.4em !important;

    outline: none !important;

    box-shadow: none !important;

    -webkit-appearance: none !important;
    appearance: none !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


/* =========================================================
   7. INPUT PLACEHOLDER
   ========================================================= */

.et_pb_login_0 .et_pb_login_form input.input[type="text"]::placeholder,
.et_pb_login_0 .et_pb_login_form input.input[type="password"]::placeholder {
    color: rgba(255, 255, 255, 0.55) !important;
    opacity: 1 !important;

    font-family: "Cinzel", serif !important;
    font-weight: 400 !important;
}


/* =========================================================
   8. INPUT FOCUS
   ========================================================= */

.et_pb_login_0 .et_pb_login_form input.input[type="text"]:focus,
.et_pb_login_0 .et_pb_login_form input.input[type="password"]:focus {
    background: rgba(0, 0, 0, 0.55) !important;
    background-color: rgba(0, 0, 0, 0.55) !important;

    color: rgba(255, 255, 255, 0.95) !important;

    border-color: rgba(255, 215, 140, 0.95) !important;

    box-shadow:
        0 0 0 3px rgba(255, 215, 140, 0.18) !important;

    outline: none !important;
}


/* =========================================================
   9. BROWSER AUTOFILL / AUTOCOMPLETE
   ========================================================= */

.et_pb_login_0 .et_pb_login_form input.input:-webkit-autofill,
.et_pb_login_0 .et_pb_login_form input.input:-webkit-autofill:hover,
.et_pb_login_0 .et_pb_login_form input.input:-webkit-autofill:focus,
.et_pb_login_0 .et_pb_login_form input.input:-webkit-autofill:active {
    -webkit-text-fill-color: rgba(255, 255, 255, 0.95) !important;

    -webkit-box-shadow:
        0 0 0 1000px rgba(0, 0, 0, 0.45) inset !important;

    box-shadow:
        0 0 0 1000px rgba(0, 0, 0, 0.45) inset !important;

    border-color: rgba(255, 215, 140, 0.55) !important;

    font-family: "Cinzel", serif !important;

    transition:
        background-color 5000s ease-in-out 0s;
}


/* =========================================================
   10. FORGOT PASSWORD
   ========================================================= */

.et_pb_login_0 .et_pb_forgot_password {
    margin: 4px 0 18px !important;
    padding: 0 !important;

    background: transparent !important;

    font-family: "Cinzel", serif !important;
    font-size: 14px !important;
    line-height: 1.4em !important;

    text-align: left !important;
}

.et_pb_login_0 .et_pb_forgot_password a {
    color: rgba(255, 215, 140, 0.90) !important;

    font-family: "Cinzel", serif !important;

    text-decoration: none !important;

    transition:
        color 0.2s ease,
        text-shadow 0.2s ease;
}

.et_pb_login_0 .et_pb_forgot_password a:hover {
    color: rgba(255, 215, 140, 1) !important;

    text-decoration: underline !important;

    text-shadow:
        0 0 8px rgba(255, 215, 140, 0.35);
}


/* =========================================================
   11. LOGIN BUTTON WRAPPER
   ========================================================= */

.et_pb_login_0 .et_pb_login_form form > p:last-child {
    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}


/* =========================================================
   12. LOGIN BUTTON
   ========================================================= */

.et_pb_login_0 .et_pb_login_form button.et_pb_button {
    display: inline-block !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 4px 0 0 !important;
    padding: 12px 24px !important;

    color: #1a1208 !important;

    background: linear-gradient(
        180deg,
        #f6d48a,
        #c9973a
    ) !important;

    background-color: #c9973a !important;

    border: 1px solid rgba(0, 0, 0, 0.35) !important;
    border-radius: 12px !important;

    font-family: "Cinzel", serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4em !important;

    letter-spacing: 0.06em !important;

    cursor: pointer;

    box-shadow: none;

    transition:
        filter 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


/* Button hover */

.et_pb_login_0 .et_pb_login_form button.et_pb_button:hover {
    filter: brightness(1.05);

    box-shadow:
        0 0 14px rgba(255, 215, 140, 0.25);

    transform: translateY(-1px);
}


/* Button active */

.et_pb_login_0 .et_pb_login_form button.et_pb_button:active {
    transform: translateY(0);
}


/* =========================================================
   13. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .et_pb_login_0.et_pb_login.et_pb_module {
        width: calc(100% - 30px) !important;
        max-width: 620px !important;

        margin: 0 auto !important;

        padding: 22px 20px 16px !important;

        border-radius: 14px !important;
    }

    .et_pb_login_0 .et_pb_module_header {
        font-size: 24px !important;
    }

    .et_pb_login_0 .et_pb_newsletter_description_content {
        font-size: 13px !important;
    }

    .et_pb_login_0 .et_pb_login_form input.input[type="text"],
    .et_pb_login_0 .et_pb_login_form input.input[type="password"] {
        font-size: 15px !important;
    }

    .et_pb_login_0 .et_pb_login_form button.et_pb_button {
        font-size: 15px !important;
    }
}


/* =========================================================
   14. PASSWORD / REGISTER LINKS
   ========================================================= */

.et_pb_login_0 .et_pb_forgot_password {
    display: flex !important;

    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;

    width: 100% !important;
    box-sizing: border-box !important;

    margin: 4px 0 18px !important;
    padding: 0 !important;

    text-align: left !important;
}


/* Forgot password */

.et_pb_login_0 .et_pb_forgot_password a:first-child {
    margin-right: auto !important;
}


/* Register */

.et_pb_login_0 .et_pb_forgot_password .k59-register-link {
    display: inline-block !important;

    margin-left: auto !important;
    margin-right: 0 !important;

    color: rgba(255, 215, 140, 0.90) !important;

    font-family: "Cinzel", serif !important;

    text-decoration: none !important;

    white-space: nowrap !important;

    text-align: right !important;

    transition:
        color 0.2s ease,
        text-shadow 0.2s ease;
}


.et_pb_login_0 .et_pb_forgot_password .k59-register-link:hover {
    color: rgba(255, 215, 140, 1) !important;

    text-decoration: underline !important;

    text-shadow:
        0 0 8px rgba(255, 215, 140, 0.35);
}


/* =========================================================
   15. PASSWORD / REGISTER LINKS — MOBILE
   ========================================================= */

@media only screen and (max-width: 767px) {

    .et_pb_login_0 .et_pb_forgot_password {
        width: 100% !important;

        font-size: 13px !important;
    }

    .et_pb_login_0 .et_pb_forgot_password .k59-register-link {
        font-size: 13px !important;
    }
}