/* Existing authentication flow in the public website visual language. */
:root {
    --auth-width: 1040px;
    --auth-card-width: 32rem;
    --auth-notice-linger: 30s;
    --auth-notice-fade: 400ms;
}
.bh-auth-page .bh-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.bh-auth-layout,
.bh-auth-feedback {
    max-width: var(--auth-width);
    margin-inline: auto;
}
.bh-auth-card {
    min-width: 0;
    background: var(--color-surface);
    padding: var(--card-padding);
    border: 1px solid var(--color-border);
    border-radius: var(--rounded-md);
}
.bh-auth-card-header { margin-bottom: var(--spacing-lg); }
.bh-auth-card-header h3 {
    margin-top: 0;
}
.bh-auth-card-header p { margin-bottom: 0; }
.bh-auth-form .uk-form-label {
    display: block;
    margin-bottom: var(--spacing-xxs);
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: var(--font-size-label);
    font-weight: 600;
}
.bh-auth-input {
    border-color: var(--color-border);
    border-radius: var(--rounded-xs);
    background: var(--color-surface);
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: var(--font-size-body);
}
.bh-auth-input:focus { border-color: var(--color-primary); }
.bh-auth-submit {
    display: block;
    margin-block-start: var(--spacing-sm);
    margin-inline: auto;
}
.bh-auth-card--compact { max-width: var(--auth-card-width); margin-inline: auto; }
/* Meldung und Fusszeile folgen der Breite der Einzelkarte, statt der alten
   Zwei-Spalten-Breite zu folgen. */
.bh-auth-section--single .bh-auth-feedback,
.bh-auth-section--single .bh-auth-footnote {
    box-sizing: border-box;
    max-inline-size: var(--auth-card-width);
    margin-inline: auto;
    text-align: center;
}
.bh-auth-section--single .bh-auth-feedback .uk-list {
    display: inline-block;
    text-align: start;
}
.bh-auth-switch { margin-top: var(--spacing-md); margin-bottom: 0; text-align: center; }
.bh-auth-switch .bh-auth-backlink { margin-top: 0; }
.bh-auth-backlink { display: inline-block; margin-top: var(--spacing-md); }
.bh-auth-backlink--centered { display: block; text-align: center; }
.bh-auth-backlink,
.bh-auth-footnote a { color: var(--color-link); text-decoration: underline; }
.bh-auth-footnote { text-align: center; margin-top: var(--spacing-lg); }
.bh-auth-feedback { padding: var(--spacing-md); margin-bottom: var(--spacing-lg); border-radius: var(--rounded-xs); }
/* Die einzeilige Rueckmeldung blendet sich nach --auth-notice-linger aus.
   Die Liste der Feldfehler bleibt stehen, solange man sie zum Korrigieren braucht. */
p.bh-auth-feedback { transition: opacity var(--auth-notice-fade) ease; }
p.bh-auth-feedback[data-bh-fading] { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
    p.bh-auth-feedback { transition: none; }
}
.bh-feedback--error { background: var(--color-danger-surface); color: var(--color-danger); }
.bh-feedback--success { background: var(--color-success-surface); color: var(--color-ink); }
.bh-auth-page :focus-visible { outline: 2px solid var(--color-ink); outline-offset: 3px; }
