/* t63u – Business/Privat badge, Konto › Kontotyp + Rechtstexte, public legal page, tax notes on Premium/checkout. Light/dark/mobile. */

/* ---------- badge (reusable: acct_badge(idOrName, size)) ---------- */
.ut-badge {
  display: inline-flex; align-items: center; gap: .32em; margin-left: .35em; padding: .18em .5em .16em;
  border-radius: 999px; border: 1px solid transparent; font-size: .72em; font-weight: 650; line-height: 1.1;
  letter-spacing: .02em; white-space: nowrap; vertical-align: .12em; text-decoration: none;
}
.ut-badge i { font-size: .92em; }
.ut-badge.is-biz { background: #17324d; color: #fff; border-color: #17324d; }
.ut-badge.is-priv { background: transparent; color: var(--muted); border-color: var(--line); font-weight: 600; }
.ut-badge.is-lg { font-size: .42em; padding: .3em .7em .28em; vertical-align: .3em; }
.ut-badge.is-xs { padding: .2em .32em; gap: 0; }
html[data-theme="dark"] .ut-badge.is-biz { background: #e2b15a; color: #141a16; border-color: #e2b15a; }
html[data-theme="dark"] .ut-badge.is-priv { color: rgba(246, 241, 232, .72); border-color: rgba(246, 241, 232, .22); }

/* ---------- notes ---------- */
.ut-note { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); line-height: 1.5; }
.ut-note p { margin: 0; }
.ut-note > i { margin-top: .2em; font-size: 1.05rem; }
.ut-note.is-info > i { color: #2a6db0; }
.ut-note.is-warn { border-color: rgba(196, 120, 14, .45); background: rgba(240, 170, 40, .1); }
.ut-note.is-warn > i { color: #b86a00; }
html[data-theme="dark"] .ut-note.is-info > i { color: #8fc1f2; }
html[data-theme="dark"] .ut-note.is-warn { background: rgba(226, 177, 90, .12); border-color: rgba(226, 177, 90, .4); }
html[data-theme="dark"] .ut-note.is-warn > i { color: #f0c36d; }

/* ---------- Konto › Kontotyp ---------- */
.ut-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 4px 0 16px; }
.ut-opt { position: relative; display: block; cursor: pointer; }
.ut-opt input { position: absolute; opacity: 0; inset: 0; }
.ut-opt > span { display: grid; gap: 4px; padding: 14px 16px; min-height: 64px; border: 1.5px solid var(--line); border-radius: 14px; background: var(--card); transition: border-color .15s, box-shadow .15s; }
.ut-opt b { font-weight: 650; }
.ut-opt small { color: var(--muted); font-size: .86rem; line-height: 1.4; }
.ut-opt input:checked + span { border-color: var(--brand, #1f6f4a); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand, #1f6f4a) 18%, transparent); }
.ut-opt input:focus-visible + span { outline: 2px solid var(--brand, #1f6f4a); outline-offset: 2px; }
.ut-opt.is-off { opacity: .5; cursor: not-allowed; }
.ut-status { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 18px; margin: 6px 0 14px; padding: 14px 16px; border-radius: 14px; background: color-mix(in srgb, var(--line) 30%, transparent); }
.ut-status dt { font-size: .74rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ut-status dd { margin: 2px 0 0; }
.ut-st { display: inline-block; padding: .15em .6em; border-radius: 999px; font-size: .86rem; font-weight: 650; background: var(--line); }
.ut-st.is-valid { background: #d7f0df; color: #14532d; }
.ut-st.is-retry, .ut-st.is-pending, .ut-st.is-manual { background: #fdecc8; color: #7a4b00; }
.ut-st.is-invalid, .ut-st.is-unverified { background: #fbd9d6; color: #8a1c13; }
html[data-theme="dark"] .ut-st.is-valid { background: rgba(80, 200, 120, .2); color: #a7f0bf; }
html[data-theme="dark"] .ut-st.is-retry, html[data-theme="dark"] .ut-st.is-pending, html[data-theme="dark"] .ut-st.is-manual { background: rgba(226, 177, 90, .2); color: #f5d491; }
html[data-theme="dark"] .ut-st.is-invalid, html[data-theme="dark"] .ut-st.is-unverified { background: rgba(240, 100, 90, .2); color: #ffb3ab; }
.ut-rules { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; line-height: 1.5; }
.ut-rules li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; }
.ut-rules i { margin-top: .25em; color: var(--muted); }
.form-card textarea { width: 100%; min-height: 120px; resize: vertical; font: inherit; line-height: 1.5; }
@media (max-width: 640px) { .ut-choice { grid-template-columns: 1fr; } }

/* ---------- public legal page ---------- */
.ul-wrap { max-width: 880px; }
.ul-wrap h1 { margin: 6px 0 6px; }
.ul-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 22px; }
.ul-toc a { padding: 8px 14px; min-height: 40px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--ink); text-decoration: none; font-weight: 600; font-size: .92rem; }
.ul-sec { margin: 0 0 22px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); scroll-margin-top: 90px; }
.ul-sec h2 { margin: 0 0 10px; font-size: 1.15rem; }
.ul-text { line-height: 1.6; overflow-wrap: anywhere; }
.ul-links { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 8px 0 0; font-size: .88rem; }
.ul-links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ul-links i { margin-right: 4px; opacity: .7; }
.up-company { margin: 2px 0 4px; font-weight: 600; }

/* ---------- Premium/checkout tax lines ---------- */
.tx-fx { display: block; margin-top: 4px; font-size: .82rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.tx-rule { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0; padding: 10px 14px; border-radius: 12px; font-size: .9rem; line-height: 1.45; background: color-mix(in srgb, var(--line) 32%, transparent); }
.tx-rule i { margin-top: .2em; }
.tx-rule.is-rc { background: rgba(23, 50, 77, .08); border: 1px solid rgba(23, 50, 77, .2); }
html[data-theme="dark"] .tx-rule.is-rc { background: rgba(226, 177, 90, .1); border-color: rgba(226, 177, 90, .3); }

/* hidden business fields (grid/flex classes would override [hidden]) */
[data-ut-biz][hidden], [data-tx-note][hidden] { display: none !important; }
