/* =========================================================================
   Anmeldeseite (wp-login.php) im Look der Website
   Logo in denselben Proportionen wie im Header: „Aesthetic“ = ¼ von „FAYCED“.
   ========================================================================= */

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('../fonts/manrope-latin-wght-normal.woff2') format('woff2');
}

@font-face {
    font-family: 'Tenor Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/tenor-sans-latin-400.woff2') format('woff2');
}

body.login {
    min-height: 100vh;
    background: radial-gradient(ellipse at 50% 22%, #FAF6F2 0%, #F4ECE5 58%, #EFE3D8 100%);
    color: #1F2A22;
    font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
}

#login {
    width: min(400px, calc(100vw - 32px));
    padding: clamp(40px, 11vh, 112px) 0 48px;
}

/* ---------------------------------------------------------------------------
   Logo: Text statt WordPress-Grafik
   ------------------------------------------------------------------------ */

.login h1 a {
    width: auto;
    height: auto;
    margin: 0 auto 40px;
    padding: 0;
    background: none;
    text-indent: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Tenor Sans', 'Manrope', sans-serif;
    font-weight: 400;
    line-height: 1;
    color: #1F2A22;
    font-size: 0; /* Link-Text ausblenden, Logo per ::before/::after */
}
.login h1 a::before {
    content: 'FAYCED';
    font-size: 60px;
    letter-spacing: .04em;
    margin-right: -.04em;
}
.login h1 a::after {
    content: 'Aesthetic';
    font-size: 15px;            /* ¼ von 60px */
    letter-spacing: .9em;
    margin-right: -.9em;
    margin-top: 6.7px;          /* 4/36 der Logo-Größe wie im Header */
    text-transform: uppercase;
}
.login h1 a:hover, .login h1 a:focus { color: #1F2A22; box-shadow: none; outline: none; }

/* ---------------------------------------------------------------------------
   Karte
   ------------------------------------------------------------------------ */

.login form {
    margin: 0;
    padding: 36px 32px 32px;
    background: #FAF6F2;
    border: 0;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(31, 42, 34, .04), 0 24px 60px -12px rgba(31, 42, 34, .12);
    overflow: visible;
}

/* Begrüßung über dem Anmeldeformular */
#loginform::before {
    content: 'Willkommen zurück';
    display: block;
    margin-bottom: 6px;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.2;
    color: #1F2A22;
}
#loginform::after {
    content: '';
    display: block;
    clear: both;
}
html[lang^="en"] #loginform::before { content: 'Welcome back'; }

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
    margin: 8px 0 20px;
    padding: 0 16px;
    min-height: 50px;
    background: #F4ECE5;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    color: #1F2A22;
    font-size: 16px;
    transition: box-shadow .15s;
}
.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus { box-shadow: 0 0 0 2px #D3B9A2; outline: none; }

.login label,
.login form .forgetmenot label {
    color: #5E5A4A;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
#loginform > p:first-of-type { margin-top: 24px; }

/* Passwort anzeigen */
.login .wp-pwd { position: relative; }
.login .button.wp-hide-pw {
    top: 8px;
    height: 50px;
    width: 50px;
    min-width: 50px;
    color: #5E5A4A;
    border-radius: 12px;
}
.login .button.wp-hide-pw:focus { box-shadow: 0 0 0 2px #D3B9A2; border-color: transparent; }
.login .button.wp-hide-pw .dashicons { color: #5E5A4A; top: .3rem; }

/* „Angemeldet bleiben“ + Button untereinander, Button volle Breite */
.login .forgetmenot {
    float: none;
    display: flex;
    align-items: center;
    margin: 0 0 20px;
}
.login form .forgetmenot label { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 500; }
.login input[type="checkbox"] {
    border-color: #D3B9A2;
    border-radius: 4px;
    box-shadow: none;
}
.login input[type="checkbox"]:focus { box-shadow: 0 0 0 2px #D3B9A2; border-color: #D3B9A2; }

.login .submit,
.login p.submit { float: none; clear: both; margin: 0; padding: 0; }
.wp-core-ui .button-primary,
.login .button-primary,
.login #wp-submit {
    float: none;
    width: 100%;
    min-height: 50px;
    padding: 0 24px;
    background: #355E3B;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    text-shadow: none;
    color: #F4ECE5;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .01em;
    transition: opacity .2s;
}
.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:focus,
.login #wp-submit:hover,
.login #wp-submit:focus {
    background: #355E3B;
    color: #F4ECE5;
    opacity: .9;
    box-shadow: 0 0 0 3px rgba(53, 94, 59, .18);
}

/* ---------------------------------------------------------------------------
   Links unter der Karte, Hinweise, Sprachauswahl
   ------------------------------------------------------------------------ */

.login #nav,
.login #backtoblog {
    margin: 20px 0 0;
    padding: 0;
    text-align: center;
    font-size: 14px;
}
.login #backtoblog { margin-top: 10px; }
.login #nav a,
.login #backtoblog a,
.login .privacy-policy-link {
    color: #5E5A4A;
    text-decoration: none;
    transition: color .15s;
}
.login #nav a:hover,
.login #backtoblog a:hover,
.login .privacy-policy-link:hover { color: #1F2A22; text-decoration: underline; text-underline-offset: 3px; }
.login .privacy-policy-page-link { margin: 24px 0 0; text-align: center; }

.login .message,
.login .notice,
.login .success,
.login #login_error {
    margin: 0 0 20px;
    padding: 14px 18px;
    background: #FAF6F2;
    border: 0;
    border-left: 3px solid #355E3B;
    border-radius: 0 12px 12px 0;
    box-shadow: none;
    color: #1F2A22;
    font-size: 14px;
}
.login #login_error { border-left-color: #B3261E; }

.login .language-switcher {
    margin-top: 40px;
    padding: 0;
    text-align: center;
    opacity: .75;
    transition: opacity .2s;
}
.login .language-switcher:hover,
.login .language-switcher:focus-within { opacity: 1; }
.login .language-switcher form {
    flex-wrap: wrap;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    background: none;
    box-shadow: none;
}
.login .language-switcher label {
    margin-right: 2px;
    font-size: 12px;
    color: #5E5A4A;
}
.login .language-switcher label .dashicons { color: #5E5A4A; }
.login .language-switcher select {
    min-height: 36px;
    padding: 0 28px 0 12px;
    background-color: #FAF6F2;
    border: 0;
    border-radius: 999px;
    color: #1F2A22;
    font-size: 13px;
}
.login .language-switcher select:focus { box-shadow: 0 0 0 2px #D3B9A2; }
.wp-core-ui .language-switcher .button {
    min-height: 36px;
    padding: 0 16px;
    background: transparent;
    border: 1px solid #D3B9A2;
    border-radius: 999px;
    color: #1F2A22;
    font-size: 13px;
}
.wp-core-ui .language-switcher .button:hover,
.wp-core-ui .language-switcher .button:focus {
    background: #355E3B;
    border-color: #355E3B;
    color: #F4ECE5;
    box-shadow: none;
}

@media (max-width: 480px) {
    .login form { padding: 28px 22px 24px; }
    .login h1 a::before { font-size: 48px; }
    .login h1 a::after { font-size: 12px; margin-top: 5.3px; }
}

/* Sprachauswahl bleibt auch auf schmalen Bildschirmen innerhalb der Breite */
.login .language-switcher { width: min(400px, calc(100vw - 32px)); margin-left: auto; margin-right: auto; box-sizing: border-box; }
.login .language-switcher form { max-width: 100%; }
.login .language-switcher select { width: auto; max-width: 180px; }
