/* =========================================================
   KRUZIFIX UI v0.22.4
   Public / logged-out authentication design synchronization.
   ========================================================= */

/* ---------- GUEST ACCOUNT BAR ---------- */

#kruzifix-account-bar[data-logged-in="0"] {
    background: transparent;
}

.guest-account-nav {
    display: flex;
    align-items: center;
    gap: 6px;

    padding: 5px 8px;

    border: 1px solid #242424;
    border-left: 3px solid #5f1a1a;

    background: rgba(0, 0, 0, .94);

    font-family: "Times New Roman", Times, serif;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .8px;
}

.guest-account-nav > span {
    color: #333;
}

.guest-account-nav > a {
    position: relative;

    padding: 2px 4px;

    color: #8b8b8b !important;
    text-decoration: none !important;
}

.guest-account-nav > a:hover {
    color: #d2d2d2 !important;
}

.guest-account-nav > a.account-current {
    color: #e0e0e0 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.guest-account-nav > a.account-current::before {
    content: ">";

    margin-right: 5px;

    color: #d12c2c !important;
    -webkit-text-fill-color: #d12c2c !important;

    text-decoration: none;

    text-shadow:
        0 0 4px rgba(209, 44, 44, .4);
}

/* Preserve the emerald FORUM shimmer in the guest box. */
.guest-account-nav .forum-global-link,
.guest-account-nav .forum-global-link:hover,
.guest-account-nav .forum-global-link.account-current {
    -webkit-text-fill-color: transparent !important;
}

/* ---------- PUBLIC AUTH PAGE STRUCTURE ---------- */

body.auth-public-page {
    background: #000;
}

body.auth-public-page .layout {
    align-items: start;
}

body.auth-public-page .auth-public-main {
    box-sizing: border-box;

    width: min(880px, 100%);

    padding: 16px 18px 18px;

    border: 1px solid #292929;
    border-left: 3px solid #5d1a1a;

    background: #010101;

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .008);
}

body.auth-public-page .auth-public-main > h1 {
    margin: 0 0 9px;

    padding: 0 0 8px;

    border-bottom: 1px solid #2b2b2b;

    color: #c3c3c3;

    font-family: "Times New Roman", Times, serif;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .8px;
}

.auth-public-status {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;

    margin: 0 0 9px;
    padding: 6px 8px;

    border: 1px solid #242424;
    border-left: 2px solid #6d2020;

    background: #030303;

    font-size: 9px;
    letter-spacing: .75px;
}

.auth-public-status > span {
    color: #555;
    font-weight: 900;
}

.auth-public-status > strong {
    color: #9a4545;
    font-weight: 900;
}

.auth-public-intro {
    max-width: 700px;

    margin: 0 0 14px !important;

    color: #777;
    font-size: 11px;
    line-height: 1.45;
}

/* ---------- AUTH FORM BOX ---------- */

.auth-public-form {
    display: grid;

    gap: 7px;

    max-width: none !important;

    margin: 0;
    padding: 11px;

    border: 1px solid #242424;

    background: #000;
}

.auth-public-form .form-row {
    display: grid;

    grid-template-columns:
        minmax(135px, 190px)
        minmax(0, 1fr);

    gap: 10px;
    align-items: center;

    box-sizing: border-box;

    margin: 0 !important;
    padding: 7px 8px;

    border: 1px solid #1d1d1d;
    border-left: 2px solid #333;

    background: #020202;
}

.auth-public-form .form-row:hover {
    border-left-color: #5f1d1d;
    background: #030303;
}

.auth-public-form .form-row > label {
    margin: 0;

    color: #797979;

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .35px;
}

.auth-public-form .form-row input[type="text"],
.auth-public-form .form-row input[type="email"],
.auth-public-form .form-row input[type="password"] {
    box-sizing: border-box;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 6px 7px;

    border: 1px solid #393939;

    background: #000;
    color: #c0c0c0;

    font-family: "Times New Roman", Times, serif;
    font-size: 12px;
}

.auth-public-form .form-row input:focus {
    outline: none;

    border-color: #742525;

    box-shadow:
        0 0 0 1px rgba(116, 37, 37, .16);
}

.auth-public-form .form-submit {
    border-left-color: #6f2020;
}

.auth-public-form .form-submit input[type="submit"] {
    justify-self: start;

    min-width: 145px;

    padding: 5px 10px;

    border: 1px solid #555;

    background: #040404;
    color: #bdbdbd;

    font-family: "Times New Roman", Times, serif;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .7px;

    cursor: pointer;
}

.auth-public-form .form-submit input[type="submit"]:hover {
    border-color: #7d2424;

    background: #080202;
    color: #eee;
}

.auth-public-form .field-note {
    margin-top: 4px;

    color: #505050 !important;

    font-size: 9px !important;
}

/* Login's remember-me row uses one label containing checkbox + text. */
.auth-login-form .form-row:nth-last-child(2) {
    grid-template-columns: 1fr;
}

.auth-login-form .form-row:nth-last-child(2) > label {
    color: #8b8b8b;
}

/* ---------- REGISTER ---------- */

.auth-register-country {
    box-sizing: border-box;

    max-width: none !important;

    margin: 0 0 10px !important;
    padding: 8px 10px;

    border: 1px solid #242424;
    border-left: 2px solid #3b644f;

    background: #010302;

    font-size: 10px !important;
    line-height: 1.4;
}

.auth-register-country strong {
    color: #aaa !important;
}

.auth-register-form {
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 7px;
}

.auth-register-form .form-row {
    grid-template-columns: 1fr;

    gap: 5px;

    min-width: 0;
}

.auth-register-form .register-terms {
    grid-column: 1 / -1;

    box-sizing: border-box;

    max-width: none !important;

    margin: 0 !important;
    padding: 8px 9px !important;

    border: 1px solid #242424 !important;
    border-left: 2px solid #494949 !important;

    background: #020202;

    color: #777;

    font-size: 10px !important;
    line-height: 1.4 !important;
}

.auth-register-form .register-terms a {
    color: #d0d0d0;
}

.auth-register-form .form-submit {
    grid-column: 1 / -1;
}

/* ---------- ERRORS / RETURNS ---------- */

body.auth-public-page .form-error {
    padding: 7px 9px;

    border: 1px solid #581d1d;
    border-left: 3px solid #a02222;

    background: #080000;

    color: #d46363;

    font-size: 10px;
}

body.auth-public-page .return {
    margin: 11px 0 0 !important;
    padding-top: 8px;

    border-top: 1px dotted #292929;

    font-size: 10px;
}

body.auth-public-page .end-mark {
    margin-top: 16px !important;

    color: #393939;
    font-size: 9px;
    letter-spacing: .9px;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 760px) {
    .auth-register-form {
        grid-template-columns: 1fr;
    }

    .auth-register-form .register-terms,
    .auth-register-form .form-submit {
        grid-column: 1;
    }

    .auth-public-form .form-row {
        grid-template-columns: 1fr;

        gap: 5px;
    }
}

@media (max-width: 560px) {
    body.auth-public-page .auth-public-main {
        padding: 12px;
    }

    .guest-account-nav {
        gap: 3px;
        padding: 4px 6px;
        font-size: 9px;
    }
}
