/* ============================================================
   Konto-Seiten (Registrieren, Anmelden …) – baut auf admin/css/base.css auf
   ============================================================ */
.k-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,440px) 1fr}

/* Linke Seite: Marke */
.k-side{background:var(--gradient-brand);color:#ffffff;padding:48px 44px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.k-brand{font-family:var(--f-head);font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1;color:inherit;text-decoration:none}
.k-brand span{display:inline-block;background:#fff;color:var(--terra);padding:2px 5px 1px;margin-right:2px;border-radius:4px}
.k-claim{margin:8px 0 0;font-weight:600;opacity:.8;font-size:15px}
.k-pitch{margin-top:auto}
.k-pitch h2{font-family:var(--f-head);font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:0 0 20px;color:#fff}
.k-pitch ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;font-size:17px}
.k-pitch li{display:flex;gap:10px;align-items:flex-start}
.k-pitch li::before{content:"✓";font-weight:800;color:#fff}
.k-bubble{margin-top:36px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:14px 16px;font-size:15px;line-height:1.6}

/* Rechte Seite: Formular */
.k-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}
.k-card{width:100%;max-width:520px}
.k-brand-sm{display:none;color:var(--ink);font-size:24px;margin-bottom:24px}
.k-brand-sm span{background:var(--ink)!important;color:#fff!important}
.k-card h1{font-size:clamp(30px,4vw,40px);margin-bottom:8px}
.k-lead{color:var(--ink-2);font-size:17px;margin:0 0 28px}
.k-foot{margin-top:32px;font-size:13px;color:var(--ink-3)}
.k-foot a{color:var(--ink-3)}

/* Felder */
.k-form .field{margin-bottom:18px}
.k-form input[type=email],.k-form input[type=password]{width:100%;font-size:17px;padding:13px 16px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--white)}
.k-form input:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 4px rgba(0,111,238,.14)}
.k-form [aria-invalid=true]{border-color:var(--terra)!important}
.k-err{color:var(--terra-d);font-size:14px;font-weight:600;margin:6px 0 0}
.k-hint{color:var(--ink-3);font-size:14px;margin:6px 0 0}
.k-alert{border-radius:14px;padding:14px 16px;font-weight:600;margin-bottom:20px;font-size:15px;line-height:1.5}
.k-alert.err{background:var(--terra-soft);color:var(--terra-d)}
.k-alert.ok{background:var(--olive-soft);color:var(--olive)}
.k-alert.info{background:var(--sun-soft);color:#92400e}
.k-alert form{margin-top:10px}
.k-btn{width:100%;margin-top:8px}
.k-links{margin-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15px}
.k-links a{color:var(--terra);font-weight:700;text-decoration:none}
.k-links a:hover{text-decoration:underline}
.k-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Passwort mit Anzeigen-Knopf */
.k-pw{position:relative}
.k-pw input{padding-right:84px!important}
.k-pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:700;color:var(--ink-2);padding:8px 10px;border-radius:8px}
.k-pw button:hover{background:var(--paper-2)}

/* Link (Slug) */
.k-slug{display:flex;align-items:stretch;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--white);overflow:hidden}
.k-slug:focus-within{border-color:var(--terra);box-shadow:0 0 0 4px rgba(0,111,238,.14)}
.k-slug span{display:flex;align-items:center;padding:0 2px 0 14px;color:var(--ink-3);font-weight:600;white-space:nowrap;background:var(--paper)}
.k-slug input{border:0!important;box-shadow:none!important;border-radius:0!important;padding-left:4px!important;min-width:0}
.k-slug-status{font-size:14px;font-weight:700;margin:6px 0 0;min-height:21px}
.k-slug-status.ok{color:var(--olive)}
.k-slug-status.bad{color:var(--terra-d)}
.k-slug-status button{color:var(--terra);font-weight:800;text-decoration:underline;text-underline-offset:2px}

/* Paket-Auswahl */
.k-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
.k-plan{position:relative;display:block;border:1.5px solid var(--line-2);border-radius:var(--r-sm);padding:12px 12px 12px;background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.k-plan input{position:absolute;opacity:0;pointer-events:none}
.k-plan strong{display:block;font-family:var(--f-head);font-size:17px;font-weight:700;letter-spacing:-.02em}
.k-plan small{display:block;color:var(--ink-3);font-size:13px;line-height:1.35;margin-top:2px}
.k-plan:has(input:checked){border-color:var(--terra);box-shadow:0 0 0 3px rgba(0,111,238,.15);background:#f5f9ff}
.k-plan:has(input:checked)::after{content:"✓";position:absolute;top:8px;right:10px;color:var(--terra);font-weight:800}
.k-plan:has(input:focus-visible){outline:3px solid var(--terra);outline-offset:2px}

.k-plan-note{margin:10px 0 4px;padding:12px 14px;border-radius:12px;background:var(--sun-soft);color:#92400e;font-size:14.5px;line-height:1.5}
.k-plan-note:empty{display:none}

/* Zustimmungen */
.k-check{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;font-size:15px;line-height:1.45;cursor:pointer}
.k-check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--terra);flex-shrink:0}
.k-check a{color:var(--terra);font-weight:700}

/* „Mail ist unterwegs“ */
.k-sent{text-align:center}
.k-sent .k-ico{width:84px;height:84px;border-radius:var(--r);background:var(--terra-soft);color:var(--terra);display:grid;place-items:center;margin:0 auto 18px;font-size:38px}
.k-dev{margin-top:20px;border:2px dashed var(--sun-line);border-radius:14px;padding:12px 14px;font-size:14px;text-align:left;background:var(--sun-soft);word-break:break-all}
.k-dev a{color:var(--terra);font-weight:700}

@media (max-width:900px){
  .k-page{grid-template-columns:1fr}
  .k-side{display:none}
  .k-brand-sm{display:inline-block}
  .k-main{justify-content:flex-start;padding:28px 16px 40px}
}
@media (max-width:520px){
  .k-plans{grid-template-columns:1fr}
  .k-plan small{display:inline;margin-left:6px}
  .k-plan strong{display:inline}
}
