/* Einstieg: Welcome, Anmelden, Registrieren, Passwort, Onboarding (Option B, Stufe 1).
   Wird nach product-system.css geladen und überschreibt nur Darstellung und Abstände. */

/* ---- Meldung am Formularkopf --------------------------------------------------------------- */
.account-card .form-alert{width:100%;margin:var(--sp-3,12px) 0 0}

/* ---- Passwortfeld ----------------------------------------------------------------------------- */
.pw-field{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.pw-field .form-control{width:100%}
.pw-toggle{min-height:32px;padding:0 2px;border:0;background:transparent;color:var(--product-green,#315e4b);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pw-toggle[hidden]{display:none}
.pw-forgot{display:inline-flex;align-items:center;min-height:44px;margin:0 0 var(--sp-2,8px);font-size:14px;font-weight:600}

/* ---- Mail erneut senden ----------------------------------------------------------------------- */
.resend-box{margin-top:var(--sp-4,16px);padding-top:var(--sp-3,12px);border-top:1px solid var(--product-line,#e8ece7)}
.resend-box p{margin:0 0 var(--sp-2,8px);font-size:14px;line-height:1.5;color:var(--product-muted,#5d6b63)}

/* ---- Welcome ohne Deko ------------------------------------------------------------------------ */
.welcome-hero.welcome-solo{grid-template-columns:minmax(0,640px);justify-content:center;margin-top:var(--sp-4,16px);margin-bottom:var(--sp-5,24px)}
.welcome-solo .welcome-copy{padding:var(--sp-2,8px) 0}
.welcome-solo .welcome-actions{margin:var(--sp-4,16px) 0}

/* ---- Registrierung kompakt -------------------------------------------------------------------- */
.account-card-wide .page-title{margin-top:0}
.account-card-wide .row{--bs-gutter-y:.6rem}
.account-card-wide .form-text{margin-top:0}
.account-card-wide .form-label{margin-bottom:4px}
.account-consents{border:0;padding:0;border-radius:0}
.account-consents .form-check-row{margin-bottom:var(--sp-1,4px)}
.account-consents .form-check-row:last-child{margin-bottom:0}
.account-card-wide .account-switch{margin-top:var(--sp-3,12px);padding-top:var(--sp-3,12px)}

/* ---- Onboarding kompakt ----------------------------------------------------------------------- */
.setup-compact{margin-top:var(--sp-2,8px);margin-bottom:var(--sp-4,16px);padding:var(--sp-3,12px) var(--sp-4,16px)}
.setup-compact .setup-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-1,4px) var(--sp-3,12px)}
body.product-body .setup-compact .setup-head h1{margin:0;font-size:19px!important;line-height:1.25;flex:1 1 100%;order:2}
.setup-compact .setup-skip-form{flex:none;margin:0 0 0 auto;order:1}
body.product-body .setup-compact .setup-skip{min-height:36px;padding:2px 12px}
.setup-compact .setup-form fieldset{padding:var(--sp-2,8px) 0 0;margin:0}
.setup-compact .setup-form legend{margin:0 0 var(--sp-1,4px)}
.setup-compact .mode-grid{gap:var(--sp-2,8px)}
.setup-compact .mode-grid label span{padding:6px var(--sp-3,12px);position:relative}
.setup-compact .mode-grid small{margin-top:1px;line-height:1.35}
.setup-compact .preference-toggle{padding:var(--sp-2,8px) 2px;min-height:44px}
.setup-compact .setup-submit{margin-top:var(--sp-3,12px)}
/* gewählt: kräftiger Rahmen (über 3:1 gegen Weiß) und eine Marke, die auch ohne Farbe erkennbar ist */
.mode-grid label span{border:2px solid #7d8c83;padding:calc(13px - 1px)}
.mode-grid input:checked+span{border-color:#315e4b;background:#f2f6ef}
.mode-grid input:checked+span strong::before{content:"\2713";display:inline-block;margin-right:6px;font-weight:800;color:#315e4b}
@media (max-width:760px){.setup-compact{border-radius:12px}}

/* Rechtslinks im Fuß der öffentlichen Seiten: Trefferfläche mindestens 24 px hoch */
.product-footer:not(.product-footer-app) a{display:inline-block;padding:3px 0;min-height:24px}
