/* KRB Design 2.0 – kostenloserechtsberatung.com über Hueman.
   Ausgerichtet an den führenden Rechtsportalen (siehe KONKURRENZ-DESIGN.md): Navy-Verlauf, Messing-Gold, viel Weiß,
   Vertrauensleiste, Aufklappmenü mit Symbolen, Titelband mit Brotkrumen, Kasten mit dem nächsten Schritt. */
@font-face {
  font-family: 'Literata';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Literata-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/Literata-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/PublicSans-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.krb {
  --n9: #081729; --n8: #0b1f36; --n7: #12304f; --n6: #173a63; --n5: #1d4a7a; --n1: #eef3f8;
  --gold: #b8913f; --gold-h: #d4b26a; --gold-t: #8a6a26; --gold-l: #f6efdf;
  --text: #1d2733; --grau: #5d6977; --linie: #dfe4ea; --bg: #f3f5f8; --link: #1a4f8b;
  --ui: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; --serif: 'Literata', Georgia, serif;
  --wrap: 1320px;
  background: var(--bg) !important; color: var(--text); font-family: var(--ui); -webkit-font-smoothing: antialiased;
}
body.krb #wrapper { background: var(--bg); }
body.krb a { color: var(--link); }
body.krb :focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
body.krb .krb-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
body.krb .krb-ico { width: 1.15em; height: 1.15em; flex: none; }

/* Theme-Teile, die ersetzt sind */
body.krb #header, body.krb #nav-mobile, body.krb .page-title, body.krb .post-byline, body.krb .post-nav,
body.krb .related-posts, body.krb h4.heading, body.krb .yasr-auto-insert-visitor, body.krb #back-to-top, body.krb .sidebar-toggle { display: none !important; }

/* ---------- Vertrauensleiste ---------- */
body.krb .krb-top { background: var(--n9); color: #c3cfdc; font: 500 13px/1 var(--ui); }
body.krb .krb-top .krb-wrap { display: flex; gap: 26px; align-items: center; height: 36px; }
body.krb .krb-top span { display: inline-flex; gap: 7px; align-items: center; white-space: nowrap; }
body.krb .krb-top .krb-ico { color: var(--gold-h); }
body.krb .krb-top .krb-top-r { margin-left: auto; }

/* ---------- Kopf ---------- */
body.krb .krb-kopf { position: relative; z-index: 50; color: #fff;
  background: radial-gradient(120% 180% at 100% 0%, rgba(212,178,106,.16) 0%, rgba(212,178,106,0) 42%), linear-gradient(115deg, var(--n8) 0%, var(--n6) 62%, var(--n5) 100%);
  border-bottom: 1px solid rgba(212,178,106,.35); }
body.krb .krb-kopf-in { position: relative; display: flex; align-items: center; gap: 28px; min-height: 84px; }
body.krb .krb-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; flex: none; }
body.krb .krb-emblem { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: linear-gradient(145deg, #e3c27c 0%, var(--gold) 55%, var(--gold-t) 100%); color: var(--n8);
  font: 700 30px/1 var(--serif); box-shadow: inset 0 0 0 3px rgba(255,255,255,.35), 0 4px 14px rgba(0,0,0,.25); padding-bottom: 2px; box-sizing: border-box; }
body.krb .krb-logo-text { display: flex; flex-direction: column; gap: 4px; }
body.krb .krb-logo-text b { font: 800 19px/1.1 var(--ui); letter-spacing: -.01em; color: #fff; }
body.krb .krb-logo-text small { display: none; } /* Unterzeile steht im Fuß – im Kopf braucht das Menü den Platz */

body.krb .krb-nav { margin-left: auto; flex: none; align-self: stretch; display: flex; }
body.krb .krb-nav-ul { display: flex; align-items: stretch; gap: 4px; list-style: none; margin: 0; padding: 0; }
/* Menüpunkt reicht bis zur Unterkante des Kopfs – so gibt es zwischen Punkt und Aufklapp-Fläche keine Lücke, in der die Maus das Menü verliert */
body.krb .krb-nav-ul > li { position: static; margin: 0; display: flex; align-items: center; }
body.krb .krb-has > button { white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 0; color: #fff; cursor: pointer;
  font: 600 14.5px/1 var(--ui); padding: 12px 10px; border-radius: 8px; transition: background .15s; }
body.krb .krb-has > button .krb-ico { color: var(--gold-h); width: 19px; height: 19px; }
body.krb .krb-has > button .krb-chev { width: 15px; height: 15px; opacity: .7; transition: transform .2s; }
body.krb .krb-has > button:hover, body.krb .krb-has.krb-offen > button, body.krb .krb-has.krb-aktiv > button { background: rgba(255,255,255,.09); }
body.krb .krb-has.krb-aktiv > button { box-shadow: inset 0 -2px 0 var(--gold-h); }
body.krb .krb-has.krb-offen > button .krb-chev { transform: rotate(180deg); }
body.krb .krb-cta { white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; margin-left: 8px; padding: 11px 16px; border-radius: 8px; text-decoration: none;
  background: linear-gradient(180deg, #d9b871, var(--gold)); color: var(--n8) !important; font: 700 15px/1 var(--ui); box-shadow: 0 2px 0 var(--gold-t); }
body.krb .krb-cta:hover { background: linear-gradient(180deg, #e4c785, #c49c49); }

/* Aufklapp-Fläche */
body.krb .krb-panel { position: absolute; left: 24px; right: 24px; top: 100%; visibility: hidden; opacity: 0; transform: translateY(6px);
  /* Schließen erst nach kurzer Pause: wer die Maus schräg zur Liste bewegt, verliert sie nicht */
  transition: opacity .15s ease .3s, transform .15s ease .3s, visibility 0s linear .45s; }
/* Nach Esc oder Klick auf den offenen Punkt bleibt die Liste zu, bis die Maus den Punkt verlässt */
body.krb .krb-has.krb-zu > .krb-panel { visibility: hidden !important; opacity: 0 !important; transition: none !important; }
body.krb .krb-panel::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
body.krb .krb-has.krb-offen > .krb-panel { visibility: visible; opacity: 1; transform: none; transition: opacity .15s ease, transform .15s ease, visibility 0s; z-index: 2; }
@media (hover: hover) and (min-width: 1241px) {
  body.krb .krb-has:hover > .krb-panel, body.krb.krb-tastatur .krb-has:focus-within > .krb-panel { visibility: visible; opacity: 1; transform: none; transition: opacity .15s ease .06s, transform .15s ease .06s, visibility 0s linear .06s; z-index: 3; }
}
body.krb .krb-panel-in { background: #fff; color: var(--text); border-radius: 0 0 14px 14px; border-top: 3px solid var(--gold); padding: 24px 26px 22px;
  box-shadow: 0 28px 60px rgba(8,23,41,.30), 0 2px 6px rgba(8,23,41,.12); }
body.krb .krb-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px 14px; }
body.krb .krb-grid-gebiete, body.krb .krb-grid-laender { grid-template-columns: repeat(4, 1fr); }
body.krb .krb-grid li { margin: 0; }
body.krb .krb-grid a { display: flex; align-items: flex-start; gap: 12px; padding: 11px 12px; border-radius: 10px; text-decoration: none; color: var(--text); transition: background .12s; }
body.krb .krb-grid a:hover, body.krb .krb-grid a[aria-current] { background: var(--n1); }
body.krb .krb-grid a .krb-ico { width: 34px; height: 34px; padding: 7px; box-sizing: border-box; border-radius: 9px; background: var(--gold-l); color: var(--gold-t); }
body.krb .krb-grid a span { display: flex; flex-direction: column; gap: 3px; padding-top: 2px; }
body.krb .krb-grid a b { font: 700 15px/1.25 var(--ui); color: var(--n8); }
body.krb .krb-grid a small { font: 400 13px/1.35 var(--ui); color: var(--grau); }
body.krb .krb-grid-gebiete a, body.krb .krb-grid-laender a { align-items: center; padding: 8px 10px; }
body.krb .krb-grid-gebiete a b { font-size: 14.5px; }
body.krb .krb-grid-laender a .krb-ico { width: 28px; height: 28px; padding: 6px; }
body.krb .krb-grid-laender a span { font: 600 14.5px/1.25 var(--ui); color: var(--n8); padding: 0; }
body.krb .krb-panel-intro { margin: 0 0 14px; font: 400 14px/1.5 var(--ui); color: var(--grau); }
body.krb .krb-panel-note { display: flex; gap: 8px; align-items: center; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--linie); font: 500 13.5px/1.4 var(--ui); color: var(--grau); }
body.krb .krb-panel-note .krb-ico { color: var(--gold-t); }

/* Handy-Knopf */
body.krb .krb-burger { display: none; margin-left: auto; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 8px; padding: 10px 12px; cursor: pointer; color: #fff; align-items: center; gap: 4px; flex-direction: column; }
body.krb .krb-burger span { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; transition: transform .2s, opacity .2s; }
body.krb .krb-burger em { font: 600 10px/1 var(--ui); font-style: normal; margin-top: 2px; letter-spacing: .02em; }
body.krb.krb-menue-offen .krb-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
body.krb.krb-menue-offen .krb-burger span:nth-child(2) { opacity: 0; }
body.krb.krb-menue-offen .krb-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- Titelband ---------- */
body.krb .krb-band { color: #fff; background: linear-gradient(180deg, var(--n7) 0%, #0f2a47 100%); padding: 30px 0 34px; position: relative; overflow: hidden; }
body.krb .krb-band::after { content: '§'; position: absolute; right: max(24px, calc(50% - 600px)); top: -46px; font: 700 230px/1 var(--serif); color: rgba(212,178,106,.08); pointer-events: none; }
body.krb .krb-band h1 { font: 650 clamp(1.8rem, 1.2rem + 2.2vw, 2.75rem)/1.15 var(--serif); color: #fff; margin: 10px 0 14px; max-width: 860px; letter-spacing: -.01em; text-transform: none; }
body.krb .krb-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font: 500 13px/1.4 var(--ui); color: #aebdd0; }
body.krb .krb-crumbs a { color: #d6e0eb; text-decoration: none; }
body.krb .krb-crumbs a:hover { color: #fff; text-decoration: underline; }
body.krb .krb-crumb-sep { width: 13px; height: 13px; transform: rotate(-90deg); opacity: .6; }
body.krb .krb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
body.krb .krb-chips span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); font: 500 13px/1 var(--ui); color: #e3eaf2; }
body.krb .krb-chips .krb-ico { color: var(--gold-h); width: 15px; height: 15px; }
body.krb .krb-band-start { padding: 44px 0 46px; }
body.krb .krb-band-start h1 { font-size: clamp(2.1rem, 1.4rem + 2.8vw, 3.3rem); margin-top: 0; }
body.krb .krb-band p { padding: 0 !important; }
body.krb .krb-band-lead { font: 400 1.15rem/1.6 var(--ui); color: #d6e0eb; max-width: 680px; margin: 0 0 26px; }
body.krb .krb-karten-start { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
body.krb .krb-karte { position: relative; display: flex; flex-direction: column; gap: 5px; padding: 18px 18px 16px; border-radius: 12px; text-decoration: none;
  background: #fff; color: var(--text); box-shadow: 0 10px 30px rgba(8,23,41,.25); transition: transform .15s, box-shadow .15s; }
body.krb .krb-karte:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(8,23,41,.32); }
body.krb .krb-karte > .krb-ico:first-child { width: 40px; height: 40px; padding: 9px; box-sizing: border-box; border-radius: 10px; background: var(--gold-l); color: var(--gold-t); margin-bottom: 6px; }
body.krb .krb-karte b { font: 700 16.5px/1.2 var(--ui); color: var(--n8); }
body.krb .krb-karte small { font: 400 13.5px/1.35 var(--ui); color: var(--grau); }
body.krb .krb-karte-pfeil { position: absolute; right: 16px; top: 22px; width: 18px; height: 18px; color: var(--gold); }

/* ---------- Gerüst: zwei Spalten ---------- */
body.krb #page { padding-top: 28px; padding-bottom: 20px; }
body.krb #page.container { max-width: var(--wrap); margin-left: auto !important; margin-right: auto !important; padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
body.krb #page .container-inner { max-width: none; padding: 0 !important; }
body.krb .main, body.krb .main-inner, body.krb #page .container-inner, body.krb .content { background: transparent !important; background-image: none !important; }
body.krb .content > .hu-pad { padding: 0 !important; }
body.krb .content .post, body.krb .content .page, body.krb .content article { background: #fff; border: 1px solid var(--linie); border-radius: 12px; padding: 38px 46px 30px; margin: 0 0 24px; box-shadow: 0 1px 2px rgba(8,23,41,.04); }

/* ---------- Text ---------- */
body.krb .entry { font: 400 17px/1.75 var(--ui); color: var(--text); }
body.krb .entry > *, body.krb .entry-inner > * { max-width: 46rem; }
body.krb .entry p, body.krb .post-byline { padding-left: 0 !important; padding-right: 0 !important; }
body.krb .entry p { margin: 0 0 1.05em; }
body.krb .entry .krb-vorspann { font: 400 1.18rem/1.65 var(--ui); color: var(--n8); margin-bottom: 1.4em; }
body.krb .entry h2 { font: 650 1.6rem/1.25 var(--serif); color: var(--n8); margin: 2.1em 0 .6em; padding: 0; border: 0; letter-spacing: -.005em; text-transform: none; }
body.krb .entry h2::after { content: ''; display: block; width: 46px; height: 3px; background: var(--gold); border-radius: 2px; margin-top: 12px; }
body.krb .entry h3 { font: 700 1.14rem/1.35 var(--ui); color: var(--n8); margin: 1.6em 0 .45em; text-transform: none; letter-spacing: 0; }
body.krb .entry ul, body.krb .entry ol { margin: 0 0 1.2em 1.25em; }
body.krb .entry li { margin-bottom: .45em; }
body.krb .entry ul li::marker { color: var(--gold); }
body.krb .entry strong { font-weight: 650; color: var(--n8); }
body.krb .entry a { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(26,79,139,.35); }
body.krb .entry a:hover { text-decoration-color: currentColor; }
body.krb .entry a.krb-gesetz::before { content: '§'; font: 700 .95em var(--serif); color: var(--gold-t); margin-right: .18em; display: inline-block; text-decoration: none; }

/* Das Wichtigste in Kürze */
body.krb .entry .krb-kurz { background: linear-gradient(180deg, #fffdf7, #fff); border: 1px solid #e8dcc0; border-left: 4px solid var(--gold); border-radius: 0 12px 12px 0; padding: 20px 26px 8px; margin: 0 0 2em; }
body.krb .entry .krb-kurz h2 { display: flex; align-items: center; gap: 10px; font: 700 1.05rem/1.2 var(--ui); color: var(--gold-t); margin: 0 0 .6em; }
body.krb .entry .krb-kurz h2::after { display: none; }
body.krb .entry .krb-kurz h2 .krb-ico { width: 22px; height: 22px; }
body.krb .entry .krb-kurz ul { list-style: none !important; margin: 0 !important; padding: 0; }
body.krb .entry .krb-kurz li { list-style: none !important; position: relative; padding: .7em 0 .7em 1.9em; margin: 0; border-top: 1px solid #f0e8d6; font-size: 1rem; line-height: 1.6; }
body.krb .entry .krb-kurz li:first-child { border-top: 0; }
body.krb .entry .krb-kurz li::before { content: ''; position: absolute; left: 0; top: 1.05em; width: 1.05em; height: 1.05em; border-radius: 50%; background: var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/70% no-repeat; }

/* Tabellen */
body.krb .entry td, body.krb .entry th { overflow-wrap: anywhere; hyphens: auto; }
body.krb .entry table tr.krb-kopf { display: none; }
body.krb .entry table.krb-karten, body.krb .entry table.krb-tabelle { border: 0; border-collapse: separate; border-spacing: 0; width: 100%; max-width: 48rem; margin: 1em 0 1.8em; background: transparent; font-size: 15.5px; }
body.krb .entry table.krb-karten tbody { display: grid; gap: 12px; }
body.krb .entry table.krb-karten tr { display: grid; grid-template-columns: minmax(10rem, 34%) 1fr; background: #fff; border: 1px solid var(--linie); border-radius: 10px; overflow: hidden; }
body.krb .entry table.krb-karten td { display: block; border: 0 !important; padding: 14px 16px; background: transparent !important; text-align: left; line-height: 1.6; vertical-align: top; }
body.krb .entry table.krb-karten td:first-child { font: 650 15.5px/1.35 var(--serif); color: var(--n8); background: var(--n1) !important; border-right: 1px solid var(--linie) !important; }
body.krb .entry table.krb-karten td:first-child strong { font-weight: 650; }
body.krb .entry table.krb-steckbrief { display: block; width: 100%; max-width: 48rem; margin: .4em 0 1.8em; border: 1px solid var(--linie); border-radius: 10px; background: #fff; border-collapse: separate; font-size: 15.5px; overflow: hidden; }
body.krb .entry table.krb-steckbrief tbody { display: block; }
body.krb .entry table.krb-steckbrief tr { display: grid; grid-template-columns: 11rem 1fr; border-top: 1px solid var(--linie); background: transparent; }
body.krb .entry table.krb-steckbrief tr:first-child { border-top: 0; }
body.krb .entry table.krb-steckbrief td { display: block; border: 0 !important; padding: 12px 16px; background: transparent !important; line-height: 1.6; text-align: left; }
body.krb .entry table.krb-steckbrief td:first-child { background: var(--n1) !important; }
body.krb .entry table.krb-steckbrief td:first-child strong { font: 650 14px/1.4 var(--ui); color: var(--grau); }
body.krb .entry table.krb-steckbrief td:first-child strong:not(.krb-l) { padding-left: 1.5em; }
body.krb .entry table.krb-tabelle { table-layout: fixed; border-top: 3px solid var(--n7); border-radius: 0; }
body.krb .entry table.krb-tabelle tr:nth-child(odd) td { background: #f7f9fb; }
body.krb .entry table.krb-tabelle td, body.krb .entry table.krb-tabelle th { border: 0; border-bottom: 1px solid var(--linie); padding: 11px 14px; text-align: left; vertical-align: top; line-height: 1.55; }
body.krb .entry table.krb-tabelle td:first-child { width: 34%; font-weight: 650; color: var(--n8); }
body.krb .entry table:not([class]) { display: block; max-width: 100%; overflow-x: auto; }
body.krb .entry .krb-l { font: 650 .9em var(--ui); color: var(--grau); }
body.krb .entry .krb-l::before { content: ''; display: inline-block; width: 1.05em; height: 1.05em; margin-right: .4em; vertical-align: -.17em; background: var(--gold-t);
  -webkit-mask: var(--krb-i) center / contain no-repeat; mask: var(--krb-i) center / contain no-repeat; }
body.krb .krb-i-ort { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
body.krb .krb-i-tel { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h3.5l2 5-2.6 1.6a12 12 0 0 0 6 6l1.6-2.6 5 2v3.5a2 2 0 0 1-2 2A17 17 0 0 1 3 5.5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
body.krb .krb-i-uhr { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.2 2'/%3E%3C/svg%3E"); }
body.krb .krb-i-mail { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E"); }
body.krb .krb-i-web { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E"); }
body.krb .krb-i-euro { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 6.2A7 7 0 1 0 17.5 17.8'/%3E%3Cpath d='M4 10.2h9M4 13.8h9'/%3E%3C/svg%3E"); }
body.krb .krb-i-akte { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6z'/%3E%3Cpath d='M14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E"); }
body.krb .krb-i-para { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5.5c-.6-1.4-1.9-2.2-3.4-2.2-2 0-3.4 1.2-3.4 2.9 0 4 7.6 3.3 7.6 7.6 0 1.5-1 2.6-2.6 3M9 18.5c.6 1.4 1.9 2.2 3.4 2.2 2 0 3.4-1.2 3.4-2.9 0-4-7.6-3.3-7.6-7.6 0-1.5 1-2.6 2.6-3'/%3E%3C/svg%3E"); }
body.krb .krb-i-info { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.6v.4'/%3E%3C/svg%3E"); }
body.krb .krb-i-person { --krb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c.8-3.6 3.6-5.5 7-5.5s6.2 1.9 7 5.5'/%3E%3C/svg%3E"); }

/* Werbung im Text: klar als Anzeige erkennbar, Platz vorab reserviert (kein Springen beim Laden), Abstand zu Links und Knöpfen */
body.krb .entry .krb-anzeige { margin: 2.2em 0; padding: 10px 0 0; border-top: 1px solid var(--linie); min-height: 300px; max-width: 46rem; clear: both; }
body.krb .entry .krb-anzeige > span { display: block; font: 500 11.5px/1 var(--ui); color: #8a94a1; margin: 0 0 8px; letter-spacing: .02em; }
body.krb .sidebar .krb-anzeige-leiste > span { display: block; font: 500 11.5px/1 var(--ui); color: #8a94a1; margin: 0 0 8px; }
@media (max-width: 719px) { body.krb .entry .krb-anzeige { min-height: 280px; margin: 1.8em -2px; } }

/* Häufige Fragen */
body.krb .entry h2.krb-faq ~ h3 { position: relative; padding-left: 2.1rem; margin-top: 1.4em; }
body.krb .entry h2.krb-faq ~ h3::before { content: '?'; position: absolute; left: 0; top: -.05em; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--n7); color: var(--gold-h); font: 700 .9rem/1.5rem var(--serif); text-align: center; }
body.krb .entry h2.krb-faq ~ h3 + p { padding-left: 2.1rem !important; }
body.krb .entry .krb-stand { margin-top: 2.4em; padding: 14px 18px; border-radius: 10px; background: var(--n1); font-size: .92rem; color: var(--grau); }

/* ---------- Seitenleiste ---------- */
body.krb .sidebar.krb-leiste, body.krb .sidebar .sidebar-content { background: transparent !important; }
body.krb .sidebar .widget { background: #fff; border: 1px solid var(--linie); border-radius: 12px; padding: 20px !important; margin: 0 0 18px !important; font-family: var(--ui); }
body.krb .sidebar .widget:has(ins.adsbygoogle) { background: transparent; border: 0; padding: 0 !important; }
body.krb .sidebar .widget-title, body.krb .sidebar .widget > h3 { font: 700 16px/1.3 var(--ui) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--n8) !important; margin: 0 0 12px !important; padding: 0 0 10px; border-bottom: 2px solid var(--gold); }
body.krb .sidebar .widget li::before, body.krb .sidebar .widget li a::before { display: none !important; }
body.krb .krb-box ul { list-style: none; margin: 0; padding: 0; }
body.krb .krb-box-hilfe { background: linear-gradient(160deg, var(--n8), var(--n6)) !important; border: 0 !important; color: #fff; }
body.krb .sidebar .krb-box-hilfe .widget-title { color: #fff !important; border-bottom-color: var(--gold-h) !important; }
body.krb .krb-box-hilfe li { margin: 0; border-top: 1px solid rgba(255,255,255,.1); }
body.krb .krb-box-hilfe li:first-child { border-top: 0; }
body.krb .krb-box-hilfe a { display: flex; align-items: center; gap: 11px; padding: 11px 2px; color: #fff !important; text-decoration: none; font: 600 15px/1.3 var(--ui); }
body.krb .krb-box-hilfe a .krb-ico { color: var(--gold-h); width: 20px; height: 20px; }
body.krb .krb-box-hilfe a .krb-mini-pfeil { margin-left: auto; width: 15px; height: 15px; opacity: .55; transition: transform .15s, opacity .15s; }
body.krb .krb-box-hilfe a:hover .krb-mini-pfeil { transform: translateX(3px); opacity: 1; }
body.krb .krb-karte-de { margin: 0 0 12px; }
body.krb .krb-karte-de .freeHtmlMapbottom { max-width: 100% !important; }
body.krb .krb-box-laender ul { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 10px; }
body.krb .krb-box-laender li { margin: 0; padding: 0 !important; border: 0 !important; }
body.krb .krb-box-laender a { display: block; padding: 5px 0; font: 500 14px/1.35 var(--ui); color: var(--link) !important; text-decoration: none; }
body.krb .krb-box-laender a:hover { text-decoration: underline; }
body.krb .krb-box-hinweis { display: flex; gap: 12px; background: var(--gold-l) !important; border-color: #e8dcc0 !important; }
body.krb .krb-box-hinweis .krb-ico { color: var(--gold-t); width: 22px; height: 22px; margin-top: 2px; }
body.krb .krb-box-hinweis p { margin: 0; font: 400 14px/1.55 var(--ui); color: var(--text); }
body.krb .sidebar .krb-toc { position: sticky; top: 16px; }
@media (max-width: 960px) { body.krb .sidebar .krb-toc { position: static; } }
body.krb .sidebar .ez-toc-widget-container li a, body.krb .sidebar .ez-toc-widget-container a { color: var(--text) !important; font: 500 14px/1.45 var(--ui); text-decoration: none; }
body.krb .sidebar .ez-toc-widget-container a:hover { color: var(--link) !important; }
body.krb .sidebar .ez-toc-widget-container li { padding: 5px 0 !important; border: 0 !important; }

/* ---------- Fuß ---------- */
body.krb .krb-fuss { background: var(--n8) !important; color: #b9c6d6; font: 400 14px/1.6 var(--ui); padding: 44px 0 0; margin-top: 30px; border-top: 3px solid var(--gold); }
body.krb .krb-fuss-marke { display: flex; gap: 16px; align-items: flex-start; max-width: 720px; margin-bottom: 30px; }
body.krb .krb-fuss-marke p { margin: 0; }
body.krb .krb-fuss-marke b { display: block; font: 800 17px/1.3 var(--ui); color: #fff; margin-bottom: 4px; }
body.krb .krb-fuss-spalten { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.1); }
body.krb .krb-fuss h3 { font: 700 13.5px/1.3 var(--ui); color: var(--gold-h); margin: 0 0 10px; text-transform: none; letter-spacing: 0; }
body.krb .krb-fuss ul { list-style: none; margin: 0; padding: 0; }
body.krb .krb-fuss li { margin: 0; padding: 3px 0; }
body.krb .krb-fuss a { color: #d6e0eb !important; text-decoration: none; }
body.krb .krb-fuss a:hover { color: #fff !important; text-decoration: underline; }
body.krb .krb-fuss-unten { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 18px 0 26px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; }
body.krb .krb-fuss-unten span { margin-right: auto; }

/* ---------- Tablet / Handy ---------- */
@media (max-width: 1400px) {
  body.krb .krb-has > button > .krb-ico:first-child { display: none; }
}
@media (max-width: 1500px) {
  body.krb .krb-kopf-in { gap: 18px; }
}
@media (max-width: 1240px) {
  body.krb .krb-burger { display: inline-flex; }
  body.krb .krb-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--n8); border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 20px 40px rgba(8,23,41,.35); max-height: calc(100vh - 120px); overflow-y: auto; }
  body.krb.krb-menue-offen .krb-nav { display: block; }
  body.krb .krb-nav-ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px 16px; }
  body.krb .krb-has > button { width: 100%; justify-content: flex-start; padding: 15px 8px; border-radius: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  body.krb .krb-has > button .krb-chev { margin-left: auto; }
  body.krb .krb-has.krb-aktiv > button { box-shadow: none; }
  body.krb .krb-panel { position: static; display: none; visibility: visible; opacity: 1; transform: none; transition: none; }
  body.krb .krb-has.krb-offen > .krb-panel { display: block; }
  body.krb .krb-panel-in { border-radius: 10px; margin: 8px 0 12px; padding: 14px; box-shadow: none; }
  body.krb .krb-grid, body.krb .krb-grid-gebiete, body.krb .krb-grid-laender { grid-template-columns: 1fr 1fr; }
  body.krb .krb-cta-li { padding-top: 14px; }
  body.krb .krb-cta { margin: 0; width: 100%; justify-content: center; box-sizing: border-box; padding: 14px; }
  body.krb .krb-karten-start { grid-template-columns: 1fr 1fr; }
  body.krb .krb-top .krb-top-r { display: none; }
}
/* Unter 961 px klappt das Theme Seitenleisten zur Seite weg – unsere Leiste steht dann einfach unter dem Text */
@media (max-width: 960px) {
  body.krb .main-inner { padding-right: 0 !important; padding-left: 0 !important; }
  body.krb .content { float: none !important; width: auto !important; }
  body.krb .sidebar.krb-leiste { clear: both; }
  body.krb .sidebar.krb-leiste { float: none !important; position: static !important; width: auto !important; margin: 0 !important; right: auto !important; left: auto !important; transform: none !important; z-index: auto !important; }
  body.krb .sidebar.krb-leiste .sidebar-content { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 18px; width: auto !important; padding: 0 !important; transform: none !important; }
}
@media (max-width: 719px) {
  body.krb .sidebar.krb-leiste .sidebar-content { grid-template-columns: 1fr; }
  body.krb .sidebar.krb-leiste { padding: 0 16px !important; }
  body.krb .krb-wrap { padding: 0 16px; }
  body.krb #page.container { padding-left: 0 !important; padding-right: 0 !important; }
  body.krb .krb-top .krb-wrap { gap: 14px; font-size: 12px; }
  body.krb .krb-top span:nth-child(2) { display: none; }
  body.krb .krb-kopf-in { min-height: 68px; gap: 12px; }
  body.krb .krb-emblem { width: 40px; height: 40px; font-size: 24px; }
  body.krb .krb-logo-text b { font-size: 16px; }
  body.krb .krb-logo-text small { display: none; }
  body.krb .krb-grid, body.krb .krb-grid-gebiete, body.krb .krb-grid-laender { grid-template-columns: 1fr; }
  body.krb .krb-band { padding: 22px 0 24px; }
  body.krb .krb-band::after { font-size: 150px; top: -30px; }
  body.krb .krb-karten-start { grid-template-columns: 1fr; gap: 10px; }
  body.krb .krb-karte { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 12px; padding: 14px 40px 14px 14px; }
  body.krb .krb-karte > .krb-ico:first-child { margin: 0; width: 36px; height: 36px; padding: 8px; }
  body.krb .krb-karte small { flex-basis: 100%; padding-left: 48px; margin-top: -4px; }
  body.krb .krb-karte-pfeil { top: 50%; margin-top: -9px; }
  body.krb #page { padding-top: 14px; }
  body.krb .content .post, body.krb .content .page, body.krb .content article { padding: 22px 18px 16px; border-radius: 0; border-left: 0; border-right: 0; }
  body.krb .entry { font-size: 16.5px; }
  body.krb .entry h2 { font-size: 1.38rem; }
  body.krb .entry .krb-kurz { padding: 16px 16px 6px; }
  body.krb .entry table.krb-karten tr, body.krb .entry table.krb-steckbrief tr { grid-template-columns: 1fr; }
  body.krb .entry table.krb-karten td:first-child { border-right: 0 !important; border-bottom: 1px solid var(--linie) !important; padding: 11px 14px; }
  body.krb .entry table.krb-karten td { padding: 11px 14px; }
  body.krb .entry table.krb-steckbrief td:first-child { padding: 9px 14px 4px; background: transparent !important; }
  body.krb .entry table.krb-steckbrief td:first-child strong:not(.krb-l) { padding-left: 0; }
  body.krb .entry table.krb-steckbrief td + td { padding: 0 14px 12px; }
  body.krb .entry table.krb-tabelle, body.krb .entry table.krb-tabelle tbody { display: block; }
  body.krb .entry table.krb-tabelle tr { display: block; border-bottom: 1px solid var(--linie); padding: 10px 0; }
  body.krb .entry table.krb-tabelle tr:nth-child(odd) td { background: transparent; }
  body.krb .entry table.krb-tabelle td { display: block; width: auto !important; border: 0; padding: 2px 4px; }
  body.krb .krb-fuss-spalten { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { body.krb * { transition: none !important; } }
