/* Standalone chrome for the authentication and registration pages. */
.auth-page{display:flex;flex-direction:column;min-height:100vh;margin:0;background:#fff;color:#123a6b}
.auth-page,.auth-page button,.auth-page input,.auth-page select,.auth-page textarea{font-family:'Roboto',sans-serif;font-weight:400;font-size:1rem;line-height:1.65}
.auth-page h1,.auth-page h2,.auth-page h3{font-family:'Barlow Semi Condensed',sans-serif;font-weight:600}
.auth-page .skip-link{position:absolute;inset-inline-start:-9999px}
.auth-page .skip-link:focus{inset-inline-start:1rem;top:1rem;z-index:10;background:#fff;padding:.5rem 1rem}

.auth-header{border-bottom:1px solid #e1ebf7;background:#fff}
.auth-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.auth-logo{flex:0 0 auto;line-height:0}
.auth-logo img{width:72px;height:auto}
.auth-back-btn{display:inline-flex;align-items:center;gap:.4em;border:1px solid #1e5faf;border-radius:4px;color:#1e5faf;padding:4px 12px;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none}
.auth-back-btn:hover,.auth-back-btn:focus-visible{background:#1e5faf;color:#fff}
[dir="rtl"] .auth-back-btn .bi-arrow-left{transform:scaleX(-1)}

.auth-main{flex:1 0 auto;padding:3rem 0}
.auth-main .auth-messages{max-width:640px;margin:0 auto 1.5rem}
.auth-main .auth-form-wrap,.auth-main .wizard-form-wrap{margin-top:0;margin-bottom:0}

.auth-footer{margin-top:auto}
.auth-footer .footer-nav{column-gap:1.25rem;row-gap:.5rem}

@media (max-width:575.98px){
	.auth-header-row{gap:.5rem}
	.auth-logo img{width:56px}
	.auth-back-btn span{display:none}
	.auth-main{padding:2rem 0}
}

/* Portal: the chooser an anonymous visitor lands on from "Anmeldung". */
.portal-wrap{max-width:560px;margin:0 auto}
.portal-intro{text-align:center;margin-bottom:2rem}
.portal-intro h1{margin-bottom:.25rem}
.portal-intro p{margin-bottom:0;color:#5a7391}

.portal-options{display:flex;flex-direction:column;gap:1rem}
.portal-option{--portal-accent:#1e5faf;--portal-accent-soft:#eaf3ff;display:flex;align-items:center;gap:1rem;padding:1.125rem 1.25rem;border:1px solid #dbe8f7;border-radius:14px;background:#fff;color:#123a6b;text-decoration:none;box-shadow:0 1px 3px rgba(18,58,107,.06);transition:border-color .15s,box-shadow .15s,transform .15s}
.portal-option:hover,.portal-option:focus-visible{border-color:var(--portal-accent);box-shadow:0 6px 18px rgba(18,58,107,.12);color:#123a6b;transform:translateY(-1px)}
.portal-option-existing{--portal-accent:#0d7a5f;--portal-accent-soft:#e4f5ef}
.portal-option-volunteer{--portal-accent:#c2410c;--portal-accent-soft:#fdeee5}

.portal-option-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--portal-accent-soft);color:var(--portal-accent);font-size:1.5rem;line-height:1}
.portal-option-text{flex:1 1 auto;min-width:0}
.portal-option-title{display:block;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--portal-accent)}
.portal-option-sub{display:block;font-size:.9375rem;line-height:1.4;color:#5a7391}
.portal-option-arrow{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--portal-accent-soft);color:var(--portal-accent);font-size:1rem;line-height:1}
[dir="rtl"] .portal-option-arrow .bi-chevron-right{transform:scaleX(-1)}

.portal-contact{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid #e1ebf7;text-align:center}
.portal-contact-intro{margin-bottom:1rem;font-size:.9375rem;color:#5a7391}
.portal-contact-links{display:flex;flex-wrap:wrap;gap:.625rem;justify-content:center}
.portal-contact-btn{display:inline-flex;align-items:center;gap:.4em;border:1px solid #1e5faf;border-radius:999px;color:#1e5faf;padding:5px 16px;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none}
.portal-contact-btn:hover,.portal-contact-btn:focus-visible{background:#1e5faf;color:#fff}
.portal-contact-mail{margin:1rem 0 0;font-size:.875rem;color:#5a7391}
.portal-contact-mail i{margin-inline-end:.35em}
.portal-contact-mail a{color:#1e5faf}

@media (max-width:575.98px){
	.portal-option{gap:.75rem;padding:1rem}
	.portal-option-icon{width:44px;height:44px;border-radius:12px;font-size:1.25rem}
	.portal-option-title{font-size:1.125rem}
	.portal-option-arrow{width:28px;height:28px;font-size:.875rem}
}

/* Login: a volunteer whose application is still being reviewed. */
.login-under-review{margin-top:.5rem;padding:.625rem .875rem;border-radius:6px;background:#fff6dd;color:#7a5507}
.login-under-review .bi{margin-inline-end:.35em}
