/* Kundenansicht neu: Hülle (Menü, Kopf, Blatt, Leiste, Streifen, Konto). Weiß, Haarlinie, Schwarz; keine Verläufe, kein Glas. Die Grundregeln gelten am Desktop, die Handy-Abfrage überschreibt für das Handy. */ /* ---------- Blatt (Etage 2) ---------- */ .kn-blatt { max-width: 1160px; padding: 36px 48px 80px; background: var(--kn-bg); } .kn-haupt[inert] { display: none; } /* Desktop: die Unterseite ersetzt die Hauptseite in der Spalte */ .kn-brot { margin-bottom: 8px; font-size: 13px; line-height: 20px; color: var(--kn-text-2); } .kn-brot a { color: var(--kn-text-2); } .kn-brot-trenner { color: var(--kn-text-3); } .kn-brot [aria-current="page"] { color: var(--kn-text); } .kn-zurueck { position: relative; display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 8px 0 6px; font-size: 15px; font-weight: 600; color: var(--kn-text); } .kn-zurueck::before { content: ""; width: 9px; height: 9px; margin-left: 4px; border: solid; border-width: 0 0 2px 2px; transform: rotate(45deg); } .kn-zurueck--voll { flex: 1; } .kn-zurueck .kn-l { position: relative; line-height: 20px; } .kn-vl { flex: none; width: 1px; height: 24px; margin: 0 4px; background: var(--kn-line); } .kn-punkt { position: absolute; top: -2px; left: 100%; width: 9px; height: 9px; margin-left: 2px; border-radius: 50%; background: #b3093c; box-shadow: 0 0 0 2px var(--kn-bg); } @media (max-width: 880px), (pointer: coarse) and (max-height: 500px) { .kn { --kn-unten: calc(var(--kn-zeile-h) + env(safe-area-inset-bottom)); } .kn-blatt { position: fixed; inset: 0 0 var(--kn-unten, var(--kn-zeile-h)); z-index: 20; max-width: none; padding: 0 16px 24px; overflow-y: auto; overscroll-behavior: contain; border-radius: 12px 12px 0 0; box-shadow: 0 0 0 1px rgba(26,31,54,.06), 0 -8px 24px rgba(26,31,54,.1); transform: translateY(100%); transition: transform 550ms var(--kn-bremse); } .kn-blatt--auf { transform: none; } .kn-haupt[inert] { display: block; } /* am Handy bleibt die Hauptseite unter dem Blatt stehen */ .kn-brot { display: none; } } /* ---------- Streifen (Widerrufsfrist) ---------- */ .kn-streifen { display: flex; align-items: center; min-height: 44px; padding: 0 48px; background: var(--kn-orange-bg); color: var(--kn-orange-fg); font-size: 14px; line-height: 20px; font-weight: 600; } .kn-streifen-link { margin-left: 6px; color: inherit; text-decoration: underline; text-underline-offset: 3px; } .kn-tastatur .kn-streifen { display: none; } @media (max-width: 880px), (pointer: coarse) and (max-height: 500px) { .kn-streifen { position: fixed; left: 0; right: 0; bottom: calc(var(--kn-zeile-h) + env(safe-area-inset-bottom)); z-index: 30; padding: 0 16px; } .kn-streifen-link { min-height: 44px; display: inline-flex; align-items: center; } .kn-hat-streifen { --kn-unten: calc(var(--kn-zeile-h) + env(safe-area-inset-bottom) + 44px); } .kn-hat-streifen .kn-haupt { padding-bottom: calc(var(--kn-zeile-h) + env(safe-area-inset-bottom) + 28px + 44px); } } /* ---------- Konto (Popover am Desktop, Sheet am Handy) ---------- */ .kn-avatar { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; } .kn-avatar-kreis { display: grid; place-items: center; width: 32px; height: 32px; overflow: hidden; border-radius: 50%; background: var(--kn-grau-bg); color: var(--kn-grau-fg); font-size: 12px; line-height: 16px; font-weight: 600; } .kn-avatar img { display: none; width: 100%; height: 100%; object-fit: cover; } .kn-avatar.has-img img { display: block; } .kn-avatar.has-img .kn-initialen { display: none; } .kn-konto-wurzel { position: fixed; inset: 0; z-index: 60; } .kn-konto-wurzel:focus { outline: none; } /* tabindex -1: ein Tipp ins Leere behält die Tasten (Esc, Tab) im Sheet */ .kn-konto-scrim { position: absolute; inset: 0; background: transparent; } .kn-konto { position: absolute; top: 56px; right: 24px; width: 280px; max-height: calc(100vh - 72px); padding: 8px 20px; overflow-y: auto; overscroll-behavior: contain; background: var(--kn-bg); border-radius: var(--kn-radius-lg); box-shadow: var(--kn-shadow-pop); animation: kn-aufpoppen .14s ease-out; } .kn-konto-kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0 12px; border-bottom: 1px solid var(--kn-line); } .kn-konto-name { display: block; font-size: 17px; line-height: 24px; font-weight: 600; overflow-wrap: anywhere; } .kn-konto-mail { display: block; font-size: 13px; line-height: 18px; color: var(--kn-text-2); overflow-wrap: anywhere; } .kn-konto-zu { flex: none; min-height: 32px; padding: 0 4px; font-weight: 600; } .kn-konto-zeile { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 46px; padding: 0; border-bottom: 1px solid var(--kn-line); text-align: left; color: var(--kn-text); } .kn-konto-zeile:hover .kn-konto-text { text-decoration: underline; text-decoration-color: var(--kn-line-strong); text-underline-offset: 3px; } .kn-konto-zeile--betont .kn-konto-text { font-weight: 600; } .kn-konto-zeile[data-konto="abmelden"] { border-bottom: 0; color: var(--kn-text-2); } .kn-konto-text { display: block; } .kn-konto-hinweis { display: block; margin-top: 1px; font-size: 13px; line-height: 18px; font-weight: 400; color: var(--kn-text-2); } @media (max-width: 880px), (pointer: coarse) and (max-height: 500px) { .kn-konto-scrim { background: var(--kn-overlay); animation: kn-einblenden .3s ease-out; } .kn-konto { top: auto; right: 0; bottom: 0; left: 0; width: auto; max-height: 92vh; padding: 8px 20px calc(22px + env(safe-area-inset-bottom)); border-radius: 12px 12px 0 0; animation: kn-sheet-hoch 500ms var(--kn-bremse); } .kn-konto-zu { min-height: 44px; } .kn-konto-zeile { min-height: 46px; } } @keyframes kn-sheet-hoch { from { transform: translateY(100%); } }