/* PartABoat, custom.css. Eigene Regeln ueber dem Template j51_emani. Aufbau: Variablen und Schriften, Grundlagen, Template, Bausteine, Seiten, Bewegung. Das CSS der Kleinanzeigen-Erweiterung laedt nach dieser Datei: Regeln gegen dessen Werte tragen body oder #container_main vor der Klasse. */

@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 200 900; font-display: swap; size-adjust: 108%; src: url('/media/templates/site/j51_emani/fonts/SourceSans3-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 200 900; font-display: swap; size-adjust: 108%; src: url('/media/templates/site/j51_emani/fonts/SourceSans3-latin.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: 'DM Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('/media/templates/site/j51_emani/fonts/DMSerifDisplay-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'DM Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('/media/templates/site/j51_emani/fonts/DMSerifDisplay-400-latin.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; }


/* ---- Variablen ---- */
/* Palette aus dem Logo, Masse und Schriften. --primary, --secondary, --border und --radius liest auch das Template-CSS; sie tragen hier die Werte der Palette. */
:root { --navy: #1B3A6B; --blau: #2E6DB4; --teal: #3DBDB5; --orange: #F97316; --orange-dunkel: #DD5F0C; --tinte: #14213D; --tinte-weich: #4B5670; --papier: #F7F4EE; --kreide: #FFFFFF; --linie: #D8D2C6; --linie-hell: #ECE8DF; --teal-hell: #E4F5F3; --navy-hell: #E9EEF6; --linie-feld: #8E887B; --primary: var(--blau); --primary-darker: var(--navy); --secondary: var(--blau); --secondary-dark: var(--teal); --accent-orange: var(--orange); --accent-gold: var(--orange); --accent-green: var(--teal); --bg-white: var(--kreide); --text-dark: var(--tinte); --text-muted: var(--tinte-weich); --border: var(--linie); --schrift: 'Source Sans 3', system-ui, sans-serif; --serife: 'DM Serif Display', Georgia, serif; --breite: 1200px; --rinne: 24px; --radius: 4px; --radius-karte: 8px; --kopf: 112px; }
@media (max-width: 959px) {
  :root { --kopf: 84px; }
}
@media (max-width: 640px) {
  /* Seitenrand am Handy (12.10.2026): Text steht auf jeder Seite 20 px vom Bildschirmrand; Sektionen mit Grund laufen bis an den Rand (Abschnitt Sektionen und Raster). */
  :root { --rinne: 20px; }
}

/* ================ Teil 1: Bestand der aelteren Seiten (Seitenbausteine, Rechner, Suche) ================ */

/* ---- Grundlagen ---- */
/* Grundschrift und Ueberschriften des Templates; die Groessen fuer schmale Bildschirme stehen weiter unten. */
body { line-height: 1.35; }
h1 { font-size: 2.4em; font-weight: 600; }
h2 { font-size: 2.0em; }
h3 { font-size: 1.3em; }
a { font-weight: 600; }
@media only screen and (max-width: 959px) {
  h1 { font-size: 2.2em; }
  h2 { font-size: 1.6em; line-height: 2rem; }
  body { font-size: 1rem !important; }
}
@media only screen and (max-width: 767px) {
  h1 { font-size: 1.8em; }
  h2 { font-size: 1.4em; }
}
@media only screen and (max-width: 440px) {
  h3 { font-size: 1.1rem; }
}

/* ---- Template: Kopf, Menue und Seitenende ---- */
.hornav ul.menu > li { margin: 0 10px; }
.maincontent { padding-top: 0; }

/* ---- Knoepfe und Beschriftungen ---- */
/* Knoepfe: eine Handlungsfarbe (Orange); daneben Kontur und leichter Knopf. */
.pab-btn { display: inline-block; box-sizing: border-box; font-weight: 700; font-size: 1rem; padding: 14px 36px; border-radius: 50px; text-decoration: none !important; transition: background 0.2s, transform 0.2s; cursor: pointer; }
@media (max-width: 767px) {
  .pab-btn { width: 100%; max-width: 320px; text-align: center; }
}

/* ---- Kaesten und Hinweise ---- */
/* Kleingedrucktes an Formularen in einer Fassung; die Erweiterung laedt nach dieser Datei, deshalb body davor. */
body .pab-ds-hinweis, body #dj-classifieds .pab-ds-hinweis { font-size: 0.8125rem; line-height: 1.5; color: var(--tinte-weich); border-radius: 0; background: transparent; border: 0; border-top: 1px solid var(--linie); padding: 12px 0 0; margin: 20px 0 16px; }
body .pab-ds-hinweis p, body #dj-classifieds .pab-ds-hinweis p { font-size: inherit; line-height: inherit; color: inherit; margin: 0 0 6px; max-width: none; }
body .pab-ds-hinweis p:last-child, body #dj-classifieds .pab-ds-hinweis p:last-child { margin-bottom: 0; }
body .pab-ds-hinweis .pab-ds-hinweis-titel, body .pab-ds-hinweis .pab-ds-widerspruch-titel { font-size: inherit; color: var(--tinte); margin: 0 0 2px; }
.pab-ds-widerspruch-titel { display: block; }
body .pab-ds-hinweis a { color: var(--blau); text-decoration: underline; }
body .pab-ds-hinweis p.pab-ds-widerspruch, body #dj-classifieds .pab-ds-hinweis .pab-ds-widerspruch { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--linie); }
.pab-ds-mehrlink { margin-top: 10px; }

/* ---- Aeltere Klassenfamilie (pab-section, pab-inner, pab-trust, pab-card) ---- */
.pab-section:first-child { margin-top: 0; }
.pab-section { padding: 64px 20px; }
.pab-section-cta { color: #fff; }
.pab-inner { max-width: 960px; margin: 0 auto; }
.pab-section-intro { margin-bottom: 40px; }
/* Die Modifikatoren --center und __mitte stehen noch im Markup; seit dem 12.10.2026 steht alles linksbuendig (eine Ausrichtung). */
.pab-section-intro--center { text-align: left; }
.pab-eyebrow { margin-bottom: 8px; }
.pab-hero-title { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; color: var(--primary-darker); line-height: 1.2; margin: 0 0 16px; }
.pab-section-title { font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.3; margin: 0 0 12px; }
.pab-section-cta .pab-section-title { color: #fff; }
.pab-section-sub { font-size: 1.05rem; line-height: 1.7; margin: 0; }
.pab-section-cta .pab-section-sub { color: rgba(255, 255, 255, 0.85); }
.pab-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px; }
.pab-trust-item { padding: 24px 0; }
.pab-trust-item > strong { display: block; font-size: 1rem; margin-bottom: 6px; }
.pab-trust-item p { font-size: 1rem; color: var(--tinte-weich); line-height: 1.55; margin: 0; }
.pab-trust-item > .pab-icon { vertical-align: top; }
.pab-cta-row { display: flex; gap: 16px; flex-wrap: wrap; }
.pab-cta-row--center { justify-content: flex-start; }
.pab-section-cta .pab-btn-primary { background: var(--accent-orange); color: var(--tinte) !important; }
.pab-section-cta .pab-btn-secondary { background: transparent; border: 2px solid rgba(255, 255, 255, 0.6); color: #fff !important; box-shadow: none; }
.pab-section-cta .pab-btn-secondary:hover { background: rgba(255, 255, 255, 0.12); }
.pab-solution-banner p { margin: 0; line-height: 1.6; }
.pab-btn-card { display: block; text-align: center; font-weight: 700; font-size: 1rem; padding: 14px 24px; text-decoration: none !important; color: #fff !important; transition: background 0.2s, transform 0.2s; }
/* Das Template setzt --primary am body auf ein Blau ausserhalb der Palette; deshalb die Palettenfarbe direkt, und ohne Hub. */
.pab-btn-card-blue { background: var(--blau); }
.pab-btn-card-blue:hover { background: var(--navy); transform: none; }
.pab-table-wrap { overflow-x: auto; margin-bottom: 8px; }
.pab-trust-item--left { text-align: left; }
.pab-solution-banner--light { margin: 0 0 32px; }
.pab-upgrade-hint { margin: 32px 0 0; }
.pab-upgrade-hint p { margin: 0; color: var(--text-dark); line-height: 1.65; }
.pab-faq-list { max-width: none; margin: 0; }
.pab-compare-note { margin-top: 16px; color: var(--text-muted); line-height: 1.6; }
.pab-list-plain { list-style: none; padding-left: 0; }
.pab-hidden { display: none; }
@media (max-width: 767px) {
  .pab-section { padding: 48px 16px; }
  .pab-trust { grid-template-columns: 1fr; gap: 16px; }
}
.pab-trust--2col { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 767px) {
  .pab-cta-row { flex-direction: column; align-items: flex-start; }
  .pab-trust--2col { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .pab-hero-title { font-size: 1.6rem; }
  .pab-section-title { font-size: 1.25rem; }
}

/* ---- Startseite ---- */
.pab-home *, .pab-home *::before, .pab-home *::after { box-sizing: border-box; }

/* ---- Inserate: Suche, Karten und Liste ---- */
/* Felder der erweiterten Suche liegen in einem Raster; die Erweiterung setzt feste Breiten mit Float, deshalb !important. */
#search139_ex_fields { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; }
#search139_ex_fields .djseform_field { float: none !important; width: 100% !important; clear: none !important; }
#search139_ex_fields input, #search139_ex_fields select { width: 100% !important; box-sizing: border-box !important; }
#search139_ex_fields .from-wrapper, #search139_ex_fields .to-wrapper { display: inline-block !important; width: calc(50% - 6px) !important; box-sizing: border-box !important; vertical-align: top !important; }
#search139_ex_fields .from-wrapper { margin-right: 8px !important; }
#search139_ex_fields .to-wrapper { margin-right: 0 !important; }
.dj_cf_search .search_ex_fields, #search139_ex_fields { margin: 0 !important; }
#search139_ex_fields .clear_both, #search139_ex_fields div[class="clear_both"] { display: none !important; }
.search_row1 { position: relative !important; z-index: 101 !important; }
.search_row2 { margin-top: 0 !important; position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; background: var(--kreide); border: 1px solid var(--linie); border-top: none; border-radius: 0 0 6px 6px; padding: 20px 24px !important; box-shadow: 0 6px 16px rgba(0,0,0,0.12); z-index: 100; }
.search_advanced { position: static !important; transform: none !important; bottom: auto !important; left: auto !important; }
#search139_ex_fields .label1, #search139_ex_fields .label2 { display: none !important; }

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
.pab-anteil-toggle { display: flex; gap: 12px; }
.djcftheme-partaboat #ask_form_button.pab-ask-btn-hidden { display: none !important; }
@media (max-width: 767px) {
  .pab-anteil-toggle { flex-direction: column; }
}

/* ---- Rechner ---- */
.pab-page-rechner *, .pab-page-rechner *::before, .pab-page-rechner *::after { box-sizing: border-box; }
/* Rechner (12.10.2026): eine linke Kante mit Kopf und Text; Beschriftungen und Felder nach der Formularregel; Kennzahlen als Linienform; ab 1024 px Eingabe und Ergebnis nebeneinander, bis 767 px die Kennzahlen als haftende Leiste unten, solange die Eingabe im Blick ist. */
.pab-rechner-wrap { max-width: none; margin: 0 auto; }
.pab-rechner-heading { font-size: 1.3rem; color: var(--primary-darker); margin: 0 0 24px; padding-bottom: 12px; border-bottom: 2px solid var(--secondary-dark); }
.pab-rechner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 16px; }
.pab-rechner-field label { display: block; font-size: 0.9375rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--tinte); margin-bottom: 6px; }
.pab-rechner-field--wide { grid-column: 1 / -1; }
.pab-input-wrap { display: flex; align-items: center; background: var(--kreide); border: 1.5px solid var(--linie-feld); border-radius: 6px; overflow: hidden; transition: border-color 0.2s; }
.pab-input-wrap:focus-within { border-color: var(--blau); outline: 2px solid var(--blau); outline-offset: 2px; }
.pab-input-wrap input { flex: 1; border: none; padding: 12px 14px; font-size: 1rem; font-family: inherit; color: var(--text-dark); background: transparent; min-width: 0; }
.pab-input-wrap input:focus { outline: none; }
/* Rechner: Fehlermeldung unter einem Zahlenfeld in Tinte, damit sie den Kontrast fuer Fliesstext haelt; den Fehlerton traegt der Rahmen in Orange dunkel an der Huelle des Felds mit aria-invalid (das Eingabefeld selbst ist rahmenlos). */
.pab-rechner__fehler { margin: 4px 0 0; font-size: 0.875rem; font-weight: 400; line-height: 1.45; color: var(--tinte); }
.pab-input-wrap:has(input[aria-invalid="true"]) { border-color: var(--orange-dunkel); box-shadow: 0 0 0 0.5px var(--orange-dunkel); }
body .pab-input-wrap input[aria-invalid="true"] { border: 0 !important; }
.pab-input-unit { padding: 12px 14px 12px 0; font-size: 0.875rem; color: var(--text-muted); font-weight: 600; white-space: nowrap; }
.pab-select-wrap select { width: 100%; padding: 12px 14px; border: 1.5px solid var(--linie-feld); border-radius: 6px; font-size: 1rem; font-family: inherit; color: var(--text-dark); background: var(--kreide); cursor: pointer; -webkit-appearance: none; appearance: none; padding-right: 40px; }
/* Pfeil der Auswahlfelder in Tinte weich: als Maske ueber dem Rahmen, damit die Farbe aus der Palette kommt. */
.pab-select-wrap { position: relative; }
.pab-select-wrap::after { content: ""; position: absolute; right: 14px; top: 50%; width: 12px; height: 8px; margin-top: -4px; background: var(--tinte-weich); pointer-events: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='black' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat center / 12px 8px; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='black' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat center / 12px 8px; }
.pab-select-wrap select:focus { outline: 2px solid var(--blau); outline-offset: 2px; border-color: var(--blau); }
.pab-anteil-btn { flex: 1; padding: 12px 16px; border: 1.5px solid var(--linie-feld); border-radius: 6px; background: var(--kreide); font-size: 1rem; font-weight: 700; font-family: inherit; color: var(--text-dark); cursor: pointer; transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
.pab-anteil-btn:hover { border-color: var(--navy); background: var(--kreide); color: var(--navy); }
.pab-anteil-btn--active { border-color: var(--navy); background: var(--navy); color: var(--kreide); }
.pab-anteil-btn--active:hover { border-color: var(--navy); background: var(--navy); color: var(--kreide); }
.pab-rechner-hinweis { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.55; margin: 12px 0 0; }
.pab-rechner-result { margin-top: 40px; padding-top: 40px; border-top: 2px solid var(--border); }
.pab-rechner-table-wrap { overflow-x: auto; margin-bottom: 32px; }
.pab-rechner-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.pab-rechner-table th, .pab-rechner-table td { padding: 14px 16px; text-align: left; }
.pab-rechner-table th:first-child, .pab-rechner-table td:first-child { padding-left: 0; }
.pab-rechner-table th:last-child, .pab-rechner-table td:last-child { padding-right: 0; }
.pab-rechner-table thead th { border-bottom: 2px solid var(--border); font-weight: 700; }
.pab-rth-charter { color: var(--text-muted); }
.pab-rth-anteil { color: var(--navy); }
.pab-rtd-label { font-weight: 600; color: var(--text-dark); width: 40%; }
.pab-rtd-charter { color: var(--text-muted); }
.pab-rtd-anteil { color: var(--primary-darker); font-weight: 600; }
.pab-rechner-table tbody tr { border-bottom: 1px solid var(--border); }
.pab-rechner-table tbody tr:last-child { border-bottom: none; }
.pab-rechner-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
.pab-rechner-metric { background: transparent; border-radius: 0; padding: 14px 0 0; text-align: left; box-shadow: none; border-top: 2px solid var(--navy); }
.pab-metric-label { display: block; font-size: 0.875rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--tinte-weich); margin-bottom: 4px; }
.pab-metric-value { display: block; font-size: 1.8rem; font-weight: 800; line-height: 1.2; }
.pab-metric-value--green { color: var(--navy); }
.pab-metric-value--teal { color: var(--navy); }
/* Mehrkosten in Navy: das Wort traegt die Aussage, Orange bleibt die Handlungsfarbe. */
.pab-metric-value--warn { color: var(--navy); }
/* Ohne gueltige Eingabe steht statt eines Ergebnisses ein Strich, in Tinte weich. Erkannt am Feld mit aria-invalid, das auch den Hinweis zeigt: die zwei Kennzahlen haengen an allen vier Zahlenfeldern, die Spalte des Anteils an Marktwert und Laenge (die Spalte Charter steht ohnehin in Tinte weich). */
.pab-rechner-wrap:has(input[aria-invalid="true"]) .pab-metric-value,
.pab-rechner-wrap:has(#pab-bootspreis[aria-invalid="true"]) :is(#r-einstieg, #r-anteil-5j),
.pab-rechner-wrap:has(#pab-bootslaenge[aria-invalid="true"]) :is(#r-anteil-jahr, #r-anteil-5j) { color: var(--tinte-weich); }
/* H1 auf der Skala der Ratgeber: auf jeder Breite die groesste Ueberschrift. */
#container_main .pab-page-rechner h1.pab-hero-title { font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.6rem); line-height: 1.1; }
.pab-page-rechner .pab-crosslink-box { margin-top: 24px; }
.pab-page-rechner .pab-crosslink-box p { font-size: 1rem; }
@media (max-width: 767px) {
  .pab-rechner-grid { grid-template-columns: 1fr; }
  .pab-rechner-summary { grid-template-columns: 1fr; }
  .pab-metric-value { font-size: 1.4rem; }
}
@media (min-width: 1024px) {
  .pab-rechner-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
  .pab-rechner-result { margin-top: 0; padding-top: 0; border-top: 0; }
}
@media (max-width: 767px) {
  .pab-rechner-wrap { display: flex; flex-direction: column; }
  .pab-rechner-input { margin-bottom: 40px; }
  .pab-rechner-result { display: contents; }
  .pab-rechner-summary { position: sticky; bottom: 0; z-index: 5; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 -20px; padding: 8px 20px 10px; background: var(--papier); border-top: 2px solid var(--navy); }
  .pab-rechner-summary .pab-rechner-metric { border-top: 0; padding: 0; }
  .pab-rechner-summary .pab-metric-label { font-size: 0.78rem; margin-bottom: 0; }
  .pab-rechner-summary .pab-metric-value { font-size: 1.15rem; }
  /* Der Nach-oben-Knopf laege sonst ueber der Leiste. */
  body:has(.pab-rechner-summary) a.smooth-scroll { display: none; }
}
@media (max-width: 640px) {
  .pab-rechner-table th, .pab-rechner-table td { padding: 12px 6px; }
  .pab-rechner-table th:first-child, .pab-rechner-table td:first-child { padding-left: 0; width: auto; }
  .pab-rechner-table th:last-child, .pab-rechner-table td:last-child { padding-right: 0; }
}

/* ---- Ratgeber, Rechtstexte und Glossar ---- */
.pab-page-kaeufer *,
.pab-page-kaeufer *::before,
.pab-page-kaeufer *::after,
.pab-page-eigner *,
.pab-page-eigner *::before,
.pab-page-eigner *::after { box-sizing: border-box; }
.pab-page-sicherheit *, .pab-page-sicherheit *::before, .pab-page-sicherheit *::after { box-sizing: border-box; }
.pab-page-text, .pab-page-text *, .pab-page-text *::before, .pab-page-text *::after { box-sizing: border-box; }

/* ---- Fussbereich ---- */
.footermenu a.pab-widerruf-link { display: inline-block; background-color: var(--accent-orange); color: var(--text-dark); font-weight: 700; padding: 6px 14px; border-radius: 4px; min-height: 44px; line-height: 32px; margin: 4px 0; }
.footermenu a.pab-widerruf-link:hover, .footermenu a.pab-widerruf-link:focus { background-color: var(--accent-gold); color: var(--text-dark); text-decoration: underline; }
.footermenu a.pab-widerruf-link:focus-visible { outline: 2px solid var(--bg-white); outline-offset: 2px; }

/* ================ Teil 2, Designsystem: Palette, Grundlagen, Bausteine und Seiten ================ */

/* ---- Grundlagen ---- */
/* Satzteil, der nicht umbricht: Ueberschriften brechen nur zwischen solchen Teilen um. */
.pab-ohne-umbruch { white-space: nowrap; }
body { font-family: var(--schrift); color: var(--tinte); font-variant-numeric: tabular-nums; }
/* Der Body traegt die Zeilenhoehe ohne Einheit (13.10.2026); mehrzeilige Bausteine unter 15 px behalten das Verhaeltnis, das sie mit den geerbten 21,6 px hatten. */
.pab-segment label small { line-height: 1.73; }
.pab-fakt__label { line-height: 1.73; }
.pab-tabelle th { line-height: 1.59; }
.pab-stimme__name { line-height: 1.4; }
.pab-badge__erkl { line-height: 1.59; }
.pab-vergleich th { line-height: 1.69; }
@media (max-width: 767px) {
  .pab-rechner-summary .pab-metric-label { line-height: 1.73; }
}
@media (max-width: 640px) {
  .pab-tabelle th, .pab-tabelle td { line-height: 1.54; }
}
/* Das Template faerbt Ueberschriften ueber #container_main (ID); eine Klassenregel kommt dagegen nicht an, deshalb steht #container_main davor. */
#container_main h1, #container_main h2, #container_main .pab-hero-title, #container_main .pab-section-title { font-family: var(--serife); font-weight: 400; color: var(--navy); letter-spacing: -0.01em; }
#container_main h1 { line-height: 1.05; }
#container_main h2 { line-height: 1.15; }
#container_main h3 { font-family: var(--schrift); font-weight: 700; color: var(--navy); }
#container_main a { color: var(--blau); text-underline-offset: 0.15em; }
#container_main a:hover { color: var(--navy); }
svg.pab-icon { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.pab-glyph { width: 1.4em; height: 1.4em; vertical-align: -0.3em; flex: 0 0 auto; --seg: var(--teal); --ring: var(--navy); }
.pab-glyph--frei { --seg: var(--orange); }
/* Schriften: Die Inline-Typografie des Templates steht im Kopf nach dieser Datei, deshalb eine Stufe mehr Spezifitaet. */
html body, body .btn, body .button, body button, body .hornav { font-family: var(--schrift); }
body h1, body h2 { font-family: var(--serife); }
body h3, body h4 { font-family: var(--schrift); }
/* Grundschrift im Inhalt 1rem auch ueber 959 px (13.10.2026), auf allen Seiten einschliesslich der Startseite: Das Template setzt 18 px am body im Kopf nach dieser Datei; Kopf und Menue behalten ihre Groessen. */
html body #container_main { font-size: 1rem; }
/* Fristsatz der Widerrufsseite direkt unter der Schaltflaeche, mit Abstand zu ihr. */
body.itemid-285 #contact-form p.pab-widerruf-frist { margin: 12px 0 0; }
/* H1 und H2 brechen auf allen Seiten in ausgeglichene Zeilen, kein Wort steht allein (13.10.2026). */
#container_main :is(h1, h2), #container_main .pab-weg-titel { text-wrap: balance; }
/* Betonung im Satz auf allen Seiten: i und em aufrecht und halbfett; einen Kursivschnitt gibt es nicht. Symbole mit Klasse bleiben unberuehrt. */
#container_main :is(i, em):not([class]):not(label > em) { font-style: normal; font-weight: 600; }
/* Ein Absatz allein aus Kursivem ist Nebentext, aufrecht in Tinte weich: in Ratgebern, Rechtstexten und Glossar (anderswo steht em mitten im Satz und waere vom Selektor nicht zu unterscheiden). */
:is(body.itemid-149.view-article, body.pab-rechtstext, body.pab-glossar.view-article) #container_main .com-content-article__body p:not(blockquote p) > em:only-child { font-style: normal; font-weight: 400; font-size: 0.875rem; color: var(--tinte-weich); }
/* Trennlinie als Haarlinie ueber die Spalte statt des kurzen, mittigen Strichs des Templates. */
#container_main hr { height: 0; max-width: none; margin: 32px 0; border: 0; border-top: 1px solid var(--linie-hell); background: transparent; opacity: 1; }
/* Mailadressen und Rufnummern brechen nicht um; Rufnummern sind unterstrichen wie Links. */
a[href^="mailto:"], a[href^="tel:"] { white-space: nowrap; }
#container_main a[href^="tel:"]:not(.pab-btn) { text-decoration: underline; }

/* ---- Template: Kopf, Menue und Seitenende ---- */
#container_header { border-bottom: 1px solid var(--linie-hell); }
#container_header .hornav > ul > li > a { font-family: var(--schrift); font-weight: 600; color: var(--navy); border-bottom: 2px solid transparent; }
/* Aktiver Menuepunkt mit Strich in Navy (Zustandszeichen, 3:1), beim Ueberfahren Teal (12.10.2026). */
#container_header .hornav > ul > li.active > a { border-bottom-color: var(--navy); color: var(--navy); }
#container_header .hornav > ul > li:hover > a { border-bottom-color: var(--teal); color: var(--navy); }
#container_header .hornav > ul > li.item-218:hover > a { background: var(--navy); color: var(--kreide); }
#container_header .hornav > ul > li.item-284 > a { font-weight: 600; opacity: 0.9; }
/* Untermenue "Mein Konto" (letzter Punkt): rechtsbuendig unter dem Punkt, sonst ragt es ueber den Fensterrand; mit der Tastatur geht es beim Fokus auf. */
#container_header .hornav > ul > li.item-301 > ul { left: auto; right: 0; }
#container_header .hornav > ul > li:focus-within > ul { display: block; opacity: 1; visibility: visible; transform: scale(1); }
#container_header #logo img.primary-logo-image { max-height: 72px; width: auto; }
#container_header #logo img.mobile-logo-image { max-height: 52px; width: auto; }
@media (max-width: 959px) { #container_header #logo img.primary-logo-image { max-height: 52px; } }
#container_footer, .container_footer { background-color: var(--navy); color: var(--kreide); position: relative; overflow: hidden; }
#container_footer .wrapper960 { position: relative; z-index: 1; }
#container_footer a, #container_footer .footermenu a, #container_footer .copyright, #container_footer p { color: var(--kreide) !important; }
/* Wasserzeichen im Fuss als SVG. */
#container_footer::after { content: ""; position: absolute; right: -40px; bottom: -20px; width: 560px; height: 200px; pointer-events: none; opacity: 0.08; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 200' fill='none' stroke='white' stroke-width='1'><path d='M100 30Q280 5 460 30'/><path d='M280 20V190'/><path d='M280 185C230 185 120 165 100 30M280 185C330 185 440 165 460 30M280 180C240 180 150 160 135 45M280 180C320 180 410 160 425 45M280 172C250 172 180 152 168 58M280 172C310 172 380 152 392 58M280 160C260 160 210 140 200 70M280 160C300 160 350 140 360 70M280 145C270 145 245 130 238 85M280 145C290 145 315 130 322 85'/><path d='M110 70H450M125 110H435M150 150H410' stroke-dasharray='4 6'/></svg>"); }
#container_header .hornav > ul { padding-left: 16px; }
#container_header .hornav ul.menu > li, #container_header .hornav > ul > li { margin: 0 8px 0 0; }
#container_header .hornav > ul > li.item-218 > a { border: 1.5px solid var(--navy); border-radius: var(--radius); line-height: 1.2; padding: 6px 10px; }
#container_header #hornav-nav.hornav > ul.mod-menu > li.nav-item > a { font-size: 0.78em; font-family: var(--schrift); color: var(--navy); }
#container_header #hornav-nav.hornav > ul.mod-menu > li.nav-item.item-218 > a { border: 1.5px solid var(--navy); border-radius: 6px; padding: 8px 14px; line-height: 1.15; }
#container_header #hornav-nav.hornav > ul.mod-menu > li.nav-item.item-218:hover > a,
#container_header #hornav-nav.hornav > ul.mod-menu > li.nav-item.item-218.active > a { background: var(--navy); color: var(--kreide); border-color: var(--navy); }
/* Menuepunkte in normaler Schreibung ohne Laufweite (13.10.2026); Versalien und Laufweite setzt das Template. */
#container_header #hornav-nav.hornav > ul.mod-menu > li.nav-item > :is(a, span) { text-transform: none; letter-spacing: normal; }
/* Umschalter des Handy-Menues: Balken in Navy, die Template-Variable dafuer ist leer. */
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { background-color: var(--navy); }
.mm-ocd-opened .menu-toggle span { background-color: transparent; }
/* Umschalter mit 44 x 44 px Tippflaeche; Innenabstand und Aussenabstand gleichen die Groesse aus, die Balken bleiben 38 px breit und an ihrem Platz. */
body .menu-toggle { width: 44px; max-width: 44px; height: 44px; padding: 0 3px; box-sizing: border-box; margin: 10px 17px 8px 12px; }
body .scrolled .menu-toggle, body.scrolled .menu-toggle { margin-top: 0; margin-bottom: 0; }
/* Das geschlossene Handy-Menue ist unsichtbar und damit aus der Tab-Folge; beim Schliessen erst nach der Animation (0,45 s wie die Hoehe). */
body .mm-ocd { visibility: hidden; transition-property: bottom, background-color, visibility; transition-duration: 0s, 0.3s, 0s; transition-delay: 0.45s, 0.15s, 0.45s; }
body .mm-ocd.mm-ocd--open { visibility: visible; transition-delay: 0s; }
#container_footer .copyright:has(> p:only-child:empty) { display: none; }
body .back-to-top svg { color: var(--kreide); }
/* Abstand der letzten Sektion zum Fuss im Sektionsrhythmus statt der 80 px des Templates. */
html body .maincontent { padding-bottom: 64px; }
html body .maincontent .blog-items:last-child { margin-bottom: 0; }
@media only screen and (max-width: 1329px) {
  /* Die Huelle wird unter 1330 px fluid; das Template macht das erst unter 1024 px. */
  .wrapper960 { width: 100%; }
}
@media only screen and (min-width: 1280px) and (max-width: 1329px) {
  #container_header .header_main.wrapper960 { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
}
@media (max-width: 1023px) {
  #container_footer::after { width: 360px; height: 130px; }
}
@media (max-width: 959px) {
  #container_header .hornav > ul > li.item-218 > a { border: 0; }
}
@media (max-width: 640px) {
  html body .maincontent { padding-bottom: 40px; }
  /* Der Nach-oben-Knopf laege am Handy ueber der Textspalte, die 20 px vor dem Rand endet. Auf Rechtstexten und im Glossar erscheint er, solange html die Klasse pab-hochgewischt traegt (ein Skript setzt sie beim Rollen nach oben), 44 x 44 px in der Ecke. */
  body a.smooth-scroll { display: none; }
  html.pab-hochgewischt body:is(.pab-rechtstext, .pab-glossar) a.smooth-scroll { display: block; }
  html.pab-hochgewischt body:is(.pab-rechtstext, .pab-glossar) .back-to-top { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; box-sizing: border-box; opacity: 1; transform: none; }
}

/* ---- Sektionen und Raster ---- */
#container_main .pab-sektion h3, #container_main .pab-section h3 { font-size: 1.125rem; line-height: 1.3; }
.pab-innen { max-width: var(--breite); margin: 0 auto; padding: 0 var(--rinne); }
.pab-sektion { padding: 64px 0; }
.pab-sektion--papier { background: var(--papier); }
.pab-sektion--navy { background: var(--navy); color: var(--kreide); position: relative; overflow: hidden; }
.pab-sektion--navy a { color: var(--kreide); }
.pab-riss { position: absolute; right: -60px; top: 40px; width: 720px; opacity: 0.08; pointer-events: none; fill: none; stroke: var(--kreide); stroke-width: 1; }
/* Die Werte am svg selbst erbt auch die Kopie eines Symbols im use (Startseite); die Regel fuer path trifft nur Pfade direkt im svg (Prozessseite). */
.pab-riss path { fill: none; stroke: var(--kreide); stroke-width: 1; }
/* Koepfe linksbuendig an der Kante ihres Behaelters, ohne eigene Breitengrenze (12.10.2026). */
.pab-sektion__kopf { margin: 0 0 32px; }
.pab-sektion__kopf p { font-size: 1.125rem; color: var(--tinte-weich); }
.pab-sektion--navy .pab-sektion__kopf p { color: rgba(255,255,255,0.82); }
.pab-home--2026 .pab-sektion .pab-innen { padding-left: var(--rinne); padding-right: var(--rinne); }
#container_main .pab-sektion--navy h2,
#container_main .pab-sektion--navy h3,
#container_main .pab-section-cta h2,
#container_main .pab-section-cta .pab-section-title,
#container_main .pab-abschluss h2 { color: var(--kreide); }
.pab-sektion--navy :focus-visible,
.pab-section-cta :focus-visible,
.pab-abschluss :focus-visible,
.pab-zeitstrahl__halt--kipp :focus-visible { outline-color: var(--kreide); }
.pab-ablauf .pab-innen { position: relative; z-index: 1; }
.pab-ablauf .pab-riss { height: 257px; opacity: 0.14; }
.pab-ablauf .pab-sektion { scroll-margin-top: calc(var(--kopf) + 8px); }
.pab-ablauf .pab-sektion__kopf h2 { margin: 0 0 14px; padding: 0; }
.pab-ablauf .pab-sektion__kopf p { font-size: 1.08rem; line-height: 1.6; margin: 0; }
.pab-ablauf .pab-ablauf-abschluss .pab-sektion__kopf { margin-bottom: 0; }
.pab-sich-hero .pab-innen { position: relative; }
.pab-sich-hero .pab-sektion__kopf { position: relative; }
.pab-einstieg__kopf .pab-sektion__kopf { margin-bottom: 24px; }
.pab-ablauf .pab-sektion--papier + .pab-sektion--papier,
.pab-ablauf .pab-sektion:not(.pab-sektion--papier):not(.pab-sektion--navy) + .pab-sektion:not(.pab-sektion--papier):not(.pab-sektion--navy) { padding-top: 0; }
@media (max-width: 1023px) {
  .pab-sektion { padding: 56px 0; }
}
@media (max-width: 640px) {
  .pab-sektion { padding: 40px 0; }
  .pab-einstieg__kopf .pab-sektion__kopf p { font-size: 1rem; }
  /* Seitenrand 20 px: Die Huelle .maincontent des Templates traegt 20 px Innenabstand; Sektionen und Baender treten um diese 20 px heraus und laufen bis an den Bildschirmrand, ihr Inhalt haelt ueber --rinne 20 px. Ratgeber, Glossar und Inserate haben keine Sektion und bleiben bei 20 px. */
  .pab-sektion, .pab-section, .pab-hero, .pab-suche, .pab-abschluss { margin-left: -20px; margin-right: -20px; }
  .pab-section { padding-left: var(--rinne); padding-right: var(--rinne); }
}

/* ---- Knoepfe und Beschriftungen ---- */
.pab-btn--primaer, .pab-btn--kontur, .pab-btn--leicht { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; border-radius: var(--radius); box-shadow: none; transform: none; font-family: var(--schrift); font-weight: 700; font-size: 0.95rem; line-height: 1.2; text-decoration: none !important; cursor: pointer; border: 1.5px solid transparent; transition: background 150ms, border-color 150ms, color 150ms; }
.pab-btn--primaer { background: var(--orange); color: var(--tinte) !important; border-color: var(--orange); }
.pab-btn--primaer:hover, .pab-btn--primaer:focus-visible { background: var(--orange); border-color: var(--orange); color: var(--tinte) !important; text-decoration: underline !important; text-underline-offset: 0.2em; transform: none; }
.pab-btn--kontur { background: transparent; color: var(--navy) !important; border-color: var(--navy); }
.pab-btn--kontur:hover { background: var(--navy); color: var(--kreide) !important; transform: none; }
.pab-btn--leicht { background: transparent; color: var(--blau) !important; border-color: transparent; padding: 0 6px; min-height: 44px; text-decoration: underline !important; text-underline-offset: 0.2em; }
.pab-btn--leicht:hover { color: var(--navy) !important; }
.pab-btn--breit { width: 100%; }
.pab-label { display: inline-flex; align-items: center; gap: 10px; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; color: var(--navy); margin-bottom: 8px; }
.pab-label::before { content: ""; width: 24px; height: 1.5px; background: var(--teal); }
#container_main p.pab-sektion__mehr > .pab-btn--leicht:first-child { margin-left: -6px; }
.pab-sektion--navy .pab-btn--kontur { color: var(--kreide) !important; border-color: var(--kreide); }
.pab-sektion--navy .pab-btn--kontur:hover { background: var(--kreide); color: var(--navy) !important; }
.pab-karte .pab-btn--kontur { margin-top: auto; align-self: flex-start; }
.pab-anteil .pab-btn--primaer { margin-top: 10px; }
.pab-ablauf .pab-sektion__kopf .pab-label { margin-bottom: 14px; }
.pab-page-sicherheit .pab-btn { min-height: 44px; }
.pab-einstieg .pab-btn--leicht { min-height: 44px; }
.pab-ablauf .pab-ablauf-knoepfe .pab-btn--leicht { min-height: 46px; }
@media (max-width: 1023px) {
  /* Der Knopf der Handy-Leiste nimmt seine eigene Breite; die Regel fuer Knoepfe bis 768 px (volle Breite bis 320 px) liess der Angabe zu Anteil und Preis 18 px. */
  .pab-leiste .pab-btn--primaer { flex: 0 0 auto; margin-left: auto; width: auto; max-width: none; }
}
@media (max-width: 640px) {
  .pab-einstieg__knoepfe .pab-btn { width: 100%; max-width: none; }
}

/* ---- Tabellen ---- */
.pab-tabelle { width: 100%; border-collapse: collapse; font-size: 0.95rem; margin: 12px 0; border: 1px solid var(--linie); }
.pab-tabelle th, .pab-tabelle td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--linie-hell); vertical-align: top; }
.pab-tabelle th { font-weight: 700; color: var(--navy); font-size: 0.875rem; letter-spacing: 0.02em; }
.pab-tabelle thead th { background: var(--navy-hell); border-bottom: 2px solid var(--navy); }
.pab-tabelle tbody tr:nth-child(even) td { background: var(--papier); }
.pab-tabelle tbody tr:last-child td { border-bottom: 0; }
.pab-tabelle td small { color: var(--tinte-weich); font-size: 0.8125rem; }
.pab-tabelle td.zahl, .pab-tabelle th.zahl { text-align: right; white-space: nowrap; }
.pab-tabelle td.zahl { font-weight: 600; color: var(--navy); }
/* Eine Ausrichtung je Spalte: Traegt eine Zelle die Klasse zahl, stehen Kopf und alle Zellen der Spalte rechtsbuendig. */
#container_main table:not(.pab-tabelle--stapel):has(.zahl:nth-child(2)) :is(th, td):nth-child(2),
#container_main table:not(.pab-tabelle--stapel):has(.zahl:nth-child(3)) :is(th, td):nth-child(3),
#container_main table:not(.pab-tabelle--stapel):has(.zahl:nth-child(4)) :is(th, td):nth-child(4),
#container_main table:not(.pab-tabelle--stapel):has(.zahl:nth-child(5)) :is(th, td):nth-child(5) { text-align: right; }
.pab-tabelle--anteil thead th:last-child { background: var(--teal-hell); border-bottom-color: var(--teal); }
.pab-tabelle--anteil tbody tr td:last-child { background: var(--teal-hell); color: var(--navy); }
.pab-tabelle tr.summe td { font-weight: 800; color: var(--navy); border-top: 2px solid var(--navy); }
.pab-tabelle-wrap { overflow-x: auto; }
.pab-sektion--papier .pab-tabelle { background: var(--kreide); }
.pab-table-wrap table:not(.pab-compare):not(.pab-tabelle) th,
.pab-table-wrap table:not(.pab-compare):not(.pab-tabelle) td { padding: 10px 12px; border-bottom: 1px solid var(--linie-hell); text-align: left; }
.pab-vergleich { width: 100%; border-collapse: collapse; margin: 0 0 20px; }
.pab-vergleich th, .pab-vergleich td { padding: 14px 16px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.18); vertical-align: top; }
.pab-vergleich th { font-size: 0.8125rem; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255,255,255,0.75); font-weight: 600; }
.pab-vergleich td { font-size: 1.05rem; color: var(--kreide); }
.pab-vergleich td:first-child { color: rgba(255,255,255,0.75); font-size: 0.95rem; }
.pab-vergleich .pab { color: var(--teal); font-weight: 800; }
.pab-vergleich tbody tr:last-child td { border-bottom: 2px solid var(--teal); }
.pab-vergleich__wertung { font-size: 1rem; color: rgba(255,255,255,0.9); }
.pab-vergleich__wertung strong { color: var(--teal); }
.pab-einstieg .pab-tabelle tr.summe td { border-top: 2px solid var(--navy); }
@media (min-width: 641px) {
  #container_main table.pab-tabelle--stapel:has(.zahl:nth-child(2)) :is(th, td):nth-child(2),
  #container_main table.pab-tabelle--stapel:has(.zahl:nth-child(3)) :is(th, td):nth-child(3),
  #container_main table.pab-tabelle--stapel:has(.zahl:nth-child(4)) :is(th, td):nth-child(4),
  #container_main table.pab-tabelle--stapel:has(.zahl:nth-child(5)) :is(th, td):nth-child(5) { text-align: right; }
}
/* Zahlenspalten der Ratgeber ohne Umbruch (12.10.2026): Kopf und Zellen der Spalte, die die Regel oben als Zahlenspalte erkennt; ein Betrag steht in einer Zeile. Ab 768 px und im Druck, wo die Tabelle ueber die Spaltenbreite steht; von 641 bis 767 px rollt sie als Netz, dort bliebe ein Betrag sonst hinter dem Rand. In pab-tabelle tragen die Betraege die Klasse zahl selbst und stehen ueber die Regel oben ohne Umbruch; die Textzellen dieser Spalten brechen weiter um. */
@media print, (min-width: 768px) {
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table:has(.zahl:nth-child(2)) :is(th, td):nth-child(2),
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table:has(.zahl:nth-child(3)) :is(th, td):nth-child(3),
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table:has(.zahl:nth-child(4)) :is(th, td):nth-child(4),
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table:has(.zahl:nth-child(5)) :is(th, td):nth-child(5) { white-space: nowrap; }
}
@media (max-width: 640px) {
  .pab-vergleich { font-size: 0.875rem; }
  .pab-tabelle td.zahl, .pab-tabelle th.zahl { white-space: normal; }
  .pab-tabelle th, .pab-tabelle td { padding: 8px 6px; font-size: 0.9em; }
  .pab-vergleich th, .pab-vergleich td { padding: 8px 6px; }
  .pab-vergleich td { font-size: 0.95rem; }
  /* Gestapelte Tabellen bis 640 px: jede Zeile ein Block, die Beschriftung kommt aus data-label. */
  table.pab-tabelle--stapel, table.pab-tabelle--stapel tbody, table.pab-tabelle--stapel tbody tr { display: block; width: 100%; }
  table.pab-tabelle--stapel { border: 0; margin: 12px 0; }
  table.pab-tabelle--stapel thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  table.pab-tabelle--stapel tbody tr { padding: 14px 0; border-top: 1px solid var(--linie); }
  table.pab-tabelle--stapel tbody tr:first-child { border-top: 0; padding-top: 4px; }
  table.pab-tabelle--stapel tbody tr.summe { border-top: 2px solid var(--navy); }
  table.pab-tabelle--stapel, .pab-sektion--papier table.pab-tabelle--stapel { background: transparent; }
  table.pab-tabelle--stapel tbody tr > td:nth-child(n) { display: flow-root; padding: 5px 0; border: 0; background: transparent; text-align: right; white-space: normal; font-size: 0.95rem; }
  /* Beschriftung als Float statt Flex, damit Zellen mit <br>, <strong> oder Link ein Textfluss bleiben. */
  table.pab-tabelle--stapel tbody tr > td:nth-child(n)::before { content: attr(data-label); float: left; max-width: 50%; margin: 0 16px 0 0; text-align: left; font-size: 0.8125rem; font-weight: 600; line-height: 1.5; color: var(--tinte-weich); }
  table.pab-tabelle--stapel tbody tr > td:first-child { display: block; padding: 0 0 6px; text-align: left; font-size: 1rem; font-weight: 700; color: var(--navy); }
  table.pab-tabelle--stapel tbody tr > td:first-child::before { content: none; }
  table.pab-tabelle--stapel tbody tr > td.pab-spalte-pab { margin-top: 4px; padding: 8px 10px; background: var(--teal-hell); border-left: 3px solid var(--teal); font-weight: 700; color: var(--navy); }
  table.pab-tabelle--stapel tbody tr > td.pab-spalte-pab::before { color: var(--navy); }
  table.pab-vergleich.pab-tabelle--stapel tbody tr { border-top-color: var(--blau); }
  table.pab-vergleich.pab-tabelle--stapel tbody tr:last-child { border-bottom: 2px solid var(--teal); }
  table.pab-vergleich.pab-tabelle--stapel tbody tr > td:nth-child(n) { color: var(--kreide); }
  table.pab-vergleich.pab-tabelle--stapel tbody tr > td:nth-child(n)::before { color: var(--navy-hell); }
  table.pab-vergleich.pab-tabelle--stapel tbody tr > td:first-child { color: var(--kreide); }
  table.pab-vergleich.pab-tabelle--stapel tbody tr > td.pab-spalte-pab { background: transparent; border-left-color: var(--teal); color: var(--teal); font-weight: 800; }
  table.pab-vergleich.pab-tabelle--stapel tbody tr > td.pab-spalte-pab::before { color: var(--kreide); }
  .pab-einstieg .pab-tabelle th, .pab-einstieg .pab-tabelle td { font-size: 0.875rem; }
  .pab-ablauf .pab-tabelle th, .pab-ablauf .pab-tabelle td { font-size: 0.875rem; }
}
/* Gestapelt bis 959 px auch fuer Tabellen mit fuenf Spalten: Darunter rollten sie seitlich in ihrer Huelle oder standen in schmalen Spalten. */
@media (min-width: 641px) and (max-width: 959px) {
  table.pab-tabelle--stapel:has(thead th:nth-child(5)), table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody, table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr { display: block; width: 100%; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) { border: 0; margin: 12px 0; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr { padding: 14px 0; border-top: 1px solid var(--linie); }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr:first-child { border-top: 0; padding-top: 4px; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr.summe { border-top: 2px solid var(--navy); }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)), .pab-sektion--papier table.pab-tabelle--stapel:has(thead th:nth-child(5)) { background: transparent; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr > td:nth-child(n) { display: flow-root; padding: 5px 0; border: 0; background: transparent; text-align: right; white-space: normal; font-size: 0.95rem; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr > td:nth-child(n)::before { content: attr(data-label); float: left; max-width: 50%; margin: 0 16px 0 0; text-align: left; font-size: 0.8125rem; font-weight: 600; line-height: 1.5; color: var(--tinte-weich); }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr > td:first-child { display: block; padding: 0 0 6px; text-align: left; font-size: 1rem; font-weight: 700; color: var(--navy); }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr > td:first-child::before { content: none; }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr > td.pab-spalte-pab { margin-top: 4px; padding: 8px 10px; background: var(--teal-hell); border-left: 3px solid var(--teal); font-weight: 700; color: var(--navy); }
  table.pab-tabelle--stapel:has(thead th:nth-child(5)) tbody tr > td.pab-spalte-pab::before { color: var(--navy); }
}

/* ---- Kaesten und Hinweise ---- */
/* Fussnote 13 px wie das uebrige Kleingedruckte. */
.pab-fussnote { font-size: 0.8125rem; color: var(--tinte-weich); line-height: 1.45; margin: 10px 0 0; }
.pab-kasten > * { break-inside: avoid; }
/* Ein einzelner Absatz wird nicht auf zwei Spalten geteilt. */
#container_main .pab-kasten:has(> p:only-child) { columns: auto; }
/* Kasten "Du willst dich vergroessern?" auf der Kaeuferseite: Text ueber die volle Breite, die Fussnote klein darunter (Wunsch Ekki vom 26.10.2026). */
#container_main .pab-kasten#upgrade { columns: auto; }
.pab-kasten p:last-child { margin-bottom: 0; }
.pab-anteil-notizen .pab-fussnote { margin-top: 6px; }
/* Kasten mit mehreren Absaetzen: der Text steht in Spalten, sobald zwei nebeneinanderpassen. */
.pab-kasten { margin-top: 40px; padding: 24px 28px; background: var(--kreide); border: 1px solid var(--linie); border-radius: var(--radius-karte); column-width: 24rem; column-gap: 48px; max-width: none; }
body #dj-classifieds .dj-additem.registration .djform_row:not(.pab-ds-hinweis) { display: block; float: none; margin: 0 0 20px; padding: 0; border: 0; }
body #dj-classifieds .dj-additem.registration .djform_row.pab-ds-hinweis { margin: 20px 0 16px; padding: 12px 0 0; border-bottom: 0; }
.pab-einstieg__legende .pab-kasten { margin-top: 0; padding: 24px 0 0; background: transparent; border: 0; border-top: 1px solid var(--linie); border-radius: 0; }
#container_main .pab-einstieg__legende .pab-kasten p { margin: 0 0 16px; }
.pab-einstieg .pab-kasten p, .pab-einstieg__weg > p, .pab-einstieg .pab-spalten3__fuss { font-size: 1rem; }
.pab-einstieg .pab-kasten p.pab-fussnote { font-size: 0.8125rem; }

/* ---- Aeltere Klassenfamilie (pab-section, pab-inner, pab-trust, pab-card) ---- */
#container_main .pab-sektion h2, #container_main .pab-section h2, #container_main .pab-section-title { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; }
.pab-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 0.78rem; font-weight: 600; text-transform: none; letter-spacing: 0.04em; color: var(--navy); }
.pab-eyebrow::before { content: ""; width: 24px; height: 1.5px; background: var(--teal); }
.pab-section-title { font-family: var(--serife); font-weight: 400; color: var(--navy); }
.pab-section-sub { color: var(--tinte-weich); }
.pab-section-alt { background: var(--papier); }
.pab-section-cta { background: var(--navy); }
.pab-btn-primary { background: var(--orange); color: var(--tinte) !important; border-radius: var(--radius); box-shadow: none; padding: 12px 24px; }
.pab-btn-primary:hover, .pab-btn-primary:focus-visible { background: var(--orange); color: var(--tinte) !important; text-decoration: underline !important; text-underline-offset: 0.2em; transform: none; }
.pab-btn-secondary { background: transparent; color: var(--navy) !important; border: 1.5px solid var(--navy); border-radius: var(--radius); box-shadow: none; padding: 12px 24px; }
.pab-btn-secondary:hover { background: var(--navy); color: var(--kreide) !important; transform: none; }
.pab-trust-item, .pab-card, .pab-feature-card { box-shadow: none; border: 0; border-top: 2px solid var(--navy); border-radius: 0; background: transparent; }
.pab-trust-item > strong { color: var(--navy); font-family: var(--schrift); }
.pab-feature-grid, .pab-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin: 24px 0; }
.pab-feature-card, .pab-card { padding: 18px 0 0; }
.pab-highlight-box { margin: 24px 0; }
/* Hinweiskaesten in zwei Formen: Nebeninformation mit Haarlinie oben, die eine Kernaussage mit 3 px Teal links. */
.pab-highlight-box, .pab-upgrade-hint, .pab-solution-banner, .pab-solution-banner--light { color: var(--tinte); box-shadow: none; text-align: left; max-width: none; margin-left: 0; margin-right: 0; }
.pab-upgrade-hint { background: transparent; border: 0; border-top: 1px solid var(--linie); border-radius: 0; padding: 16px 0 0; }
.pab-highlight-box, .pab-solution-banner, .pab-solution-banner--light { background: transparent; border: 0; border-left: 3px solid var(--teal); border-radius: 0; padding: 16px 20px; }
.pab-section-alt .pab-highlight-box { background: var(--kreide); }
.pab-solution-banner, .pab-solution-banner--light { margin-top: 24px; margin-bottom: 24px; }
.pab-upgrade-hint { margin-top: 24px; margin-bottom: 0; }
.pab-solution-banner p, .pab-upgrade-hint p { font-size: 1rem; }
.pab-solution-banner strong, .pab-solution-banner--light strong, .pab-upgrade-hint strong { color: var(--navy); }
.pab-compare-note { text-align: left; font-size: 0.875rem; }
.pab-btn-card { border-radius: 6px; }
.pab-upgrade-hint p + p { margin-top: 10px; }
@media (max-width: 1023px) {
  .pab-section { padding-top: 56px; padding-bottom: 56px; }
}
@media (max-width: 640px) {
  .pab-section { padding-top: 40px; padding-bottom: 40px; }
  .pab-feature-grid { grid-template-columns: 1fr; }
}

/* ---- Startseite ---- */
.pab-sektion__mehr { margin-top: 28px; }
.pab-hero { background: var(--papier); }
.pab-hero__innen { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 560px; }
.pab-hero__text { padding: 72px var(--rinne) 64px; max-width: 640px; margin-left: max(var(--rinne), calc((100% - var(--breite)) / 2 + var(--rinne))); }
.pab-hero__text h1 { font-size: clamp(2.4rem, 4.6vw, 3.8rem); margin-bottom: 0.3em; }
.pab-hero__promise { font-family: var(--serife); font-size: clamp(1.4rem, 2.2vw, 1.9rem); color: var(--blau); margin: 0 0 20px; }
.pab-hero__mechanik { font-size: 1.125rem; margin-bottom: 28px; }
.pab-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.pab-hero__micro { font-size: 0.95rem; }
.pab-hero__micro a { font-weight: 700; }
.pab-hero__bild { position: relative; min-height: 420px; margin: 0; }
.pab-hero__bild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; border-radius: 0; }
.pab-split-e { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.pab-split-e--textlinks { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
/* Foto mittig zum Text, hoechstens 600 px hoch. */
.pab-split-e img { width: 100%; height: auto; max-height: 600px; object-fit: cover; border-radius: var(--radius-karte); display: block; }
.pab-split-e--quadrat img { aspect-ratio: 1 / 1; object-position: 50% 78%; max-height: none; }
.pab-split-e figure { margin: 0; position: relative; }
.pab-aussagen { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 18px; }
.pab-aussagen li { display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: baseline; padding-top: 14px; border-top: 1px solid var(--linie); }
.pab-aussagen strong { font-size: 1.4rem; font-weight: 800; color: var(--navy); }
.pab-aussagen span { font-size: 1rem; }
.pab-loesung { margin-top: 28px; padding: 16px 20px; border-left: 3px solid var(--teal); background: var(--kreide); font-size: 1rem; }
/* Zahlenband: vier Spalten, bis 1023 px zwei, bis 640 px eine. */
.pab-zahlen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 64px; }
.pab-zahl { border-top: 2px solid var(--navy); padding-top: 14px; }
#container_main .pab-zahl p { margin: 0; max-width: none; }
.pab-zahl p.pab-zahl__wert { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; line-height: 1.1; color: var(--navy); }
.pab-zahl__wert strong { font-size: clamp(1.7rem, 1rem + 1.4vw, 2.2rem); font-weight: 800; color: var(--navy); letter-spacing: -0.02em; white-space: nowrap; }
.pab-zahl__vor, .pab-zahl__einheit { font-size: 1rem; font-weight: 700; color: var(--navy); }
#container_main .pab-zahl p.pab-zahl__titel { margin-top: 8px; font-size: 1rem; font-weight: 600; line-height: 1.35; color: var(--tinte); }
#container_main .pab-zahl p.pab-zahl__unter { margin-top: 4px; font-size: 0.875rem; line-height: 1.5; color: var(--tinte-weich); }
.pab-stepper { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; position: relative; counter-reset: schritt; }
.pab-stepper::before { content: ""; position: absolute; left: 24px; right: 24px; top: 23px; height: 2px; background: var(--linie); }
.pab-stepper li { position: relative; padding-top: 64px; }
.pab-stepper li::before { counter-increment: schritt; content: counter(schritt); position: absolute; left: 0; top: 0; width: 48px; height: 48px; border-radius: 50%; background: var(--navy); color: var(--kreide); font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; box-shadow: 0 0 0 6px var(--kreide); }
.pab-stepper h3 { font-size: 1.05rem; margin-bottom: 6px; }
.pab-stepper p { font-size: 0.95rem; color: var(--tinte-weich); margin: 0; }
.pab-spalten3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.pab-spalten3 > div { border-top: 2px solid var(--navy); padding-top: 18px; }
.pab-spalten3 h3 { display: flex; align-items: center; gap: 10px; }
.pab-spalten3 p { font-size: 1rem; margin: 0; }
.pab-spalten3__fuss { margin: 24px 0 0; font-size: 1rem; }
.pab-unterschrift { margin-top: 20px; }
.pab-unterschrift__name { display: block; font-weight: 700; color: var(--navy); margin-top: 6px; }
.pab-gabel { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 32px; }
.pab-gabel > div { border-left: 3px solid var(--teal); padding-left: 20px; }
.pab-gabel h3 { margin-bottom: 8px; }
.pab-gabel p { font-size: 1rem; }
/* Stimmen: Portraet links, Zitat und Name rechts; --eine zentriert eine einzelne Karte (eine Karte ist kein Text, ihr Kopf steht links). */
.pab-stimmen { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 32px; }
.pab-stimmen--eine { grid-template-columns: minmax(0, 640px); justify-content: center; }
.pab-stimme { margin: 0; display: grid; grid-template-columns: 120px minmax(0, 1fr); grid-template-areas: "bild zitat" "bild name"; grid-template-rows: auto 1fr; column-gap: 24px; border-top: 2px solid var(--navy); padding-top: 24px; }
.pab-stimme__bild { grid-area: bild; width: 120px; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-karte); display: block; background: var(--navy-hell); }
.pab-stimme__zitat { grid-area: zitat; margin: 0; padding: 0; border: 0; }
/* Zitat aufrecht: Die Serife und die Anfuehrungszeichen tragen das Zitat; die Kursive des Templates faellt weg. */
.pab-stimme__zitat, .pab-stimme__zitat p { font-style: normal; }
.pab-stimme__zitat p { font-family: var(--serife); font-size: 1.2rem; line-height: 1.45; color: var(--tinte); margin: 0; max-width: none; }
.pab-stimme__zitat p::before { content: "„"; }
.pab-stimme__zitat p::after { content: "“"; }
.pab-stimme__name { grid-area: name; margin-top: 14px; font-size: 0.92rem; color: var(--tinte-weich); }
.pab-stimme__name strong { display: block; color: var(--navy); font-weight: 700; }
.pab-abschluss { position: relative; min-height: 520px; display: grid; align-items: end; color: var(--kreide); }
.pab-abschluss img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 18%; }
.pab-abschluss::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,33,61,0.85) 0%, rgba(20,33,61,0.45) 45%, rgba(20,33,61,0.05) 78%); }
.pab-abschluss__innen { position: relative; z-index: 1; padding: 56px var(--rinne); max-width: var(--breite); margin: 0 auto; width: 100%; }
.pab-abschluss h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); margin-bottom: 8px; position: relative; top: -5px; text-shadow: 0 2px 12px rgba(20,33,61,0.5); }
.pab-abschluss p { max-width: 52ch; }
.pab-home--2026 { margin: 0; }
/* Die Vorlage schneidet die Beitragshuelle der Startseite mit overflow: hidden ab; die randlosen Baender (am Handy 20 px heraus) brauchen sie offen. */
body.view-featured .blog-items, body.view-featured .blog-item { overflow: visible; }
.pab-home--2026 #boote { padding-bottom: 40px; }
.pab-hero__promise,
.pab-aussagen strong,
.pab-zahl strong,
.pab-karte__preis,
.pab-bordbuch__zeile--gross dd,
.pab-fakt__wert { line-height: 1.15; }
.pab-hero__micro-teil { display: inline-block; }
#container_main .pab-einstieg p.pab-sektion__mehr,
#container_main .pab-einstieg p.pab-einstieg__mitte,
#container_main .pab-einstieg__legende p.pab-sektion__mehr { max-width: none; }
@media (max-width: 1023px) {
  .pab-hero__innen { grid-template-columns: 1fr; min-height: 0; }
  .pab-hero__text { padding: 56px var(--rinne) 40px; margin-left: 0; max-width: none; }
  .pab-hero__bild { min-height: 320px; }
  .pab-split-e, .pab-split-e--textlinks { grid-template-columns: 1fr; gap: 28px; }
  .pab-split-e img { max-height: 420px; }
  .pab-zahlen { grid-template-columns: 1fr 1fr; }
  .pab-stepper { grid-template-columns: 1fr 1fr; }
  .pab-stepper::before { display: none; }
  .pab-spalten3 { grid-template-columns: 1fr; gap: 24px; }
  .pab-gabel { grid-template-columns: 1fr; }
  .pab-stimmen { grid-template-columns: 1fr; gap: 32px; }
  .pab-stimmen--eine { grid-template-columns: minmax(0, 640px); }
}
@media (max-width: 640px) {
  .pab-abschluss { min-height: 480px; }
  .pab-abschluss img { object-position: 70% 30%; }
  .pab-zahlen { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pab-zahl__wert strong { font-size: 1.7rem; }
  .pab-stepper { grid-template-columns: 1fr; gap: 24px; }
  .pab-stepper li { padding-top: 0; padding-left: 60px; }
  .pab-aussagen li { grid-template-columns: 1fr; gap: 4px; }
  .pab-stimme { grid-template-columns: 64px minmax(0, 1fr); grid-template-areas: "zitat zitat" "bild name"; grid-template-rows: auto auto; column-gap: 14px; }
  .pab-stimme__bild { width: 64px; margin-top: 16px; }
  .pab-stimme__name { margin-top: 16px; align-self: center; }
  .pab-stimme__zitat p { font-size: 1.08rem; }
}

/* ---- Inserate: Suche, Karten und Liste ---- */
.pab-suche { margin-top: -36px; position: relative; z-index: 2; }
.pab-suche__leiste { background: var(--kreide); border: 1px solid var(--linie); border-radius: var(--radius-karte); box-shadow: 0 8px 24px rgba(20,33,61,0.08); padding: 14px 18px; }
.pab-karten--start { grid-template-columns: repeat(3, 1fr); }
.pab-karten { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 20px; }
.pab-karte { border: 1px solid var(--linie); border-radius: var(--radius-karte); overflow: hidden; background: var(--kreide); display: flex; flex-direction: column; transition: border-color 150ms; }
.pab-karte:hover { border-color: var(--navy); }
/* Das Seitenverhaeltnis sitzt am Bild: Chrome leitet die Hoehe eines Flex-Kastens aus dem Inhalt ab und uebergeht aspect-ratio am Kasten. */
.pab-karte__bild { position: relative; aspect-ratio: 3 / 2; background: var(--navy); }
.pab-karte__bild a { display: block; }
.pab-karte__bild img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.pab-karte__bild .pab-badge { position: absolute; left: 12px; top: 12px; }
.pab-karte__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pab-karte__titel { font-family: var(--schrift); font-weight: 700; color: var(--navy); font-size: 1.05rem; margin: 0; }
.pab-karte__titel a { color: inherit; text-decoration: none; }
/* Die Erweiterung setzt h3 mit font: inherit zurueck und laedt nach dieser Datei; deshalb body #dj-classifieds davor. */
body #dj-classifieds .pab-karte .pab-karte__titel { font-family: var(--schrift); font-weight: 700; font-size: 1.05rem; line-height: 1.3; color: var(--navy); margin: 0; }
body #dj-classifieds .pab-karte .pab-karte__titel a, #container_main .pab-karte .pab-karte__titel a { color: var(--navy); text-decoration: none; }
.pab-karte__meta { font-size: 0.875rem; color: var(--tinte-weich); }
.pab-karte__anteil { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--linie-hell); }
.pab-karte__anteil .pab-glyph { width: 30px; height: 30px; }
.pab-karte__preis { font-weight: 800; font-size: 1.25rem; color: var(--navy); }
.pab-karte__preis small { display: block; font-weight: 400; font-size: 0.78rem; color: var(--tinte-weich); margin-top: 2px; }
.pab-karte__zeilen { font-size: 0.875rem; color: var(--tinte-weich); margin: 0; padding: 0; list-style: none; }
.pab-karte__zeilen li { display: flex; gap: 8px; align-items: center; padding: 3px 0; }
.pab-karte__zeilen svg { color: var(--navy); }
.pab-badge { display: inline-flex; align-items: center; gap: 8px; background: var(--navy); color: var(--kreide); font-size: 0.78rem; font-weight: 700; padding: 5px 10px; border-radius: var(--radius); letter-spacing: 0.02em; }
.pab-badge--neu { background: var(--teal); color: var(--tinte); }
.pab-badge__erkl { font-size: 0.875rem; color: var(--tinte-weich); }
#dj-classifieds .pab-karten { margin-top: 24px; }
#dj-classifieds .pab-trefferliste .pab-karten { margin-left: 0; margin-right: 0; }
#dj-classifieds .pab-karte--archiv { opacity: 0.7; }
.pab-suche__leiste .moduletable { margin: 0; }
.pab-suche__leiste .search_row1, .pab-trefferliste__suche .search_row1 { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: stretch; }
.pab-suche__leiste .djcf_se_row, .pab-trefferliste__suche .djcf_se_row { flex: 1 1 200px; min-width: 0; }
.pab-suche__leiste .search_buttons, .pab-trefferliste__suche .search_buttons { flex: 0 0 auto; display: flex; align-items: stretch; }
.pab-suche__leiste .search_buttons .button,
.pab-suche__leiste .search_buttons button,
.pab-trefferliste__suche .search_buttons .button,
.pab-trefferliste__suche .search_buttons button { min-height: 46px; padding: 0 22px; border-radius: var(--radius); border: 1.5px solid var(--orange); background: var(--orange); color: var(--tinte); font-family: var(--schrift); font-weight: 700; font-size: 0.95rem; cursor: pointer; box-shadow: none; }
.pab-suche__leiste .search_buttons .button:hover,
.pab-suche__leiste .search_buttons button:hover,
.pab-trefferliste__suche .search_buttons .button:hover,
.pab-trefferliste__suche .search_buttons button:hover { background: var(--orange); border-color: var(--orange); color: var(--tinte); text-decoration: underline; text-underline-offset: 0.2em; }
.pab-suche__leiste .search_advanced, .pab-trefferliste__suche .search_advanced { margin-top: 8px; font-size: 0.875rem; }
.pab-suche__leiste .search_advanced a, .pab-trefferliste__suche .search_advanced a { color: var(--blau); cursor: pointer; text-decoration: underline; }
.pab-suche__leiste .search_row2, .pab-trefferliste__suche .search_row2 { margin-top: 12px; }
.pab-suche__leiste .clear_both, .pab-trefferliste__suche .clear_both { display: none; }
.pab-trefferliste__suche { margin: 0 0 24px; padding: 14px 18px; background: var(--kreide); border: 1px solid var(--linie); border-radius: var(--radius-karte); }
@media (max-width: 1023px) {
  .pab-karten, .pab-karten--start { grid-template-columns: 1fr 1fr; }
  .pab-suche { margin-top: 24px; }
}
@media (max-width: 640px) {
  .pab-karten, .pab-karten--start { grid-template-columns: 1fr; }
  .pab-suche__leiste .djcf_se_row,
  .pab-suche__leiste .search_buttons,
  .pab-trefferliste__suche .djcf_se_row,
  .pab-trefferliste__suche .search_buttons { flex-basis: 100%; }
  .pab-suche__leiste .search_buttons .button,
  .pab-suche__leiste .search_buttons button,
  .pab-trefferliste__suche .search_buttons .button,
  .pab-trefferliste__suche .search_buttons button { width: 100%; }
}

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
#dj-classifieds.djcftheme-partaboat { font-family: var(--schrift); color: var(--tinte); }
#dj-classifieds .pab-brotkrume { font-size: 0.875rem; color: var(--tinte-weich); padding: 18px 0 6px; }
#dj-classifieds .pab-brotkrume ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
#dj-classifieds .pab-brotkrume li + li::before { content: "\203A"; margin-right: 6px; }
#dj-classifieds .pab-brotkrume a { color: var(--tinte-weich); }
#dj-classifieds .pab-titel { padding: 8px 0 20px; }
body #dj-classifieds .dj-item .pab-titel h1 { font-family: var(--serife); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.1; color: var(--navy); margin: 0 0 6px; }
#dj-classifieds .pab-titel__zeile { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 6px; color: var(--tinte-weich); font-size: 0.95rem; }
#dj-classifieds .pab-titel__werkzeuge { margin-left: auto; display: inline-flex; gap: 8px; }
#dj-classifieds .pab-titel__werkzeuge a { font-size: 0.875rem; }
/* Teilen in der Titelzeile (15.10.2026): ein details-Element, das Menue klappt unter dem Knopf auf. */
#dj-classifieds .pab-teilen { position: relative; display: inline-block; }
#dj-classifieds .pab-teilen > summary { list-style: none; font-size: 0.875rem; }
#dj-classifieds .pab-teilen > summary::-webkit-details-marker { display: none; }
#dj-classifieds .pab-teilen__menue { position: absolute; right: 0; top: calc(100% + 4px); z-index: 20; min-width: 200px; display: flex; flex-direction: column; padding: 6px 0; background: var(--kreide); border: 1px solid var(--linie); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(20,33,61,0.12); }
#dj-classifieds .pab-teilen__menue a, #dj-classifieds .pab-teilen__menue button { display: block; width: 100%; min-height: 44px; padding: 10px 16px; text-align: left; background: none; border: 0; border-radius: 0; color: var(--blau); font-family: var(--schrift); font-size: 0.95rem; font-weight: 400; line-height: 1.5; text-decoration: none; cursor: pointer; }
#dj-classifieds .pab-teilen__menue a:hover, #dj-classifieds .pab-teilen__menue button:hover { background: var(--papier); color: var(--navy); }
#dj-classifieds .pab-teilen__menue [hidden] { display: none; }
#dj-classifieds .pab-teilen__status { padding: 0 16px; font-size: 0.875rem; color: var(--tinte-weich); }
#dj-classifieds .pab-teilen__status:empty { display: none; }
.pab-detail { display: grid; grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr); grid-template-areas: "oben seite" "unten seite"; gap: 40px; align-items: start; }
.pab-detail__oben { grid-area: oben; min-width: 0; }
.pab-detail__unten { grid-area: unten; min-width: 0; }
.pab-detail__seite { grid-area: seite; position: sticky; top: 16px; align-self: start; }
.pab-abschnitt { padding: 40px 0 0; border-top: 1px solid var(--linie-hell); margin-top: 40px; }
.pab-abschnitt:first-of-type { border-top: 0; margin-top: 0; }
body #dj-classifieds .dj-item .pab-abschnitt h2 { font-family: var(--serife); font-weight: 400; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.15; color: var(--navy); margin: 0 0 12px; }
.pab-galerie { display: grid; gap: 8px; }
.pab-galerie__haupt { position: relative; aspect-ratio: 3 / 2; background: var(--navy); border-radius: var(--radius-karte); overflow: hidden; }
.pab-galerie__haupt img, .pab-galerie__haupt a { display: block; width: 100%; height: 100%; }
.pab-galerie__haupt img { object-fit: cover; }
.pab-galerie__zaehler { position: absolute; right: 12px; bottom: 12px; background: rgba(20,33,61,0.78); color: var(--kreide); font-size: 0.8125rem; padding: 4px 10px; border-radius: var(--radius); }
.pab-galerie__streifen { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.pab-galerie__streifen button { padding: 0; border: 2px solid transparent; border-radius: var(--radius); overflow: hidden; background: var(--papier); cursor: pointer; aspect-ratio: 3 / 2; }
.pab-galerie__streifen button[aria-current="true"] { border-color: var(--teal); }
/* Beim Ueberfahren Rahmen in Navy statt im Blau der Vorlage; das aktive Bild behaelt Teal. */
.pab-galerie__streifen button:not([aria-current="true"]):hover { background-color: var(--papier); border-color: var(--navy); }
.pab-galerie__streifen img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Trennlinien an den Zellen, nicht als Rasterluecke, damit eine halbe letzte Reihe weiss bleibt. */
.pab-fakten { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--kreide); border: 1px solid var(--linie); border-radius: var(--radius-karte); overflow: hidden; margin: 24px 0 0; }
.pab-fakt { background: var(--kreide); padding: 14px 16px; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: start; border-left: 1px solid var(--linie-hell); border-top: 1px solid var(--linie-hell); }
.pab-fakt:nth-child(4n+1) { border-left: 0; }
.pab-fakt:nth-child(-n+4) { border-top: 0; }
.pab-fakt svg { grid-row: 1 / span 2; color: var(--navy); width: 26px; height: 26px; margin-top: 2px; }
.pab-fakt__label { font-size: 0.78rem; color: var(--tinte-weich); letter-spacing: 0.03em; }
.pab-fakt__wert { font-weight: 700; color: var(--navy); font-size: 1rem; }
.pab-bordbuch { margin: 0; padding: 0; }
.pab-bordbuch__zeile { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 4px 0; border-bottom: 1px solid var(--linie-hell); }
.pab-bordbuch__zeile:last-child { border-bottom: 0; }
.pab-bordbuch dt { font-size: 0.875rem; color: var(--tinte-weich); line-height: 1.3; }
.pab-bordbuch dt small { font-size: 0.78rem; color: var(--tinte-weich); }
.pab-bordbuch dd { margin: 0; font-weight: 700; color: var(--navy); text-align: right; white-space: nowrap; }
.pab-bordbuch__zeile--gross dd { font-size: 1.7rem; font-weight: 800; }
.pab-bordbuch__zeile--pab dt, .pab-bordbuch__zeile--pab dd { color: var(--blau); }
.pab-anteil { border: 1px solid var(--linie); border-radius: var(--radius-karte); background: var(--kreide); padding: 12px 16px 12px; box-shadow: 0 1px 0 var(--linie-hell); }
.pab-anteil h2 { font-family: var(--schrift); font-weight: 800; font-size: 1.05rem; color: var(--navy); margin: 0 0 4px; }
body #dj-classifieds .dj-item .pab-anteil h2, body #dj-classifieds .dj-item .pab-anfrage-box h2 { font-family: var(--schrift); font-weight: 800; font-size: 1.05rem; line-height: 1.3; color: var(--navy); }
body #dj-classifieds .dj-item .pab-anfrage-box h2 { font-size: 1.125rem; }
.pab-anteil__gesamt { font-size: 0.85rem; color: var(--tinte-weich); margin: 0 0 8px; max-width: none; }
.pab-segment { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; margin: 0 0 14px; border: 0; padding: 0; }
.pab-segment label { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 6px 6px; border: 1.5px solid var(--linie); border-radius: var(--radius); cursor: pointer; font-size: 0.875rem; color: var(--tinte); margin: 0; }
.pab-segment label small { font-size: 0.78rem; color: var(--tinte-weich); }
.pab-segment input { position: absolute; opacity: 0; inset: 0; margin: 0; }
.pab-segment label:has(input:checked) { border-color: var(--navy); background: var(--navy-hell); font-weight: 700; }
.pab-segment label:has(input:focus-visible) { outline: 3px solid var(--blau); outline-offset: 2px; }
/* Nur ein Anteil im Angebot: eine ruhige Zeile statt einer gewaehlten Kachel. */
.pab-segment:has(> label:only-of-type) { display: block; margin: 0 0 12px; }
.pab-segment label:only-of-type, .pab-segment label:only-of-type:has(input:checked) { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 4px 0; border-color: transparent; background: transparent; font-weight: 700; cursor: default; }
.pab-segment label:only-of-type small { flex-basis: auto; font-weight: 400; }
.pab-anteil__komplett { font-size: 0.85rem; margin: -4px 0 10px; }
.pab-anteil__e1 { font-size: 0.8125rem; color: var(--tinte-weich); margin: 10px 0 0; display: flex; gap: 8px; align-items: flex-start; max-width: none; }
.pab-anteil__e1 svg { color: var(--teal); margin-top: 3px; }
.pab-liste { margin: 0; padding-left: 1.2em; }
.pab-liste li { margin-bottom: 6px; }
.pab-daten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin: 0; }
.pab-daten div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--linie-hell); font-size: 0.95rem; }
.pab-daten dt { color: var(--tinte-weich); }
.pab-daten dd { margin: 0 0 0 auto; font-weight: 600; color: var(--navy); text-align: right; }
.pab-gruppe { margin-top: 26px; }
.pab-gruppe h3 { display: flex; align-items: center; gap: 10px; font-size: 0.92rem; letter-spacing: 0.02em; }
/* Feldgruppen und Anteilswahl der Inseratsseite: Ueberschrift der Gruppe in Fliesstextgroesse, Zusaetze und Herkunftsvermerk in 13 px, auch ausserhalb der Ueberschrift; mit body #dj-classifieds .dj-item davor, weil das CSS der Kleinanzeigen-Erweiterung spaeter laedt. */
body #dj-classifieds .dj-item .pab-gruppe h3 { font-size: 1rem; }
body #dj-classifieds .dj-item .pab-segment label small, body #dj-classifieds .dj-item span.pab-herkunft { font-size: 0.8125rem; }
/* Herkunftsvermerk neben der Ueberschrift der Feldgruppe, nicht in ihr. */
body #dj-classifieds .dj-item .pab-gruppe { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: center; }
body #dj-classifieds .dj-item .pab-gruppe > * { grid-column: 1 / -1; }
body #dj-classifieds .dj-item .pab-gruppe > h3 { grid-column: 1; grid-row: 1; }
body #dj-classifieds .dj-item .pab-gruppe > .pab-herkunft { grid-column: 2; grid-row: 1; margin-bottom: 12px; font-size: 0.8125rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--tinte-weich); text-align: right; }
.pab-haken { columns: 3; column-gap: 32px; list-style: none; margin: 0; padding: 0; font-size: 0.95rem; }
.pab-haken li { break-inside: avoid; display: flex; gap: 8px; padding: 4px 0; }
.pab-haken svg { color: var(--teal); margin-top: 4px; }
.pab-liegeplatz { grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.pab-inserat { background: var(--papier); border-radius: var(--radius-karte); padding: 22px 24px; font-size: 0.92rem; }
.pab-inserat__zeile { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; color: var(--tinte-weich); font-size: 0.875rem; margin-top: 12px; }
.pab-anfrage-box { margin-top: 40px; border-top: 1px solid var(--linie-hell); padding-top: 32px; max-width: 640px; }
.pab-dialog .pab-anfrage-box { margin-top: 0; border-top: 0; padding-top: 0; }
.pab-anfrage-box h2 { font-family: var(--schrift); font-weight: 800; font-size: 1.125rem; color: var(--navy); }
#dj-classifieds #ask_form { display: block; }
/* Das Formular am Seitenende bleibt verborgen, solange das Skript der Detailseite die Klasse setzt; ohne Skript ist es sichtbar. */
body #dj-classifieds .pab-anfrage--verborgen,
body #pab-anfrage.pab-anfrage--verborgen,
body #dj-classifieds #ask_form.pab-anfrage--verborgen { display: none !important; }
#dj-classifieds #ask_form label, .pab-dialog #ask_form label { font-size: 0.9375rem; font-weight: 600; color: var(--tinte); display: block; margin-bottom: 6px; }
#dj-classifieds #ask_form input[type="text"],
#dj-classifieds #ask_form textarea,
.pab-dialog #ask_form input[type="text"],
.pab-dialog #ask_form textarea { font: inherit; font-size: 0.95rem; padding: 10px 12px; border: 1.5px solid var(--linie-feld); border-radius: var(--radius); min-height: 44px; width: 100%; box-sizing: border-box; background: var(--kreide); }
#dj-classifieds #ask_form textarea, .pab-dialog #ask_form textarea { min-height: 110px; resize: vertical; }
#dj-classifieds #ask_form input[type="text"], .pab-dialog #ask_form input[type="text"] { height: 44px; line-height: 1.4; }
#dj-classifieds #ask_form #ask_submit_b, .pab-dialog #ask_form #ask_submit_b { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: var(--radius); border: 1.5px solid var(--orange); background: var(--orange); color: var(--tinte); font-weight: 700; font-family: var(--schrift); cursor: pointer; width: 100%; }
#dj-classifieds #ask_form #ask_submit_b:hover,
#dj-classifieds #ask_form #ask_submit_b:focus-visible,
.pab-dialog #ask_form #ask_submit_b:hover,
.pab-dialog #ask_form #ask_submit_b:focus-visible { background: var(--orange); border-color: var(--orange); color: var(--tinte); text-decoration: underline; text-underline-offset: 0.2em; }
#dj-classifieds .pab-eigentuemer-hinweis { font-size: 0.8125rem; color: var(--tinte-weich); border: 0; border-top: 1px solid var(--linie); padding: 8px 0 0; background: transparent; margin: 8px 0 16px; }

/* ---- Inserate: Suche, Karten und Liste ---- */
#dj-classifieds .search_res_details { font-size: 0.875rem; color: var(--tinte-weich); margin: 8px 0 12px; }
#dj-classifieds .djsortbox { text-align: right; margin: 0 0 8px; }

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
#dj-classifieds .pab-eigentuemer-hinweis p { margin: 0; }
#dj-classifieds #ask_form_button, .pab-dialog #ask_form_button, .pab-ask-btn-hidden { display: none !important; }
#dj-classifieds .pab-anfrage__anteil, .pab-dialog .pab-anfrage__anteil { background: var(--papier); border-radius: var(--radius); padding: 10px 14px; font-size: 0.92rem; display: flex; gap: 10px; align-items: center; margin: 8px 0 16px; }
/* Anfrage-Dialog, vom Skript der Detailseite angelegt. */
.pab-dialog { border: 0; border-radius: var(--radius-karte); padding: 0; width: min(560px, calc(100% - 32px)); box-shadow: 0 20px 60px rgba(20,33,61,0.35); color: var(--tinte); }
.pab-dialog::backdrop { background: rgba(20,33,61,0.55); }
.pab-dialog__innen { padding: 24px 28px 28px; max-height: 85vh; overflow-y: auto; }
.pab-dialog__kopf { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.pab-dialog__kopf h2 { font-family: var(--schrift); font-weight: 800; font-size: 1.125rem; color: var(--navy); margin: 0 0 8px; }

/* ---- Startseite ---- */
.pab-hero__text h1, .pab-sektion h2, .pab-abschnitt h2, .pab-abschluss h2, #dj-classifieds .pab-titel h1 { font-family: var(--serife); font-weight: 400; color: var(--navy); line-height: 1.1; }

/* ---- Sektionen und Raster ---- */
.pab-sektion--navy h2,
.pab-sektion--navy h3,
.pab-sektion--navy p,
.pab-sektion--navy .pab-label,
.pab-abschluss h2,
.pab-abschluss p { color: var(--kreide); }

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
.pab-dialog__schliessen { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; margin: -8px -12px 0 0; padding: 0; background: none; border: 0; border-radius: var(--radius); font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--tinte-weich); }
.pab-dialog__schliessen:hover { background: var(--papier); color: var(--tinte); }
/* Absenden haftet als Fusszeile des rollenden Inhalts; das Skript setzt die Klasse. */
.pab-dialog .pab-dialog__absenden:not(form):not(button),
.pab-dialog form.pab-dialog__absenden > #ask_submit_b,
.pab-dialog #ask_submit_b.pab-dialog__absenden { position: sticky; bottom: 0; z-index: 2; }
.pab-dialog .pab-dialog__absenden:not(form):not(button) { margin: 0 -28px; padding: 12px 28px 16px; background: var(--kreide); border-top: 1px solid var(--linie); }

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
.pab-dialog form.pab-dialog__absenden > #ask_submit_b, .pab-dialog #ask_submit_b.pab-dialog__absenden { bottom: 12px; box-shadow: 0 0 0 12px var(--kreide), 0 -1px 0 12px var(--linie); }
/* Feste Handy-Leiste mit Anteil und Knopf (bis 1023 px); sie weicht, solange der Knopf im Kasten Dein Anteil sichtbar ist. */
.pab-leiste { display: none; }
.pab-sektion h3, .pab-karte__titel, .pab-anteil h2, .pab-gruppe h3 { line-height: 1.3; }
.pab-sektion p, .pab-anteil p, .pab-abschnitt p, .pab-hero__text p { line-height: 1.6; }
.pab-verborgen { display: none !important; }
.pab-galerie-wrap { width: 100%; }
#dj-classifieds .pab-beschreibung .description { font-size: 1rem; line-height: 1.6; }
#dj-classifieds .pab-brotkrume ol { margin: 0; }
/* Die Seitenspalte haftet nur, wenn sie in den Bildschirm passt; sonst setzt das Skript pab-seite--statisch. */
.pab-detail__seite.pab-seite--statisch { position: static; }
.pab-anteil-notizen { margin: 10px 4px 0; }
.pab-notizen-ziel .pab-anteil-notizen { margin: 18px 0 0; }
.pab-bordbuch dt small { display: block; }
.pab-bordbuch dt small::before { content: none; }
.pab-liegeplatz { display: block; }
.pab-galerie__haupt a { cursor: zoom-in; }
/* Galerie-Ansicht der Detailseite als Dialog im ganzen Fenster. */
.pab-galerie-dialog { border: 0; padding: 0; margin: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; background: rgba(20,33,61,0.97); color: var(--kreide); display: none; flex-direction: column; }
.pab-galerie-dialog[open] { display: flex; }
.pab-galerie-dialog::backdrop { background: rgba(20,33,61,0.7); }
body.pab-galerie-offen { overflow: hidden; }
.pab-gd__kopf { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; flex: 0 0 auto; }
.pab-gd__zaehler { font-size: 0.95rem; font-weight: 600; color: rgba(255,255,255,0.85); }
.pab-gd__schliessen, .pab-gd__pfeil { width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,0.14); color: var(--kreide); font-size: 1.8rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.pab-gd__schliessen:hover, .pab-gd__pfeil:hover { background: rgba(255,255,255,0.3); }
.pab-gd__buehne { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 12px; }
.pab-gd__bild { max-width: calc(100vw - 140px); max-height: calc(100vh - 170px); width: auto; height: auto; object-fit: contain; border-radius: var(--radius); background: #000; }
.pab-gd__pfeil { flex: 0 0 auto; }
.pab-gd__streifen { flex: 0 0 auto; display: flex; gap: 8px; padding: 12px 16px 16px; overflow-x: auto; scrollbar-width: thin; }
.pab-gd__streifen button[aria-current="true"] { border-color: var(--teal); opacity: 1; }
@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
  .pab-leiste { transition: transform 200ms ease-out, visibility 0s linear 0s; }
  .pab-leiste.pab-leiste--verdeckt { transition: transform 200ms ease-in, visibility 0s linear 200ms; }
}
@media (max-width: 1023px) {
  .pab-detail { grid-template-columns: minmax(0, 1fr); grid-template-areas: "oben" "seite" "unten"; gap: 32px; }
  .pab-detail__seite { position: static; }
  .pab-fakten { grid-template-columns: repeat(2, 1fr); }
  .pab-fakt:nth-child(4n+1), .pab-fakt:nth-child(-n+4) { border-left: 1px solid var(--linie-hell); border-top: 1px solid var(--linie-hell); }
  .pab-fakt:nth-child(2n+1) { border-left: 0; }
  .pab-fakt:nth-child(-n+2) { border-top: 0; }
  .pab-haken { columns: 2; }
  .pab-leiste { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--kreide); border-top: 1px solid var(--linie); padding: 10px var(--rinne); align-items: center; gap: 12px; padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .pab-leiste__text { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; line-height: 1.2; flex: 1 1 auto; min-width: 0; }
  .pab-leiste__text > span { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 0; line-height: 0; }
  .pab-leiste__text strong { font-size: 1.05rem; line-height: 1.25; color: var(--navy); display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pab-leiste__boot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pab-leiste .pab-glyph { width: 28px; height: 28px; }
  .pab-leiste--verdeckt { transform: translateY(110%); visibility: hidden; }
  body.pab-hat-leiste { padding-bottom: 76px; }
}
@media (max-width: 640px) {
  .pab-galerie__streifen { grid-template-columns: repeat(4, 1fr); }
  .pab-galerie__streifen button:nth-child(n+5) { display: none; }
  .pab-daten { grid-template-columns: minmax(0, 1fr); }
  .pab-haken { columns: 1; }
  .pab-liegeplatz { grid-template-columns: 1fr; }
  .pab-bordbuch__zeile--gross dd { font-size: 1.45rem; }
  #dj-classifieds .pab-titel__werkzeuge { margin-left: 0; }
  #dj-classifieds .pab-teilen__menue { right: auto; left: 0; }
  /* Seitenrand 20 px auch auf der Inseratsseite: ohne den Aussenabstand von 20 px und den Rahmen des Themes; das graue Titelband laeuft wie jede Flaeche mit Grund bis an den Bildschirmrand, sein Inhalt haelt 20 px. body #dj-classifieds davor, weil das Theme nach dieser Datei laedt. */
  body #dj-classifieds .dj-item:has(> .dj-item-in.pab-detail) { border-left: 0; border-right: 0; }
  body #dj-classifieds .dj-item .dj-item-in.pab-detail { margin-left: 0; margin-right: 0; }
  body #dj-classifieds .dj-item .pab-titel { margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; }
  .pab-gd__buehne { gap: 0; padding: 0; position: relative; }
  .pab-gd__bild { max-width: 100vw; max-height: calc(100vh - 160px); border-radius: 0; }
  .pab-gd__pfeil { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(20,33,61,0.6); }
  .pab-gd__pfeil--zurueck { left: 8px; }
  .pab-gd__pfeil--vor { right: 8px; }
}
@media (max-width: 480px) {
  /* Am Handy hoechstens zwei Anteile je Zeile, damit die Anteilswahl nicht ueber den Kasten ragt; am Schreibtisch unveraendert. */
  .pab-segment:has(> label:nth-of-type(3)) { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pab-segment:has(> label:nth-of-type(3)) > label { text-align: center; text-wrap: balance; }
  .pab-segment:has(> label:nth-of-type(3)) > label:last-of-type:nth-of-type(odd) { grid-column: 1 / -1; }
}

/* ---- Formulare, Anmeldung und Kontakt ---- */
#dj-classifieds #ask_form .djform_row, .pab-dialog #ask_form .djform_row { margin-bottom: 14px; }
body #dj-classifieds .dj-additem .djform_row .label:not(.invalid) .info,
body #dj-classifieds .label:not(.invalid) .info,
body #ask_form .label:not(.invalid) .info { color: var(--tinte-weich); }
.pab-suche__leiste .form-control,
.pab-suche__leiste .form-select,
.pab-suche__leiste input[type="text"],
.pab-suche__leiste select,
.pab-trefferliste__suche .form-control,
.pab-trefferliste__suche .form-select,
.pab-trefferliste__suche input[type="text"],
.pab-trefferliste__suche select { width: 100%; min-height: 46px; font: inherit; font-size: 0.95rem; color: var(--tinte); border: 1.5px solid var(--linie-feld); border-radius: var(--radius); padding: 8px 12px; background: var(--kreide); box-sizing: border-box; }
#dj-classifieds .djsortbox .form-select { font: inherit; font-size: 0.875rem; color: var(--tinte); border: 1.5px solid var(--linie-feld); border-radius: var(--radius); padding: 8px 36px 8px 12px; min-height: 44px; background-color: var(--kreide); }

/* ---- Inserate: Suche, Karten und Liste ---- */
#dj-classifieds .pab-trefferliste .no_results { padding: 24px; background: var(--papier); border-radius: var(--radius-karte); }

/* ---- Formulare, Anmeldung und Kontakt ---- */
.well { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; box-sizing: border-box; max-width: 100%; }
.form-horizontal .control-group { display: block; margin: 0 0 24px; }
body .form-horizontal .control-group .control-label { float: none; width: auto; max-width: none; margin: 0 0 6px; padding: 0; }
body .form-horizontal .control-group .control-label label,
body #contact-form .control-group .control-label label { display: block; float: none; width: auto; max-width: none; margin: 0; padding: 0; }
.form-horizontal .control-label, #contact-form label { display: block; float: none; width: auto; text-align: left; margin: 0 0 6px; padding: 0; font-weight: 600; font-size: 0.9375rem; color: var(--tinte); }
body #dj-classifieds .dj-additem .djform_row label.label { font-size: 0.9375rem; font-weight: 600; color: var(--tinte); }
body #dj-classifieds .registration .terms_and_conditions .checkboxes { display: flex; align-items: flex-start; justify-content: flex-start; gap: 10px; text-align: left; }
body #dj-classifieds .registration .terms_and_conditions .checkboxes input[type="checkbox"] { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; float: none; }
body #dj-classifieds .registration .terms_and_conditions .label_terms { display: block; float: none; width: auto; margin: 0; text-align: left; font-size: 0.9375rem; font-weight: 400; color: var(--tinte); cursor: pointer; }
/* Registrierung wie die Anmeldung, eine Spalte bis 520 px; ueber .registration eingegrenzt, weil .dj-additem auch das Inseratsformular traegt. */
body #dj-classifieds .dj-additem.registration { max-width: 520px; margin: 32px auto 48px; }
body #dj-classifieds .dj-additem h1.pab-reg-titel,
body #dj-classifieds h1.pab-reg-titel,
#container_main h1.pab-reg-titel,
#container_main h1.pab-kontakt-titel,
body #dj-classifieds h1.main_cat_title.page_header { font-family: var(--serife); font-weight: 400; font-size: 2.4em; line-height: 1.05; letter-spacing: -0.01em; color: var(--navy); margin: 0 0 16px; padding: 0; border: 0; }

/* ---- Grundlagen ---- */
body #dj-classifieds h1.main_cat_title.page_header { margin-top: 32px; }

/* ---- Formulare, Anmeldung und Kontakt ---- */
body #dj-classifieds .dj-additem.registration .additem_djform > .title_top { display: none; }
body #dj-classifieds .dj-additem.registration #djForm { margin: 24px 0 0; padding: 0; }
body #dj-classifieds .dj-additem.registration .additem_djform { border: 0; margin: 0; }
body #dj-classifieds .dj-additem.registration .additem_djform .additem_djform_in { padding: 0; }
body #dj-classifieds .dj-additem.registration .djform_row .label { display: block; float: none; width: auto; margin: 0 0 6px; text-align: left; }
body #dj-classifieds .dj-additem.registration .djform_row .djform_field { display: block; float: none; width: 100%; }
body #dj-classifieds .dj-additem.registration .djform_field input.form-control,
body #dj-classifieds .dj-additem.registration .djform_field .input-group { width: 100%; max-width: none; box-sizing: border-box; }
body #dj-classifieds .dj-additem.registration .djform_field .input-group > .form-control { width: auto; flex: 1 1 auto; min-width: 0; }
body #dj-classifieds .dj-additem.registration .classifieds_buttons { margin: 20px 0 0; }
body #dj-classifieds .dj-additem:not(.registration) .djrow_verfuegungsbefugnis .checkbox_v input { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; float: none; }
body #dj-classifieds .dj-additem:not(.registration) .djrow_verfuegungsbefugnis .checkbox_v label { margin: 0; font-size: 0.9375rem; font-weight: 400; line-height: 1.45; color: var(--tinte); }
body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons #preview_button { background: var(--kreide); color: var(--navy); border: 1.5px solid var(--navy); }
body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons #preview_button:hover { background: var(--navy); color: var(--kreide); }
body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons a.cancel { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; background: transparent; border: 0; box-shadow: none; color: var(--blau); font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; }
body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons a.cancel:hover { color: var(--navy); }
/* Bildupload des Inseratsformulars: Knopf 44 px mit sichtbarem Fokus. */
body #dj-classifieds #uploader_browse { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; background: var(--kreide); background-image: none; border: 1.5px solid var(--navy); border-radius: var(--radius); color: var(--navy); font: 600 0.9375rem/1.2 var(--schrift); }
body #dj-classifieds #uploader_browse .ui-button-text { padding: 0; }
body #dj-classifieds #uploader_browse .ui-icon { display: none; }
body #dj-classifieds .plupload_droptext { font-size: 1rem; line-height: 1.4; color: var(--tinte-weich); }
.form-horizontal .controls { margin-left: 0; }
.form-control,
.form-select,
.com-users-login__input input[type="text"],
.com-users-login__input input[type="password"],
#contact-form input[type="text"],
#contact-form input[type="email"],
#contact-form textarea { display: block; width: 100%; box-sizing: border-box; min-height: 44px; padding: 8px 12px; font: inherit; font-size: 1rem; color: var(--tinte); background: var(--kreide); border: 1.5px solid var(--linie-feld); border-radius: 6px; box-shadow: none; }
body .form-check-input { border: 1.5px solid var(--linie-feld); }
textarea.form-control, #contact-form textarea { min-height: 160px; }
/* Hilfetexte unter den Feldern in Tinte weich und 14 px, kleiner als die Beschriftung (13.10.2026). */
body .form-text, body small.form-text { font-size: 0.875rem; line-height: 1.45; color: var(--tinte-weich); }
.form-control:focus,
.form-select:focus,
.com-users-login__input input:focus,
#contact-form input:focus,
#contact-form textarea:focus,
#ask_form input:focus,
#ask_form textarea:focus { outline: 2px solid var(--blau); outline-offset: 2px; border-color: var(--blau); }
/* Fehlerzustand in der Palette: Die Erweiterung setzt Rot mit !important und laedt nach dieser Datei; deshalb body davor und !important. */
body .form-control.invalid,
body .form-select.invalid,
body input.invalid,
body textarea.invalid,
body select.invalid,
body input[aria-invalid="true"],
body textarea[aria-invalid="true"],
body select[aria-invalid="true"],
body #dj-classifieds .dj-additem .djform_row input.invalid,
body #dj-classifieds .dj-additem .djform_row textarea.invalid,
body #dj-classifieds .dj-additem .djform_row select.invalid { border: 2px solid var(--orange-dunkel) !important; }
body label.invalid,
body #ask_form label.invalid,
body #dj-classifieds label.invalid,
body #dj-classifieds .dj-additem .djform_row label.invalid { color: var(--tinte) !important; }
body .form-control-feedback,
body label.invalid .form-control-feedback,
body #ask_form label.invalid span.form-control-feedback,
body #dj-classifieds label.invalid span.form-control-feedback { color: var(--tinte) !important; font-weight: 600; }
/* Inseratsformular: ein Fehlerton auch fuer die Sammelmeldung (Rahmen, Band, Schliessen) und die Kaestchengruppen; die Optionen einer fehlerhaften Gruppe bleiben Tinte, die Gruppe traegt den Rahmen in Orange dunkel wie ein Feld. Die Sammelmeldung ebenso an Anmeldung, Registrierung und Kontakt. */
body:is(:has(.dj-additem:not(.registration)), .com_users.view-login, .com_djclassifieds.view-registration, .com_contact.view-contact) #system-message-container joomla-alert:is([type="danger"], [type="error"]) { --alert-accent-color: var(--orange-dunkel); --alert-close-button: var(--orange-dunkel); }
body #dj-classifieds .dj-additem:not(.registration) .djform_row fieldset.invalid { color: var(--tinte); outline: 2px solid var(--orange-dunkel); outline-offset: 4px; }
body #dj-classifieds .dj-additem:not(.registration) .title_top.invalid { color: var(--tinte) !important; border: 2px solid var(--orange-dunkel) !important; }
/* Formulare der Erweiterung, eine Form fuer Hilfe und Meldung (16.10.2026, Entscheidungen Ekki zu F1 und F2 der Vorlage zum Inseratsformular): Beschriftung, Hilfe, Meldung, Feld. Die Hilfe steht seit der Vorlage der Beschriftung als Zeile in ihr (.info, .pab-hilfe), Joomla setzt die Meldung dahinter; die Regel des Themes (.label span, 0.9em, normal) schlaegt sonst beide. */
body #dj-classifieds .dj-additem .djform_row .label .info,
body #dj-classifieds .dj-additem .djform_row .label.invalid .info { display: block; margin-top: 2px; font-size: 0.875rem; font-weight: 400; line-height: 1.4; color: var(--tinte-weich); }
body #dj-classifieds .dj-additem .djform_row .label span.form-control-feedback,
body #dj-classifieds .dj-additem .djform_row label.invalid span.form-control-feedback { display: block; margin-top: 4px; font-size: 0.875rem; font-weight: 600; line-height: 1.4; color: var(--tinte) !important; }
/* Eine Kaestchen-Gestalt fuer die ganze Seite (16.10.2026): Rahmen in --linie-feld, angehakt Navy mit Haken in Kreide (Teal hielte auf Weiss nur 2,30:1), Optionsknopf rund mit Punkt in Navy; 20 px, wo eine Regel 24 px setzt, gilt sie weiter. Fehler und Fokus kommen aus den Regeln fuer alle Felder. Ausgenommen der Spamschutz und die Anteilswahl, deren Knopf unsichtbar in der Kachel liegt; der Druck hat eigene Kaestchen. */
@media screen {
  body input[type="checkbox"]:not(altcha-widget input, .pab-segment input),
  body input[type="radio"]:not(.pab-segment input) { -webkit-appearance: none; appearance: none; display: inline-grid; place-content: center; box-sizing: border-box; width: 20px; height: 20px; padding: 0; border: 1.5px solid var(--linie-feld); border-radius: 4px; background: var(--kreide); vertical-align: -4px; cursor: pointer; }
  body input[type="radio"]:not(.pab-segment input) { border-radius: 50%; }
  body input[type="checkbox"]:not(altcha-widget input, .pab-segment input):hover,
  body input[type="radio"]:not(.pab-segment input):hover { border-color: var(--navy); }
  body input[type="checkbox"]:not(altcha-widget input, .pab-segment input):checked { border-color: var(--navy); background: var(--navy); }
  body input[type="checkbox"]:not(altcha-widget input, .pab-segment input):checked::before { content: ""; width: 12px; height: 12px; background: var(--kreide); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.8 6.2l2.7 2.7L10.2 3.2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.8 6.2l2.7 2.7L10.2 3.2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat; }
  body input[type="radio"]:not(.pab-segment input):checked { border-color: var(--navy); }
  body input[type="radio"]:not(.pab-segment input):checked::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--navy); }
  body input[type="checkbox"]:not(altcha-widget input, .pab-segment input):disabled,
  body input[type="radio"]:not(.pab-segment input):disabled { opacity: 0.5; cursor: default; }
}
.btn.btn-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; background: var(--orange); color: var(--tinte); border: 0; border-radius: var(--radius); padding: 0 22px; font: inherit; font-weight: 700; font-size: 0.95rem; line-height: 1.2; box-shadow: none; text-shadow: none; }
body .btn.btn-primary:hover,
body .btn.btn-primary:focus,
body .btn.btn-primary:focus-visible,
body .btn.btn-primary:active { background: var(--orange); color: var(--tinte); }
body .btn.btn-primary:hover, body .btn.btn-primary:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
.btn.btn-secondary { background: var(--kreide); color: var(--navy); border: 1.5px solid var(--navy); border-radius: 6px; box-shadow: none; }
/* Beim Ueberfahren, im Fokus und gedrueckt Navy mit Kreide statt des Blaus der Vorlage (sonst Navy auf Blau). */
body .btn.btn-secondary:hover, body .btn.btn-secondary:focus, body .btn.btn-secondary:active { background: var(--navy); border-color: var(--navy); color: var(--kreide); }
.input-group .form-control { display: inline-block; width: auto; flex: 1 1 auto; }
.input-group { display: flex; }
.com-users-login { max-width: 520px; margin: 32px auto 48px; }
.com-users-login__form { padding: 28px; }
.com-users-login__form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.com-users-login__remember { margin: 4px 0 16px; }
.com-users-login__remember label { display: inline; font-weight: 400; margin-left: 6px; }
.com-users-login__submit { margin: 0; }
.com-users-login .list-group { border: 0; margin: 20px 0 0; padding: 0; }
.com-users-login .list-group-item { border: 0; background: none; padding: 6px 0; color: var(--blau); font-weight: 600; }
.com-contact { max-width: 800px; }
.com-contact form { max-width: 32.75rem; }
.com-contact .page-header h1 { font-family: var(--serife); font-weight: 400; }
#contact-form .control-group { margin-bottom: 16px; }
.com-users-login__input .input-group { display: flex; align-items: stretch; }
.com-users-login__input .input-group input[type="password"] { display: block; width: auto; flex: 1 1 auto; border-radius: 6px 0 0 6px; }
.com-users-login__input .input-group .btn-secondary { min-width: 48px; border-radius: 0 6px 6px 0; border-left: 0; padding: 0 12px; }
/* Augensymbol im Passwortfeld: als Maske in der Textfarbe, ohne Symbolschrift. */
.input-password-toggle .icon-eye::before, .input-password-toggle .icon-eye-slash::before { content: ""; display: inline-block; width: 1.125em; height: 1.125em; vertical-align: -0.125em; background-color: currentColor; -webkit-mask: var(--pab-auge) center / contain no-repeat; mask: var(--pab-auge) center / contain no-repeat; }
.input-password-toggle .icon-eye::before { --pab-auge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M2 12Q12 2.5 22 12Q12 21.5 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3.2' fill='%23000'/%3E%3C/svg%3E"); }
.input-password-toggle .icon-eye-slash::before { --pab-auge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M2 12Q12 2.5 22 12Q12 21.5 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3.2' fill='%23000'/%3E%3Cpath d='M4 4L20 20'/%3E%3C/svg%3E"); }
.input-group .btn.btn-secondary.input-password-toggle { display: inline-flex; align-items: center; justify-content: center; align-self: stretch; min-width: 48px; min-height: 44px; height: auto; padding: 0 12px; color: var(--navy); background: var(--kreide); border: 1.5px solid var(--navy); border-left: 0; border-radius: 0 6px 6px 0; box-shadow: none; transition: none; }
.input-group .btn.btn-secondary.input-password-toggle:hover,
.input-group .btn.btn-secondary.input-password-toggle:focus,
.input-group .btn.btn-secondary.input-password-toggle:active { color: var(--kreide); background: var(--navy); border-color: var(--navy); box-shadow: none; outline: 2px solid var(--blau); outline-offset: 2px; }
/* Das Template setzt .input-group auf flex-wrap: wrap; der Augenknopf soll neben dem Feld stehen. */
.input-group:has(.input-password-toggle) { flex-wrap: nowrap; }
.input-group:has(.input-password-toggle) > .form-control { border-radius: 6px 0 0 6px; min-width: 0; }
/* Reservierte Zeile fuer den Hinweis der Passwortstaerke, damit der Inhalt darunter nicht springt. */
.password-group output { display: block; min-height: 1.35em; }
body.itemid-285 .com-contact__container > h2:first-child { display: none; }
/* Leerer Kontaktblock der Widerrufsseite (Ueberschrift Kontakt, leere Liste) faellt weg; Joomla gibt ihn trotz verborgener Kontaktangaben aus. */
body.pab-rechtstext.itemid-285 .com-contact__container { display: none; }
.com-contact > h2, .com-contact__container > h2 { font-family: var(--serife); font-weight: 400; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; margin: 64px 0 12px; }
/* Captcha im Feldstil ueber die Variablen des Widgets. */
altcha-widget { display: block; --altcha-border-width: 1.5px; --altcha-border-radius: 6px; --altcha-color-base: var(--kreide); --altcha-color-border: var(--linie-feld); --altcha-color-text: var(--tinte); --altcha-color-border-focus: var(--blau); --altcha-color-error-text: var(--tinte); --altcha-color-footer-bg: var(--papier); --altcha-max-width: 100%; }
altcha-widget .altcha-checkbox { width: 24px; height: 24px; }

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
.pab-gd__streifen button { flex: 0 0 auto; width: 88px; height: 60px; padding: 0; border: 2px solid transparent; border-radius: var(--radius); overflow: hidden; background: #000; cursor: pointer; opacity: 0.7; }

/* ---- Template: Kopf, Menue und Seitenende ---- */
body .smooth-scroll .back-to-top, body .back-to-top { background-color: var(--navy); color: var(--kreide); border: 1.5px solid var(--kreide); border-radius: var(--radius); box-shadow: none; }

/* ---- Inserat: Detailseite, Anfrage, Dialog und Leiste ---- */
.pab-gd__streifen img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 640px) {
  .pab-gd__streifen button { width: 64px; height: 44px; }
}

/* ---- Formulare, Anmeldung und Kontakt ---- */
altcha-widget .altcha-checkbox input[type="checkbox"] { width: 24px; height: 24px; margin: 0; }
/* Legende nur optisch verborgen: die Gruppe behaelt ihren Namen fuer Vorlesehilfen. */
#contact-form legend { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.com-contact__address, .com-contact .contact-address { margin: 0 0 8px; }
.pab-kontakt-kopf { margin: 32px 0; }
#container_main .pab-kontakt-kopf p.pab-kontakt-lead { margin: 0 0 16px; font-size: 1.0625rem; line-height: 1.6; color: var(--tinte); }
#container_main .pab-kontakt-kopf p.pab-kontakt-telefon { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: 1rem; line-height: 1.4; color: var(--tinte); }
#container_main .pab-kontakt-telefon a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
@media (max-width: 1023px) {
  .com-contact > h2, .com-contact__container > h2 { margin-top: 56px; }
}
@media (max-width: 979px) {
  /* Inseratsformular (nur angemeldet): bis 979 px Beschriftung ueber dem Feld statt des schwebenden 200-px-Kastens der Erweiterung, Kaestchen und Optionen in 44-px-Zeilen; die Erklaerung als Kaestchenzeile, ein oranger Knopf, Vorschau als Kontur, Abbrechen als Textlink. Ueber :not(.registration) eingegrenzt, body #dj-classifieds davor, weil das Theme der Erweiterung nach dieser Datei laedt. */
  body #dj-classifieds .dj-additem:not(.registration) .djform_row .label { float: none; display: block; width: auto; margin: 0 0 6px; padding: 0; text-align: left; }
}
body #dj-classifieds .dj-additem:not(.registration) .djrow_verfuegungsbefugnis .checkbox_v { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; margin: 0; }
@media (max-width: 979px) {
  body #dj-classifieds .dj-additem:not(.registration) .radiofield_box > fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
  body #dj-classifieds .dj-additem:not(.registration) .checkbox_v,
  body #dj-classifieds .dj-additem:not(.registration) .radio_v { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; }
}

/* ---- Kaesten und Hinweise ---- */
#container_main .pab-einstieg__legende .pab-kasten p:last-child { margin-bottom: 0; }

/* ---- Formulare, Anmeldung und Kontakt ---- */
body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
@media (max-width: 979px) {
  body #dj-classifieds .dj-additem:not(.registration) .checkbox_v input,
  body #dj-classifieds .dj-additem:not(.registration) .radio_v input,
  body #dj-classifieds .dj-additem:not(.registration) .price_neg_box input { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; float: none; }
  body #dj-classifieds .dj-additem:not(.registration) .checkbox_v label,
  body #dj-classifieds .dj-additem:not(.registration) .radio_v label { margin: 0; font-size: 1rem; line-height: 1.3; }
}
@media (max-width: 959px) {
  body #dj-classifieds .dj-additem h1.pab-reg-titel,
  body #dj-classifieds h1.pab-reg-titel,
  #container_main h1.pab-reg-titel,
  #container_main h1.pab-kontakt-titel,
  body #dj-classifieds h1.main_cat_title.page_header { font-size: 2.2em; }
}
@media (max-width: 767px) {
  body #dj-classifieds .dj-additem h1.pab-reg-titel,
  body #dj-classifieds h1.pab-reg-titel,
  #container_main h1.pab-reg-titel,
  #container_main h1.pab-kontakt-titel,
  body #dj-classifieds h1.main_cat_title.page_header { font-size: 1.8em; }
  body #dj-classifieds .dj-additem.registration { margin-top: 24px; }
}
@media (max-width: 640px) {
  .com-contact > h2, .com-contact__container > h2 { margin-top: 40px; }
}
@media (max-width: 480px) {
  body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons { flex-direction: column; align-items: stretch; }
  body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons .btn { width: 100%; }
  body #dj-classifieds .dj-additem:not(.registration) .classifieds_buttons a.cancel { justify-content: center; }
}

/* Inseratsformular: Gliederung in fuenf Abschnitte (seit dem 12.10.2026, abends). Eine Spalte von 720 px links in der Inhaltsflaeche,
   Beschriftung auf allen Breiten ueber dem Feld, Abschnitte mit H2 wie die Abschnitte der Inseratsseite und einer Linie oben, kurze
   Zahlenfelder zu dritt (bis 600 px zu zweit), "Technik und Ausstattung" aufklappbar mit Winkel in Navy, innerhalb der Abschnitte keine
   Linie je Zeile; der Schluss behaelt seine Linien. Eingegrenzt ueber :has(.pab-formular), die Klasse traegt nur die Vorlage additem;
   body #dj-classifieds davor, weil das Theme der Erweiterung nach dieser Datei laedt. */
body #dj-classifieds .dj-additem:not(.registration):has(.pab-formular) { max-width: 720px; margin: 32px 0 48px; }
/* Zeichenzaehler der Erweiterung: nur sichtbar, solange sein Feld den Fokus hat (er gilt nur bei der Eingabe). Ueber visibility,
   damit sein Platz in der Beschriftung bleibt und nichts springt; dazu mindestens 13 px statt 12,15 px. */
body #dj-classifieds .dj-additem:not(.registration) .djform_row .charcount-wrapper { visibility: hidden; font-size: 0.8125rem; font-weight: 400; color: var(--tinte-weich); }
body #dj-classifieds .dj-additem:not(.registration) .djform_row .charcount-wrapper span { font-size: inherit; }
body #dj-classifieds .dj-additem:not(.registration) .djform_row:focus-within .charcount-wrapper { visibility: visible; }
body #dj-classifieds .dj-additem:not(.registration) #djForm > .additem_djform.pab-formular { margin: 0 0 32px; }
body #dj-classifieds .dj-additem:not(.registration) .additem_djform.pab-formular,
body #dj-classifieds .dj-additem:not(.registration) .pab-formular .additem_djform { border: 0; margin: 0; padding: 0; background: none; box-shadow: none; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular .additem_djform_in { padding: 0; border: 0; background: none; }
body #dj-classifieds .dj-additem:not(.registration):has(.pab-formular) .djform_row .label { float: none; display: block; width: auto; margin: 0 0 6px; padding: 0; text-align: left; }
body #dj-classifieds .dj-additem:not(.registration):has(.pab-formular) .djform_row .djform_field { float: none; display: block; width: 100%; margin-left: 0; padding: 0; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt { display: block; margin: 32px 0 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--linie); }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt:first-of-type { margin-top: 24px; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__titel { font-family: var(--serife); font-weight: 400; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.15; letter-spacing: -0.01em; color: var(--navy); margin: 0 0 20px; padding: 0; border: 0; background: none; text-align: left; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_row { float: none; margin: 0 0 20px; padding: 0; border: 0; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_row.extra_fields { margin: 0; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_row > p.pab-fussnote { margin: 0 0 8px; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_field input.form-control,
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_field select,
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_field textarea { width: 100%; max-width: none; box-sizing: border-box; }
/* Preis: Bootstrap setzt w-auto mit !important; "EUR" steht weiter hinter dem Feld. */
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .djform_row.price input#price { display: inline-block; width: calc(100% - 3.5em) !important; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; align-items: end; }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__raster > .djform_row { margin: 0 0 20px; min-width: 0; }
/* Gruppenkopf der Erweiterung ("Motor / Antrieb") als Zwischenzeile statt grauer Balken. */
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .group_name.title_top { margin: 8px 0 12px; padding: 0; border: 0; background: none; text-align: left; font-family: var(--schrift); font-size: 1rem; font-weight: 700; line-height: 1.3; color: var(--navy); }
/* "Bilder *" als Beschriftung ueber dem Uploader statt als Kastentitel. */
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .images_box > .title_top { margin: 0 0 6px; padding: 0; border: 0; background: none; text-align: left; font-weight: 600; color: var(--tinte); }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .images_box > .title_top label { font-family: var(--schrift); font-size: 0.9375rem; font-weight: 600; color: var(--tinte); }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .images_box > .title_top .images_info { font-size: 0.875rem; font-weight: 400; color: var(--tinte-weich); }
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__abschnitt .images_box { margin: 0 0 20px; }
/* Technik und Ausstattung: aufklappbar, geschlossen; ohne Felder (etwa ohne Skript) blendet er sich aus. */
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt { padding: 20px 0; border-bottom: 1px solid var(--linie); }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt:has(> .pab-formular__felder:empty) { display: none; }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; list-style: none; cursor: pointer; }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt > summary::-webkit-details-marker { display: none; }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt > summary::after { content: ""; flex: 0 0 auto; width: 10px; height: 10px; margin: 0 8px 6px 0; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt[open] > summary::after { margin-bottom: -4px; transform: rotate(-135deg); }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt > summary:focus-visible { outline: 2px solid var(--blau); outline-offset: 2px; }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt > summary .pab-formular__titel { margin: 0; }
body #dj-classifieds .dj-additem:not(.registration) details.pab-formular__abschnitt[open] > summary { margin-bottom: 20px; }
/* Satz zum Ablauf ueber den Knoepfen. */
body #dj-classifieds .dj-additem:not(.registration) .pab-formular__ablauf { margin: 24px 0 12px; font-size: 0.9375rem; line-height: 1.5; color: var(--tinte); }
@media (max-width: 767px) {
  body #dj-classifieds .dj-additem:not(.registration):has(.pab-formular) { margin-top: 24px; }
}
@media (max-width: 600px) {
  body #dj-classifieds .dj-additem:not(.registration) .pab-formular__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
}
/* ---- Ratgeber, Rechtstexte und Glossar ---- */
/* Ratgeber-Artikel (Menueeintrag 149): Spaltenbreite und Tabellen kommen ueber die Body-Klasse des Menueeintrags; ein Artikel braucht keine eigene Klasse. */
/* Ratgeber-Vorlage (12.10.2026): Grundschrift 1rem wie ueberall, Zeilenhoehe 1.65 fuer Absatz und Listenpunkt, Ueberschriften auf der Skala der Sektionen; die Spalte ist seit dem 13.10.2026 680 px breit (vorher 800 px). */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body { max-width: 680px; margin-left: auto; margin-right: auto; font-size: 1rem; line-height: 1.65; }
/* Die H1 ist auf jeder Breite die groesste Ueberschrift; ueber ihr 64 px, bis 640 px 40 px. Ueber die Body-Klasse statt ueber die Altklasse pab-hero-title, #container_main davor wegen der Template-Regeln ueber diese ID. */
:is(body.itemid-149.view-article, body.pab-rechtstext) #container_main h1, body.pab-glossar.view-article #container_main h1 { font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.6rem); line-height: 1.1; margin: 64px 0 16px; padding: 0; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body h2 { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; margin: 44px 0 12px; }
/* H1 und H2 brechen in ausgeglichene Zeilen, kein Wort steht allein; Satzteile mit pab-ohne-umbruch bleiben zusammen. */
:is(body.itemid-149.view-article, body.pab-rechtstext) #container_main h1, :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body h2 { text-wrap: balance; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body h3 { font-size: 1.2rem; line-height: 1.3; margin: 28px 0 8px; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body p { margin: 0 0 16px; line-height: 1.65; }
:is(body.itemid-149.view-article, body.pab-rechtstext, body.pab-glossar.view-article) .com-content-article__body ul,
:is(body.itemid-149.view-article, body.pab-rechtstext, body.pab-glossar.view-article) .com-content-article__body ol { padding-left: 2.2em; margin: 0 0 16px; }
:is(body.itemid-149.view-article, body.pab-rechtstext, body.pab-glossar.view-article) .com-content-article__body li { margin-bottom: 6px; line-height: 1.65; }
/* Liste ohne Marke (pab-list-plain) ohne Einzug; die Checkliste traegt darueber hinaus eigene Regeln (unten). */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body ul.pab-list-plain { padding-left: 0; list-style: none; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 0.95rem; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body th { text-align: left; padding: 8px 10px; background: var(--papier); border-bottom: 2px solid var(--navy); font-weight: 700; color: var(--navy); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body td { padding: 8px 10px; border-bottom: 1px solid var(--linie-hell); vertical-align: top; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body img { max-width: 100%; height: auto; border-radius: var(--radius-karte); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body .pab-bild-rechts { float: right; width: 300px; margin: 6px 0 18px 28px; }
/* Trennstriche als Haarlinie ueber die Spaltenbreite statt des kurzen, mittigen Strichs des Templates. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body hr { height: 0; max-width: none; margin: 32px 0; border: 0; border-top: 1px solid var(--linie-hell); background: transparent; opacity: 1; }
/* Summenzeile wie im Rechnungsblatt: Fusszeile fett, darueber 2 px Navy (bis 640 px an der Zeile, unten). */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tfoot :is(th, td) { font-weight: 700; }
@media (min-width: 641px) {
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tfoot tr:first-child > * { border-top: 2px solid var(--navy); }
}
/* Tabellen ab vier Spalten ab 768 px in 14 px statt 15,2 px: so passen sie in die 680-px-Spalte, auch mit langen Woertern und Betraegen ohne Umbruch, ohne ueber die rechte Kante zu ragen. */
@media (min-width: 768px) {
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table:has(tr > :nth-child(4)) { font-size: 0.875rem; }
}
/* Fussnote im Ratgeber in Hinweisform (a): Haarlinie oben, ohne Rahmen und Grund. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body p.pab-fussnote { margin: 24px 0 16px; padding-top: 12px; border-top: 1px solid var(--linie); }
/* Verzeichnis: nav.pab-inhalt ohne Rahmen, sein Titel in der Gestalt der Beschriftung (pab-label). */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body nav.pab-inhalt { margin: 0 0 16px; padding: 0; border: 0; background: none; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body nav.pab-inhalt > p:first-child { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; line-height: 1.4; color: var(--navy); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body nav.pab-inhalt > p:first-child::before { content: ""; flex: 0 0 24px; height: 1.5px; background: var(--teal); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body nav.pab-inhalt > p:first-child strong { font-weight: inherit; }
/* Verzeichnislinks: Tippflaeche ueber die ganze Zeilenhoehe bis an den Nachbarn, ohne sichtbare Aenderung (Innenabstand und gleich grosser negativer Aussenabstand). */
:is(body.itemid-149.view-article, body.pab-rechtstext) #container_main nav.pab-inhalt li > a { display: inline-block; padding: 3px 0; margin: -3px 0; }
/* Verzeichnis eines Vertrags oder der Nutzungsbedingungen: Die Eintraege nennen den Paragraphen selbst, deshalb keine Listenziffer davor; der Einzug bleibt wie im Ratgeber. */
body.pab-rechtstext #container_main nav.pab-inhalt ol:has(> li > a[href^="#par-"]) { list-style: none; padding-left: 2.2em; }
/* Nebentext: Absaetze nur aus Kursivem (Lesezeit, Hinweise, Autor, Tabellennotizen) stehen aufrecht und klein in Tinte weich; einen Kursivschnitt gibt es nicht. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body p > em:only-child { font-style: normal; font-size: 0.875rem; color: var(--tinte-weich); }
/* Betonung im Satz: i und em aufrecht und halbfett; ein Absatz allein aus Kursivem bleibt Nebentext (oben), die Zusaetze der Checkliste ebenso. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body :is(i, em):not(p > em:only-child):not(label > em) { font-style: normal; font-weight: 600; }
/* Hinweis in Form (b): 3 px Teal links, ohne Rahmen, Radius und Grund, aufrecht in Tinte; im Editor ueber "Zitat" pflegbar. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body blockquote { margin: 24px 0; padding: 14px 18px; border: 0; border-left: 3px solid var(--teal); border-radius: 0; background: transparent; box-shadow: none; font-size: 1rem; font-style: normal; color: var(--tinte); quotes: none; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body blockquote::before, :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body blockquote::after { content: none; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body blockquote :is(p, em, i), :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body blockquote p > em:only-child { font-style: normal; font-size: inherit; color: inherit; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body blockquote > :last-child { margin-bottom: 0; }
/* Aufklapper in der Form der Prozessseite (pab-ablauf-faq__eintrag): Haarlinie, Winkel rechts, mindestens 44 px. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details { margin: 0; padding: 0; border: 0; border-top: 1px solid var(--linie); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details:not(:has(+ details)) { border-bottom: 1px solid var(--linie); margin-bottom: 24px; }
/* Folgt auf den letzten Aufklapper eine Trennlinie, schliesst sie die Folge ab; keine Doppellinie. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details:not(:has(+ details)):has(+ hr) { border-bottom: 0; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details[open] { padding-bottom: 8px; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details > summary { position: relative; display: block; min-height: 44px; box-sizing: border-box; list-style: none; cursor: pointer; padding: 20px 44px 20px 0; font-size: 1rem; font-weight: 700; line-height: 1.4; color: var(--navy); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details > summary::-webkit-details-marker { display: none; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details > summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 1.5px solid var(--navy); border-bottom: 1.5px solid var(--navy); transform: rotate(45deg); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details[open] > summary::after { margin-top: -2px; transform: rotate(-135deg); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body details > summary strong { font-weight: inherit; }
/* Schluss jedes Ratgebers: der erste Weg als oranger Knopf allein in der ersten Zeile, darunter die Textlinks in einer Reihe (8 x 24 px Abstand), alles linksbuendig. */
body.itemid-149.view-article .com-content-article__body p.pab-schluss { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin: 40px 0 16px; }
body.itemid-149.view-article .com-content-article__body p.pab-schluss::before { content: ""; order: 1; flex: 0 0 100%; height: 0; }
body.itemid-149.view-article .com-content-article__body p.pab-schluss > a { order: 2; }
body.itemid-149.view-article .com-content-article__body p.pab-schluss > a.pab-btn--primaer { order: 0; width: auto; max-width: none; }
body.itemid-149.view-article #container_main p.pab-schluss > a:not(.pab-btn) { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--blau); text-decoration: underline; text-underline-offset: 0.2em; }
body.itemid-149.view-article #container_main p.pab-schluss > a:not(.pab-btn):hover { color: var(--navy); }
/* Checkliste (nur Listen mit Kaestchen): je Punkt eine Kaestchenspalte (24 px) und eine Textspalte, die ganze Zeile ist Tippflaeche, Haarlinie zwischen den Punkten. Das label traegt Text, strong und em im Fluss; das Raster entsteht deshalb ueber den Einzug, nicht ueber display: grid. */
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) { list-style: none; margin: 0 0 24px; padding: 0; }
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) > li { margin: 0; padding: 0; border-top: 1px solid var(--linie-hell); }
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) > li:last-child { border-bottom: 1px solid var(--linie-hell); }
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) label { position: relative; display: block; min-height: 44px; box-sizing: border-box; margin: 0; padding: 9px 0 9px 36px; font-size: 1rem; font-weight: 400; line-height: 1.65; color: var(--tinte); cursor: pointer; }
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) label > input[type="checkbox"] { position: absolute; left: 0; top: 10px; width: 24px; height: 24px; margin: 0; accent-color: var(--navy); cursor: pointer; }
/* Zusaetze im Punkt als Nebentext; der letzte Zusatz beginnt eine eigene Zeile, nachfolgender Text laeuft weiter. */
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) label > em { font-style: normal; font-size: 0.875rem; color: var(--tinte-weich); }
body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) label > em:last-child::before { content: ""; display: block; }
#container_main p.pab-checkliste__hinweis { font-size: 0.875rem; color: var(--tinte-weich); }
/* Brotkrumen der Ratgeber (Modul Breadcrumbs, Position contenttop-a, nur Menuepunkt 149): klein in Tinte weich ueber der H1, an der Kante der 680-px-Spalte, ohne Grund und Rahmen; auf der Uebersicht ausgeblendet. Die Template-Regeln fuer Modulrahmen und Abstaende tragen !important, deshalb hier auch. */
body.itemid-149:not(.view-article) :is(#contenttop, .wrapper_contenttop):has(.mod-breadcrumbs__wrapper), body.itemid-149:not(.view-article) nav.mod-breadcrumbs__wrapper { display: none; }
body.itemid-149.view-article :is(#contenttop, .wrapper_contenttop):has(.mod-breadcrumbs__wrapper), body.itemid-149.view-article .wrapper_contenttop:has(.mod-breadcrumbs__wrapper) :is(.module_contenttop-a, .contenttop, .module, .module_surround, .module_content) { display: block; float: none; margin: 0; padding: 0 !important; background: none; border: 0; box-shadow: none; }
body.itemid-149.view-article nav.mod-breadcrumbs__wrapper { max-width: none; margin: 40px max(20px, calc((100% - 680px) / 2)) 0; padding: 0; font-size: 0.875rem; line-height: 1.5; color: var(--tinte-weich); background: none; border: 0; }
body.itemid-149.view-article .maincontent nav.mod-breadcrumbs__wrapper { max-width: 680px; margin-left: auto; margin-right: auto; }
body.itemid-149.view-article nav.mod-breadcrumbs__wrapper ol.mod-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0; padding: 0 !important; list-style: none; background: none; }
body.itemid-149.view-article nav.mod-breadcrumbs__wrapper ol.mod-breadcrumbs > li { margin: 0; padding: 0; font-size: inherit; line-height: 1.5; color: var(--tinte-weich); text-shadow: none; }
body.itemid-149.view-article nav.mod-breadcrumbs__wrapper ol.mod-breadcrumbs > li:empty, body.itemid-149.view-article nav.mod-breadcrumbs__wrapper ol.mod-breadcrumbs > li:is(.mod-breadcrumbs__divider, .mod-breadcrumbs__here) { display: none; }
body.itemid-149.view-article nav.mod-breadcrumbs__wrapper ol.mod-breadcrumbs > li.mod-breadcrumbs__item + li.mod-breadcrumbs__item::before { content: "\203A"; float: none; padding: 0 8px; color: var(--tinte-weich); }
/* Brotkrumenlinks mit 44 px Tippflaeche; der negative Aussenabstand haelt die Zeile so hoch wie vorher. */
body.itemid-149.view-article #container_main nav.mod-breadcrumbs__wrapper a { display: inline-block; padding: 11.5px 0; margin: -9.5px 0; font-weight: 400; color: var(--tinte-weich); text-decoration: underline; text-underline-offset: 0.15em; }
body.itemid-149.view-article #container_main nav.mod-breadcrumbs__wrapper a:hover { color: var(--navy); }
/* Mit Brotkrumen teilen sich die 64 px (bis 640 px 40 px) ueber der H1 in den Abstand Kopf bis Brotkrumen und 16 px bis zur H1. */
body.itemid-149.view-article:has(nav.mod-breadcrumbs__wrapper) #container_main h1 { margin-top: 16px; }
/* Rechtstexte (13.10.2026): dieselbe Vorlage wie die Ratgeber ueber die Seitenklasse pab-rechtstext im Menueeintrag (Impressum, Datenschutz, Nutzungsbedingungen, Widerrufsseite, Kontaktstelle fuer Behoerden und jede Vertragsseite); die Regeln oben tragen sie mit. Eine Huelle der aelteren oder neuen Klassenfamilie im Beitrag verbreitert die Spalte nicht. */
body.pab-rechtstext .com-content-article__body :is(.pab-section, .pab-sektion) { margin: 0; padding: 0; background: none; }
body.pab-rechtstext .com-content-article__body :is(.pab-inner, .pab-innen) { max-width: none; margin: 0; padding: 0; }
body.pab-rechtstext .com-content-article__body :is(.pab-section-intro, .pab-sektion__kopf) { margin: 0; }
body.pab-rechtstext .com-content-article__body [id] { scroll-margin-top: calc(var(--kopf) + 16px); }
/* Kleingedrucktes in Form (a) auch im Beitrag in 13 px mit eigenen Absatzabstaenden; die Absatzregel oben schlaegt es sonst. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body .pab-ds-hinweis p { margin: 0 0 6px; line-height: inherit; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body .pab-ds-hinweis p:last-child { margin-bottom: 0; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body .pab-ds-hinweis p.pab-ds-widerspruch { margin-top: 10px; }
/* Buchstabenpunkte: der Buchstabe steht als Text im Punkt, haengender Einzug, ohne Listenzeichen. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body ol.pab-buchstaben { list-style: none; margin: 0 0 16px; padding-left: 0; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body ol.pab-buchstaben > li { margin-bottom: 8px; padding-left: 1.5em; text-indent: -1.5em; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body ol.pab-buchstaben > li > * { text-indent: 0; }
/* Musterformular als Block mit Haarlinie oben und unten. */
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body div.pab-musterformular { margin: 32px 0; padding: 20px 0; border-top: 1px solid var(--linie); border-bottom: 1px solid var(--linie); }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body div.pab-musterformular > :first-child { margin-top: 0; }
:is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body div.pab-musterformular > :last-child { margin-bottom: 0; }
/* Steckbriefe der Datenschutzerklaerung: Angabe halbfett, Wert ohne Einzug darunter, Haarlinie zwischen den Paaren. */
#container_main dl.pab-steckbrief { margin: 0 0 16px; padding: 0; }
#container_main dl.pab-steckbrief dt { margin: 0; padding: 10px 0 0; border-top: 1px solid var(--linie-hell); font-weight: 600; line-height: 1.5; color: var(--tinte); }
#container_main dl.pab-steckbrief dt:first-child, #container_main dl.pab-steckbrief > div:first-child dt { padding-top: 0; border-top: 0; }
#container_main dl.pab-steckbrief > div + div dt { padding-top: 10px; border-top: 1px solid var(--linie-hell); }
#container_main dl.pab-steckbrief dd { margin: 2px 0 0; padding: 0 0 10px; line-height: 1.65; }
#container_main dl.pab-steckbrief dd + dd { padding-top: 0; }
/* Verzeichnis in zwei Spalten ab 768 px; jeder Eintrag ist ein Ziel von 44 px Hoehe. */
:is(body.itemid-149.view-article, body.pab-rechtstext) #container_main nav.pab-inhalt.pab-inhalt--zweispaltig li { margin: 0; line-height: 1.4; break-inside: avoid; }
:is(body.itemid-149.view-article, body.pab-rechtstext) #container_main nav.pab-inhalt.pab-inhalt--zweispaltig li > a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; margin: 0; }
@media (min-width: 768px) {
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main nav.pab-inhalt.pab-inhalt--zweispaltig :is(ol, ul) { columns: 2; column-gap: 40px; }
}
/* Widerrufsseite (Kontaktformular) in der Rechtstext-Vorlage: Spalte 680 px mittig, H1 wie im Ratgeber (Regel oben), Erlaeuterung in Grundschrift, ihre Unterueberschriften in der H3-Skala ohne Einzug. */
body.pab-rechtstext .com-contact { max-width: 680px; margin-left: auto; margin-right: auto; }
body.pab-rechtstext .com-contact .page-header { margin: 0; padding: 0; border: 0; }
body.pab-rechtstext #container_main .com-contact__miscinfo :is(h2, h3) { margin: 32px 0 8px; padding: 0; font-family: var(--schrift); font-size: 1.125rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; color: var(--navy); }
body.pab-rechtstext .com-contact__miscinfo dl.dl-horizontal, body.pab-rechtstext .com-contact__miscinfo dl.dl-horizontal > dd { margin: 0; padding: 0; }
body.pab-rechtstext .com-contact__miscinfo .contact-misc p { margin: 0 0 16px; font-size: 1rem; line-height: 1.65; }
/* Glossar: Spalte von 800 px ueber die Seitenklasse pab-glossar; Sprungziele halten Abstand zum haftenden Kopf. */
body.pab-glossar.view-article .com-content-article__body { max-width: 800px; margin-left: auto; margin-right: auto; font-size: 1rem; line-height: 1.65; }
body.pab-glossar.view-article .com-content-article__body h2 { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); margin: 44px 0 4px; padding-bottom: 6px; border-bottom: 2px solid var(--linie-hell); }
body.pab-glossar.view-article .com-content-article__body h3 { font-size: 1.2rem; line-height: 1.3; margin: 24px 0 6px; }
body.pab-glossar.view-article .com-content-article__body h2,
body.pab-glossar.view-article .com-content-article__body h3 { scroll-margin-top: calc(var(--kopf) + 16px); }
body.pab-glossar.view-article .com-content-article__body p { margin: 0 0 14px; }
/* Am Sprungziel ein Strich in Teal links; Spruenge ohne weiches Rollen. */
body.pab-glossar.view-article .com-content-article__body :is(h2, h3):target { margin-left: -15px; padding-left: 12px; border-left: 3px solid var(--teal); }
html:has(body.pab-glossar) { scroll-behavior: auto; }
/* Buchstabenleiste als Navigation: Zellen von 40 x 44 px ohne Trennzeichen, am Handy in zwei Zeilen. */
#container_main nav.pab-buchstabenleiste { margin: 0 0 24px; }
#container_main nav.pab-buchstabenleiste, #container_main nav.pab-buchstabenleiste :is(ul, ol) { display: flex; flex-wrap: wrap; gap: 0; margin-left: 0; padding: 0; list-style: none; }
#container_main nav.pab-buchstabenleiste :is(ul, ol) { margin: 0; }
#container_main nav.pab-buchstabenleiste li { margin: 0; padding: 0; line-height: 1; }
#container_main nav.pab-buchstabenleiste a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 40px; height: 44px; font-size: 1.05rem; font-weight: 700; color: var(--blau); text-decoration: underline; text-underline-offset: 0.2em; }
#container_main nav.pab-buchstabenleiste a:hover { color: var(--navy); }
.pab-weg-seite, .pab-weg-seite *, .pab-weg-seite *::before, .pab-weg-seite *::after { box-sizing: border-box; }
.pab-weg-titel { font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.08; margin: 0 0 16px; padding: 0; }
.pab-weg-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pab-weg-riss { position: absolute; right: -60px; top: 40px; width: 720px; height: 257px; opacity: 0.08; pointer-events: none; fill: none; stroke: var(--kreide); stroke-width: 1; }
.pab-tafeln { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; position: relative; }
#container_main a.pab-tafel { display: flex; flex-direction: column; padding: 28px 24px 24px; border: 1px solid var(--teal); border-radius: var(--radius-karte); color: var(--kreide) !important; text-decoration: none !important; }
#container_main a.pab-tafel:hover { border-color: var(--kreide); }
.pab-tafel__kreis { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 20px; border: 1.5px solid var(--kreide); border-radius: 50%; color: var(--kreide); position: relative; }
.pab-tafel__kreis::before, .pab-tafel__kreis::after { content: ""; position: absolute; background: var(--blau); }
.pab-tafel__kreis::before { left: 50%; top: 0; bottom: 0; width: 1px; }
.pab-tafel__kreis::after { top: 50%; left: 0; right: 0; height: 1px; }
.pab-tafel__kreis svg { position: relative; z-index: 1; width: 32px; height: 32px; padding: 3px; background: var(--navy); }
.pab-tafel__label { margin-bottom: 12px; font-size: 0.875rem; }
.pab-tafel h3 { font-size: 1.125rem; line-height: 1.3; margin: 0 0 10px; }
.pab-tafel p { font-size: 0.95rem; font-weight: 400; line-height: 1.6; color: var(--navy-hell); margin: 0 0 18px; }
.pab-tafel__fuss { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--teal); }
.pab-tafel__meta { display: flex; font-weight: 400; align-items: center; gap: 8px; font-size: 0.875rem; color: var(--navy-hell); }
.pab-tafel__meta svg { width: 1.1em; height: 1.1em; }
.pab-tafel__mehr { font-size: 0.875rem; font-weight: 700; color: var(--kreide); }
/* Ratgeber-Uebersicht: alle Gruppen zweispaltig (Wunsch Ekki vom 26.10.2026; bis dahin drei Spalten, vier Karten zwei). */
.pab-eintraege { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
/* Der eine hervorgehobene Eintrag: "Woran geteilte Boote scheitern" als erste Karte (Wunsch Ekki vom 26.10.2026). */
#container_main a.pab-eintrag.pab-eintrag--hervor { padding: 22px 24px 24px; background: var(--papier); border-top: 3px solid var(--orange); }
#container_main a.pab-eintrag.pab-eintrag--hervor:hover { border-top-color: var(--navy); }
#container_main a.pab-eintrag { display: flex; flex-direction: column; padding: 22px 0 28px; border-top: 1px solid var(--linie); color: var(--tinte) !important; text-decoration: none !important; }
#container_main a.pab-eintrag:hover { border-top-color: var(--navy); }
#container_main a.pab-eintrag:hover h3 { color: var(--blau); }
.pab-eintrag__label { margin-bottom: 12px; font-size: 0.875rem; }
.pab-eintrag h3 { font-size: 1.125rem; line-height: 1.3; margin: 0 0 10px; }
.pab-eintrag p { font-size: 0.95rem; font-weight: 400; line-height: 1.6; color: var(--tinte-weich); margin: 0 0 18px; }
.pab-eintrag__meta { display: flex; font-weight: 400; align-items: center; gap: 8px; margin-top: auto; font-size: 0.875rem; color: var(--tinte-weich); }
.pab-eintrag__meta svg { width: 1.1em; height: 1.1em; }
/* Vier Karten in einer Gruppe: zwei Reihen zu zwei statt drei plus eins (14.10.2026, Entscheidung Ekki) */
@media (min-width: 960px) {
  .pab-eintraege:has(> .pab-eintrag:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
  .pab-tafeln, .pab-eintraege { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 641px) and (max-width: 767px) {
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table { display: block; overflow-x: auto; }
}
@media (max-width: 640px) {
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body .pab-bild-rechts { float: none; width: 100%; margin: 16px 0; }
  .pab-tafeln, .pab-eintraege { grid-template-columns: minmax(0, 1fr); }
  .pab-tafeln { gap: 16px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main h1, body.pab-glossar.view-article #container_main h1 { margin-top: 40px; }
  body.itemid-149.view-article nav.mod-breadcrumbs__wrapper { margin-top: 24px; }
  /* Schluss am Handy: Knopf ueber die volle Breite, die Textlinks untereinander. */
  body.itemid-149.view-article .com-content-article__body p.pab-schluss { row-gap: 0; }
  body.itemid-149.view-article .com-content-article__body p.pab-schluss > a { flex: 0 0 100%; }
  body.itemid-149.view-article .com-content-article__body p.pab-schluss > a.pab-btn--primaer { width: 100%; margin-bottom: 8px; }
  /* Tabellen gestapelt, ohne neues Markup: jede Zeile ein Raster, die erste Zelle als Zeilentitel ueber die volle Breite, die uebrigen Zellen nebeneinander in so vielen gleichen Spalten, wie die Zeile Werte traegt; die Kopfzeile als solche Zeile ueber den Bloecken. Zahlenspalten bleiben rechtsbuendig (eine Ausrichtung je Spalte). */
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body :is(table, thead, tbody, tfoot) { display: block; width: 100%; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table { margin: 16px 0 24px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--linie-hell); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr:has(> :nth-child(4):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr:has(> :nth-child(5):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr:has(> :nth-child(6):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body :is(th, td) { display: block; padding: 2px 0; border: 0; background: transparent; overflow-wrap: break-word; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr > :first-child { grid-column: 1 / -1; padding-bottom: 4px; font-weight: 700; color: var(--navy); }
  /* Kopfzeile auf Papier mit Linie in Navy; Grund und Linie reichen ueber Schatten 8 px ueber die Spalte hinaus, ohne die Rollbreite zu vergroessern. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body thead tr { padding: 8px 0; background: var(--papier); border-bottom: 0; box-shadow: -8px 0 0 var(--papier), 8px 0 0 var(--papier), 0 2px 0 var(--navy), -8px 2px 0 var(--navy), 8px 2px 0 var(--navy); margin-bottom: 2px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body thead tr > :first-child:empty { display: none; }
  /* Zwei oder drei Werte nebeneinander: 24 px Abstand, damit Betrag und Text nicht als ein Satz gelesen werden; ab vier Werten bleibt es bei 12 px. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr:has(> :nth-child(3):last-child),
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tr:has(> :nth-child(4):last-child) { column-gap: 24px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body tfoot tr:first-child { border-top: 2px solid var(--navy); }
  /* Je nach Tabellenart (13.10.2026). Mit Beschriftung je Zelle (data-label, ab vier Wertespalten): jede Zeile ein Block, der Zeilentitel ueber die volle Breite, darunter je Wert eine Zeile, links der Spaltenname als Nebentext, rechts der Wert; die Kopfzeile entfaellt sichtbar, bleibt aber fuer Vorlesehilfen im Text. Ein leerer Wert behaelt seine Zeile. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]) tr { display: block; padding: 12px 0; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]) tbody tr:first-child { padding-top: 4px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]) tr > :first-child { padding-bottom: 6px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]) tr > td:not(:first-child) { display: flow-root; padding: 4px 0; text-align: right; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]) tr > td:not(:first-child)::before { content: attr(data-label); float: left; max-width: 50%; margin: 0 16px 0 0; text-align: left; font-size: 0.875rem; font-weight: 400; line-height: calc(0.95rem * 1.65); color: var(--tinte-weich); }
  /* Zwei Spalten mit Betrag (Posten, Betrag) bleiben Tabelle wie am Schreibtisch; zwei Textspalten stehen wie die Texttabellen untereinander (unten). */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) { display: table; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) thead { display: table-header-group; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) tbody { display: table-row-group; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) tfoot { display: table-footer-group; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) tr { display: table-row; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) :is(th, td) { display: table-cell; padding: 8px 10px; border-bottom: 1px solid var(--linie-hell); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) th { background: var(--papier); border-bottom: 2px solid var(--navy); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) tbody td:first-child { font-weight: 400; color: inherit; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) tfoot tr:first-child > * { border-top: 2px solid var(--navy); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(tr > :nth-child(3))):not(:has(td[data-label])):has(.zahl) thead tr > :first-child:empty { display: table-cell; }
  /* Texttabellen ohne Zahlen, auch mit zwei Spalten: die Zellen einer Zeile untereinander in voller Breite, der Zeilentitel halbfett. Ausgenommen ist ein Vergleich mit leerer erster Kopfzelle (die Spalten sind Modelle): untereinander ohne Spaltennamen waere nicht mehr zu erkennen, welcher Wert zu welchem Modell gehoert; ohne Beschriftung je Zelle bleibt er nebeneinander, mit data-label steht er wie oben je Wert auf einer Zeile mit dem Spaltennamen davor. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(.zahl)):not(:has(td[data-label])):not(:has(thead tr > :first-child:empty)) tr { grid-template-columns: minmax(0, 1fr); }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(.zahl)):not(:has(td[data-label])):not(:has(thead tr > :first-child:empty)) tbody tr > :first-child { font-weight: 600; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:not(:has(.zahl)):not(:has(td[data-label])):not(:has(thead tr > :first-child:empty)) tr > :nth-child(n+3) { padding-top: 6px; }
  /* Tabellenbeschriftung im Stapel ueber die volle Breite. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body caption { display: block; width: 100%; grid-column: 1 / -1; }
  /* Rechtstexte: lange Saetze in den Zellen (Geraetetabelle der Datenschutzerklaerung), deshalb der Spaltenname ueber dem Wert und der Wert linksbuendig ueber die volle Breite. */
  html body.pab-rechtstext #container_main .com-content-article__body table.pab-tabelle--stapel:has(td[data-label]) tr > td:not(:first-child) { text-align: left; }
  html body.pab-rechtstext #container_main .com-content-article__body table.pab-tabelle--stapel:has(td[data-label]) tr > td:not(:first-child)::before { float: none; display: block; max-width: none; margin: 0 0 2px; }
  /* Vergleiche mit Beschriftung je Zelle und ohne Zahlen (lange Textwerte): der Spaltenname ueber dem Wert, der Wert linksbuendig. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]):not(:has(.zahl)) tr > td:not(:first-child) { text-align: left; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body table:has(td[data-label]):not(:has(.zahl)) tr > td:not(:first-child)::before { float: none; display: block; max-width: none; margin: 0 0 2px; }
}

/* Tabellenbeschriftung im Ratgeber: Nebentext links ueber der Tabelle. */
:is(body.itemid-149.view-article, body.pab-rechtstext) #container_main .com-content-article__body caption { caption-side: top; text-align: left; padding: 0 0 8px; font-size: 0.875rem; line-height: 1.5; color: var(--tinte-weich); }

/* FAQ (13.10.2026): mittige Spalte von 860 px wie die Prozessseite, Koepfe und Liste an einer Kante; Sprungziele frei unter dem Kopf. */
body.itemid-229 #container_main :is(.pab-sektion, .pab-section) > .pab-innen { max-width: calc(860px + 2 * var(--rinne)); }
body.itemid-229 #container_main :is(.pab-sektion, .pab-section) > .pab-inner { max-width: 860px; }
body.itemid-229 #container_main .pab-sektion__kopf { max-width: none; }

/* FAQ (Menuepunkt 229) in der neuen Familie: Kopf und Verzeichnis in der Gestalt der Ratgeber, Sprungziele je Block und je Frage frei unter dem haftenden Kopf, Linienkarten mit Textlink, Schluss als Knopfzeile. Die mittige Spalte von 860 px, der Winkel der Aufklapper und die Linienkarte selbst kommen aus den allgemeinen Regeln. */
body.itemid-229 #container_main .pab-faq-kopf h1 { font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.6rem); line-height: 1.1; margin: 0 0 16px; padding: 0; text-wrap: balance; }
body.itemid-229 .pab-faq-kopf .pab-sektion__kopf { margin-bottom: 24px; }
body.itemid-229 .pab-faq-kopf .pab-sektion__kopf > p { margin: 0; }
body.itemid-229 #container_main nav.pab-inhalt { margin: 0; padding: 0; border: 0; background: none; }
body.itemid-229 #container_main nav.pab-inhalt > p:first-child { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; line-height: 1.4; color: var(--navy); }
body.itemid-229 #container_main nav.pab-inhalt > p:first-child::before { content: ""; flex: 0 0 24px; height: 1.5px; background: var(--teal); }
body.itemid-229 #container_main nav.pab-inhalt > p:first-child strong { font-weight: inherit; }
body.itemid-229 #container_main nav.pab-inhalt ol { margin: 0; padding-left: 2.2em; }
body.itemid-229 #container_main nav.pab-inhalt li { margin: 0 0 6px; line-height: 1.65; }
body.itemid-229 #container_main nav.pab-inhalt li > a { display: inline-block; padding: 3px 0; margin: -3px 0; }
/* Antworten in der Grundschrift und in Tinte, Absaetze 12 px auseinander wie auf der Prozessseite. */
body.itemid-229 .pab-ablauf-faq__antwort { font-size: 1rem; color: var(--tinte); }
body.itemid-229 .pab-ablauf-faq__antwort > p:last-child { margin-bottom: 0; }
/* Sprungziele: ein Block landet wie auf der Prozessseite, eine Frage mit ihrer Zusammenfassung (bis vier Zeilen am Handy) frei unter dem Kopf; das leere span nach dem summary oeffnet den Aufklapper. */
body.itemid-229 .pab-sektion[id] { scroll-margin-top: calc(var(--kopf) + 8px); }
body.itemid-229 .pab-sprungziel[id] { scroll-margin-top: calc(var(--kopf) + 1px + 96px + 16px); }
/* Linienkarten: der Textlink haelt Abstand zum Kartentext. */
body.itemid-229 .pab-spalten3 p.pab-sektion__mehr { margin: 8px 0 0; }
/* Schluss: Bootsschnack als oranger Knopf, die zwei Textlinks dahinter. */
body.itemid-229 .pab-faq-schluss .pab-sektion__kopf { margin-bottom: 0; }
body.itemid-229 .pab-faq-schluss .pab-ablauf-knoepfe { margin-top: 28px; align-items: center; gap: 8px 24px; }
@media (max-width: 767px) {
  /* Textlinks behalten ihre Breite und stehen an der Textkante (die allgemeine Knopfregel macht sie bis 767 px 320 px breit und mittig). */
  body.itemid-229 #container_main :is(.pab-faq-schluss .pab-ablauf-knoepfe, .pab-spalten3 p.pab-sektion__mehr) > a.pab-btn--leicht { width: auto; max-width: none; justify-content: flex-start; }
}
@media (max-width: 640px) {
  /* Am Handy: Knopf ueber die volle Breite, die Textlinks untereinander an der Textkante, wie der Schluss der Ratgeber. */
  body.itemid-229 .pab-faq-schluss .pab-ablauf-knoepfe { gap: 0; }
  body.itemid-229 #container_main .pab-faq-schluss .pab-ablauf-knoepfe > a.pab-btn--primaer { flex: 0 0 100%; width: 100%; max-width: none; margin-bottom: 8px; }
  body.itemid-229 #container_main .pab-faq-schluss .pab-ablauf-knoepfe > a.pab-btn--leicht { flex: 0 0 100%; margin-left: -6px; }
}

/* ---- Prozessseite und Einstiege ---- */
.pab-ablauf, .pab-ablauf *, .pab-ablauf *::before, .pab-ablauf *::after { box-sizing: border-box; }
.pab-ablauf { color: var(--tinte); }
.pab-ablauf p, .pab-ablauf li { font-size: 0.95rem; line-height: 1.6; }
.pab-ablauf-titel { font-size: clamp(2.2rem, 5vw, 3.5rem); line-height: 1.08; margin: 0 0 18px; padding: 0; }
.pab-ablauf-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.pab-ablauf-nr { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: var(--navy); color: var(--kreide); font-family: var(--serife); font-size: 1.35rem; line-height: 1; }
.pab-ablauf-kasten { margin: 48px 0 0; max-width: 860px; padding: 20px 24px; background: transparent; border: 0; border-left: 3px solid var(--teal); border-radius: 0; }
.pab-sektion--papier .pab-ablauf-kasten { background: var(--kreide); }
.pab-ablauf-kasten p { margin: 0 0 12px; }
.pab-ablauf-kasten p:last-child { margin-bottom: 0; }
.pab-ablauf-kasten strong { color: var(--navy); }
.pab-ablauf-block__inhalt .pab-ablauf-kasten { margin: 32px 0 0; max-width: none; }
.pab-ablauf-hinweis { margin: 32px 0 0; padding: 20px 0 0; background: transparent; border: 0; border-top: 1px solid var(--linie); border-radius: 0; }
.pab-ablauf-hinweis p { margin: 0 0 12px; }
.pab-ablauf-hinweis p:first-child { font-size: 1rem; color: var(--navy); }
.pab-ablauf-hinweis p:last-child { margin-bottom: 0; }
.pab-ablauf-hinweis strong { color: var(--navy); }
.pab-ablauf-block { display: flex; gap: 56px; align-items: flex-start; padding: 56px 0; border-top: 1px solid var(--linie); scroll-margin-top: calc(var(--kopf) + 8px); }
.pab-ablauf-block__kopf { flex: 0 0 230px; display: flex; flex-direction: column; gap: 16px; position: sticky; top: calc(var(--kopf) + 24px); }
.pab-ablauf-block__kopf h3 { margin: 0; padding: 0; font-size: 1.5rem; line-height: 1.2; }
.pab-ablauf-block__inhalt { flex: 1 1 0; min-width: 0; }
.pab-ablauf-block__inhalt > p { margin: 28px 0 0; font-size: 1rem; }
.pab-ablauf-zwei { margin: 36px 0 0; padding: 20px 0 0; background: transparent; border: 0; border-top: 1px solid var(--linie); border-radius: 0; }
.pab-ablauf-zwei p { margin: 0 0 14px; font-size: 1rem; line-height: 1.7; }
.pab-ablauf-zwei .pab-ablauf-zwei__titel { margin-bottom: 12px; font-size: 1rem; color: var(--navy); }
.pab-ablauf-zwei strong { color: var(--navy); }
.pab-ablauf-einstieg { margin: 0 0 28px; font-size: 1.05rem; }
.pab-ablauf-block__inhalt > p.pab-ablauf-einstieg { margin: 0 0 28px; font-size: 1.05rem; }
.pab-ablauf-zeilen { margin: 0; }
.pab-ablauf-zeile { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 24px; padding: 20px 0; border-top: 1px solid var(--linie-hell); }
.pab-ablauf-zeile:first-child { border-top: 0; padding-top: 0; }
.pab-ablauf-zeile strong { grid-column: 1; grid-row: 1; color: var(--navy); font-size: 0.92rem; line-height: 1.5; }
.pab-ablauf-zeile p { grid-column: 2; margin: 0 0 10px; }
.pab-ablauf-zeile p:last-child { margin-bottom: 0; }
.pab-ablauf-zeile a, .pab-ablauf-faq__antwort a { font-weight: 600; }
.pab-ablauf-gabel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 0; }
.pab-ablauf-weg { display: flex; flex-direction: column; padding: 20px 0 0; background: transparent; border: 0; border-top: 2px solid var(--navy); border-radius: 0; }
.pab-ablauf-weg--stapellauf { border-top-color: var(--teal); }
.pab-ablauf-weg__label { margin-bottom: 12px; }
.pab-ablauf-weg h4 { margin: 0 0 10px; padding: 0; font-size: 1.125rem; line-height: 1.3; color: var(--navy); }
.pab-ablauf-weg p { margin: 0 0 16px; }
.pab-ablauf-weg__detail { margin-top: 0; padding-top: 16px; border-top: 1px solid var(--linie-hell); font-size: 0.92rem; line-height: 1.6; }
.pab-ablauf-weg__detail strong { color: var(--navy); }
.pab-ablauf-zeit { list-style: none; margin: 0; padding: 0; max-width: 860px; }
.pab-ablauf-zeit__schritt { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 0 28px; padding: 0 0 44px; margin: 0; }
.pab-ablauf-zeit__schritt:last-child { padding-bottom: 0; }
.pab-ablauf-zeit__schritt::before { content: ""; position: absolute; left: 27px; top: 62px; bottom: 6px; width: 1px; background: var(--linie); }
.pab-ablauf-zeit__schritt:last-child::before { display: none; }
.pab-ablauf-zeit__marke { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1.5px solid var(--navy); border-radius: 50%; background: var(--kreide); color: var(--navy); }
.pab-ablauf-zeit__marke svg.pab-icon { width: 26px; height: 26px; }
.pab-ablauf-zeit__marke--ende { background: var(--navy); color: var(--kreide); }
.pab-ablauf-zeit__koerper { min-width: 0; }
.pab-ablauf-zeit__titel { margin: 0 0 8px; padding: 0; font-size: 1.125rem; line-height: 1.3; }
.pab-ablauf-zeit__lead { margin: 0 0 12px; }
.pab-ablauf-zeit__punkte, .pab-ablauf-pfad ul { list-style: none; margin: 0; padding: 0; }
.pab-ablauf-zeit__punkte li, .pab-ablauf-pfad li { position: relative; margin: 0; padding: 7px 0 7px 22px; border-top: 1px solid var(--linie-hell); }
.pab-ablauf-zeit__punkte li::before, .pab-ablauf-pfad li::before { content: ""; position: absolute; left: 0; top: 1.15em; width: 12px; height: 1.5px; background: var(--teal); }
.pab-ablauf-zeit__punkte li:first-child, .pab-ablauf-pfad li:first-child { border-top: 0; }
.pab-ablauf-fall { max-width: 860px; margin: 72px 0 0; }
.pab-ablauf-fall__titel { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 0; font-size: 1.3rem; line-height: 1.3; }
.pab-ablauf-fall__titel svg.pab-icon { width: 28px; height: 28px; }
.pab-ablauf-fall__eintrag, .pab-ablauf-faq__eintrag, .pab-faq-item { border-top: 1px solid var(--linie); }
.pab-ablauf-fall__eintrag:last-child, .pab-ablauf-faq__eintrag:last-child, .pab-faq-item:last-child { border-bottom: 1px solid var(--linie); }
.pab-ablauf-fall__eintrag summary, .pab-ablauf-faq__eintrag summary, .pab-faq-item summary { position: relative; display: block; list-style: none; cursor: pointer; padding: 20px 44px 20px 0; font-size: 1rem; font-weight: 700; line-height: 1.4; color: var(--navy); }
.pab-ablauf-fall__eintrag summary::-webkit-details-marker,
.pab-ablauf-faq__eintrag summary::-webkit-details-marker,
.pab-faq-item summary::-webkit-details-marker { display: none; }
.pab-ablauf-fall__eintrag summary::after, .pab-ablauf-faq__eintrag summary::after, .pab-faq-item summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 1.5px solid var(--navy); border-bottom: 1.5px solid var(--navy); transform: rotate(45deg); }
.pab-ablauf-fall__eintrag[open] summary::after, .pab-ablauf-faq__eintrag[open] summary::after, .pab-faq-item[open] summary::after { margin-top: -2px; transform: rotate(-135deg); }
.pab-ablauf-fall__text, .pab-ablauf-faq__antwort, .pab-faq-item .pab-faq-answer { padding: 0 0 24px; }
.pab-ablauf-fall__text p, .pab-ablauf-faq__antwort p, .pab-faq-item .pab-faq-answer p { margin: 0 0 12px; }
/* Antworten der FAQ in Grundschrift und Tinte, 12 px zwischen Absaetzen wie auf der Prozessseite (13.10.2026). */
.pab-faq-item .pab-faq-answer, body.itemid-229 .pab-ablauf-faq__antwort { font-size: 1rem; line-height: 1.65; color: var(--tinte); }
.pab-ablauf-pfad { margin: 18px 0; padding: 12px 0 0; border-top: 1px solid var(--linie); }
.pab-ablauf-pfad__titel { display: block; margin-bottom: 4px; font-size: 1rem; line-height: 1.4; color: var(--navy); }
.pab-ablauf-pfad li { border-top: 0; }
.pab-ablauf-kern { margin: 20px 0 0; padding: 14px 18px; background: transparent; border-left: 3px solid var(--teal); border-radius: 0; }
.pab-sektion--papier .pab-ablauf-kern { background: var(--kreide); }
.pab-ablauf-kern strong { color: var(--navy); }
.pab-ablauf-note { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--linie-hell); font-size: 0.875rem; line-height: 1.55; color: var(--tinte-weich); }
.pab-ablauf-faq { max-width: 860px; margin: 0; }
.pab-ablauf-sicher { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; }
.pab-ablauf-sicher__punkt { padding: 32px 40px 36px 0; }
.pab-ablauf-sicher__punkt svg.pab-icon { display: block; width: 56px; height: 56px; padding: 15px; margin: 0 0 18px; border: 1.5px solid currentColor; border-radius: 50%; color: var(--navy); }
.pab-ablauf-sicher__punkt strong { display: block; margin-bottom: 8px; font-size: 1.125rem; line-height: 1.3; color: var(--navy); }
.pab-ablauf-sicher__punkt p { margin: 0; }
.pab-ablauf-gruender { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; max-width: 1000px; margin: 0; }
.pab-ablauf-gruender__text p { margin: 0 0 16px; font-size: 1.05rem; line-height: 1.65; }
.pab-ablauf-sig { font-size: 1rem; color: var(--tinte-weich); }
.pab-ablauf-sig strong { color: var(--navy); }
.pab-ablauf-gruender__bild { margin: 0; }
.pab-ablauf-portrait { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-karte); background: var(--navy-hell); }
.pab-ablauf .pab-ablauf-abschluss .pab-ablauf-knoepfe { margin-top: 28px; }
details.pab-ablauf-block { display: block; padding: 0; gap: 0; border-top: 1px solid var(--linie); }
#container_main details.pab-ablauf-block, #container_main details.pab-ablauf-block ~ .pab-ablauf-hinweis { max-width: 860px; margin-left: 0; margin-right: 0; }
details.pab-ablauf-block:last-of-type { border-bottom: 1px solid var(--linie); }
summary.pab-ablauf-block__kopf { position: relative; top: auto; flex: none; display: flex; flex-direction: row; align-items: center; gap: 20px; min-height: 44px; padding: 24px 52px 24px 0; list-style: none; cursor: pointer; }
summary.pab-ablauf-block__kopf::-webkit-details-marker { display: none; }
summary.pab-ablauf-block__kopf::after { content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; margin-top: -8px; border-right: 1.5px solid var(--navy); border-bottom: 1.5px solid var(--navy); transform: rotate(45deg); }
details.pab-ablauf-block[open] > summary.pab-ablauf-block__kopf::after { margin-top: -2px; transform: rotate(-135deg); }
details.pab-ablauf-block > .pab-ablauf-block__inhalt { padding: 4px 0 48px 68px; }
#bindung .pab-ablauf-kasten { margin-top: 0; }
.pab-sich-hero { overflow: hidden; }
.pab-sich-riss { position: absolute; right: -40px; top: -30px; width: 260px; height: 260px; fill: none; stroke: var(--kreide); stroke-width: 1; opacity: 0.25; pointer-events: none; }
#container_main .pab-sektion--navy.pab-sich-hero h1 { color: var(--kreide); }
.pab-einstieg [id] { scroll-margin-top: calc(var(--kopf) + 16px); }
.pab-einstieg__titel, #container_main .pab-einstieg__titel { font-size: clamp(2.1rem, 1.4rem + 2.6vw, 3.2rem); line-height: 1.08; margin: 0 0 16px; padding: 0; }
#container_main .pab-sektion--navy .pab-einstieg__titel { color: var(--kreide); }
.pab-sektion--navy p.pab-einstieg__knoepfe + p.pab-einstieg__zeile { font-size: 0.95rem; color: rgba(255,255,255,0.82); margin-top: 10px; margin-bottom: 0; }
#container_main .pab-sektion--navy p.pab-einstieg__knoepfe + p.pab-einstieg__zeile { margin: 16px 0 0; }
.pab-einstieg__knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
#container_main .pab-sektion p.pab-einstieg__knoepfe { max-width: none; }
.pab-einstieg__mitte { text-align: left; justify-content: flex-start; }
.pab-einstieg__weg { margin-top: 48px; padding-top: 36px; border-top: 1px solid rgba(255,255,255,0.18); }
.pab-einstieg__weg > h2 { margin: 0 0 8px; }
.pab-einstieg__weg > p { margin: 0; color: rgba(255,255,255,0.82); }
.pab-stepper__geld { margin: 0 8px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.22); font-size: 0.875rem; line-height: 1.45; text-align: center; }
.pab-stepper__geld span, .pab-stepper__geld strong { display: block; }
.pab-sektion--navy .pab-stepper__geld strong { color: var(--kreide); font-weight: 700; }
.pab-stepper__geld-label { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--teal-hell); }
.pab-einstieg__legende { padding-top: 32px; }
.pab-einstieg__stimmen-zeile { margin: 40px 0 0; color: var(--tinte-weich); font-size: 0.95rem; }
.pab-spalten3--vier { grid-template-columns: repeat(4, 1fr); gap: 32px; }
.pab-spalten3--zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pab-route::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 44px; border-top: 2px dashed rgba(255,255,255,0.45); transform-origin: left center; }
.pab-route__station { position: relative; margin: 0; display: flex; flex-direction: column; min-width: 0; }
.pab-route__link { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 0 8px 12px; border-radius: var(--radius-karte); color: var(--kreide) !important; text-decoration: none !important; }
.pab-route__link:hover { background: rgba(255,255,255,0.07); }
.pab-route__link:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.pab-route__kreis { display: block; width: 88px; height: 88px; flex: 0 0 auto; position: relative; z-index: 1; border-radius: 50%; background: var(--navy); }
.pab-route__grund { fill: rgba(255,255,255,0.1); }
.pab-route__q--voll { fill: var(--teal); }
.pab-route__q--eigen { fill: var(--kreide); }
.pab-route__q--frei { fill: var(--orange); }
.pab-route__q--wunsch { fill: rgba(61,189,181,0.3); stroke: var(--teal); stroke-width: 3; stroke-dasharray: 4 3; }
.pab-route__ring { fill: none; stroke: var(--kreide); stroke-width: 1.5; }
.pab-route__ring--fest { stroke: var(--teal); stroke-width: 3.5; }
.pab-route__kreuz { fill: none; stroke: var(--navy); stroke-width: 2; }
.pab-route__marke { fill: var(--kreide); stroke: var(--navy); stroke-width: 2; }
.pab-route__symbol { fill: none; stroke: var(--navy); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pab-route__text { display: block; font-weight: 400; }
.pab-route__nr { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; margin: 0 0 6px; padding: 0 5px; box-sizing: border-box; border: 1.5px solid var(--teal); border-radius: var(--radius); font-size: 0.8125rem; font-weight: 600; line-height: 1; color: var(--kreide); }
.pab-route__titel { display: block; font-size: 1rem; font-weight: 700; line-height: 1.3; color: var(--kreide); margin-bottom: 4px; }
.pab-route__satz { display: block; font-size: 0.95rem; font-weight: 400; line-height: 1.5; color: rgba(255,255,255,0.85); }
.pab-route__legende { color: rgba(255,255,255,0.78) !important; margin: 20px 0 0 !important; font-size: 0.8125rem !important; line-height: 1.45 !important; }
/* Zweite Legendenzeile: der Erklaersatz zum Optionsentgelt unter der Grafik, klein wie die Legende (Wunsch Ekki vom 26.10.2026). */
.pab-route__legende + .pab-route__legende { margin-top: 6px !important; }
/* Links in der Legende stehen auf Navy: Kreide und unterstrichen wie die uebrigen Links auf dunklem Grund. */
#container_main p.pab-route__legende a, #container_main p.pab-route__legende a:hover { color: var(--kreide); text-decoration: underline; text-underline-offset: 0.15em; }
.pab-route .pab-stepper__geld .pab-icon { width: 1.1em; height: 1.1em; vertical-align: -0.2em; margin-right: 3px; color: var(--teal-hell); }
.pab-route--prozess::before { left: 7%; right: 7%; top: 38px; }
.pab-route--prozess .pab-route__kreis { width: 76px; height: 76px; }
.pab-route--prozess .pab-route__titel { font-size: 0.95rem; }
.pab-route--prozess .pab-route__satz { font-size: 0.875rem; }
.pab-route__station--weiche { grid-column: 3 / 6; grid-row: 2; }
.pab-route__station--weiche .pab-route__link { flex-direction: row; text-align: left; gap: 14px; padding: 10px 16px; border: 1.5px dashed rgba(255,255,255,0.5); }
.pab-route--prozess .pab-route__station--weiche .pab-route__kreis { width: 60px; height: 60px; }
/* Abzweig und Rueckweg der Weiche als gestrichelte Senkrechte durch die Zeilenluecke. */
.pab-route__station--weiche::before, .pab-route__station--weiche::after { content: ""; position: absolute; top: -28px; width: 0; height: 28px; border-left: 2px dashed rgba(255,255,255,0.5); }
.pab-route__station--weiche::before { left: calc((100% - 24px) / 6 - 1px); }
.pab-route__station--weiche::after { right: calc((100% - 24px) / 6 - 1px); }
.pab-bildband { margin: 0 0 32px; }
.pab-bildband img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 1; object-fit: cover; border-radius: var(--radius-karte); background: var(--navy-hell); }
.pab-ablauf-abschluss .pab-bildband { margin-bottom: 40px; }
.pab-spalten3 + .pab-bildband { margin-top: 36px; }
.pab-bildband--unten img { object-position: 50% 80%; }
.pab-gabel--eng { margin-top: 0; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.pab-ablauf [id] { scroll-margin-top: calc(var(--kopf) + 16px); }
/* Sprungziele in Aufklappern: ein leeres span nach dem summary, damit Chrome den Block beim Sprung oeffnet; scroll-margin haelt die Zusammenfassung unter dem haftenden Kopf frei. */
.pab-sprungziel { display: block; height: 0; margin: 0; padding: 0; overflow: hidden; }
.pab-ablauf .pab-sprungziel[id] { scroll-margin-top: calc(var(--kopf) + 1px + 96px + 16px); }
.pab-ablauf-inhalt { max-width: 900px; margin: 28px 0 0; }
.pab-ablauf-inhalt ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.pab-ablauf-inhalt a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--linie); border-radius: var(--radius); background: var(--kreide); color: var(--navy) !important; font-size: 0.92rem; font-weight: 600; text-decoration: none !important; }
.pab-ablauf-inhalt a:hover { border-color: var(--navy); }
.pab-ablauf-block--ohne-nr > .pab-ablauf-block__inhalt { padding-left: 0; }
.pab-ablauf-block--ohne-nr summary.pab-ablauf-block__kopf h3 { font-size: 1.25rem; }
#kosten .pab-ablauf-zeile strong, #eigner .pab-ablauf-zeile strong, #schutz .pab-ablauf-zeile strong { overflow-wrap: anywhere; hyphens: auto; }
/* Zeitstrahl mit Haltepunkten: Spur als Haarlinie auf Hoehe der Punktmitte; bis 767 px untereinander mit senkrechter Spur. */
.pab-zeitstrahl { max-width: 860px; margin: 0; }
.pab-zeitstrahl + .pab-zeitstrahl { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--linie-hell); }
/* Die zwei Sichten als H3 in der Skala (1.125rem), Symbol davor; der Spurtitel folgt direkt. */
#container_main .pab-zeitstrahl .pab-zeitstrahl__sicht { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; font-family: var(--schrift); font-size: 1.125rem; font-weight: 700; line-height: 1.3; color: var(--navy); }
#container_main .pab-zeitstrahl .pab-zeitstrahl__sicht + p.pab-zeitstrahl__spurtitel { margin-top: 0; }
p.pab-zeitstrahl__spurtitel { margin: 28px 0 12px; font-size: 0.95rem; font-weight: 700; line-height: 1.4; color: var(--tinte); }
ol.pab-zeitstrahl__spur { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; }
ol.pab-zeitstrahl__spur--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pab-zeitstrahl__halt { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 16px 16px 0; }
.pab-zeitstrahl__halt::before { content: ""; position: absolute; left: 0; right: 0; top: 32px; border-top: 1px solid var(--linie); }
.pab-zeitstrahl__halt:first-child::before { left: 32px; }
.pab-zeitstrahl__halt:last-child::before { right: calc(100% - 32px); }
.pab-zeitstrahl__punkt { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 32px; height: 32px; box-sizing: border-box; border: 1.5px solid var(--linie); border-radius: 50%; background: var(--kreide); color: var(--tinte-weich); }
.pab-zeitstrahl__punkt .pab-icon { width: 16px; height: 16px; }
/* Ziffer des Routenschritts vor dem Haltnamen, in der Gestalt der Ziffer in der Route; der Ring in Teal steht nur am Kipppunkt. */
.pab-zeitstrahl__nr { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; margin-right: 2px; padding: 0 4px; box-sizing: border-box; border: 1.5px solid var(--teal); border-radius: var(--radius); font-size: 0.78rem; font-weight: 600; line-height: 1; color: var(--navy); vertical-align: 1px; }
p.pab-zeitstrahl__name { margin: 4px 0 0; font-size: 0.95rem; font-weight: 700; line-height: 1.3; color: var(--navy); }
p.pab-zeitstrahl__text { margin: 0 0 12px; font-size: 0.875rem; line-height: 1.55; color: var(--tinte-weich); }
.pab-zeitstrahl__zone { display: block; margin: auto -16px 0; padding: 8px 16px 12px; border-top: 1px solid var(--linie); font-size: 0.78rem; line-height: 1.4; color: var(--tinte-weich); }
.pab-zeitstrahl__zone--gebunden { padding-top: 6px; border-top: 3px solid var(--teal); font-weight: 600; color: var(--navy); }
.pab-zeitstrahl__halt--kipp { background: var(--navy); color: var(--kreide); }
.pab-zeitstrahl__halt--kipp::before { border-top-color: var(--blau); }
.pab-zeitstrahl__halt--kipp .pab-zeitstrahl__punkt { border: 3px solid var(--teal); background: var(--navy); color: var(--kreide); }
.pab-zeitstrahl__halt--kipp p.pab-zeitstrahl__name,
.pab-zeitstrahl__halt--kipp p.pab-zeitstrahl__text,
.pab-zeitstrahl__halt--kipp .pab-zeitstrahl__zone,
.pab-zeitstrahl__halt--kipp .pab-zeitstrahl__nr { color: var(--kreide); }
#container_main .pab-zeitstrahl__halt--kipp a { color: var(--kreide); text-decoration: underline; text-underline-offset: 0.15em; }
#container_main .pab-zeitstrahl__halt--kipp a:hover { color: var(--navy-hell); }
.pab-zeitstrahl__fahne { position: absolute; top: 21px; right: 12px; z-index: 1; padding: 2px 8px; border-radius: var(--radius); background: var(--teal); color: var(--tinte); font-size: 0.78rem; font-weight: 700; line-height: 1.4; letter-spacing: 0.02em; }
#container_main .pab-zeitstrahl p.pab-zeitstrahl__notiz { margin: 16px 0 0; font-size: 0.875rem; line-height: 1.55; color: var(--tinte-weich); }
#container_main .pab-sektion p.pab-zeitstrahl__vorbehalt { display: flex; align-items: flex-start; gap: 8px; margin: 40px 0 0; padding: 12px 0 0; border-top: 1px solid var(--linie); font-size: 0.875rem; line-height: 1.55; color: var(--tinte-weich); }
.pab-zeitstrahl__vorbehalt .pab-icon { flex: 0 0 auto; margin-top: 2px; color: var(--tinte-weich); }
@media (min-width: 768px) {
  .pab-ablauf-block__inhalt .pab-ablauf-hinweis,
  .pab-ablauf-block__inhalt .pab-ablauf-zwei,
  details.pab-ablauf-block ~ .pab-ablauf-hinweis { display: grid; grid-template-columns: 170px minmax(0, 1fr); column-gap: 24px; }
  #schutz details.pab-ablauf-block ~ .pab-ablauf-hinweis { grid-template-columns: 240px minmax(0, 1fr); }
  details.pab-ablauf-block ~ .pab-ablauf-hinweis { padding-left: 68px; }
  .pab-ablauf-block__inhalt .pab-ablauf-hinweis > p:first-child,
  .pab-ablauf-block__inhalt .pab-ablauf-zwei > p.pab-ablauf-zwei__titel,
  details.pab-ablauf-block ~ .pab-ablauf-hinweis > p:first-child { grid-column: 1; grid-row: 1; font-size: 0.92rem; line-height: 1.5; }
  .pab-ablauf-block__inhalt .pab-ablauf-hinweis > p:not(:first-child),
  .pab-ablauf-block__inhalt .pab-ablauf-zwei > p:not(.pab-ablauf-zwei__titel),
  details.pab-ablauf-block ~ .pab-ablauf-hinweis > p:not(:first-child) { grid-column: 2; }
  .pab-route--geld { grid-template-rows: auto auto; row-gap: 0; }
}
/* Erklaergrafik: je Station ein Anteils-Kreis, Symbol und Text, verlinkt auf ihren Abschnitt; Bewegung nur als CSS. */
.pab-route { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 20px; position: relative; }
.pab-route--prozess { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 28px 12px; }
@media (min-width: 768px) {
  /* Ab 768 px liegen Station und Kostenzeile in gemeinsamen Rasterzeilen (subgrid), alle Kostenzeilen stehen auf einer Linie. */
  .pab-route--geld > .pab-route__station { display: grid; grid-row: span 2; grid-template-rows: subgrid; }
}
@media (min-width: 960px) {
  .pab-ablauf #stapellauf-detail, .pab-ablauf #boarding-detail { scroll-margin-top: calc(var(--kopf) + 1px + 71px + 16px); }
}
@media (min-width: 768px) {
  #kosten .pab-ablauf-zeile, #eigner .pab-ablauf-zeile, #schutz .pab-ablauf-zeile { grid-template-columns: 240px minmax(0, 1fr); }
}
@media (prefers-reduced-motion: no-preference) {
  .pab-route__station { animation: pab-route-ein 0.6s ease-out both; }
  .pab-route__station:nth-child(2) { animation-delay: 0.3s; }
  .pab-route__station:nth-child(3) { animation-delay: 0.6s; }
  .pab-route__station:nth-child(4) { animation-delay: 0.9s; }
  .pab-route__station:nth-child(5) { animation-delay: 1.2s; }
  .pab-route__station:nth-child(6) { animation-delay: 1.5s; }
  .pab-route__station:nth-child(7) { animation-delay: 1.8s; }
  .pab-route__station:nth-child(8) { animation-delay: 2.1s; }
  .pab-route::before { animation: pab-route-linie 2.2s ease-out both; }
}
@media (max-width: 1023px) {
  .pab-spalten3--vier { grid-template-columns: 1fr 1fr; gap: 24px; }
  .pab-spalten3--zwei { grid-template-columns: minmax(0, 1fr); }
  .pab-route--prozess { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .pab-route--prozess::before { left: 37px; right: auto; top: 30px; bottom: 30px; border-top: 0; border-left: 2px dashed rgba(255,255,255,0.45); animation: none; }
  .pab-route--prozess .pab-route__link { flex-direction: row; align-items: center; text-align: left; gap: 16px; padding: 4px 8px 4px 0; }
  .pab-route__station--weiche { grid-column: auto; grid-row: auto; margin-left: 88px; }
  .pab-route__station--weiche::before { left: -51px; right: auto; top: -14px; width: 49px; height: calc(50% + 14px); border-bottom: 2px dashed rgba(255,255,255,0.5); border-bottom-left-radius: 14px; }
  .pab-route__station--weiche::after { display: none; }
  .pab-route--prozess .pab-route__station--weiche .pab-route__link { padding: 10px 14px; }
}
@media (max-width: 959px) {
  .pab-ablauf-block { flex-direction: column; gap: 24px; padding: 40px 0; }
  .pab-ablauf-block__kopf { position: static; flex: 0 0 auto; flex-direction: row; align-items: center; }
  .pab-ablauf-block__inhalt { width: 100%; }
  .pab-ablauf-gruender { gap: 36px; }
  .pab-ablauf .pab-sprungziel[id] { scroll-margin-top: calc(var(--kopf) + 9px + 96px + 16px); }
}
@media (max-width: 767px) {
  .pab-ablauf-zeile { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .pab-ablauf-zeile strong, .pab-ablauf-zeile p { grid-column: 1; grid-row: auto; }
  .pab-ablauf-gabel { grid-template-columns: minmax(0, 1fr); }
  .pab-ablauf-sicher { grid-template-columns: minmax(0, 1fr); }
  .pab-ablauf-sicher__punkt { padding: 24px 0 28px; }
  .pab-ablauf-gruender { grid-template-columns: minmax(0, 1fr); }
  .pab-ablauf-gruender__bild { max-width: 360px; }
  .pab-ablauf-fall { margin-top: 56px; }
  details.pab-ablauf-block > .pab-ablauf-block__inhalt { padding: 0 0 36px 0; }
  summary.pab-ablauf-block__kopf { gap: 14px; }
  .pab-sich-riss { width: 150px; height: 150px; right: -30px; top: -20px; }
  .pab-route { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pab-route::before, .pab-route--prozess::before { left: 31px; right: auto; top: 30px; bottom: 30px; border-top: 0; border-left: 2px dashed rgba(255,255,255,0.45); animation: none; }
  .pab-route__link { flex-direction: row; align-items: flex-start; text-align: left; gap: 14px; padding: 4px 8px 4px 0; }
  .pab-route__kreis, .pab-route--prozess .pab-route__kreis { width: 64px; height: 64px; }
  .pab-route__station--weiche { margin-left: 76px; }
  .pab-route__station--weiche::before { left: -45px; top: -16px; width: 43px; height: calc(50% + 16px); }
  .pab-route--prozess .pab-route__station--weiche .pab-route__kreis { width: 52px; height: 52px; }
  .pab-route .pab-stepper__geld { margin: 4px 0 0 78px; text-align: left; }
  .pab-bildband img { aspect-ratio: 16 / 9; }
  ol.pab-zeitstrahl__spur, ol.pab-zeitstrahl__spur--4 { grid-template-columns: minmax(0, 1fr); }
  .pab-zeitstrahl__halt { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-content: start; padding: 14px 12px 0; }
  .pab-zeitstrahl__halt > * { grid-column: 2; }
  .pab-zeitstrahl__halt > .pab-zeitstrahl__punkt { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
  p.pab-zeitstrahl__name { margin-top: 5px; }
  p.pab-zeitstrahl__text { margin: 0; }
  .pab-zeitstrahl__zone { margin: 8px 0 0; padding: 6px 0 14px; }
  .pab-zeitstrahl__zone--gebunden { padding-top: 4px; }
  .pab-zeitstrahl__halt::before { left: 28px; right: auto; top: 0; bottom: 0; border-top: 0; border-left: 1px solid var(--linie); }
  .pab-zeitstrahl__halt:first-child::before { left: 28px; top: 30px; }
  .pab-zeitstrahl__halt:last-child::before { right: auto; bottom: auto; height: 30px; }
  .pab-zeitstrahl__halt--kipp::before { border-left-color: var(--blau); }
  .pab-zeitstrahl__fahne { top: 18px; }
  .pab-zeitstrahl__halt--kipp p.pab-zeitstrahl__name { padding-right: 100px; }
}
@media (max-width: 640px) {
  .pab-ablauf-zeit__schritt { grid-template-columns: 44px minmax(0, 1fr); gap: 0 16px; }
  .pab-ablauf-zeit__schritt::before { left: 21px; top: 50px; }
  .pab-ablauf-zeit__marke { width: 44px; height: 44px; }
  .pab-ablauf-zeit__marke svg.pab-icon { width: 22px; height: 22px; }
  .pab-ablauf-kasten { padding: 16px 18px; }
  .pab-ablauf-hinweis, .pab-ablauf-zwei { padding: 16px 0 0; }
  .pab-ablauf-weg { padding: 18px 0 0; }
  .pab-einstieg__weg { margin-top: 28px; padding-top: 24px; }
  #container_main .pab-sektion--navy p.pab-einstieg__knoepfe + p.pab-einstieg__zeile { font-size: 0.875rem; }
  .pab-spalten3--vier { grid-template-columns: 1fr; }
  .pab-ablauf .pab-sprungziel[id] { scroll-margin-top: 175px; }
  .pab-ablauf-inhalt ul { gap: 8px; }
  .pab-ablauf-inhalt li { flex: 0 0 auto; }
  .pab-ablauf-inhalt a { font-size: 0.875rem; }
}
/* Prozessseite: Spalte mittig, Text links (12.10.2026). Kopf und Bloecke jeder Sektion mit Bloecken von 860 px stehen in einer gemeinsamen Spalte, mittig in der Sektionsflaeche; Beschriftung mit Strich, H2 und Lead darin linksbuendig. Sektionen mit Rastern ueber die volle Breite (Route, Einstiegskopf, Spalten) stehen links wie auf den uebrigen Seiten; der Seitenrand am Handy bleibt 20 px. Nur auf dieser Seite (pab-page-prozess). */
.pab-page-prozess .pab-sektion:has(.pab-ablauf-block, .pab-ablauf-faq, .pab-zeitstrahl, .pab-ablauf-kasten) .pab-sektion__kopf { max-width: 860px; margin-left: auto; margin-right: auto; }
.pab-page-prozess :is(.pab-ablauf-zeit, .pab-ablauf-fall, .pab-ablauf-faq, .pab-zeitstrahl), .pab-page-prozess .pab-sektion > .pab-innen > .pab-ablauf-kasten { margin-left: auto; margin-right: auto; }
#container_main .pab-page-prozess details.pab-ablauf-block, #container_main .pab-page-prozess details.pab-ablauf-block ~ .pab-ablauf-hinweis { margin-left: auto; margin-right: auto; }
#container_main .pab-page-prozess .pab-sektion p.pab-zeitstrahl__vorbehalt { max-width: 860px; margin-left: auto; margin-right: auto; }
/* Von 768 bis 1023 px stehen die Halte einer Spur mit vier Halten in zwei Spalten, je Zeile ein Paar mit eigener Linie; Spuren mit drei Halten bleiben dreispaltig. */
@media (min-width: 768px) and (max-width: 1023px) {
  ol.pab-zeitstrahl__spur--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
  .pab-zeitstrahl__spur--4 .pab-zeitstrahl__halt:nth-child(2)::before { right: calc(100% - 32px); }
  .pab-zeitstrahl__spur--4 .pab-zeitstrahl__halt:nth-child(3)::before { left: 32px; }
}

/* ---- Sicherheitsseite in der neuen Klassenfamilie (13.10.2026) ---- */
/* Eine Spalte von 960 px fuer alle Sektionen, mittig, eine linke Kante vom Kopf bis zum Schluss. */
.pab-page-sicherheit .pab-innen { max-width: calc(960px + 2 * var(--rinne)); }
.pab-page-sicherheit [id] { scroll-margin-top: calc(var(--kopf) + 16px); }

/* Kopf: ohne Abstand unter dem Kopf; der Ring sitzt an der Sektion, hoeher und weiter rechts, und kreuzt weder H1 noch Lead. */
.pab-page-sicherheit .pab-sich-hero .pab-innen { position: static; }
.pab-page-sicherheit .pab-sich-hero .pab-sektion__kopf { margin-bottom: 0; }
.pab-page-sicherheit .pab-sich-riss { right: -120px; top: -90px; }
#container_main .pab-sich-hero p.pab-sich-weiche { display: flex; flex-wrap: wrap; gap: 0 28px; margin: 16px 0 0; }
#container_main .pab-sich-hero .pab-sich-weiche a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; font-weight: 600; color: var(--kreide); text-decoration: underline; text-underline-offset: 0.2em; }
#container_main .pab-sich-hero .pab-sich-weiche a:hover { text-decoration-thickness: 2px; }

/* Eine Fliesstextgroesse: Karten, Geldweg, Kernsaetze und die Zeile unter den Vertragskarten in 1rem. */
.pab-page-sicherheit .pab-spalten3 p,
.pab-page-sicherheit .pab-spalten3__fuss,
.pab-page-sicherheit .pab-sich-geldweg p:not(.pab-fussnote),
.pab-page-sicherheit .pab-highlight-box p { font-size: 1rem; line-height: 1.6; color: var(--tinte); }
.pab-page-sicherheit .pab-spalten3 h3 { margin: 0 0 8px; }

/* Geldweg: eigener Block mit duenner grauer Linie oben, zwei Zwischenueberschriften, die Staffel als schmale Tabelle, der Endpreis-Satz als Kleingedrucktes direkt darunter. */
.pab-page-sicherheit .pab-sich-geldweg { margin: 40px 0 0; padding: 24px 0 0; border-top: 1px solid var(--linie); }
#container_main .pab-page-sicherheit .pab-sich-geldweg > h3 { margin: 0 0 12px; }
#container_main .pab-page-sicherheit .pab-sich-geldweg > h3:not(:first-child) { margin-top: 32px; }
.pab-page-sicherheit .pab-sich-geldweg p { margin: 0 0 16px; }
.pab-page-sicherheit .pab-sich-geldweg p:last-child { margin-bottom: 0; }
.pab-page-sicherheit .pab-sich-geldweg strong { color: var(--navy); }
.pab-page-sicherheit .pab-sich-geldweg .pab-tabelle { width: auto; min-width: 280px; margin: 0; }
.pab-page-sicherheit .pab-sich-geldweg p.pab-fussnote { margin: 8px 0 16px; }

/* Kernsaetze in Hinweisform (b): Absatz ohne Aussenabstand, auf Papier mit Grund Kreide. */
.pab-page-sicherheit .pab-highlight-box { margin: 32px 0 0; }
.pab-page-sicherheit .pab-highlight-box p { margin: 0; }
.pab-page-sicherheit .pab-highlight-box strong { color: var(--navy); }
.pab-page-sicherheit .pab-sektion--papier .pab-highlight-box { background: var(--kreide); }

/* Schluss als Knopfzeile wie im Ratgeber: der erste Weg als oranger Knopf, die uebrigen als Textlinks darunter, ohne Pfeil. */
#container_main .pab-page-sicherheit p.pab-schluss { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin: 0; font-size: 1rem; }
#container_main .pab-page-sicherheit p.pab-schluss::before { content: ""; order: 1; flex: 0 0 100%; height: 0; }
#container_main .pab-page-sicherheit p.pab-schluss > a { order: 2; }
#container_main .pab-page-sicherheit p.pab-schluss > a.pab-btn--primaer { order: 0; width: auto; max-width: none; }
#container_main .pab-page-sicherheit p.pab-schluss > a:not(.pab-btn) { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--blau); text-decoration: underline; text-underline-offset: 0.2em; }
#container_main .pab-page-sicherheit p.pab-schluss > a:not(.pab-btn):hover { color: var(--navy); }

@media (max-width: 767px) {
  .pab-page-sicherheit .pab-sich-riss { width: 150px; height: 150px; right: -60px; top: -100px; }
}
@media (max-width: 640px) {
  #container_main .pab-page-sicherheit p.pab-schluss { row-gap: 0; }
  #container_main .pab-page-sicherheit p.pab-schluss > a { flex: 0 0 100%; }
  #container_main .pab-page-sicherheit p.pab-schluss > a.pab-btn--primaer { width: 100%; margin-bottom: 8px; }
}
@media print {
  .pab-page-sicherheit .pab-sich-weiche { display: none !important; }
  .pab-page-sicherheit .pab-spalten3 > div, .pab-page-sicherheit .pab-sich-geldweg > p, .pab-page-sicherheit .pab-sich-geldweg .pab-tabelle-wrap { break-inside: avoid; }
  .pab-page-sicherheit .pab-sektion__kopf { break-inside: avoid; }
}

/* ---- Fussbereich ---- */
#container_footer .footermenu a:hover { text-decoration: underline; }
#container_footer .footermenu a.pab-widerruf-link { border: 1.5px solid var(--kreide); border-radius: var(--radius); padding: 4px 10px; }
#container_footer .pab-fuss { text-align: left; padding: 8px 0 0; }
/* Fussbereich: vier Spalten mit Kopfzeile, am Handy zwei. */
.pab-fuss__spalten { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
#container_footer .pab-fuss__kopf { color: var(--kreide) !important; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 12px; opacity: 0.75; }
.pab-fuss ul { list-style: none; margin: 0; padding: 0; }
/* Das Template setzt Listen in .footermenu auf inline-block mit einem Punkt nach jedem Link, und .footermenu ist ein Flex-Kind nur so breit wie sein Inhalt. */
#container_footer .footermenu:has(.pab-fuss) { flex: 1 1 100%; }
#container_footer .footermenu:has(.pab-fuss) > .mod-custom { flex: 1 1 auto; }
/* Fusslinks mit 44 px Tippflaeche: der Link fuellt seine Zeile, der Abstand zwischen den Zeilen steckt in ihr. */
#container_footer .pab-fuss li { display: block; line-height: 1.4; margin: 0; padding: 0; }
#container_footer .pab-fuss li > a { display: inline-flex; align-items: center; min-height: 44px; }
#container_footer .pab-fuss a:not(.pab-widerruf-link) { padding: 0; }
#container_footer .pab-fuss a::after, #container_footer .pab-fuss a::before { content: none; }
#container_footer .pab-fuss a { color: var(--kreide) !important; font-size: 0.95rem; font-weight: 500; text-decoration: none; }
#container_footer .pab-fuss a:hover, #container_footer .pab-fuss a:focus-visible { text-decoration: underline; }
/* Fusslink der eigenen Seite mit Strich wie der aktive Menuepunkt im Kopf (aria-current setzt das Markup). */
#container_footer .pab-fuss a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; font-weight: 700; }
.pab-fuss__unten { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.18); }
#container_footer p.pab-fuss__widerruf { margin: 28px 0 0; line-height: 1; }
#container_footer p.pab-fuss__absender { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 0.875rem; line-height: 1.4; color: var(--kreide) !important; }
.pab-fuss__emblem, .pab-fuss__emblem * { fill: none; stroke: var(--kreide); }
.pab-fuss__emblem { flex: 0 0 auto; width: 24px; height: 24px; stroke-width: 1.5; }
#container_footer .pab-fuss a.pab-widerruf-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; background-color: transparent; color: var(--kreide) !important; font-size: 0.95rem; font-weight: 500; border: 1.5px solid var(--orange); border-radius: var(--radius); }
#container_footer .pab-fuss a.pab-widerruf-link:hover,
#container_footer .pab-fuss a.pab-widerruf-link:focus-visible { background-color: var(--orange); color: var(--tinte) !important; text-decoration: underline; }
@media (max-width: 959px) {
  .pab-fuss__spalten { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
}
@media (max-width: 640px) {
  .pab-fuss__unten { flex-direction: column; align-items: flex-start; }
}

/* ---- Druck ---- */
/* Druckstil fuer alle Seiten (12.10.2026): Kopf, Menue, Fuss, Nach-oben-Knopf, Sprunglink, Brotkrumen und die Knopfzeile am Schluss der Ratgeber drucken nicht, der Inhalt laeuft ueber die Papierbreite; Kaestchen drucken als Quadrat von rund 5 mm mit Rahmen in Tinte; kein Umbruch in einem Pruefpunkt oder Kasten und keiner direkt nach einer Ueberschrift. Dunkle Flaechen drucken mit ihrem Grund, sonst stuende weisse Schrift auf weissem Papier. */
@media print {
  #container_header, .hornav, .menu-toggle, #container_footer, .container_footer, a.smooth-scroll, .back-to-top, .pab-skip, .pab-leiste, nav.mod-breadcrumbs__wrapper, :is(#contenttop, .wrapper_contenttop):has(.mod-breadcrumbs__wrapper), .pab-checkliste__hinweis, p.pab-schluss { display: none !important; }
  html, body { background: var(--kreide) !important; }
  body { margin: 0 !important; padding: 0 !important; }
  /* Die Huelle des haftenden Kopfs traegt ihre Hoehe inline; ohne !important bliebe ein Leerband ueber der H1. */
  #container_header-sticky-wrapper { height: 0 !important; min-height: 0 !important; }
  .wrapper960, #container_main, #main, #content_full, .maincontent, .com-content-article__body, .pab-innen, .pab-inner, :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body, body.pab-glossar.view-article .com-content-article__body, body.pab-rechtstext .com-contact { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  /* H1 ohne Abstand oben, auch mit Brotkrumen (deren Regel ist sonst spezifischer). */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main h1, body.itemid-149.view-article:has(nav.mod-breadcrumbs__wrapper) #container_main h1, body.pab-glossar.view-article #container_main h1 { margin-top: 0; }
  /* Tabellen ueber die Papierbreite, kurze Tabellen (bis zwoelf Zeilen) ohne Umbruch, die Summe nur einmal am Ende, und kein Umbruch zwischen einem Satz und der Tabelle, die er einleitet. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) .com-content-article__body table { display: table !important; width: 100% !important; overflow: visible !important; }
  #container_main table:not(:has(tbody > tr:nth-child(13))) { break-inside: avoid; }
  tfoot { display: table-row-group; }
  p:has(+ :is(table, .pab-table-wrap, .pab-tabelle-wrap)) { break-after: avoid; }
  .pab-detail__seite, .pab-ablauf-block__kopf, .pab-suche { position: static !important; }
  input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 5mm !important; height: 5mm !important; margin: 0; border: 0.3mm solid var(--tinte); border-radius: 0; background: transparent; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  input[type="checkbox"]:checked { background: var(--tinte); box-shadow: inset 0 0 0 1mm var(--kreide); }
  body.itemid-149.view-article .com-content-article__body ul.pab-list-plain:has(input[type="checkbox"]) label > input[type="checkbox"] { top: 12px; }
  li, blockquote, figure, img, tr, details, .pab-kasten, .pab-karte, .pab-zahl, .pab-stimme, .pab-highlight-box, .pab-solution-banner, .pab-upgrade-hint, .pab-ablauf-kasten, .pab-ablauf-kern, .pab-ds-hinweis { break-inside: avoid; }
  h1, h2, h3, h4, summary, nav.pab-inhalt > p:first-child { break-after: avoid; }
  p { orphans: 3; widows: 3; }
  .pab-sektion--navy, .pab-section-cta, .pab-abschluss, .pab-zeitstrahl__halt--kipp, .pab-badge, .pab-btn--primaer, .pab-segment label:has(input:checked) { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  /* Seit dem 13.10.2026: die erste Sektion ohne Innenabstand oben; Musterformular auf neuer Seite und ungeteilt; Sektionskoepfe und Karten ungeteilt, keine Beschriftung allein am Seitenfuss. */
  .com-content-article__body > :is(.pab-section, .pab-sektion):first-child, .com-content-article__body > div > :is(.pab-section, .pab-sektion):first-child { padding-top: 0 !important; }
  div.pab-musterformular { break-before: page; break-inside: avoid; }
  .pab-sektion__kopf, .pab-section-intro, .pab-trust-item, .pab-card, .pab-feature-card, .pab-eintrag, address, dl.pab-steckbrief > div { break-inside: avoid; }
  .pab-label, .pab-eyebrow { break-after: avoid; }
  /* Antworten der FAQ drucken offen, ohne Winkel und Knoepfe. */
  body.itemid-229 details::details-content { content-visibility: visible; display: block; }
  body.itemid-229 summary::after { display: none !important; }
  body.itemid-229 :is(.pab-btn, .pab-btn-card, .pab-cta-row) { display: none !important; }
  /* Knopfzeilen drucken nicht, ebenso Felder und Knopf der Widerrufsseite; ihr Kleingedrucktes bleibt. */
  .pab-cta-row, .pab-weg-knoepfe, body.itemid-216 .pab-btn { display: none !important; }
  body:is(.itemid-285, .pab-rechtstext) #contact-form :is(fieldset, .controls) { display: none !important; }
  /* Verzeichnis der Rechtstexte im Druck zweispaltig und ohne die 44-px-Zeilen des Bildschirms. */
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main nav.pab-inhalt.pab-inhalt--zweispaltig :is(ol, ul) { columns: 2; column-gap: 32px; }
  :is(body.itemid-149.view-article, body.pab-rechtstext) #container_main nav.pab-inhalt.pab-inhalt--zweispaltig li > a { min-height: 0; }
}

/* ---- Fokus und Bewegung ---- */
/* Fokusring fuer alle bedienbaren Elemente; auf dunklem Grund Kreide. */
:focus-visible { outline: 3px solid var(--blau); outline-offset: 2px; }
.pab-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body #dj-classifieds #uploader:has(input[type="file"]:focus-visible) #uploader_browse { outline: 2px solid var(--blau); outline-offset: 2px; }
body #dj-classifieds span.djmodal_trigger:focus-visible { outline: 2px solid var(--blau); outline-offset: 2px; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible { outline: 2px solid var(--blau); outline-offset: 2px; }
#container_header .hornav ul.menu > li > a:focus-visible,
#container_header .hornav > ul > li > a:focus-visible { outline: 2px solid var(--blau); outline-offset: 2px; }
body .btn:focus-visible,
body .form-check-input:focus-visible,
body input[type="checkbox"]:focus-visible,
body input[type="radio"]:focus-visible { outline: 2px solid var(--blau); outline-offset: 2px; box-shadow: none; }
#container_footer a:focus-visible { outline: 2px solid var(--kreide); outline-offset: 2px; }
/* Handy-Menue auf dunklem Grund: Fokusring in Kreide, innen, damit der Rand des Menues ihn nicht abschneidet. */
body .mm-ocd :focus-visible { outline: 2px solid var(--kreide); outline-offset: -2px; }
/* Bootskarten: Das Bildfeld steht auf Navy, und die Karte schneidet einen aussen liegenden Ring ab; der Ring des Bildlinks liegt deshalb innen, in Kreide mit einem Saum in Navy (12.10.2026). */
#container_main .pab-karte__bild a:focus-visible { outline: 2px solid var(--kreide); outline-offset: -4px; }
.pab-karte__bild:has(a:focus-visible)::after { content: ""; position: absolute; inset: 0; border: 2px solid var(--navy); pointer-events: none; }
/* Sprunglink fuer Tastaturnutzer; ein Skript legt ihn an. */
.pab-skip { position: absolute; left: -9999px; top: 8px; z-index: 1100; background: var(--navy); color: var(--kreide); padding: 10px 16px; border-radius: 6px; font-weight: 700; }
.pab-skip:focus { left: 8px; }
body a.smooth-scroll:focus-visible { outline: none; }
body a.smooth-scroll:focus-visible .back-to-top { outline: 2px solid var(--blau); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  /* Wer weniger Bewegung wuenscht, bekommt keine Animationen und Uebergaenge. */
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ---- Bewegung ---- */
@keyframes pab-route-ein {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes pab-route-linie {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
