/* Libre Franklin (latin-ext), variabel 300-700, lokal statt Google (SIL OFL 1.1) */
@font-face {
  font-family: "Libre Franklin";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("fonts/libre-franklin-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;
}
/* Libre Franklin (latin), variabel 300-700, lokal statt Google (SIL OFL 1.1) */
@font-face {
  font-family: "Libre Franklin";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("fonts/libre-franklin-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;
}

/* ===== 10-basis.css ===== */
/**
 * Gestaltung B - Grundsystem (13.10.2026)
 *
 * Alle Varianten haengen an data-g-* auf <html>. Der Paketbau setzt dort die
 * Standardwerte aus optionen.json; das Steuerpult (nur in der Vorschau)
 * schaltet sie um. Ohne Pult gilt immer der Standard - die Seite braucht das
 * Pult nicht.
 *
 * Die Schriftgroessen des Themes stehen fest in Pixeln je Baustein. Damit sie
 * gleichmaessig wachsen, wird der Inhalt der Text-Bausteine mit `zoom`
 * vergroessert: Breite und Raster bleiben, nur Schrift und Abstaende im
 * Baustein wachsen. zoom nur an Blaettern anwenden - verschachtelt
 * multipliziert es sich.
 */

:root {
  --g-blau: #051c2c;
  --g-kanzleiblau: #0b2a4a;
  --g-akzent: #2f5aa8;
  --g-hellblau: #43b1e7;
  --g-hell: #eef2f6;
  --g-text: #1d2b36;
  --g-text-leise: #4f5d69;
  --g-sans: Roboto, "Helvetica Neue", Arial, sans-serif;
  --g-serif: "Libre Baskerville", Georgia, serif;
  --g-z: 1;
  --g-ls: .02em;
  --g-lh: 1.65;
  --g-gewicht: 400;
  --g-menue: 17px;
  --g-icon: 72px;
  --g-radius: 3px;
}

/* ------------------------------------------------------------ Schriftwahl */
html[data-g-schrift="libre-franklin"] { --g-sans: "Libre Franklin", Roboto, Arial, sans-serif; }
html[data-g-schrift="source-sans"]    { --g-sans: "Source Sans 3", Roboto, Arial, sans-serif; }
html[data-g-schrift="work-sans"]      { --g-sans: "Work Sans", Roboto, Arial, sans-serif; }
html[data-g-schrift="lato"]           { --g-sans: Lato, Roboto, Arial, sans-serif; }
html[data-g-schrift="ibm-plex"]       { --g-sans: "IBM Plex Sans", Roboto, Arial, sans-serif; }
html[data-g-schrift="figtree"]        { --g-sans: Figtree, Roboto, Arial, sans-serif; }
html[data-g-schrift="inter"]          { --g-sans: Inter, Roboto, Arial, sans-serif; }

/* Die Sans fuer alles, was nicht Ueberschrift, Icon oder Logo ist. */
html:not([data-g-schrift="roboto"]) :is(body, p, li, a, span, label, input, textarea, select, button, td, th, div, time):not(:is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .schenk-k__titel, .team_title__text, .gt3-core-imagebox-title, .gt3_header_builder_text_component, .gt3_header_builder_text_component *, .g-serif, .g-serif *, [class*="icon"], i, .fa, [class*="fa-"], [class*="eicon"], h1 *, h2 *, h3 *, h4 *, h5 *, h6 *)) {
  font-family: var(--g-sans) !important;
}

/* ------------------------------------------------------- Kopfhoehe
 * Jede Seite traegt "section#main_content { margin-top: 116px }". Der Kopf ist
 * aber 121 px (Rechner), 80 px (Tablet) und 141 px (Telefon) hoch: Am Tablet
 * blieb ein weisser Streifen, am Telefon lag der Kopf 26 px ueber dem Inhalt.
 * (81/142 liessen unter dem Kopf eine weisse 1-px-Linie stehen.)
 * Seiten mit Seitentitel setzen den Rand ohnehin auf 0 (STEPHAN_STIL). */
:root { --g-kopfhoehe: 116px; }
@media (max-width: 1199px) { :root { --g-kopfhoehe: 80px; } }
@media (max-width: 767px) { :root { --g-kopfhoehe: 141px; } }
html section#main_content { margin-top: var(--g-kopfhoehe); }
html .content-container.span8 > section#main_content { margin-top: 0; }

/* Theme-Zeilen mit -15 px Rand ragten bei 1001-1060 px 2 px ueber das Fenster
 * (waagerechtes Scrollen auf allen Seiten mit Seitenleiste). clip statt hidden:
 * Mitlaufende Elemente (sticky) funktionieren weiter. */
.main_wrapper { overflow-x: clip; }

/* Bildboxen ohne Bild: Das Iconraster schob den Text in die schmale Iconspalte. */
.gt3-core-imagebox-wrapper:not(:has(.gt3-core-imagebox-img)) { display: block !important; }

/* Word-Absaetze tragen eingebettete Zeilenhoehen und Blocksatz. */
.elementor-widget-text-editor :is(p, li)[style*="line-height"] { line-height: var(--g-lh, 1.7) !important; }
.elementor-widget-text-editor :is(p, li)[style*="justify"] { text-align: left !important; }
.elementor-widget-text-editor p[style*="text-indent"] { text-indent: 0 !important; }

/* Karten (/aktuelles/ und alle, die AKTUELLES_STIL nutzen): Datum unter 15 px am
 * Telefon, lange Titel liefen ueber den Rand. */
.schenk-k__titel { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 15 6 6; }
@media (max-width: 767px) { .schenk-k__meta { font-size: 15px !important; } }

/* ------------------------------------------------------- Groesse (zoom) */
html[data-g-groesse="110"] { --g-z: 1.1; }
html[data-g-groesse="115"] { --g-z: 1.15; }
html[data-g-groesse="120"] { --g-z: 1.2; }
/* :where() haelt die Spezifitaet niedrig (0,1,1): Seitenmodule koennen zoom
 * ohne !important zuruecksetzen. Pixelwerte in gezoomten Bausteinen werden mit
 * --g-z multipliziert - wer dort Groessen setzt, rechnet den Faktor ein. */
html:not([data-g-groesse="100"]) :where(
  .elementor-widget-heading, .elementor-widget-text-editor, .elementor-widget-icon-list,
  .elementor-widget-gt3-core-imagebox, .elementor-widget-gt3-core-button,
  .elementor-widget-gt3-core-team, .elementor-widget-gt3-core-teamcarousel,
  .elementor-widget-icon-box, .elementor-widget-image-box, .elementor-widget-form
) > :where(.elementor-widget-container),
html:not([data-g-groesse="100"]) :where(.gt3-page-title__content, .sidebar .widget, #footer .widget, .schenk-k__text, .schenk-blaettern, .blog_content > .single_meta, .wpcf7) {
  zoom: var(--g-z);
}
/* Fliesstext ausserhalb von Elementor (Beitraege, Gegnerseiten, Schwerpunkte) */
html:not([data-g-groesse="100"]) :where(#main_content) :where(.blog_post_preview, .portfolio_single_text, .single_portfolio_content, .gt3_single_post, article.post) {
  zoom: var(--g-z);
}

/* --------------------------------------- Laufweite, Zeilen, Strichstaerke */
html[data-g-laufweite="0"] { --g-ls: 0em; }
html[data-g-laufweite="1"] { --g-ls: .012em; }
html[data-g-laufweite="2"] { --g-ls: .022em; }
html[data-g-laufweite="3"] { --g-ls: .04em; }
html[data-g-zeilen="eng"] { --g-lh: 1.5; }
html[data-g-zeilen="weit"] { --g-lh: 1.82; }
html[data-g-gewicht="300"] { --g-gewicht: 300; }

:is(.elementor-widget-text-editor, #main_content .blog_content, #main_content article, .sidebar .widget, .schenk-k__anriss) :is(p, li),
.elementor-widget-text-editor .elementor-widget-container {
  letter-spacing: var(--g-ls);
  line-height: var(--g-lh);
}
:is(.elementor-widget-text-editor, #main_content .blog_content, #main_content article) :is(p, li):not(:is(strong, b, h1, h2, h3, h4) *) {
  font-weight: var(--g-gewicht);
}

/* Ein Fliesstext, eine Groesse: Theme und Redaktion haben im selben
 * Absatzbaustein 15, 16, 17, 18 und 12pt gemischt (Versicherungsrecht,
 * Markenrecht). Innerhalb eines Bausteins gilt jetzt die Groesse des
 * Bausteins. */
.elementor-widget-text-editor .elementor-widget-container :is(p, li, span, ul, ol):not(:is(h1, h2, h3, h4, h5, h6) *) {
  font-size: inherit !important;
}
.elementor-widget-text-editor .elementor-widget-container { font-size: 16px; }
@media (max-width: 767px) { .elementor-widget-text-editor .elementor-widget-container { font-size: 16px; } }

/* ------------------------------------------------------------- Kopf */
/* Der Scroll-Kopf des Themes wechselte auf Weiss mit dunkler Schrift. */
/* Alle Abschnitte - am Tablet heisst der Abschnitt --middle__tablet und blieb
 * weiss, mit weisser Schrift und weissem Burger darauf (Gegenpruefung nav-2). */
html:not([data-g-kopf="original"]) .sticky_header .gt3_header_builder__section {
  background-color: var(--g-blau) !important;
}
html:not([data-g-kopf="original"]) .sticky_header :is(.menu > li > a, .menu > li > a > span, .gt3_header_builder_text_component, .gt3_header_builder_text_component *, .mobile-navigation-toggle) {
  color: #fff !important;
}
html:not([data-g-kopf="original"]) .sticky_header .mobile-navigation-toggle .toggle-inner,
html:not([data-g-kopf="original"]) .sticky_header .mobile-navigation-toggle .toggle-inner::before,
html:not([data-g-kopf="original"]) .sticky_header .mobile-navigation-toggle .toggle-inner::after {
  background-color: #fff !important;
}
/* Trennstrich zwischen Name und Telefon: im dunklen Scroll-Kopf war er
 * Nachtblau auf Nachtblau (unsichtbar); oben reinweiss und hart. */
.gt3_header_builder > .gt3_header_builder__container .gt3_header_builder_delimiter_component,
html:not([data-g-kopf="original"]) .sticky_header .gt3_header_builder_delimiter_component { border-left-color: rgba(255, 255, 255, .4) !important; }
.sticky_header { transition: transform .28s ease, box-shadow .28s ease; }
/* Versteckt, solange nicht hochgescrollt wird. Mit der Tastatur im Kopf
 * (focus-within) bleibt er sichtbar. */
html[data-g-kopf="verstecken"].g-kopf-weg .sticky_header.sticky_on:not(:focus-within) { transform: translateY(-105%); box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .sticky_header { transition: none; } }

/* Gemeinsame Kante (Rechner ab 1200 px): Das Logo begann 90 px vom linken
 * Rand, das Menue endete 21 px (bei 1280 px 13 px) vor dem rechten, die
 * Leiste darueber bei 30 px. Jetzt beide Seiten gleich, und zwar genau der
 * Innenrand der blauen Kacheln darunter (13 % von einem Drittel = 4,333vw). */
:root { --g-kopfrand: max(24px, 4.333vw); }
@media (min-width: 1200px) {
  .gt3_header_builder :is(.gt3_header_builder__section--top, .gt3_header_builder__section--middle) > .gt3_header_builder__section-container {
    padding-left: var(--g-kopfrand) !important; padding-right: var(--g-kopfrand) !important;
  }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_left .header_side_container > .gt3_header_builder_empty_space_component:nth-child(-n+2) { display: none !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_left .gt3_header_builder_text_component span[style*="margin-left"] { margin-left: 0 !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .gt3_header_builder_menu_component { margin-right: 0 !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .menu > li:last-child { margin-right: 0 !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right ul.menu { margin-right: 0 !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .menu > li:last-child > a { padding-right: 0 !important; }
}
/* 1200-1299 px: Telefon und Menue standen nur 15-24 px auseinander. */
@media (min-width: 1200px) and (max-width: 1299px) {
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .menu > li:not(:first-child) { margin-left: 9px !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .menu > li:not(:last-child) { margin-right: 9px !important; }
}

/* Leiste oben: Anschrift 12 px fett, Mail 14 px normal - zwei Groessen und
 * Gewichte in einer Zeile. Jetzt beide 14 px, ruhig, 13:1. */
.gt3_header_builder__section--top .gt3_header_builder_text_component :is(p, strong, a) {
  font-size: 14px !important; font-weight: 400 !important; letter-spacing: .02em; color: rgba(255, 255, 255, .86) !important;
}
.gt3_header_builder__section--top .gt3_header_builder_text_component a { text-underline-offset: 3px; }
.gt3_header_builder__section--top .gt3_header_builder_text_component a:is(:hover, :focus-visible) { color: #fff !important; text-decoration: underline !important; }

/* Telefon im Kopf: Die fette 24-px-Baskerville war lauter als der
 * Kanzleiname. Jetzt in der Fliesstextschrift mit Hoerer - der Name fuehrt,
 * die Nummer wirkt wie ein Tippziel. */
html:not([data-g-kopftelefon="original"]) .gt3_header_builder .gt3_header_builder_text_component a[href^="tel:"] {
  display: inline-flex; align-items: center; gap: .45em;
  font-family: var(--g-sans) !important; font-size: 20px !important; font-weight: 600 !important; letter-spacing: .015em; line-height: 1.2 !important;
  font-variant: normal;
}
html:not([data-g-kopftelefon="original"]) .gt3_header_builder .gt3_header_builder_text_component a[href^="tel:"]::before {
  content: ""; flex: none; width: .9em; height: .9em; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%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 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt3_header_builder .gt3_header_builder_text_component a[href^="tel:"]:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* Tablet und Telefon: Anschrift und Telefon standen mit 14,67 px (11pt)
 * unter der 15-px-Grenze; drei Zeilen in 80 px stiessen oben und unten an.
 * Jetzt: Textbaustein als Saeule, senkrecht mittig, 16/17 px. */
@media (max-width: 1199px) {
  .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .header_side_container:has(> .gt3_header_builder_text_component) {
    display: flex !important; align-items: center; height: 100%;
  }
  .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component {
    display: flex !important; flex-direction: column; justify-content: center; gap: 5px;
  }
  .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component > * { margin: 0 !important; line-height: 1.25 !important; min-height: 0 !important; }
  .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component > p:first-child :is(span, strong) { line-height: 1.2 !important; }
  .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component > p:nth-of-type(2),
  .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component > p:nth-of-type(2) * {
    font-size: 16px !important; font-weight: 400 !important; letter-spacing: .01em;
  }
  html .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component a[href^="tel:"] {
    font-size: 17px !important; padding: 3px 0;
  }
  html[data-g-kopftelefon="original"] .gt3_header_builder :is(.gt3_header_builder__section--middle__tablet, .gt3_header_builder__section--bottom__mobile) .gt3_header_builder_text_component a[href^="tel:"] { font-size: 16px !important; }
  /* Tablet: drei Zeilen passen nicht in 80 px - kompakt ohne Anschrift. */
  html[data-g-kopfmobil="kompakt"] .gt3_header_builder .gt3_header_builder__section--middle__tablet .gt3_header_builder_text_component > p:nth-of-type(2) { display: none !important; }
  /* Am Telefon trug der dunkle Kopf eine weisse 1-px-Unterkante. */
  .gt3_header_builder .gt3_header_builder__section--bottom__mobile { border-bottom-color: rgba(255, 255, 255, .08) !important; }
  html[data-g-kopf="original"] .sticky_header .gt3_header_builder__section--bottom__mobile { border-bottom-color: rgba(5, 28, 44, .1) !important; }
}

/* Am Telefon war der Scroll-Kopf 141 px hoch (Name, Anschrift, Telefon
 * untereinander). Kompakt: Name und Telefon, die Anschrift steht im
 * Fuss und auf /kontakt/. */
@media (max-width: 1024px) {
  html[data-g-kopfmobil="kompakt"] .sticky_header .gt3_header_builder__section--bottom__mobile .gt3_header_builder_text_component p:nth-of-type(2) { display: none !important; }
  html[data-g-kopfmobil="kompakt"] .sticky_header .gt3_header_builder__section--bottom__mobile .gt3_header_builder_text_component p { margin: 0 !important; }
  html[data-g-kopfmobil="kompakt"] .sticky_header .gt3_header_builder__section--bottom__mobile .gt3_header_builder__section-container { height: 76px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  html[data-g-kopfmobil="kompakt"] .sticky_header .gt3_header_builder__section--bottom__mobile ul.menu { line-height: 76px !important; }
}

/* ------------------------------------------------------------- Menue */
/* Hover und aktuelle Seite im dunklen Kopf. Oben ist der Kopf immer dunkel,
 * der Scroll-Kopf ausser bei kopf=original. Im Scroll-Kopf aenderte sich beim
 * Hover nichts (die Weiss-Regel traf auch das innere span), und welche Seite
 * offen ist, zeigte das Menue nirgends. Jetzt eine hellblaue Linie unter dem
 * Wort - dasselbe Akzentmotiv wie im Untermenue. */
.gt3_header_builder .gt3_header_builder__section--middle .menu > li > a > span { padding-bottom: 6px; transition: color .15s ease, box-shadow .15s ease; }
:is(.gt3_header_builder > .gt3_header_builder__container, html:not([data-g-kopf="original"]) .sticky_header) .gt3_header_builder__section--middle .gt3_header_builder_menu_component .menu > li:is(.current-menu-item, .current-menu-parent, .current-menu-ancestor) > a > span {
  color: #fff !important; box-shadow: inset 0 -2px #43b1e7;
}
:is(.gt3_header_builder > .gt3_header_builder__container, html:not([data-g-kopf="original"]) .sticky_header) .gt3_header_builder__section--middle .gt3_header_builder_menu_component .menu > li:is(:hover, :focus-within) > a,
:is(.gt3_header_builder > .gt3_header_builder__container, html:not([data-g-kopf="original"]) .sticky_header) .gt3_header_builder__section--middle .gt3_header_builder_menu_component .menu > li:is(:hover, :focus-within) > a > span {
  color: #b9d0ef !important;
}
:is(.gt3_header_builder > .gt3_header_builder__container, html:not([data-g-kopf="original"]) .sticky_header) .gt3_header_builder__section--middle .gt3_header_builder_menu_component .menu > li:is(:hover, :focus-within) > a > span { box-shadow: inset 0 -2px #43b1e7; }
/* Weisser Scroll-Kopf (kopf=original): aktuelle Seite mit Linie im Akzent. */
html[data-g-kopf="original"] .sticky_header .gt3_header_builder__section--middle .menu > li:is(.current-menu-item, .current-menu-parent, .current-menu-ancestor) > a > span { box-shadow: inset 0 -2px var(--g-akzent); }

/* Untermenue: ein heller Theme-Kasten (#f7f8f8) mit Hover in einem
 * Fremdblau (#1d40ca) unter dem dunklen Kopf, 210 px schmal - lange Punkte
 * brachen um. Jetzt Nachtblau mit weisser Schrift, Hover Hellblau-Weiss mit
 * 3-px-Linie links. Bei kopf=original bleibt es hell. */
html:not([data-g-kopf="original"]) .gt3_header_builder .gt3_header_builder__section--middle .menu .sub-menu {
  background-color: var(--g-blau) !important; width: max-content !important; min-width: 250px; max-width: 340px;
  padding: 8px 0 !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .3) !important; border-top: 1px solid rgba(255, 255, 255, .1);
}
html:not([data-g-kopf="original"]) .gt3_header_builder .gt3_header_builder__section--middle .menu .sub-menu > li { background: none !important; }
/* Die weisse 3-px-Kante des Themes ueber dem Untermenue: weg (Jonas,
 * 13.10.2026 - die hellblaue Linie dort war ein Strich zu viel). */
html:not([data-g-kopf="original"]) .gt3_header_builder .gt3_header_builder__section--middle .menu .sub-menu::before { display: none !important; }
html:not([data-g-kopf="original"]) .gt3_header_builder .gt3_header_builder__section--middle .menu .sub-menu > li > a {
  display: block !important; width: 100%; box-sizing: border-box; padding: 9px 24px 9px 21px !important; border-left: 3px solid transparent; white-space: nowrap;
  background: none !important; color: #fff !important;
}
html:not([data-g-kopf="original"]) .gt3_header_builder .gt3_header_builder__section--middle .menu .sub-menu > li > a > span { color: inherit !important; }
html:not([data-g-kopf="original"]) .gt3_header_builder .gt3_header_builder__section--middle .menu .sub-menu > li:is(:hover, :focus-within, .current-menu-item) > a {
  color: #b9d0ef !important; border-left-color: #43b1e7; background: rgba(255, 255, 255, .05) !important;
}
html[data-g-menue="15"] { --g-menue: 15px; }
html[data-g-menue="19"] { --g-menue: 19px; }
:is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a {
  font-size: var(--g-menue) !important;
  letter-spacing: .01em;
}
html[data-g-versal="ja"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a {
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: max(13px, calc(var(--g-menue) - 4px)) !important;
}
/* Schmaler Desktop: Bei 1200-1365 px reicht der Platz fuer 17/19 px nicht -
 * "Kontakt" rutschte in eine zweite, unsichtbare Zeile. */
@media (min-width: 1200px) and (max-width: 1365px) {
  :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { font-size: min(var(--g-menue), 16px) !important; }
  /* Versalien passen hier nicht in eine Zeile - dann normal geschrieben. */
  html[data-g-versal="ja"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { text-transform: none; letter-spacing: .01em; font-size: min(var(--g-menue), 16px) !important; }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  html[data-g-menue="19"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { font-size: 17px !important; }
  html[data-g-versal="ja"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { font-size: max(14.5px, min(calc(var(--g-menue) - 3px), 15px)) !important; letter-spacing: .06em; }
}
/* Versalien ab 1366 px: 13 px wirkten neben Logo und Telefon duenn. */
@media (min-width: 1500px) {
  html[data-g-versal="ja"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { font-size: max(14.5px, calc(var(--g-menue) - 2px)) !important; letter-spacing: .06em; }
}
/* Gemessen (Endpruefung 13.10.): Bei 1200-1209 px fiel "Kontakt" trotzdem in
 * die zweite Zeile, bis 1215 px klebte die Nummer am Menue; mit Versalien und
 * 19 px brach es bei 1366 px (haeufigste Laptopbreite). */
@media (min-width: 1200px) and (max-width: 1239px) {
  :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a,
  html[data-g-versal="ja"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { font-size: 15px !important; letter-spacing: 0 !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .menu > li:not(:first-child) { margin-left: 7px !important; }
  .gt3_header_builder .gt3_header_builder__section--middle .middle_right .menu > li:not(:last-child) { margin-right: 7px !important; }
}
@media (min-width: 1366px) and (max-width: 1439px) {
  html[data-g-versal="ja"] :is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .menu > li > a { font-size: 14.5px !important; letter-spacing: .04em !important; }
}
:is(.gt3_header_builder, .sticky_header) .gt3_header_builder_menu_component .sub-menu a {
  font-size: calc(var(--g-menue) - 1px) !important;
  line-height: 1.4 !important;
}

/* ------------------------------------------------------------- Knoepfe
 * Jonas: "ich finde die buttons eigentlich fast immer besser im hover
 * modus.. diese nur outline ansicht, mag ich nicht". Gefuellt ist jetzt der
 * Ruhezustand. Ob ein Knopf auf dunklem Grund steht, misst gestaltung.js
 * (Klasse g-auf-dunkel) - CSS allein kann den Hintergrund nicht sehen.
 */
html:not([data-g-knopf="kontur"]) .elementor-widget-gt3-core-button a:not(.g-kachelknopf),
html:not([data-g-knopf="kontur"]) .wpcf7 input[type="submit"],
html:not([data-g-knopf="kontur"]) .schenk-blaettern a {
  background-color: var(--g-blau) !important;
  border-color: var(--g-blau) !important;
  color: #fff !important;
  border-radius: var(--g-radius);
}
html:not([data-g-knopf="kontur"]) .elementor-widget-gt3-core-button a:not(.g-kachelknopf) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: #fff !important;
}
html:not([data-g-knopf="kontur"]) .elementor-widget-gt3-core-button a:not(.g-kachelknopf):is(:hover, :focus-visible),
html:not([data-g-knopf="kontur"]) .wpcf7 input[type="submit"]:is(:hover, :focus-visible),
html:not([data-g-knopf="kontur"]) .schenk-blaettern a:is(:hover, :focus-visible) {
  background-color: var(--g-akzent) !important;
  border-color: var(--g-akzent) !important;
  color: #fff !important;
}
/* Auf dunklem Grund: weiss gefuellt, Kanzleiblau als Schrift. */
html:not([data-g-knopf="kontur"]) .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a, input) {
  background-color: #fff !important;
  border-color: #fff !important;
  color: var(--g-blau) !important;
}
html:not([data-g-knopf="kontur"]) .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: var(--g-blau) !important;
}
html:not([data-g-knopf="kontur"]) .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a, input):is(:hover, :focus-visible) {
  background-color: #dcebf8 !important;
  border-color: #dcebf8 !important;
}
html:not([data-g-knopf="kontur"]) .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a):is(:hover, :focus-visible) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: var(--g-blau) !important;
}
/* Akzent: Hellblau mit Kanzleiblau als Schrift (7:1). */
html[data-g-knopf="akzent"] :is(.elementor-widget-gt3-core-button a:not(.g-kachelknopf), .wpcf7 input[type="submit"], .schenk-blaettern a, .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a, input)) {
  background-color: var(--g-hellblau) !important;
  border-color: var(--g-hellblau) !important;
  color: var(--g-blau) !important;
}
html[data-g-knopf="akzent"] .elementor-widget-gt3-core-button a:not(.g-kachelknopf) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: var(--g-blau) !important;
}
/* Hover im Hellblau: Die gemeinsame Regel machte die Schrift weiss auf
 * #43b1e7 (2,4:1) und unterstrich sie; "weitere Rechtsgebiete" aenderte sich
 * gar nicht. Jetzt kippt der Knopf auf Nachtblau mit weisser Schrift (17:1). */
html[data-g-knopf="akzent"] :is(.elementor-widget-gt3-core-button a:not(.g-kachelknopf), .wpcf7 input[type="submit"], .schenk-blaettern a, .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a, input)):is(:hover, :focus-visible) {
  background-color: var(--g-blau) !important; border-color: var(--g-blau) !important; color: #fff !important; text-decoration: none !important;
}
html[data-g-knopf="akzent"] .elementor-widget-gt3-core-button a:not(.g-kachelknopf):is(:hover, :focus-visible) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: #fff !important; text-decoration: none !important;
}
/* Auf dunklem Grund waere Nachtblau beim Hover unsichtbar: dort Weiss. */
html[data-g-knopf="akzent"] .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a, input):is(:hover, :focus-visible) {
  background-color: #fff !important; border-color: #fff !important; color: var(--g-blau) !important;
}
html[data-g-knopf="akzent"] .g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel.g-auf-dunkel:is(a):is(:hover, :focus-visible) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: var(--g-blau) !important;
}
/* Kein Knopf wird beim Hover unterstrichen ("Lernen Sie uns kennen" war
 * der einzige). Die Form wechselt die Farbe, das reicht. */
.elementor-widget-gt3-core-button a:is(:hover, :focus-visible),
.elementor-widget-gt3-core-button a:is(:hover, :focus-visible) * { text-decoration: none !important; }
/* Text und Pfeil bleiben nebeneinander; lange Beschriftungen brechen im
 * Text um, nicht zwischen Text und Pfeil. */
.elementor-widget-gt3-core-button .gt3_module_button__cover.front { display: inline-flex !important; align-items: center; gap: 12px; text-align: left; }
.elementor-widget-gt3-core-button .elementor_btn_icon_container { flex: none; }
.elementor-widget-gt3-core-button a { max-width: 100%; }
/* Pfeil im Knopf bewegt sich beim Hover - die Form bleibt ruhig. */
.elementor-widget-gt3-core-button a .elementor_btn_icon_container { transition: transform .2s ease; }
.elementor-widget-gt3-core-button a:hover .elementor_btn_icon_container { transform: translateX(4px); }

/* Abstand: Knoepfe klebten an den Textbloecken darueber (Kontaktformular,
 * Rechtsgebiete). */
.elementor-widget-gt3-core-button { margin-top: 10px; }
.wpcf7 input[type="submit"] { margin-top: 18px !important; }
.wpcf7 .wpcf7-acceptance + p, .wpcf7 p + p { margin-top: .9em; }

/* ------------------------------------------------------------- Karte */
/* Kanzleifarben: sofort ("kanzlei") oder nach dem Klick ("klick"). */
html[data-g-karte="kanzlei"] .elementor-widget-google_maps iframe,
html[data-g-karte="kanzlei"] .elementor-custom-embed iframe,
html[data-g-karte="klick"] .elementor-widget-google_maps iframe,
html[data-g-karte="klick"] .elementor-custom-embed iframe {
  filter: grayscale(1) sepia(.35) hue-rotate(178deg) saturate(1.6) brightness(.96) contrast(1.05) !important;
}
html[data-g-karte="aus"] .elementor-widget-google_maps { display: none !important; }
.g-karte-platzhalter {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  min-height: 320px; height: 100%; padding: 32px; text-align: center;
  background: linear-gradient(135deg, #0b2a4a, #16406e); color: #fff;
}
.g-karte-platzhalter strong { font-family: var(--g-serif); font-size: 22px; font-weight: 400; }
.g-karte-platzhalter p { margin: 0; max-width: 34em; font-size: 15px; line-height: 1.5; opacity: .9; }
.g-karte-platzhalter button {
  font: inherit; font-weight: 600; cursor: pointer; padding: 12px 22px; border: 0; border-radius: var(--g-radius);
  background: #fff; color: var(--g-blau); transition: background-color .15s ease;
}
/* "Karte laden" aenderte sich beim Hover nicht. */
.g-karte-platzhalter button:is(:hover, :focus-visible) { background: #dcebf8; }
.g-karte-platzhalter a { color: #fff; text-decoration: underline; }

/* ------------------------------------------------------------ Fusszeile */
#footer .widget ul li { line-height: 1.4 !important; margin-bottom: 7px !important; }
#footer .widget ul li a { display: inline-block; padding: 2px 0; }
#footer .widget-title, #footer .widgettitle { letter-spacing: .06em !important; margin-bottom: 14px !important; }
/* Ein verwaister "Weiterlesen"-Verweis unter der Liste "Rechtsanwalt fuer"
 * (WordPress-Block ohne Bezug). */
#footer #block-2 .wp-block-read-more { display: none !important; }

/* Kopf "wie bisher" (kopf=original): Der Scroll-Kopf hat dann wie in A dunkle
 * Schrift. Das Handymenue-Modul faerbt den Kopf am Tablet/Telefon aber
 * nachtblau (menue-kopf) - im Scroll-Kopf stand Schrift 1:1 auf Nachtblau. */
@media (max-width: 1200px) {
  html[data-g-kopf="original"] .sticky_header.sticky_on :is([class*="__mobile"], [class*="__tablet"]) .gt3_header_builder__section-container { background-color: #fff !important; }
}

/* Versalien gelten fuer das Kopfmenue am Rechner. Im Handymenue trafen sie mit
 * 13 px - dort bleibt die Groesse des Handymenues, nur in Versalien. */
html[data-g-versal="ja"] .gt3_header_builder .mobile_menu_container .menu > li > a,
html[data-g-versal="ja"] .mobile_menu_container .gt3_header_builder_menu_component .menu > li > a { font-size: 17px !important; letter-spacing: .06em; }

/* ------------------------------------------------- Umbrueche (Jonas 13.10.)
 * "optimiere alle umbrueche nochmal semantisch": Ueberschriften ausgewogen,
 * Fliesstext ohne einzelnes Wort in der letzten Zeile (wo der Browser es
 * kann). Satzanfaenge haengt feinschliff.mjs per geschuetztem Leerzeichen an
 * das Folgewort ("Haben&nbsp;Sie"), damit kein neuer Satz mit einem
 * einzelnen Wort am Zeilenende beginnt. */
:is(h1, h2, h3, h4, .elementor-heading-title, .schenk-k__titel) { text-wrap: balance; }
:is(p, li, figcaption, .schenk-k__anriss) { text-wrap: pretty; }

/* ===== 15-inhalt.css ===== */
/* =====================================================================
 * 15-inhalt.css - Seiten ohne eigenen Seitentyp (Grundsystem)
 * /faqs/, /ebay/, /amazon/, /fb-datenschutz/, /bilder-karten-stadtplaene/,
 * /inhalt/ u. a.: WordPress-Seiten, deren Text direkt in section#main_content
 * steht (kein Elementor, kein Beitrag).
 * ===================================================================== */

/* Ein Fliesstext, eine Groesse. Die Absaetze hatten 16 px, die Texte in den
 * nummerierten Listen 15 px mit anderer Zeilenhoehe (/faqs/: zwei Groessen
 * untereinander). Und "Schrift +10 %" erreichte diese Seiten gar nicht. */
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > :is(p, ul, ol),
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > :is(ul, ol) > li,
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > :is(ul, ol) > li p {
  font-size: calc(16px * var(--g-z, 1)) !important;
  line-height: var(--g-lh, 1.65) !important;
  letter-spacing: var(--g-ls, 0);
}
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > :is(p, ul, ol) { max-width: 44em; }

/* Nummerierte Listen: Die Nummer stand allein in einer Zeile ueber dem
 * Eintrag (Theme: inline-block vor einem Absatz). Jetzt haengend links. */
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > ol > li {
  position: relative; padding-left: 2.1em !important; margin-bottom: 1.1em;
}
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > ol > li::before {
  position: absolute; left: 0; top: 0; margin: 0 !important;
  font-family: var(--g-serif); font-size: inherit !important; line-height: var(--g-lh, 1.65);
  font-weight: 400; color: var(--g-akzent);
}
body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > ol > li > p:first-child { margin-top: 0; }
@media (max-width: 767px) {
  body.page:not(.g-rg):not(.sp-seite):not(.g-kontakt):not(.g-recht) .content-container > section#main_content > ol > li { padding-left: 1.6em !important; }
}

/* Datum hinter Beitragslinks (A: 13 px) - am Telefon mindestens 15 px. */
@media (max-width: 767px) {
  .schenk-thema li span[style*="font-size:13px"], .schenk-aehnlich li span[style*="font-size:13px"],
  .schenk-thema p[style*="font-size:14px"] { font-size: 15px !important; }
}

/* ------------------------------------------- Sonderseiten: Beitraege als Karten
 * Modul tools/lib/gestaltung/themen.mjs. In der Textspalte ist fuer drei
 * Karten kein Platz - zwei nebeneinander, am Telefon eine. */
.g-sonder .g-sonder-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 6px 0 30px; }
@media (max-width: 1023px) { .g-sonder .g-sonder-raster { grid-template-columns: 1fr; gap: 18px; } }
html:not([data-g-themen-karten="original"]) .g-sonder .schenk-thema li.g-sonder-k { display: none !important; }
html:not([data-g-themen-karten="original"]) .g-sonder .schenk-thema:not(.g-sonder-offen) li.g-sonder-spaeter { display: none !important; }
html[data-g-themen-karten="original"] .g-sonder :is(.g-sonder-raster, .g-sonder-knopf) { display: none !important; }
.g-sonder .g-sonder-knopf {
  display: inline-flex; align-items: center; gap: 10px; margin: 8px 0 0; padding: 13px 22px;
  border: 0; border-radius: var(--g-radius, 3px); cursor: pointer;
  font: 600 calc(15px * var(--g-z, 1))/1.2 var(--g-sans); letter-spacing: .02em;
  background: var(--g-kanzleiblau, #0b2a4a); color: #fff;
}
.g-sonder .g-sonder-knopf:is(:hover, :focus-visible) { background: var(--g-akzent, #2f5aa8); color: #fff; }
.g-sonder .g-sonder-knopf:focus-visible { outline: 3px solid var(--g-hellblau, #43b1e7); outline-offset: 3px; }

/* Brotkrumen im Seitenkopf: am Telefon 14 px - mindestens 15 px. */
@media (max-width: 767px) {
  .breadcrumbs, .breadcrumbs a, .breadcrumbs span { font-size: 15px !important; }
}

/* Formular (Startseite und alle anderen ausser /kontakt/, das eigene Regeln
 * hat): Das schwebende Feldlabel schrumpfte beim Tippen auf 12 px. */
html body .wpcf7-form .label.gt3_onfocus { font-size: 14px !important; top: -22px !important; }

/* ===== 20-start.css ===== */
/**
 * Gestaltung B - Startseite (Elementor-Seite 4608)
 *
 * Abschnitte: 5d9226b0 Kopf, 8ff8246 + 2d050dd blaue Kacheln, 51472fe
 * Rechtsgebiete, e27f35b Unsere Anwaelte, e2591c8 Kontakt mit Karte.
 */

/* ----------------------------------------------------------- Reihenfolge
 * Jonas: "der abschnitt unsere anwälte auf der homepage könnte vor
 * rechtsgebiete kommen. wir haben darüber ja die 6 kacheln".
 * gestaltung.js verschiebt den Abschnitt zusaetzlich im DOM, damit die
 * Tastatur dieselbe Reihenfolge geht wie das Auge. */
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 { display: flex; flex-direction: column; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > * { order: 10; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-5d9226b0 { order: 1; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-8ff8246 { order: 2; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-d3b6b99 { order: 3; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-2d050dd { order: 4; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-e27f35b { order: 5; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-51472fe { order: 6; }
html[data-g-reihenfolge="anwaelte-zuerst"] .elementor-4608 > .elementor-element-e2591c8 { order: 7; }

/* Leere Sektion zwischen den Kachelreihen: ein weisser Haarstrich ueber die
 * ganze Breite. */
.elementor-4608 > .elementor-element-d3b6b99 { display: none !important; }

/* ------------------------------------------------------------ Startbild
 * Tablet: Die weisse H1 lief quer ueber Stephans Gesicht (Hintergrund auf
 * 67 %). Jetzt steht das Gesicht in der rechten Haelfte, ein Verlauf von
 * links traegt den Text, und der Text hat dieselbe 20-px-Kante wie Kopf und
 * Kacheln. Telefon: Stephan fehlte ganz (Ausschnitt 0 0 = unscharfer Flur).
 * Jetzt das Portraet als Bildband oben, der Text auf Nachtblau darunter. */
@media (min-width: 768px) and (max-width: 1199px) {
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element.elementor-element-5d9226b0:not(.elementor-motion-effects-element-type-background) {
    background-position: 30% 22% !important; position: relative;
  }
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element-5d9226b0::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(5, 28, 44, .82) 0%, rgba(5, 28, 44, .62) 34%, rgba(5, 28, 44, 0) 58%);
  }
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element-5d9226b0 > .elementor-container { position: relative; z-index: 1; }
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element-69bd35de > .elementor-widget-wrap { padding-left: 20px !important; padding-right: 12px !important; }
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element-69bd35de > .elementor-widget-wrap > .elementor-element { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 767px) {
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element.elementor-element-5d9226b0:not(.elementor-motion-effects-element-type-background) {
    background-color: var(--g-blau) !important; background-size: auto 100vw !important; background-position: 60% 0 !important;
    padding-top: calc(82vw - 26px) !important; position: relative;
  }
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element-5d9226b0::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(100vw + 2px); pointer-events: none;
    background: linear-gradient(180deg, rgba(5, 28, 44, 0) 0, rgba(5, 28, 44, 0) calc(82vw - 96px), rgba(5, 28, 44, .88) calc(82vw - 30px), var(--g-blau) calc(82vw - 6px));
  }
  html:not([data-g-startbild="original"]) .elementor-4608 .elementor-element-5d9226b0 > .elementor-container { position: relative; z-index: 1; }
  html:not([data-g-startbild="original"]) .elementor-4608 :is(.elementor-element-a0ab4fc, .elementor-element-313e6741) { display: none !important; }
}

/* --------------------------------------------------------- Blaue Kacheln */
/* Vier Blautoene nebeneinander (#253b77, #253365, #24377b, #3f5698), drei
 * davon fast gleich, das gesaettigte Elementor-Blau biss sich mit dem
 * Nachtblau im Kopf. Jetzt ein Schachbrett aus Kanzleiblau und einem
 * helleren Kanzleiblau (Weiss darauf 14:1 und 10,5:1). */
html:not([data-g-kachelfarben="original"]) .elementor-4608 :is(.elementor-element-b86bf5f, .elementor-element-f688819, .elementor-element-50e20d5) > .elementor-widget-wrap[class] { background-color: var(--g-kanzleiblau) !important; }
html:not([data-g-kachelfarben="original"]) .elementor-4608 :is(.elementor-element-5487e3f, .elementor-element-0a30127, .elementor-element-0ca1fd3) > .elementor-widget-wrap[class] { background-color: #16406e !important; }

/* Ueberschriften: 47 px Zeilenabstand bei 28 px Schrift (1,68) - zweizeilige
 * Titel zerfielen in zwei Zeilen ohne Bezug. */
:is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-heading-title { line-height: 1.22 !important; text-wrap: balance; }

/* Aufzaehlung buendig: Der Punkt steht genau unter dem Anfang der
 * Ueberschrift, der Text haengt sauber dahinter. */
html[data-g-kachelliste="buendig"] :is(.elementor-element-8ff8246, .elementor-element-2d050dd) ul.gt3_styled_list {
  padding-left: 1.05em !important; margin-left: 0 !important;
}
html[data-g-kachelliste="buendig"] :is(.elementor-element-8ff8246, .elementor-element-2d050dd) ul.gt3_styled_list li { padding-left: .35em; }
/* Linie unter der Ueberschrift: laenger und kraeftiger. */
:is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-divider-separator {
  width: 84px !important; border-top-width: 2px !important; border-top-color: rgba(255,255,255,.55) !important;
}
/* Knopf in der Kachel: ueber die volle Spaltenbreite, Pfeil rechts. Vorher
 * sechs Breiten und zwei Hoehen, die Oberkanten sprangen je Reihe um 23 px. */
html[data-g-kachelknopf="knopf"] a.g-kachelknopf {
  display: flex !important; align-items: center; width: 100%; max-width: 420px; box-sizing: border-box;
  padding: 14px 22px !important; border-radius: var(--g-radius);
  background: #fff !important; border: 1px solid #fff !important;
}
html[data-g-kachelknopf="knopf"] a.g-kachelknopf .gt3_module_button__container { display: block; width: 100%; }
html[data-g-kachelknopf="knopf"] .elementor-widget-gt3-core-button a.g-kachelknopf .gt3_module_button__cover.front { display: flex !important; width: 100%; justify-content: space-between; gap: 16px; }
@media (min-width: 768px) {
  html[data-g-kachelknopf="knopf"] a.g-kachelknopf { min-height: 78px; }
}
html[data-g-kachelknopf="knopf"] a.g-kachelknopf :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: var(--g-blau) !important; text-decoration: none !important;
}
html[data-g-kachelknopf="knopf"] a.g-kachelknopf:is(:hover, :focus-visible) { background: #dcebf8 !important; border-color: #dcebf8 !important; }
/* Schrift beim Hover dunkel lassen - die gemeinsame Hover-Regel machte sie
 * weiss auf Hellblau, 1,22:1 (Gegenpruefung knopf-1). */
html[data-g-kachelknopf="knopf"] .elementor-4608 .elementor-top-column[data-settings*="background_background"] .elementor-widget-gt3-core-button a.g-kachelknopf:is(:hover, :focus-visible) :is(.elementor_gt3_btn_text, .elementor_gt3_btn_icon, .gt3_icon_default) {
  color: var(--g-blau) !important; text-decoration: none !important;
}
html[data-g-kachelknopf="linie"] a.g-kachelknopf { padding: 0 0 6px !important; border: 0 !important; border-bottom: 2px solid rgba(255,255,255,.75) !important; border-radius: 0; }
html[data-g-kachelknopf="linie"] a.g-kachelknopf:is(:hover, :focus-visible) { border-bottom-color: #fff !important; }
html[data-g-kachelknopf="linie"] a.g-kachelknopf .elementor_gt3_btn_text { font-weight: 600 !important; letter-spacing: .02em; }
/* Knoepfe einer Kachelreihe auf einer Linie: Die Spalte wird zur Saeule,
 * der Knopf rutscht nach unten. */
:is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-top-column > .elementor-widget-wrap { display: flex; flex-direction: column; flex-wrap: nowrap; }
:is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-top-column > .elementor-widget-wrap > .elementor-widget { width: 100%; }
:is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-widget-gt3-core-button { margin-top: auto !important; padding-top: 18px; }

/* Tablet (768-1024 px). Drei Kacheln mit 256 px zerteilten Ueberschriften
 * und Listen ("Markenan-meldung", "telefoni-sche"). Zwei Spalten; die dritte
 * Kachel jeder Reihe liegt quer ueber die volle Breite, ihre Liste in zwei
 * Spalten. Ohne Silbentrennung. Regler tabletraster=original: drei Spalten. */
@media (min-width: 768px) and (max-width: 1024px) {
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container { flex-wrap: wrap; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container > .elementor-column { width: 50% !important; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container > .elementor-column:nth-child(3) { width: 100% !important; }
  /* Mit zwei Farben im Schachbrett beruehrt die quer liegende Kachel immer eine
   * gleichfarbige - sie verschmolzen zu L-Flaechen. 4 px Fuge trennen sie. */
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container { gap: 4px; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container > .elementor-column:not(:nth-child(3)) { width: calc(50% - 2px) !important; }
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-2d050dd { margin-top: 4px !important; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 36px 28px 32px !important; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-heading-title { -webkit-hyphens: manual; hyphens: manual; font-size: 24px !important; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) ul.gt3_styled_list li { -webkit-hyphens: manual; hyphens: manual; font-size: 16px; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container > .elementor-column:nth-child(3) ul.gt3_styled_list { column-count: 2; column-gap: 40px; }
  html:not([data-g-tabletraster="original"]) :is(.elementor-element-8ff8246, .elementor-element-2d050dd) > .elementor-container > .elementor-column:nth-child(3) ul.gt3_styled_list li { break-inside: avoid; }
  html[data-g-tabletraster="original"] :is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-heading-title { -webkit-hyphens: auto; hyphens: auto; font-size: 21px !important; }
  /* Drei schmale Spalten: "Ersteinschaetzung" plus Pfeil ragte 5 px aus dem Knopf. */
  html[data-g-tabletraster="original"][data-g-kachelknopf="knopf"] a.g-kachelknopf { padding: 12px 12px 12px 16px !important; }
  html[data-g-tabletraster="original"][data-g-kachelknopf="knopf"] .elementor-widget-gt3-core-button a.g-kachelknopf .gt3_module_button__cover.front { gap: 6px; }
}

/* ------------------------------------------------------- Unsere Anwaelte
 * Ueberschrift, dann die Fotos, dann der Text: Die Gesichter sind das
 * Argument, der Text erklaert es. */
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-4ff6b9e > .elementor-widget-wrap { display: flex; flex-direction: column; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-4ff6b9e > .elementor-widget-wrap > * { order: 9; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-5224abf { order: 0 !important; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-9ec9a10 { order: 1 !important; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-0efb50b { order: 2 !important; margin-bottom: 8px !important; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-0efb50b > .elementor-widget-container,
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-0efb50b :is(.module_team, .shortcode_team, .item_list) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
/* Abstaende waren verkehrt verteilt: Der Text klebte 22 px unter den
 * Funktionszeilen, danach 80 px Luft bis zum Knopf. */
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-cd13fe0 { order: 3 !important; max-width: 46em; margin: 40px auto 0 !important; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-cd13fe0 p:last-child { margin-bottom: 0 !important; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-c68d020 { display: none !important; }
html[data-g-anwaeltebild="bilder-oben"] .elementor-4608 .elementor-element-6156135 { order: 5 !important; margin-top: 28px !important; padding-top: 0 !important; }

/* Grund: Mittelgrau #999DA7 wirkte trueb. Ein helles, kuehles Grau mit
 * Kanzleiblau als Schrift - freundlich und 15:1. */
html[data-g-anwaeltefarbe="hell"] .elementor-4608 .elementor-element.elementor-element-e27f35b:not(.elementor-motion-effects-element-type-background),
html[data-g-anwaeltefarbe="hell"] .elementor-4608 .elementor-element.elementor-element-e27f35b > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--g-hell) !important;
}

/* Fotos als Raster statt gefloatet: Am Tablet hakte der Float an Stephans
 * zweizeiliger Bildunterschrift, die Fotos standen als Treppe mit zwei
 * 450-px-Luecken. Rechner 4, Tablet 2 Spalten. */
.elementor-4608 .elementor-element-0efb50b .item_list {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-left: 0 !important; margin-right: 0 !important;
}
.elementor-4608 .elementor-element-0efb50b .item_list::before,
.elementor-4608 .elementor-element-0efb50b .item_list::after { content: none !important; display: none !important; }
.elementor-4608 .elementor-element-0efb50b .item_list > li { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-4608 .elementor-element-0efb50b .item_list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
}
/* Telefon: 2 x 2 statt vier Fotos in voller Breite (rund 1000 px weniger
 * Scrollweg, alle Gesichter auf einen Blick). Bei "original" untereinander,
 * aber mit Luft: Die Funktionszeile klebte 7 px ueber dem naechsten Foto. */
@media (max-width: 767px) {
  html:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b .item_list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  /* Fotos im Seitenverhaeltnis der Portraets statt 350 px fest (sonst
   * schmale, hohe Streifen). */
  html:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b :is(.team_img, .team_image_cover) { height: auto !important; aspect-ratio: 540 / 654; }
  html:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b .team_title__text a { padding: 4px 0 !important; }
  html[data-g-anwaeltemobil="original"] .elementor-4608 .elementor-element-0efb50b .item_list { grid-template-columns: minmax(0, 1fr); row-gap: 44px; }
}

/* Namen an den Fotos: Das Theme blendet sie erst beim Darueberfahren ein. */
html[data-g-namen="ja"] .elementor-4608 .elementor-element-0efb50b .team-infobox {
  position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important;
  background: none !important; padding: 14px 4px 0 !important; text-align: center;
}
html[data-g-namen="ja"] .elementor-4608 .elementor-element-0efb50b .team_title { opacity: 1 !important; transform: none !important; }
html[data-g-namen="ja"] .elementor-4608 .elementor-element-0efb50b .team_title__text,
html[data-g-namen="ja"] .elementor-4608 .elementor-element-0efb50b .team_title__text a {
  font-family: var(--g-serif) !important; font-size: 19px !important; line-height: 1.3 !important; color: var(--g-blau) !important;
  text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 4px !important;
}
html[data-g-namen="ja"] .elementor-4608 .elementor-element-0efb50b .team-positions {
  font-size: 14px !important; line-height: 1.4 !important; color: var(--g-text-leise) !important; opacity: 1 !important;
}
html[data-g-namen="ja"] .elementor-4608 .elementor-element-0efb50b :is(.team_info, .team-icons, .gt3_single_team_info) { display: none !important; }
/* "kontakt": wie "ja", dazu Mail und Telefon sichtbar unter dem Namen. */
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b .team-infobox {
  position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important;
  background: none !important; padding: 14px 4px 0 !important; text-align: center;
}
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b :is(.team_title, .gt3_single_team_info, .gt3_single_team_info *) { opacity: 1 !important; transform: none !important; visibility: visible !important; }
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b .team_title__text,
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b .team_title__text a { font-family: var(--g-serif) !important; font-size: 19px !important; color: var(--g-blau) !important; }
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b :is(.team-positions, .gt3_single_team_info, .gt3_single_team_info a, .gt3_single_team_info span, .gt3_single_team_info h4) { color: var(--g-text-leise) !important; font-size: 14px !important; }
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b .gt3_single_team_info { margin-top: 8px; }
html[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b .gt3_single_team_info__item { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 6px; margin-bottom: 2px !important; }
/* Telefon: nichts unter 15 px; im 2er-Raster Namen etwas kleiner. */
@media (max-width: 767px) {
  html:is([data-g-namen="ja"], [data-g-namen="kontakt"]) .elementor-4608 .elementor-element-0efb50b :is(.team-positions, .gt3_single_team_info, .gt3_single_team_info a, .gt3_single_team_info span, .gt3_single_team_info h4) { font-size: 15px !important; }
  html:is([data-g-namen="ja"], [data-g-namen="kontakt"]) .elementor-4608 .elementor-element-0efb50b .team-infobox { padding: 12px 0 0 !important; }
  html:not([data-g-anwaeltemobil="original"]):is([data-g-namen="ja"], [data-g-namen="kontakt"]) .elementor-4608 .elementor-element-0efb50b :is(.team_title__text, .team_title__text a) { font-size: 17px !important; }
  html:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b :is(.team-positions, .gt3_single_team_info) { -webkit-hyphens: manual; hyphens: manual; overflow-wrap: break-word; }
  /* Im 2er-Raster ist die Mailadresse zu breit fuer die halbe Spalte. */
  html:not([data-g-anwaeltemobil="original"])[data-g-namen="kontakt"] .elementor-4608 .elementor-element-0efb50b .gt3_single_team_info a { overflow-wrap: anywhere; }
}

/* ------------------------------------------------------- Rechtsgebiete
 * Jonas: "weiße kacheln auf hellgrau, sinnfrei. icons können größer
 * überschriften da auch." */
html:not([data-g-karten="original"]) .elementor-4608 .elementor-element.elementor-element-51472fe:not(.elementor-motion-effects-element-type-background) {
  background-color: #fff !important;
}
html:not([data-g-karten="original"]) .elementor-4608 .elementor-widget-gt3-core-imagebox > .elementor-widget-container {
  background: transparent !important; box-shadow: none !important; border: 0 !important;
}
html[data-g-karten="linie"] .elementor-4608 .elementor-widget-gt3-core-imagebox > .elementor-widget-container {
  border-top: 2px solid var(--g-akzent) !important; padding-top: 28px !important;
}
html[data-g-karten="schatten"] .elementor-4608 .elementor-widget-gt3-core-imagebox > .elementor-widget-container {
  background: #fff !important; box-shadow: 0 10px 30px rgba(5, 28, 44, .09) !important; border-radius: 6px;
}
html[data-g-karten="schatten"] .elementor-4608 .elementor-element.elementor-element-51472fe:not(.elementor-motion-effects-element-type-background) { background-color: #f5f7f9 !important; }
html[data-g-icon="56"] { --g-icon: 56px; }
html[data-g-icon="88"] { --g-icon: 88px; }
.gt3-core-imagebox-img img { width: var(--g-icon) !important; height: var(--g-icon) !important; object-fit: contain; max-width: none !important; }
/* Die Rahmen um die Icons waren je Karte fest eingestellt: 39, 40, 24 px,
 * der Abstand Icon -> Titel 8, 14 oder 18 px - die Titel einer Reihe
 * standen auf drei Hoehen. */
.elementor-element .gt3-core-imagebox-wrapper .gt3-core-imagebox-img[class] { width: var(--g-icon) !important; max-width: var(--g-icon) !important; margin: 0 auto 6px !important; }
html .elementor-4608 .elementor-element.elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper figure.gt3-core-imagebox-img[class] { margin-bottom: 8px !important; }
.elementor-element .gt3-core-imagebox-wrapper .gt3-core-imagebox-img a { display: block; }
html:not([data-g-karten="original"]) .elementor-4608 h4.gt3-core-imagebox-title,
html:not([data-g-karten="original"]) .elementor-4608 h4.gt3-core-imagebox-title a { font-size: 24px !important; line-height: 1.3 !important; }
html:not([data-g-karten="original"]) .elementor-4608 .gt3-core-imagebox-title { margin: 14px 0 8px !important; }
/* Icons in Kanzleifarbe: Die PNGs sind Koenigsblau (#1d40ca-artig) und
 * bissen sich mit Nachtblau und Kanzleiblau. gestaltung.js legt jedes Icon
 * als Maske an, die Farbe kommt von hier. */
html:not([data-g-iconfarbe="original"]) .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-img a[style*="--g-icon-url"] {
  background-color: var(--g-akzent); transition: background-color .15s ease;
  -webkit-mask: var(--g-icon-url) center / contain no-repeat; mask: var(--g-icon-url) center / contain no-repeat;
}
html:not([data-g-iconfarbe="original"]) .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-img a[style*="--g-icon-url"] img { opacity: 0; }
html:not([data-g-iconfarbe="original"]) .elementor-4608 .elementor-element-51472fe .elementor-widget-gt3-core-imagebox:hover .gt3-core-imagebox-img a[style*="--g-icon-url"] { background-color: var(--g-blau); }
html[data-g-iconfarbe="kanzleiblau"] .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-img a[style*="--g-icon-url"] { background-color: var(--g-kanzleiblau); }
html[data-g-iconfarbe="kanzleiblau"] .elementor-4608 .elementor-element-51472fe .elementor-widget-gt3-core-imagebox:hover .gt3-core-imagebox-img a[style*="--g-icon-url"] { background-color: var(--g-akzent); }

/* Keine Trennstriche in Titeln und Beschreibungen ("Wettbe-werbsrecht",
 * "verfol-gen"); der gemeinsame Stilblock schaltete sie fuer alle Bildboxen
 * ein. */
.elementor-4608 .elementor-element-51472fe :is(.gt3-core-imagebox-wrapper, .gt3-core-imagebox-title, .gt3-core-imagebox-title a, .gt3-core-imagebox-description) {
  -webkit-hyphens: manual !important; hyphens: manual !important;
}
@media (min-width: 1025px) {
  .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-description { text-wrap: pretty; }
}

/* Ueberschriften der Abschnitte: "UNSERE ANWAELTE" in Nachtblau,
 * "RECHTSGEBIETE" in Akzentblau - jetzt beide gleich. */
.elementor-4608 :is(.elementor-element-9ec9a10, .elementor-element-687e849) .elementor-heading-title {
  color: var(--g-blau) !important; font-size: 28px !important; line-height: 1.25 !important; letter-spacing: .03em !important;
}
/* Einleitung: am Rechner 150 Zeichen je Zeile ueber 1070 px. */
.elementor-4608 .elementor-element-51472fe .elementor-element-0517fe5 > .elementor-widget-wrap > .elementor-widget-text-editor { max-width: 46em; margin-left: auto !important; margin-right: auto !important; }

/* Tablet: zwei Spalten statt drei (Titel trennten mitten im Wort, Titel einer
 * Reihe auf verschiedenen Hoehen). Die neunte Box steht mittig. */
@media (min-width: 768px) and (max-width: 1024px) {
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-0517fe5 > .elementor-widget-wrap > .elementor-section.elementor-inner-section,
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-0517fe5 > .elementor-widget-wrap > .elementor-section.elementor-inner-section > .elementor-container { display: contents !important; }
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-0517fe5 > .elementor-widget-wrap > .elementor-inner-section .elementor-inner-column { width: 50% !important; }
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-0517fe5 > .elementor-widget-wrap > .elementor-inner-section.elementor-element-df79ab4 .elementor-inner-column:last-child { margin: 0 auto; }
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-51472fe h4.gt3-core-imagebox-title,
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-51472fe h4.gt3-core-imagebox-title a { font-size: 22px !important; }
  html:not([data-g-tabletraster="original"]) .elementor-4608 .elementor-element-51472fe .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 28px 28px 24px !important; }
}

/* Telefon: Das Icon nahm 70 px plus Abstand neben dem Text ein, fuer den
 * Text blieben 187 px - Trennstriche in fast jeder Zeile. Jetzt das Icon
 * klein ueber dem Titel, linksbuendig, Text in voller Breite. */
@media (max-width: 767px) {
  .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-wrapper.elementor-image_icon-position-default { display: block !important; text-align: left !important; }
  .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-wrapper .gt3-core-imagebox-img[class] { width: 56px !important; max-width: 56px !important; margin: 0 0 12px !important; }
  html .elementor-4608 .elementor-element.elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper figure.gt3-core-imagebox-img[class] { margin: 0 0 12px !important; }
  .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-wrapper .gt3-core-imagebox-img img { width: 56px !important; height: 56px !important; }
  .elementor-4608 .elementor-element-51472fe .gt3-core-imagebox-content { text-align: left !important; }
  .elementor-4608 .elementor-element-51472fe .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 24px 0 !important; }
  html:not([data-g-karten="original"]) .elementor-4608 h4.gt3-core-imagebox-title,
  html:not([data-g-karten="original"]) .elementor-4608 h4.gt3-core-imagebox-title a { font-size: 22px !important; }
  html:not([data-g-karten="original"]) .elementor-4608 .gt3-core-imagebox-title { margin: 0 0 6px !important; }
  html[data-g-karten="schatten"] .elementor-4608 .elementor-element-51472fe .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 24px 20px !important; }
  /* Anwaelte: 76 px Luft ueber der Ueberschrift, 85 px unter dem Knopf. */
  .elementor-4608 .elementor-element-e27f35b :is(.elementor-element-5224abf, .elementor-element-3dce833) { display: none !important; }
  .elementor-4608 .elementor-element-4ff6b9e > .elementor-widget-wrap { padding-top: 48px !important; padding-bottom: 52px !important; }
  /* Laengere Absaetze nicht mehr zentriert (flatternd auf beiden Seiten);
   * die Knoepfe darunter stehen an derselben linken Kante. */
  .elementor-4608 :is(.elementor-element-6156135, .elementor-element-ca800ef) :is(.elementor-widget-container, .gt3_module_button_elementor) { text-align: left !important; }
  .elementor-4608 :is(.elementor-element-cd13fe0, .elementor-element-51472fe .elementor-element-0517fe5 > .elementor-widget-wrap > .elementor-widget-text-editor) :is(p, .elementor-widget-container) { text-align: left !important; }
}

/* -------------------------------------------------------- Kontaktblock */
html[data-g-kontaktfarbe="kanzleiblau"] .elementor-4608 .elementor-element-e2591c8 .elementor-top-column > .elementor-widget-wrap[class] { background-color: var(--g-kanzleiblau) !important; }
html[data-g-kontaktfarbe="nachtblau"] .elementor-4608 .elementor-element-e2591c8 .elementor-top-column > .elementor-widget-wrap[class] { background-color: var(--g-blau) !important; }
/* Hell: beide Spalten hell (vorher links Hellgrau, rechts Weiss), dunkle
 * Schrift - aber nicht im Absendeknopf: Der war Nachtblau auf Nachtblau. */
html[data-g-kontaktfarbe="hell"] .elementor-4608 .elementor-element-e2591c8 .elementor-top-column > .elementor-widget-wrap[class] { background-color: var(--g-hell) !important; }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .elementor-element-e2591c8 .elementor-top-column:first-child :is(h1, h2, h3, h4, p, label, span, a, .wpcf7-list-item-label, input, textarea):not([type="submit"]) { color: var(--g-blau) !important; }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .elementor-element-e2591c8 .elementor-top-column:first-child :is(input, textarea):not([type="submit"]) { border-color: rgba(5, 28, 44, .35) !important; }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .elementor-element-e2591c8 :is(input, textarea)::placeholder { color: #4f5d69 !important; }
html[data-g-kontaktfarbe="hell"]:not([data-g-knopf="kontur"]) .elementor-4608 .elementor-element-e2591c8 .wpcf7 input[type="submit"][type="submit"] { background-color: var(--g-blau) !important; border-color: var(--g-blau) !important; color: #fff !important; }
html[data-g-kontaktfarbe="hell"]:not([data-g-knopf="kontur"]) .elementor-4608 .elementor-element-e2591c8 .wpcf7 input[type="submit"][type="submit"]:is(:hover, :focus-visible) { background-color: var(--g-akzent) !important; border-color: var(--g-akzent) !important; color: #fff !important; }
html[data-g-kontaktfarbe="hell"][data-g-knopf="akzent"] .elementor-4608 .elementor-element-e2591c8 .wpcf7 input[type="submit"][type="submit"] { background-color: var(--g-hellblau) !important; border-color: var(--g-hellblau) !important; color: var(--g-blau) !important; }
html[data-g-kontaktfarbe="hell"][data-g-knopf="akzent"] .elementor-4608 .elementor-element-e2591c8 .wpcf7 input[type="submit"][type="submit"]:is(:hover, :focus-visible) { background-color: var(--g-blau) !important; border-color: var(--g-blau) !important; color: #fff !important; }

/* Luft zwischen Einwilligung und Knopf (klebte aneinander). */
.elementor-element-e2591c8 .wpcf7 .wpcf7-acceptance { display: block; margin-bottom: 12px; }
.elementor-element-e2591c8 .wpcf7 p { margin-bottom: 1em; }
/* Absendeknopf: 50 px fest, 30 px Zeilenhoehe - die Schrift sass 5 bis 6 px
 * zu tief. */
.elementor-element-e2591c8 .wpcf7 input[type="submit"] { margin-top: 22px !important; height: auto !important; min-height: 0 !important; line-height: 1.25 !important; padding: 16px 30px !important; }
@media (max-width: 767px) {
  .elementor-element-e2591c8 .wpcf7 input[type="submit"] { width: 100% !important; }
}

/* Karte: Der Platzhalter (320 px) schwebte in der Mitte der 1000 px hohen
 * Spalte, mit eigenem zweiten Blau. Jetzt fuellt er die Spalte, im selben
 * Grund wie das Formular, getrennt durch eine feine Linie - und wird zur
 * ruhigen Anrufflaeche: die Nummer gross, darunter "Karte laden". */
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .elementor-element-db07587 > .elementor-widget-wrap { align-content: stretch !important; align-items: stretch !important; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .elementor-element-584582c { align-self: stretch; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .elementor-element-584582c:has(.g-karte-platzhalter) > .elementor-widget-container,
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .elementor-element-584582c:has(.g-karte-platzhalter) .elementor-custom-embed { height: 100%; }
/* Grau (bisher): Platzhalter wie vorher, ohne Anrufflaeche. */
html[data-g-kontaktfarbe="original"] .elementor-4608 .g-karte-platzhalter--start .g-karte-tel { display: none !important; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start {
  height: 100%; min-height: 360px; box-sizing: border-box;
  align-items: flex-start; justify-content: center; gap: 0; text-align: left;
  padding: 56px clamp(28px, 7vw, 112px); background: none; color: #fff;
  border-left: 1px solid rgba(255, 255, 255, .16);
}
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start .g-karte-tel { display: flex; flex-direction: column; gap: 6px; margin-bottom: 30px; padding-bottom: 28px; border-bottom: 1px solid rgba(255, 255, 255, .16); width: 100%; max-width: 26em; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start .g-karte-tel__wort { font-size: 15px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .86; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start .g-karte-tel a {
  font-family: var(--g-serif) !important; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.15; letter-spacing: .01em;
  color: #fff; text-decoration: none !important; white-space: nowrap;
}
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start .g-karte-tel a:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: 7px; text-decoration-thickness: 1px !important; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start strong { display: block; font-size: 21px; line-height: 1.3; margin: 0 0 6px; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start p { font-size: 16px; max-width: 30em; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start p + p { margin-top: 14px; opacity: .86; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start button { margin-top: 22px; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start > a { margin-top: 14px; padding: 4px 0; text-underline-offset: 3px; }
html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start > a:is(:hover, :focus-visible) { text-decoration-thickness: 2px; }
/* Hell: dunkle Schrift, Knopf Nachtblau. */
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start { color: var(--g-blau); border-left-color: rgba(5, 28, 44, .14); }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start .g-karte-tel a,
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start > a { color: var(--g-blau) !important; }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start .g-karte-tel { border-bottom-color: rgba(5, 28, 44, .14); }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start p { color: var(--g-text); }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start button { background: var(--g-blau); color: #fff; }
html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start button:is(:hover, :focus-visible) { background: var(--g-akzent); }

/* Tablet: Das Formular steckte in einer 264 px schmalen Spalte neben der
 * Karte. Jetzt untereinander. Telefon: Die Nummer steht direkt darunter in
 * der Fusszeile - im Platzhalter nicht doppelt. */
@media (max-width: 1024px) {
  .elementor-4608 .elementor-element-e2591c8 > .elementor-container { flex-wrap: wrap; }
  .elementor-4608 .elementor-element-e2591c8 > .elementor-container > .elementor-column { width: 100% !important; }
  .elementor-4608 .elementor-element-e2591c8 .elementor-element-c1fb958 > .elementor-container { max-width: 100% !important; }
  .elementor-4608 .elementor-element-e2591c8 .elementor-element-17aa706 { width: 100% !important; }
  .elementor-4608 .elementor-element-e2591c8 .elementor-element-e153a59 > .elementor-widget-wrap { padding: 0 !important; }
  .elementor-4608 .elementor-element-e2591c8 .elementor-element-c1fb958 { padding: 0 !important; width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .elementor-4608 .elementor-element-e2591c8 :is(.elementor-element-f7848c4, .elementor-element-9985de9) { display: none !important; }
  .elementor-4608 .elementor-element-e2591c8 .elementor-element-17aa706 > .elementor-widget-wrap { padding: 52px 30px 44px !important; }
  html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .16); min-height: 0; padding: 44px 30px 52px; }
  html[data-g-kontaktfarbe="hell"] .elementor-4608 .g-karte-platzhalter--start { border-top-color: rgba(5, 28, 44, .14); }
}
@media (max-width: 767px) {
  .elementor-4608 .elementor-element-e2591c8 .elementor-element-17aa706 > .elementor-widget-wrap { padding: 44px 20px 36px !important; }
  html:not([data-g-kontaktfarbe="original"]) .elementor-4608 .g-karte-platzhalter--start { padding: 36px 20px 44px; }
  .elementor-4608 .g-karte-platzhalter--start .g-karte-tel { display: none !important; }
}

/* 1025-1199 px (iPad quer, kleine Laptops): "Markenanmeldung" passte in 28 px
 * nicht in die Kachel und brach ohne Strich mitten im Wort ("Markenanmeldun|g"). */
@media (min-width: 1025px) and (max-width: 1199px) {
  :is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-heading-title { font-size: 23px !important; overflow-wrap: normal !important; -webkit-hyphens: auto; hyphens: auto; }
}

/* Kontaktblock 1025-1199 px: Ueberschrift, Felder und Knopf standen 10 px vom
 * Fensterrand (Logo: 24 px). Gleiche Kante wie der Kopf. */
@media (min-width: 1025px) and (max-width: 1199px) {
  .elementor-4608 .elementor-element-17aa706 > .elementor-widget-wrap { padding-left: var(--g-kopfrand, 24px) !important; padding-right: 24px !important; }
}

/* Jonas, 13.10.2026: "Versicherung zahlt nicht?" / "Wir helfen!" - genau zwei
 * Zeilen. Die erste Zeile passt bei 28 px erst ab ~1500 px in die Kachel;
 * darunter wachsen die Ueberschriften aller drei Kacheln mit der Breite
 * (gemessen: Platz/Bedarf 0,80 bei 1200, 0,96 bei 1440, 0,94 am Telefon). */
@media (min-width: 1200px) {
  :is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-heading-title { font-size: min(28px, 1.8vw) !important; }
}
@media (min-width: 1025px) and (max-width: 1199px) {
  :is(.elementor-element-8ff8246, .elementor-element-2d050dd) .elementor-heading-title { font-size: 1.8vw !important; }
}
@media (max-width: 767px) {
  /* hoehere Spezifitaet: die allgemeine Telefonregel fuer h2 (clamp 24-30 px) gewann sonst */
  html :is(.elementor-element-8ff8246, .elementor-element-2d050dd) h2.elementor-heading-title { font-size: min(28px, 6.5vw) !important; }
}

/* Fuenf Koepfe (Jonas 13.10.2026, Modul start.mjs): Rechner eine Reihe,
 * Tablet 3 + 2, Telefon 2 + 2 + 1 - die letzte Reihe jeweils mittig.
 * Fotos im Seitenverhaeltnis der Portraets (sonst schmale hohe Streifen). */
html[data-g-anwaeltezahl="original"] .elementor-4608 .elementor-element-0efb50b .g-start-fuenfter { display: none !important; }
html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b :is(.team_img, .team_image_cover) { height: auto !important; aspect-ratio: 540 / 654; }
html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b .team_image_cover { display: block; background-size: cover; background-position: center top; }
@media (min-width: 1025px) {
  html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b .item_list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1024px) {
  html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b .item_list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b .item_list > li { grid-column: span 2; }
  html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b .item_list > li:nth-child(4) { grid-column: 2 / span 2; }
  html[data-g-anwaeltezahl="fuenf"] .elementor-4608 .elementor-element-0efb50b .item_list > li:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 767px) {
  html[data-g-anwaeltezahl="fuenf"]:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b .item_list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-g-anwaeltezahl="fuenf"]:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b .item_list > li { grid-column: span 2; }
  html[data-g-anwaeltezahl="fuenf"]:not([data-g-anwaeltemobil="original"]) .elementor-4608 .elementor-element-0efb50b .item_list > li:nth-child(5) { grid-column: 2 / span 2; }
}

/* ===== 31-anwaelte.css ===== */
/**
 * Gestaltung B - Anwaltsseiten (13.10.2026, zweiter Durchgang nach Kritik)
 *
 *   /unsere-anwaelte/     Elementor-Seite 3134: Kopf 315f0694, "Wer wir sind"
 *                         99b3f31 (Text 624144d, Bildspalte 639d877), Teamkarten b90d56a/f35799f
 *   /anwaelte/            Archiv (body.post-type-archive-team), type2-Liste
 *   /anwaelte/<name>/     Profile (body.single-team): Kopf .gt3_single_team_header,
 *                         Biografie/Fachgebiete a1b2172 (ce9ba2f | f73bf6c),
 *                         "Unsere Anwaelte" .g-anw-kollegen-abschnitt (vom Modul markiert)
 *
 * Neue Bausteine (.g-anw-*) setzt tools/lib/gestaltung/anwaelte.mjs ein; ohne
 * passenden Regler bleiben sie unsichtbar und die Seite sieht aus wie bisher.
 *
 * Gemeinsame Kante: Alle neuen Bausteine stehen auf demselben Raster wie der
 * Profilkopf - 1140 px Inhalt, mittig; Teilung 5:7 (Portraet | Name).
 * Rand: Rechner (100% - 1140px) / 2, mindestens 32 px; Tablet 32 px; Telefon 20 px.
 */

:root {
  --g-anw-linie: #d5dde5;
  --g-anw-rand: max(32px, calc((100vw - 1140px) / 2));
  --g-anw-luecke: clamp(36px, 6vw, 96px);
  --g-anw-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6.5 12 13l8.5-6.5'/%3E%3C/svg%3E");
  --g-anw-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h3.6l1.9 4.8-2.4 1.5a11.5 11.5 0 0 0 6.1 6.1l1.5-2.4 4.8 1.9V19a1.5 1.5 0 0 1-1.6 1.5A16.5 16.5 0 0 1 3.5 5.1 1.5 1.5 0 0 1 5 3.5z'/%3E%3C/svg%3E");
}
@media (max-width: 1024px) { :root { --g-anw-rand: 32px; } }
@media (max-width: 767px) { :root { --g-anw-rand: 20px; } }

/* ================================================================
 * Tippfehler (Regler anw-tippfehler): beide Fassungen stehen im HTML.
 * ================================================================ */
.g-anw-tf, .g-anw-tf > span { margin: 0 !important; padding: 0 !important; }
html body .g-anw-tf > .g-anw-tf__alt { display: none !important; }
html body .g-anw-tf > .g-anw-tf__neu { display: inline !important; }
html[data-g-anw-tippfehler="original"] body .g-anw-tf > .g-anw-tf__alt { display: inline !important; }
html[data-g-anw-tippfehler="original"] body .g-anw-tf > .g-anw-tf__neu { display: none !important; }

/* ================================================================
 * Mail und Telefon - gemeinsam fuer Teamkarten und Profilkopf
 * Die Beschriftungen stehen uneinheitlich in der Datenbank (EMAIL, MAIL).
 * ================================================================ */
html:not([data-g-anw-kontakt="original"]) :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item {
  display: flex !important; align-items: center; gap: 12px; min-width: 0;
  margin: 0 !important; padding: 0 !important; line-height: 1.4 !important;
}
html:not([data-g-anw-kontakt="original"]) :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a {
  display: inline-flex !important; align-items: center; gap: 12px; min-width: 0; padding: 3px 0 !important;
  color: var(--g-blau) !important; text-decoration: none !important;
}
html:not([data-g-anw-kontakt="original"]) :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a span {
  margin: 0 !important; font-weight: 500 !important; line-height: 1.4 !important; overflow-wrap: anywhere;
  color: inherit !important; font-size: inherit !important;
}
html:not([data-g-anw-kontakt="original"]) :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a:is(:hover, :focus-visible) span {
  color: var(--g-akzent) !important; text-decoration: underline; text-underline-offset: .2em;
}
/* Beschriftung aus der Datenbank: nur noch fuer Vorleseprogramme */
html:is([data-g-anw-kontakt="symbole"], [data-g-anw-kontakt="beschriftung"]) :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item h4 {
  position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: 0 !important; padding: 0 !important;
  font-size: 15px !important; /* unsichtbar; nur damit die 15-px-Pruefung bei Zoom nicht anschlaegt */
}
/* Symbole */
html[data-g-anw-kontakt="symbole"] :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a::before {
  content: ""; flex: none; width: 18px; height: 18px; background-color: var(--g-akzent);
  -webkit-mask: var(--g-anw-mail) center / contain no-repeat; mask: var(--g-anw-mail) center / contain no-repeat;
}
html[data-g-anw-kontakt="symbole"] :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a[href^="tel:"]::before {
  -webkit-mask-image: var(--g-anw-tel); mask-image: var(--g-anw-tel);
}
/* Beschriftung, einheitlich: in der Datenbank stand mal EMAIL, mal MAIL.
 * Sichtbar ist jetzt ueberall MAIL und TEL - beide Woerter stehen schon da. */
html[data-g-anw-kontakt="beschriftung"] :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a::before {
  content: "Mail"; flex: none; min-width: 3.6em;
  font-family: var(--g-sans); font-size: 14px; font-weight: 600; line-height: 1.4;
  letter-spacing: .1em; text-transform: uppercase; color: var(--g-text-leise);
}
html[data-g-anw-kontakt="beschriftung"] :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a[href^="tel:"]::before { content: "Tel"; }
@media (max-width: 767px) {
  html[data-g-anw-kontakt="beschriftung"] :is(.elementor-3134 .elementor-element-f35799f, body.single-team .gt3_single_team_header) .gt3_single_team_info__item a::before { font-size: 15px; }
}

/* ================================================================
 * /unsere-anwaelte/  -  Kopf
 * Regler anwaeltekopf (optionen.json): bild18 | original
 * Regler anw-kopfform: spalte | links | unten
 * ================================================================ */
.g-anw-kopf, .g-anw-team { display: none; }
html:not([data-g-anwaeltekopf="original"]) .elementor-3134 .elementor-element-315f0694 > .elementor-container { display: none; }

/* Selektor uebertrifft den aus feinschliff.css (Hoehe nach dem Teamfoto). */
html:not([data-g-anwaeltekopf="original"]) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
  --g-anw-kh: clamp(300px, 30vw, 460px);
  height: var(--g-anw-kh) !important;
  background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen18.jpg) !important;
  background-size: cover !important;
  background-position: 58% 16% !important;
  background-color: var(--g-blau) !important;
  overflow: hidden;
}
html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]) .g-anw-kopf {
  display: flex; align-items: flex-end; position: absolute; inset: 0; z-index: 1;
}
.g-anw-kopf__innen {
  width: 100%; max-width: 1170px; margin: 0 auto; box-sizing: border-box;
  padding: 0 15px clamp(40px, 5vw, 76px);
}
.g-anw-kopf .g-anw-kopf__titel {
  margin: 0 !important; max-width: 10.5em;
  font-family: var(--g-serif) !important; font-weight: 400 !important;
  font-size: clamp(34px, 4.1vw, 58px) !important; line-height: 1.12 !important;
  letter-spacing: 0 !important; color: #fff !important; text-transform: none !important;
}

/* --- spalte (Vorschlag): links Nachtblau mit der Ueberschrift, rechts das Foto.
 * Beide Gesichter frei, kein Schleier. Das Foto steht rechtsbuendig. */
html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
  background-size: max(60%, calc(var(--g-anw-kh) * 1.5)) auto !important;
  background-position: right 16% !important;
  background-repeat: no-repeat !important;
}
html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf {
  align-items: stretch;
  background: linear-gradient(90deg, var(--g-blau) 0, var(--g-blau) 40%, transparent 40%);
}
html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf__innen {
  width: 40%; max-width: none; margin: 0; display: flex; flex-direction: column; justify-content: center;
  padding: 0 clamp(28px, 3.4vw, 56px) 0 var(--g-anw-rand);
}
html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf .g-anw-kopf__titel {
  font-size: clamp(30px, 3vw, 46px) !important; max-width: 9em;
}
html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf .g-anw-kopf__titel::after {
  content: ""; display: block; width: 56px; height: 2px; margin-top: 26px; background: var(--g-hellblau);
}

/* --- links: Verlauf nur von links, Ueberschrift senkrecht mittig. */
html[data-g-anw-kopfform="links"]:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]) .g-anw-kopf {
  align-items: center;
  background: linear-gradient(90deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .78) 24%, rgba(5, 28, 44, 0) 46%);
}
/* Ausschnitt: Bei 432 px Hoehe passten Stephans Scheitel und das Kinn der
 * Kollegin nicht gemeinsam hinein. Im Foto (2500 x 1667) liegen Scheitel
 * (y 188) und Kinn (y 960) mit Rand zwischen y 140 und 1010 - das sind 35 %
 * der Bildbreite. Mit 35vw Hoehe und 18 % Versatz sitzt der Ausschnitt bei
 * jeder Breite gleich. */
@media (min-width: 768px) {
  html[data-g-anw-kopfform="links"]:not([data-g-anwaeltekopf="original"]) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
    --g-anw-kh: clamp(340px, 35vw, 680px);
    background-position: 58% 18% !important;
  }
}
/* Links hoechstens 12vw: Der Bildausschnitt waechst mit der Breite, die
 * Kante (vw - 1140) / 2 schneller - bei 1920 px lagen die Wortenden auf
 * Stephans Schulter (x ~540). Bis ca. 1500 px bleibt die gemeinsame Kante. */
html[data-g-anw-kopfform="links"]:not([data-g-anwaeltekopf="original"]) .g-anw-kopf__innen { padding: 0 var(--g-anw-rand) 0 min(var(--g-anw-rand), 12vw); max-width: none; }
html[data-g-anw-kopfform="links"]:not([data-g-anwaeltekopf="original"]) .g-anw-kopf .g-anw-kopf__titel { font-size: clamp(28px, 2.8vw, 42px) !important; max-width: 8em; }

/* --- unten (erster Entwurf): Verlauf von unten, Ueberschrift unten links. */
html[data-g-anw-kopfform="unten"]:not([data-g-anwaeltekopf="original"]) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
  --g-anw-kh: clamp(340px, 36vw, 540px);
}
html[data-g-anw-kopfform="unten"]:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]) .g-anw-kopf {
  background:
    linear-gradient(0deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .58) 36%, rgba(5, 28, 44, 0) 68%),
    linear-gradient(90deg, rgba(5, 28, 44, .55) 0%, rgba(5, 28, 44, 0) 55%);
}

/* Tablet: Der Inhalt beginnt 116 px unter dem Seitenanfang, der Kopf ist dort
 * nur 81 px hoch - es blieb ein weisser Streifen ueber dem Foto. */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Der Streifen wird jetzt zentral geschlossen (10-basis.css, --g-kopfhoehe). */
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf { background: linear-gradient(90deg, var(--g-blau) 0, var(--g-blau) 44%, transparent 44%); }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf__innen { width: 44%; }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
    background-size: max(56%, calc(var(--g-anw-kh) * 1.5)) auto !important;
  }
  html[data-g-anw-kopfform="unten"] .g-anw-kopf__innen, html[data-g-anw-kopfform="links"] .g-anw-kopf__innen { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 767px) {
  html:not([data-g-anwaeltekopf="original"]) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
    --g-anw-kh: 300px;
    background-size: cover !important;
    background-position: 66% 40% !important;
  }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):not([data-g-anw-kopfform="spalte"]):is([data-g-anw-kopfform]) .g-anw-kopf {
    align-items: flex-end;
    background: linear-gradient(0deg, rgba(5, 28, 44, .92) 0%, rgba(5, 28, 44, .62) 42%, rgba(5, 28, 44, .08) 78%);
  }
  .g-anw-kopf__innen { padding: 0 20px 28px; }
  .g-anw-kopf .g-anw-kopf__titel { font-size: 32px !important; }
  /* spalte am Telefon: oben das Foto (beide Gesichter), darunter das Band mit der
   * Ueberschrift. (Inhalt beginnt seit 10-basis.css direkt unter dem Kopf.) */
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .elementor-3134 section.elementor-section.elementor-top-section.elementor-element.elementor-element-315f0694.elementor-section-stretched.elementor-section-content-middle.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
    height: auto !important; padding-top: 280px !important;
    background-size: auto 280px !important; background-position: 60% 0 !important;
  }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf {
    position: relative; inset: auto; display: block; background: var(--g-blau);
  }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf__innen {
    width: auto; padding: 26px 20px 28px;
  }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf .g-anw-kopf__titel { font-size: 30px !important; max-width: none; }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-kopftitel="nein"]):is([data-g-anw-kopfform="spalte"], :not([data-g-anw-kopfform])) .g-anw-kopf .g-anw-kopf__titel::after { margin-top: 18px; }
}

/* ---------------------------------------------------- Teamfoto darunter
 * Eine schmale nachtblaue Fuge trennt Kopf und Teamfoto. Randlos: der
 * Inhaltsbereich hat am Tablet 15 px Innenabstand (am Rechner und Telefon 0). */
html:not([data-g-anwaeltekopf="original"]) .g-anw-team {
  display: block; position: relative; padding: 10px 0 0; background: var(--g-blau); overflow: hidden;
  margin: 0 0 clamp(48px, 6vw, 96px);
}
@media (min-width: 768px) and (max-width: 1024px) {
  html:not([data-g-anwaeltekopf="original"]) .g-anw-team { margin-left: -15px; margin-right: -15px; }
}
/* Am Rechner oben Fassade und unten Beine weg: Kopf und Teamfoto zusammen
 * waren 1.300 px Foto vor dem ersten Satz. Ausschnitt im Foto (840 px hoch):
 * --ty = Oberkante, --th = Hoehe. 1025-1439 px: y 60-780. Ab 1440 px: y 100-700
 * (bei 1920 px 615 statt 738 px hoch - der erste Satz rueckt 120 px hoch). */
@media (min-width: 1025px) {
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-teambreite="inhalt"]) .g-anw-team .g-anw-team__ganz { --ty: 60; --th: 720; aspect-ratio: 1873 / var(--th); overflow: hidden; }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-teambreite="inhalt"]) .g-anw-team .g-anw-team__ganz > img { margin-top: calc(-100% * var(--ty) / 1873); }
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-teambreite="inhalt"]):not([data-g-anw-teamnamen="nein"]) .g-anw-team .g-anw-team__ganz > .g-anw-team__namen { inset: calc(-100% * var(--ty) / var(--th)) 0 auto; height: calc(100% * 840 / var(--th)); }
}
@media (min-width: 1440px) {
  html:not([data-g-anwaeltekopf="original"]):not([data-g-anw-teambreite="inhalt"]) .g-anw-team .g-anw-team__ganz { --ty: 100; --th: 600; }
}
.g-anw-team img { display: block; max-width: none; border: 0; }
.g-anw-team__bild { display: block; position: relative; }
.g-anw-team .g-anw-team__ganz img { width: 100%; height: auto; }
.g-anw-team__haelfte { display: none; position: relative; overflow: hidden; aspect-ratio: 1125 / 600; }
.g-anw-team__haelfte .g-anw-team__bild img { width: 100%; height: auto; }
.g-anw-team__streifen { display: none; }
html[data-g-anw-teambreite="inhalt"]:not([data-g-anwaeltekopf="original"]) .g-anw-team {
  max-width: 1140px; margin: clamp(40px, 5vw, 72px) auto clamp(48px, 6vw, 96px); padding: 0; border-radius: var(--g-radius);
}
@media (max-width: 1199px) {
  html[data-g-anw-teambreite="inhalt"]:not([data-g-anwaeltekopf="original"]) .g-anw-team { margin-left: 32px; margin-right: 32px; }
}
@media (max-width: 767px) {
  html:not([data-g-anwaeltekopf="original"]) .g-anw-team,
  html[data-g-anw-teambreite="inhalt"]:not([data-g-anwaeltekopf="original"]) .g-anw-team { margin: 0 0 28px; border-radius: 0; padding: 0; }
  html:not([data-g-anwaeltekopf="original"]):is([data-g-anw-teamfoto="geteilt"], [data-g-anw-teamfoto="wischen"], :not([data-g-anw-teamfoto])) .g-anw-team .g-anw-team__ganz { display: none; }
  html:not([data-g-anwaeltekopf="original"]):is([data-g-anw-teamfoto="geteilt"], :not([data-g-anw-teamfoto])) .g-anw-team__haelfte { display: block; }
  html:not([data-g-anwaeltekopf="original"]):is([data-g-anw-teamfoto="geteilt"], :not([data-g-anw-teamfoto])) .g-anw-team__haelfte + .g-anw-team__haelfte { margin-top: 4px; }
  /* wischen: das ganze Foto als Streifen, Start bei Stephan (Skript im Modul) */
  html[data-g-anw-teamfoto="wischen"]:not([data-g-anwaeltekopf="original"]) .g-anw-team__streifen {
    display: block; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  html[data-g-anw-teamfoto="wischen"] .g-anw-team__streifen::-webkit-scrollbar { display: none; }
  html[data-g-anw-teamfoto="wischen"] .g-anw-team__streifen .g-anw-team__bild { height: min(460px, 118vw); width: max-content; }
  html[data-g-anw-teamfoto="wischen"] .g-anw-team__streifen img { height: 100%; width: auto; }
  html[data-g-anw-teamfoto="wischen"] .g-anw-team__streifen:focus-visible { outline: 3px solid var(--g-hellblau); outline-offset: -3px; }
  /* weiche Kanten zeigen: es geht weiter */
  html[data-g-anw-teamfoto="wischen"]:not([data-g-anwaeltekopf="original"]) .g-anw-team::before,
  html[data-g-anw-teamfoto="wischen"]:not([data-g-anwaeltekopf="original"]) .g-anw-team::after {
    content: ""; position: absolute; top: 0; bottom: 0; width: 26px; z-index: 2; pointer-events: none;
  }
  html[data-g-anw-teamfoto="wischen"] .g-anw-team::before { left: 0; background: linear-gradient(90deg, rgba(5, 28, 44, .7), rgba(5, 28, 44, 0)); }
  html[data-g-anw-teamfoto="wischen"] .g-anw-team::after { right: 0; background: linear-gradient(270deg, rgba(5, 28, 44, .7), rgba(5, 28, 44, 0)); }
}

/* Namen im Teamfoto (Regler anw-teamnamen): beim Ueberfahren oder mit der
 * Tastatur ein Schild mit dem Namen, Verweis aufs Profil. Das Schild sitzt
 * auf Brusthoehe unter dem Gesicht (vorher Guertelhoehe). Auf Touch-Geraeten
 * nur im Wischstreifen, dort immer sichtbar. */
.g-anw-team__namen { display: none; }
html:not([data-g-anw-teamnamen="nein"]) .g-anw-team__namen { display: block; position: absolute; inset: 0; z-index: 1; }
.g-anw-team__person { position: absolute; bottom: 0; display: block; text-decoration: none !important; outline: 0; }
.g-anw-team__schild {
  position: absolute; left: var(--mitte, 50%); top: 42%; transform: translate(-50%, 6px);
  padding: 7px 12px; border-radius: var(--g-radius); white-space: nowrap;
  background: #fff; color: var(--g-blau) !important; font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: .01em;
  box-shadow: 0 6px 24px rgba(5, 28, 44, .28);
  opacity: 0; transition: opacity .2s ease, transform .2s ease; pointer-events: none;
}
.g-anw-team__person:is(:hover, :focus-visible) .g-anw-team__schild { opacity: 1; transform: translate(-50%, 0); }
.g-anw-team__person:focus-visible .g-anw-team__schild { outline: 3px solid var(--g-hellblau); outline-offset: 2px; }
@media (hover: none) {
  html:not([data-g-anw-teamnamen="nein"]) :is(.g-anw-team__ganz, .g-anw-team__haelfte) .g-anw-team__namen { display: none; }
  .g-anw-team__streifen .g-anw-team__schild { opacity: 1; transform: translate(-50%, 0); top: auto; bottom: 5%; padding: 6px 9px; white-space: normal; width: max-content; max-width: 104px; text-align: center; }
}

/* ------------------------------------------------- "Wer wir sind": Foto
 * Regler anw-werbild. Bild 18 ist jetzt der Kopf, Bild 12 zeigte wieder
 * Stephan - Vorschlag Bild 13 (Justitia vorn, das Team unscharf dahinter). */
html[data-g-anw-werbild="bild13"] .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen13.jpg) !important; background-position: 46% 50% !important; }
html[data-g-anw-werbild="bild12"] .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen12.jpg) !important; background-position: 42% 50% !important; }
html[data-g-anw-werbild="bild8"] .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen8.jpg) !important; background-position: 50% 50% !important; }
html[data-g-anw-werbild="bild9"] .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen9.jpg) !important; background-position: 50% 50% !important; }
html[data-g-anw-werbild="bild46"] .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen46.jpg) !important; background-position: 40% 40% !important; }
html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { background-size: cover !important; border-radius: var(--g-radius) 0 0 var(--g-radius); }
/* Gemeinsame linke Kante: Text bei 150 px (1440) wie Ueberschrift und Karten */
@media (min-width: 1025px) {
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element.elementor-element-624144d { margin-left: 0 !important; max-width: none !important; }
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap { padding-left: var(--g-anw-rand) !important; padding-right: clamp(32px, 5vw, 80px) !important; }
}
@media (max-width: 767px) {
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap { padding-left: 20px !important; padding-right: 20px !important; }
}
/* Breite Bildschirme: Teilung 5:4 statt halb und halb. Bei 1920 px blieben
 * der Textspalte neben 960 px Foto nur ca. 400 px. */
@media (min-width: 1440px) {
  html:not([data-g-anw-werbild="original"]):not([data-g-anw-werbild="ohne"]) .elementor-3134 .elementor-element.elementor-element-624144d { width: 55.555% !important; }
  html:not([data-g-anw-werbild="original"]):not([data-g-anw-werbild="ohne"]) .elementor-3134 .elementor-element.elementor-element-639d877 { width: 44.445% !important; }
}
/* ohne Foto: links der Anriss gross, rechts der Fliesstext */
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-639d877 { display: none !important; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d { width: 100% !important; max-width: none !important; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap {
  display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--g-anw-luecke); align-items: start !important; align-content: start !important;
  padding: 0 var(--g-anw-rand) !important; box-sizing: border-box;
}
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element { grid-column: 2; width: auto !important; margin: 0 !important; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > :is(.elementor-element-79ab071, .elementor-element-2109619) { grid-column: 1; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element-79ab071 { grid-row: 1; }
/* Kicker "Wer wir sind" klebte am Anriss (Abstandhalter sind hier aus) */
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element.elementor-element-79ab071 { margin-bottom: 14px !important; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element-2109619 { grid-row: 2 / span 3; }
/* Fliesstext beginnt auf Hoehe des Anrisses, nicht des Kickers - sonst
 * dehnte er die Kickerzeile und Kicker und Anriss standen 60 px auseinander. */
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element-9284399 { grid-row: 2 / span 2; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element-d4f4cac { grid-row: 4; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-widget-spacer { display: none; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-2109619 .elementor-heading-title { font-size: clamp(24px, 2.2vw, 31px) !important; line-height: 1.35 !important; max-width: 22em; }
html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-99b3f31 { padding: clamp(16px, 2vw, 32px) 0 clamp(48px, 6vw, 88px) !important; }

/* Tablet: "Wer wir sind" untereinander - zwei Spalten liessen 360 px fuer
 * eine Ueberschrift in 27 px (neun Zeilen). */
@media (min-width: 768px) and (max-width: 1024px) {
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element-99b3f31 > .elementor-container { flex-wrap: wrap; }
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element-99b3f31 :is(.elementor-element-624144d, .elementor-element-639d877) { width: 100% !important; max-width: none !important; }
  html:not([data-g-anw-werbild="original"]):not([data-g-anw-werbild="ohne"]) .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap { margin: 0 !important; max-width: 712px; padding: 0 0 40px 32px !important; }
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element.elementor-element-0a54eec { --spacer-size: 420px; }
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { border-radius: 0; }
  html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap { grid-template-columns: minmax(0, 1fr); padding: 0 32px !important; max-width: 712px; }
  html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element { grid-column: 1 !important; grid-row: auto !important; }
}
/* Leere Abstandhalter zwischen Teamfoto und "Wer wir sind" */
@media (max-width: 1024px) {
  html:not([data-g-anwaeltekopf="original"]) .elementor-3134 :is(.elementor-element-94857d8, .elementor-element-96a354d) { display: none; }
}
@media (max-width: 767px) {
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element.elementor-element-0a54eec { --spacer-size: 280px; }
  html:not([data-g-anw-werbild="original"]) .elementor-3134 .elementor-element.elementor-element-639d877 > .elementor-widget-wrap { border-radius: 0; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-2109619 .elementor-heading-title { font-size: 22px !important; line-height: 1.32 !important; }
  /* Rand wie alle anderen Bloecke (vorher 0: der Text stand am Fensterrand) */
  html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap { grid-template-columns: minmax(0, 1fr); padding: 0 var(--g-anw-rand) !important; }
  html[data-g-anw-werbild="ohne"] .elementor-3134 .elementor-element-624144d > .elementor-widget-wrap > .elementor-element { grid-column: 1 !important; grid-row: auto !important; }
}

/* ================================================================
 * /unsere-anwaelte/  -  Teamkarten (f35799f, type3)
 * ================================================================ */
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element.elementor-element-b90d56a { margin-top: 0 !important; padding: clamp(48px, 6vw, 88px) 0 clamp(64px, 8vw, 112px) !important; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-b90d56a > .elementor-background-overlay { background-color: transparent !important; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-b9f115d { display: none; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-99b3f31 { margin-bottom: 0 !important; }
/* gleiche linke Kante wie Kopf und "Wer wir sind" */
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-b90d56a > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
/* Kante ueberall --g-anw-rand wie Kopf und "Wer wir sind". Vorher ab 1200 px
 * die zentrierte 1140er-Box (bei 1200 px x 30 statt 32). */
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-b90d56a > .elementor-container { max-width: none; padding: 0 var(--g-anw-rand) !important; box-sizing: border-box; }
@media (min-width: 768px) and (max-width: 1023px) {
  /* Der Theme-Container hat von 768 bis 1023 px 15 px Innenabstand (bei
   * 1024 px nicht mehr - dort standen die Karten bei x 17). */
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-b90d56a > .elementor-container { padding: 0 17px !important; }
}

html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 56px;
  margin: 0 !important; padding: 0 !important; list-style: none; height: auto !important;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list > li.item-team-member {
  width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important;
  position: static !important; transform: none !important; height: auto !important; min-width: 0;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f :is(.item_wrapper, .item) { height: auto !important; min-height: 0 !important; padding: 0 !important; background: none !important; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item {
  display: grid !important; grid-template-columns: minmax(110px, 40%) minmax(0, 1fr); column-gap: 28px; align-items: start;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_img {
  width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; max-width: none !important;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_img a { display: block; overflow: hidden; border-radius: var(--g-radius); }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_img a:focus-visible { outline: 3px solid var(--g-akzent); outline-offset: 3px; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_img img {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; transition: transform .35s ease;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_img a:hover img { transform: scale(1.03); }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f :is(.team_icons_wrapper, .team_link) { display: none !important; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team-infobox {
  position: static !important; inset: auto !important; transform: none !important; opacity: 1 !important; visibility: visible !important;
  width: auto !important; margin: 0 !important; padding: 4px 0 0 !important; text-align: left !important; background: none !important; min-width: 0;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f :is(.team_title, .team_title_wrapper) {
  position: static !important; transform: none !important; opacity: 1 !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_title__text {
  margin: 0 0 10px !important; font-family: var(--g-serif) !important; font-weight: 400 !important;
  font-size: 24px !important; line-height: 1.25 !important; letter-spacing: 0 !important; text-transform: none !important;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_title__text a { color: var(--g-blau) !important; text-decoration: none; display: inline !important; padding: 0 !important; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_title__text a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team-positions {
  margin: 0 !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.5 !important;
  color: var(--g-text-leise) !important; letter-spacing: .01em; max-width: 24em; opacity: 1 !important;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .gt3_single_team_info {
  position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important;
  display: grid !important; gap: 8px; margin: 20px 0 0 !important; padding: 18px 0 0 !important;
  border-top: 1px solid var(--g-anw-linie); background: none !important; text-align: left !important; font-size: 16px !important;
}
html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .gt3_single_team_info::before { display: none !important; }

/* Telefon nur einmal (Regler anw-telefon): Alle fuenf Karten trugen dieselbe
 * Kanzleinummer. Sie bleibt beim Inhaber (erste Karte), die anderen zeigen
 * nur ihre Mail. */
html[data-g-anw-telefon="einmal"]:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f li.item-team-member:not(.g-anw-inhaber) .gt3_single_team_info__item:has(> a[href^="tel:"]) { display: none !important; }

/* Inhaber gross vorn: 1 + 4 statt 2 + 2 + 1 */
html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f .item_list > li.g-anw-inhaber {
  grid-column: 1 / -1; order: -1; padding-bottom: 56px !important; border-bottom: 1px solid var(--g-anw-linie);
}
html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .item {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--g-anw-luecke); align-items: center;
}
html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .team_img { max-width: 440px !important; }
html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .team_title__text { font-size: 36px !important; margin-bottom: 14px !important; }
html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .team-positions { font-size: 18px !important; }
html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .gt3_single_team_info { margin-top: 26px !important; padding-top: 22px !important; max-width: 26em; }

/* Drei Spalten, Foto oben */
html[data-g-anw-raster="drei"] .elementor-3134 .elementor-element-f35799f .item_list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 40px; }
html[data-g-anw-raster="drei"] .elementor-3134 .elementor-element-f35799f .item { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }

@media (max-width: 1024px) {
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list { gap: 48px 36px; }
  html[data-g-anw-raster="drei"] .elementor-3134 .elementor-element-f35799f .item_list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .item { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
}
/* Tablet, Inhaber vorn: Die vier anderen als Zeilen mit kleinerem Foto -
 * vorher waren ihre Fotos (339 px) groesser als seines (307 px). */
@media (min-width: 768px) and (max-width: 1024px) {
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f .item_list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f .item_list > li.item-team-member:not(.g-anw-inhaber) { padding: 36px 0 !important; border-bottom: 1px solid var(--g-anw-linie); }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f .item_list > li.item-team-member:not(.g-anw-inhaber):last-child { border-bottom: 0; padding-bottom: 0 !important; }
  /* Zeile 2 nimmt den Rest der Fotohoehe: der Kontakt steht immer 14 px unter
   * der Funktion (vorher 42 oder 28 px, je nach Zeilenzahl). */
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li:not(.g-anw-inhaber) .item {
    grid-template-columns: 200px minmax(0, 1fr); grid-template-rows: auto 1fr; grid-template-areas: "bild titel" "bild kontakt"; column-gap: 32px; row-gap: 0; align-items: start; align-content: start;
  }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li:not(.g-anw-inhaber) .team-infobox { display: contents !important; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li:not(.g-anw-inhaber) .team_img { grid-area: bild; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li:not(.g-anw-inhaber) .team_title { grid-area: titel; padding-top: 6px !important; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li:not(.g-anw-inhaber) .gt3_single_team_info { grid-area: kontakt; margin-top: 14px !important; padding-top: 0 !important; border-top: 0 !important; max-width: 26em; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f .item_list > li.g-anw-inhaber { padding-bottom: 40px !important; }
}
@media (max-width: 767px) {
  /* Telefon: Foto links, Name, Funktion und Kontakt rechts daneben. Die Linie
   * trennt die Personen, nicht Name und Kontakt derselben Person. */
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list,
  html[data-g-anw-raster] .elementor-3134 .elementor-element-f35799f .item_list { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list > li.item-team-member { padding: 30px 0 !important; border-bottom: 1px solid var(--g-anw-linie) !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list > li.item-team-member:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item_list > li.item-team-member:first-child { padding-top: 0 !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .item,
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .item {
    grid-template-columns: 76px minmax(0, 1fr) !important; grid-template-areas: "bild titel" "kontakt kontakt";
    column-gap: 14px; row-gap: 0; align-items: start !important;
  }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team-infobox { display: contents !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_img { grid-area: bild; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_title { grid-area: titel; }
  /* Mail und Telefon unter Foto und Namen ueber die ganze Breite: neben dem
   * Foto brachen die Adressen am Bindestrich ("hanschen@dr-|schenk.net"). */
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .gt3_single_team_info { grid-area: kontakt; gap: 2px; margin-top: 14px !important; padding-top: 0 !important; border-top: 0 !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .gt3_single_team_info__item a { gap: 10px !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .gt3_single_team_info :is(.gt3_single_team_info__item, .gt3_single_team_info__item a) { font-size: 15px !important; }
  html[data-g-anw-kontakt="symbole"] .elementor-3134 .elementor-element-f35799f .gt3_single_team_info__item a::before { width: 16px; height: 16px; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team_title__text { font-size: 21px !important; margin-bottom: 4px !important; }
  html:not([data-g-anw-raster="original"]) .elementor-3134 .elementor-element-f35799f .team-positions { font-size: 15px !important; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f .item_list > li.g-anw-inhaber { padding-bottom: 30px !important; border-bottom: 1px solid var(--g-anw-linie) !important; }
  /* Inhaber: grosses Foto oben, darunter Name und Kontakt - er bleibt der Erste */
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .item { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "bild" "titel" "kontakt"; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .team_img { width: min(240px, 66%) !important; margin-bottom: 20px !important; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .team_title__text { font-size: 24px !important; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .team-positions { font-size: 15px !important; }
  html[data-g-anw-raster="inhaber"] .elementor-3134 .elementor-element-f35799f li.g-anw-inhaber .gt3_single_team_info { margin-top: 10px !important; padding-top: 0 !important; }
}

/* ================================================================
 * /anwaelte/  -  Kopf (Regler anw-listekopf: spalte | team2026 | bild39 | original)
 * Das Foto beginnt unter dem Seitenkopf (background-origin: content-box),
 * damit am Telefon keine Gesichter unter dem 142 px hohen Kopf liegen.
 * ================================================================ */
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg {
  box-sizing: content-box; height: 300px !important; padding-top: 121px !important;
  background-origin: content-box !important; background-clip: border-box !important;
  background-color: var(--g-blau) !important; background-size: auto, cover !important; background-repeat: no-repeat !important;
  display: flex !important; align-items: flex-end !important;
}
html[data-g-anw-listekopf="team2026"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg {
  background-image:
    linear-gradient(0deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .5) 34%, rgba(5, 28, 44, 0) 62%),
    url(/wp-content/uploads/Kanzlei_Dr_Schenk_Anwaelte-Team-2026.jpg) !important;
  background-position: 0 0, 50% 36% !important;
}
html[data-g-anw-listekopf="bild39"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg {
  background-image:
    linear-gradient(0deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .5) 34%, rgba(5, 28, 44, 0) 62%),
    url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen39.jpg) !important;
  background-position: 0 0, 50% 30% !important;
}
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title_has_img_bg::before { display: none !important; }
/* Ueberschrift unten links auf der Kante der Liste (Theme: Tabelle, mittig) */
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title .gt3-page-title__inner { position: absolute !important; left: 0; right: 0; bottom: 0; height: auto !important; display: block !important; padding: 0 0 30px !important; }
/* Kante: --g-anw-rand wie Liste, Seitenleiste und /unsere-anwaelte/. Vorher
 * max-width 1170 ohne Innenabstand - bei 1025-1199 px stand der Titel bei x = 0. */
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title .gt3-page-title__inner > .container { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 var(--g-anw-rand) !important; height: auto !important; box-sizing: border-box; }
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title .gt3-page-title__content { display: block !important; text-align: left !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title .page_title { text-align: left !important; }
html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title .page_title h1 {
  margin: 0 !important; font-family: var(--g-serif) !important; font-weight: 400 !important; text-transform: none !important;
  font-size: clamp(32px, 3.4vw, 48px) !important; line-height: 1.15 !important; letter-spacing: 0 !important; color: #fff !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
  html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg { padding-top: 81px !important; }
}
@media (max-width: 767px) {
  html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg { padding-top: 142px !important; height: 220px !important; }
  html[data-g-anw-listekopf="team2026"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg { background-position: 0 0, 56% 0 !important; }
  html[data-g-anw-listekopf="bild39"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg { background-position: 0 0, 56% 24% !important; }
  html:is([data-g-anw-listekopf="team2026"], [data-g-anw-listekopf="bild39"], [data-g-anw-listekopf="spalte"]) body.post-type-archive-team .gt3-page-title .gt3-page-title__inner { padding-bottom: 20px !important; }
}

/* --- spalte: dieselbe Form wie der Kopf von /unsere-anwaelte/ - links
 * Nachtblau mit Ueberschrift und hellblauer Linie, rechts das Teamfoto ohne
 * Schleier und ohne Schrift auf den Personen. Tablet und Telefon: Foto oben,
 * darunter das Band mit der Ueberschrift. */
html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg {
  --anw-lh: clamp(280px, 26vw, 400px);
  height: var(--anw-lh) !important;
  background-image: linear-gradient(90deg, var(--g-blau) 0, var(--g-blau) 40%, transparent 40%), url(/wp-content/uploads/Kanzlei_Dr_Schenk_Anwaelte-Team-2026.jpg) !important;
  background-size: 100% 100%, max(60%, calc(var(--anw-lh) * 2.23)) auto !important;
  background-position: 0 0, right 34% !important;
}
html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__inner {
  top: 121px; right: auto !important; width: 40%; display: flex !important; align-items: center; padding: 0 !important;
}
html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__inner > .container { width: 100% !important; padding: 0 clamp(28px, 3.4vw, 56px) 0 var(--g-anw-rand) !important; }
html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__content { text-shadow: none; }
html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .page_title h1 { font-size: clamp(30px, 3vw, 46px) !important; }
html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .page_title h1::after {
  content: ""; display: block; width: 56px; height: 2px; margin-top: 24px; background: var(--g-hellblau);
}
/* 1025-1199 px: Kopf nur 81 px hoch - sonst ein nachtblauer Streifen ueber dem Foto */
@media (min-width: 1025px) and (max-width: 1199px) {
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg { padding-top: 81px !important; }
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__inner { top: 81px; }
}
@media (max-width: 1024px) {
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg {
    --anw-kopf: 81px; --anw-foto: calc(100vw * 840 / 1873);
    display: block !important; height: auto !important; padding-top: calc(var(--anw-kopf) + var(--anw-foto)) !important;
    background-image: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Anwaelte-Team-2026.jpg) !important;
    background-origin: border-box !important; background-size: auto var(--anw-foto) !important;
    background-position: 56% var(--anw-kopf) !important;
  }
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__inner {
    position: static !important; width: auto; display: block !important; padding: 28px 0 30px !important;
  }
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__inner > .container { padding: 0 var(--g-anw-rand) !important; }
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .page_title h1::after { margin-top: 18px; }
}
@media (max-width: 767px) {
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title.gt3-page-title_has_img_bg { --anw-kopf: 142px; --anw-foto: 220px; }
  html[data-g-anw-listekopf="spalte"] body.post-type-archive-team .gt3-page-title .gt3-page-title__inner { padding: 24px 0 26px !important; }
}

/* Gemeinsame Kante der Listenseite: Inhalt und Seitenleiste auf --g-anw-rand
 * (Theme: 1170 / 998 / 100%-30 / 331 px Behaelter - Kanten 135, 51, 15, 30 px). */
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .main_wrapper > .container {
  width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 var(--g-anw-rand) !important; box-sizing: border-box;
}

/* ================================================================
 * /anwaelte/  -  Liste mit runden Portraets (type2, items3)
 * ================================================================ */
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list {
  display: flex !important; flex-wrap: wrap; justify-content: center; gap: 56px 32px;
  margin: 8px 0 0 !important; padding: 0 !important; height: auto !important; list-style: none;
}
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list > li.item-team-member {
  width: calc((100% - 64px) / 3) !important; float: none !important; margin: 0 !important; padding: 0 !important;
  position: static !important; left: auto !important; top: auto !important; transform: none !important; height: auto !important;
}
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team :is(.item_wrapper, .item) { height: auto !important; padding: 0 !important; background: none !important; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_img { margin: 0 auto 22px !important; width: min(184px, 82%) !important; float: none !important; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_img a { display: block; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 0 var(--g-hell); transition: box-shadow .25s ease; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_img img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item:hover .team_img a { box-shadow: 0 0 0 6px #dbe5ef; }
/* Tastatur: deutlicher Ring in Akzentblau (der helle Ring hatte 1,3:1) */
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_img a:focus-visible { outline: 3px solid var(--g-akzent); outline-offset: 3px; box-shadow: none; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item:focus-within .team_title__text a { color: var(--g-akzent) !important; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_title__text a:focus-visible { outline: 3px solid var(--g-akzent); outline-offset: 3px; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team-infobox {
  position: static !important; transform: none !important; opacity: 1 !important; padding: 0 !important; margin: 0 !important; text-align: center !important; background: none !important;
}
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_title__text {
  margin: 0 0 8px !important; font-family: var(--g-serif) !important; font-weight: 400 !important;
  font-size: 22px !important; line-height: 1.25 !important; text-transform: none !important; letter-spacing: 0 !important;
}
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_title__text a { color: var(--g-blau) !important; text-decoration: none; display: inline !important; padding: 0 !important; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item:hover .team_title__text a { color: var(--g-akzent) !important; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team-positions {
  margin: 0 auto !important; max-width: 17em; font-size: 16px !important; font-weight: 400 !important; line-height: 1.5 !important;
  color: var(--g-text-leise) !important; opacity: 1 !important; overflow-wrap: break-word;
}
html:not([data-g-anw-liste="original"]) body.post-type-archive-team .main_wrapper { padding-bottom: clamp(64px, 8vw, 112px); }
@media (min-width: 768px) and (max-width: 1024px) {
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list { gap: 48px 24px; }
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list > li.item-team-member { width: calc((100% - 24px) / 2) !important; }
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_title__text { font-size: 20px !important; }
  html[data-g-anw-leiste="aus"]:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list > li.item-team-member { width: calc((100% - 48px) / 3) !important; }
}
/* Ohne Seitenleiste: alle fuenf in einer Reihe */
html[data-g-anw-leiste="aus"] body.post-type-archive-team .sidebar-container { display: none !important; }
html[data-g-anw-leiste="aus"] body.post-type-archive-team .content-container.span8 { width: 100% !important; float: none !important; }
@media (min-width: 1100px) {
  html[data-g-anw-leiste="aus"]:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list > li.item-team-member { width: calc((100% - 128px) / 5) !important; }
}
@media (max-width: 767px) {
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list { gap: 40px 20px; }
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list > li.item-team-member { width: calc((100% - 20px) / 2) !important; }
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_img { width: min(140px, 88%) !important; margin-bottom: 16px !important; }
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team_title__text { font-size: 19px !important; }
  /* Keine Silbentrennung in der mittigen Zeile ("Versiche-rungsrecht") */
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .team-positions { font-size: 15px !important; max-width: 100%; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: break-word; }
  /* Allein in der letzten Reihe: volle Breite, damit "Versicherungsrecht" passt */
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .elementor-widget-gt3-core-team .item_list > li.item-team-member:last-child:nth-child(odd) { width: 100% !important; }
  html:not([data-g-anw-liste="original"]) body.post-type-archive-team .main_wrapper { padding-bottom: 48px; }
}

/* ------------------------------------------- Seitenleiste "weitere Fachgebiete" */
/* Spezifitaet ueber der Telefon-Regel "ul.list_schenk_gegner { display: flex }" -
 * sonst standen am Telefon beide Listen untereinander. */
html:not([data-g-anw-leiste="original"]) body .sidebar ul.list_schenk_gegner.g-anw-leiste-bisher.g-anw-leiste-bisher,
html:not([data-g-anw-leiste="original"]) .g-anw-leiste-bisher { display: none !important; }
html[data-g-anw-leiste="original"] body .sidebar ul.list_schenk_gegner.g-anw-leiste-neu.g-anw-leiste-neu,
html[data-g-anw-leiste="original"] .g-anw-leiste-neu { display: none !important; }
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar { border-left: 1px solid var(--g-anw-linie); padding-left: 32px; }
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar .widget-title {
  margin: 0 0 12px !important; padding: 0 !important; font-family: var(--g-sans) !important; font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important; line-height: 1.4 !important; color: var(--g-text-leise) !important;
}
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar .widget-title::after,
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar .widget-title::before { display: none !important; }
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner > li {
  margin: 0 !important; padding: 0 !important; border-bottom: 1px solid #e4e9ee; list-style: none !important;
}
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner > li::before { display: none !important; }
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a {
  display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 2px !important;
  font-size: 16px !important; line-height: 1.35 !important; color: var(--g-blau) !important; text-decoration: none !important;
}
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a::after {
  content: "\2192"; font-family: var(--g-sans); color: var(--g-akzent); opacity: 0; transform: translateX(-6px); transition: opacity .2s ease, transform .2s ease;
}
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; }
html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a:is(:hover, :focus-visible)::after { opacity: 1; transform: none; }
@media (max-width: 767px) {
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar { border-left: 0; padding-left: 0; border-top: 1px solid var(--g-anw-linie); padding-top: 28px; margin-top: 48px; }
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar .widget-title { font-size: 15px !important; }
  /* Telefon: dieselbe ruhige Linienliste wie am Rechner, in zwei gleich
   * breiten Spalten. Vorher Kacheln so breit wie ihr Wort - Reihen zu 2, 2, 2,
   * 1, 2, 1 ... im Flatterrand. Lange Woerter trennen an der vorbereiteten
   * Stelle (Veranstaltungs-recht, Trennstelle setzt das Modul). */
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; align-items: stretch; }
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner > li { max-width: none; min-width: 0; display: flex; }
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a {
    flex: 1; min-width: 0; box-sizing: border-box; padding: 11px 0 !important; font-size: 15px !important; gap: 6px; overflow-wrap: break-word;
  }
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a::after { opacity: 1; transform: none; }
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar ul.list_schenk_gegner a:active { color: var(--g-akzent) !important; }
  /* 100 px Theme-Abstand unter der Leiste plus 64 px: 164 px Leere bis zur Fusszeile */
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar { margin-bottom: 0 !important; }
  html:not([data-g-seitenleiste="original"]) body.post-type-archive-team .sidebar .widget { margin-bottom: 0 !important; }
}

/* ================================================================
 * Profilseiten /anwaelte/<name>/
 * ================================================================ */
/* Die Zeile ragte 15 px ueber den Rand (row -15px in einem randlosen Behaelter). */
body.single-team .not_container.gt3_team_single { overflow-x: clip; }

/* Zwischen Seitenkopf und Profilband stand ein leerer nachtblauer Streifen
 * (Titel-Huelle 135 px, Kopf am Tablet 81 px, am Rechner 121 px). Die Huelle
 * nimmt jetzt die Farbe des Bandes an - der Streifen gehoert zum Band. */
html:not([data-g-anw-profilkopf="original"]):not([data-g-anw-profilkopf="dunkel"]) body.single-team .gt3-page-title_wrapper { background-color: var(--g-hell) !important; }
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3-page-title_wrapper .gt3_breadcrumb { visibility: hidden; }

html:not([data-g-anw-profilkopf="original"]) body.single-team #main_content { margin-top: 0 !important; }
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header {
  display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--g-anw-luecke); align-items: end;
  padding: clamp(40px, 5vw, 72px) var(--g-anw-rand) 0; background: var(--g-hell); box-sizing: border-box;
}
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_thumbnail__wrapper { width: auto !important; max-width: 470px; align-self: end; line-height: 0; }
html:not([data-g-anw-profilkopf="original"]) body.single-team img.gt3_single_team_thumbnail {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 900 / 1090; object-fit: cover; object-position: 50% 20%;
  border-radius: var(--g-radius) var(--g-radius) 0 0;
}
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info {
  width: auto !important; max-width: 34em !important; align-self: center; text-align: left !important;
  background: none !important; padding: 8px 0 clamp(40px, 5vw, 72px) !important; display: block !important; color: var(--g-text);
}
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_team_title h2 {
  margin: 0 0 14px !important; font-family: var(--g-serif) !important; font-weight: 400 !important;
  font-size: clamp(34px, 3.6vw, 52px) !important; line-height: 1.12 !important; color: var(--g-blau) !important; letter-spacing: 0 !important;
}
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .team-positions {
  margin: 0 !important; font-size: 19px !important; font-weight: 400 !important; line-height: 1.5 !important; color: var(--g-text-leise) !important; max-width: 26em;
}
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info_fields { display: grid; gap: 10px; font-size: 18px; }
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info_fields::before {
  content: ""; display: block; width: 56px; height: 2px; margin: 26px 0 22px !important; opacity: 1 !important; background: var(--g-akzent) !important;
}
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info__item { font-size: 18px !important; }
html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_socials { display: none !important; }
/* Kontaktknopf: nur in der neuen Fassung */
.g-anw-knopf { display: none; }
html:not([data-g-anw-profilkopf="original"]) body.single-team .g-anw-knopf { display: block; margin: 32px 0 0 !important; }
body.single-team .g-anw-knopf .elementor_gt3_btn_text { font-weight: 700 !important; }

/* Dunkel */
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_single_team_header { background: var(--g-blau); }
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_team_title h2 { color: #fff !important; }
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_single_team_header .team-positions { color: #c9d6e2 !important; }
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_single_team_header .gt3_single_team_info__item a { color: #fff !important; }
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_single_team_header .gt3_single_team_info__item a:is(:hover, :focus-visible) span { color: #bfe3f7 !important; }
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_single_team_header .gt3_single_team_info__item a::before { background-color: var(--g-hellblau) !important; }
html[data-g-anw-profilkopf="dunkel"][data-g-anw-kontakt="beschriftung"] body.single-team .gt3_single_team_header .gt3_single_team_info__item a::before { background: none !important; color: #c9d6e2 !important; }
html[data-g-anw-profilkopf="dunkel"] body.single-team .gt3_single_team_header .gt3_single_team_info_fields::before { background: var(--g-hellblau) !important; }

@media (max-width: 991px) {
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); column-gap: 32px; }
}
@media (max-width: 767px) {
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header {
    grid-template-columns: minmax(0, 1fr); padding: 36px 20px 0; row-gap: 0;
  }
  /* Regler anw-profiltelefon: links (Vorschlag, eine Achse wie am Rechner) | mitte */
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_thumbnail__wrapper { width: min(300px, 78%) !important; margin: 0; order: 0; }
  html[data-g-anw-profiltelefon="mitte"]:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_thumbnail__wrapper { margin: 0 auto; }
  html[data-g-anw-profiltelefon="mitte"]:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info { text-align: center !important; }
  html[data-g-anw-profiltelefon="mitte"]:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header :is(.team-positions, .gt3_single_team_info_fields::before) { margin-left: auto !important; margin-right: auto !important; }
  html[data-g-anw-profiltelefon="mitte"]:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info_fields { justify-items: center; }
  html[data-g-anw-profiltelefon="mitte"]:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info_fields::before { margin: 20px auto 18px !important; }
  html[data-g-anw-profiltelefon="mitte"]:not([data-g-anw-profilkopf="original"]) body.single-team .g-anw-knopf .gt3_module_button_elementor { text-align: center; }
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info { padding: 28px 0 40px !important; max-width: none !important; }
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_team_title h2 { font-size: 32px !important; }
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .team-positions { font-size: 17px !important; }
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info__item { font-size: 17px !important; }
  html:not([data-g-anw-profilkopf="original"]) body.single-team .gt3_single_team_header .gt3_single_team_info_fields::before { margin: 20px 0 18px !important; }
  html:not([data-g-anw-profilkopf="original"]) body.single-team .g-anw-knopf { margin-top: 26px !important; }
}

/* ------------------------------------- Biografie | Fachgebiete (a1b2172) */
/* Ueberschriften in gemischter Schreibung, Baskerville - Woerter unveraendert. */
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 :is(.elementor-element-2432dae, .elementor-element-93f93fa) .elementor-heading-title {
  font-family: var(--g-serif) !important; font-weight: 400 !important; font-size: 27px !important; line-height: 1.25 !important;
  letter-spacing: 0 !important; text-transform: lowercase !important; margin: 0 0 6px !important;
}
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 :is(.elementor-element-2432dae, .elementor-element-93f93fa) .elementor-heading-title::first-letter { text-transform: uppercase; }
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 :is(.elementor-element-2432dae, .elementor-element-93f93fa) .elementor-heading-title::after {
  content: ""; display: block; width: 44px; height: 2px; margin-top: 16px; background: var(--g-akzent);
}
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-element-2432dae .elementor-heading-title { color: var(--g-blau) !important; }
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-element-93f93fa .elementor-heading-title::after { background: var(--g-hellblau); }
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-inner-section > .elementor-container { padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); }
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: .16em; }
/* Spalte Fachgebiete: Kanzleiblau statt Verlauf */
html[data-g-anw-fachgebiete="blau"] body.single-team .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { background: var(--g-kanzleiblau) !important; }
html[data-g-anw-fachgebiete="hell"] body.single-team .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { background: var(--g-hell) !important; }
html[data-g-anw-fachgebiete="hell"] body.single-team .elementor-element-f73bf6c :is(p, li, span, a, .elementor-widget-text-editor) { color: var(--g-text) !important; }
html[data-g-anw-fachgebiete="hell"] body.single-team .elementor-element-f73bf6c .elementor-heading-title { color: var(--g-blau) !important; }
html[data-g-anw-fachgebiete="hell"] body.single-team .elementor-element-a1b2172 .elementor-element-93f93fa .elementor-heading-title::after { background: var(--g-akzent); }
html[data-g-anw-fachgebiete="hell"] body.single-team .elementor-element-f73bf6c li::marker { color: var(--g-akzent); }
/* Tablet (nur Fassung "original" der Spalten): untereinander, hoechstens 600 px breit. */
@media (min-width: 768px) and (max-width: 1024px) {
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 > .elementor-container { flex-wrap: wrap; }
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 :is(.elementor-element-ce9ba2f, .elementor-element-f73bf6c) { width: 100% !important; }
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-inner-section { margin-left: auto !important; margin-right: auto !important; }
}
@media (max-width: 1024px) {
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-element-61f781f > .elementor-widget-container { padding-right: 0 !important; }
}
@media (max-width: 767px) {
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-inner-section > .elementor-container { padding-top: 24px; padding-bottom: 32px; }
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { padding: 12px 0 !important; }
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-widget-spacer { --spacer-size: 0px; }
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-element-61f781f > .elementor-widget-container { padding-right: 0 !important; }
  html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 :is(.elementor-element-2432dae, .elementor-element-93f93fa) .elementor-heading-title { font-size: 25px !important; }
}
/* Blocksatz riss in der schmalen Spalte grosse Loecher (Mayerhofer). */
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-widget-text-editor :is(p, li, div) { text-align: left !important; }
/* Aufzaehlung buendig mit dem Text darueber */
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-widget-text-editor ul { padding-left: 1.1em !important; margin-left: 0 !important; }
html:not([data-g-anw-fachgebiete="original"]) body.single-team .elementor-element-a1b2172 .elementor-widget-text-editor li { padding-left: .3em; margin-bottom: .45em; }

/* ----------------------------------------------------------------
 * Anordnung Biografie | Fachgebiete (Regler anw-spalten)
 *   auto (Vorschlag): kurze Liste -> kasten, lange Fachgebiete -> band
 *   kasten: Fachgebiete als Kasten unter dem Portraet, nur so hoch wie sein
 *           Inhalt, bleibt beim Lesen stehen; Biografie unter dem Namen
 *   band:   Biografie (Ueberschrift links, Text unter dem Namen), darunter
 *           die Fachgebiete als Band ueber die ganze Breite
 *   untereinander: Fachgebiete als Reihe ueber der Biografie
 *   original: starr 50:50 - mit bis zu 1.000 px leerer Flaeche
 * Teilung 5:7 wie im Profilkopf: Biografie beginnt unter dem Namen.
 * ---------------------------------------------------------------- */
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten > .elementor-container {
  display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--g-anw-luecke); align-items: start;
  max-width: none !important; box-sizing: border-box; padding: clamp(56px, 6vw, 96px) var(--g-anw-rand);
}
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten :is(.elementor-element-ce9ba2f, .elementor-element-f73bf6c) { width: auto !important; min-width: 0; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten :is(.elementor-element-9396663, .elementor-element-0c500c1).elementor-inner-section { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten.g-anw-spalten .elementor-inner-section > .elementor-container { padding: 0 !important; max-width: none !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten :is(.elementor-element-ce9ba2f, .elementor-element-1eddde8, .elementor-element-929818d) > .elementor-widget-wrap { padding: 0 !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-widget-spacer { display: none !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-widget-text-editor > .elementor-widget-container { padding: 0 !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element-2432dae { margin-bottom: 26px !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element-93f93fa { margin-bottom: 24px !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element-ce9ba2f .elementor-widget-text-editor { max-width: 40em; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element-ce9ba2f .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element-f73bf6c .elementor-widget-text-editor :is(p:last-child, ul:last-child) { margin-bottom: 0 !important; }

/* kasten */
:is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-ce9ba2f { grid-column: 2; grid-row: 1; }
:is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-f73bf6c { grid-column: 1; grid-row: 1; }
:is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap {
  padding: clamp(28px, 3vw, 44px) !important; border-radius: var(--g-radius);
}
:is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-93f93fa .elementor-heading-title { font-size: 24px !important; }
/* Stehen bleiben nur, wenn der Kasten sicher in den Bildschirm passt:
 * kleine Kaesten ab 760 px Hoehe, groessere (Hanschen) ab 960 px. */
@media (min-width: 1025px) and (min-height: 760px) {
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten.g-anw-fach-klein, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-klein) .elementor-element-f73bf6c { position: sticky; top: 140px; }
}
@media (min-width: 1025px) and (min-height: 960px) {
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten.g-anw-fach-kurz, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-f73bf6c { position: sticky; top: 140px; }
}
/* Mitlaufender Kasten: Verschwindet der Kopf beim Runterscrollen
 * (html.g-kopf-weg aus gestaltung.js), rueckt der Kasten nach oben statt
 * 140 px tief haengen zu bleiben. */
@media (min-width: 1025px) {
  body.single-team .g-anw-spalten .elementor-element-f73bf6c { transition: top .3s ease; }
  html[data-g-kopf="verstecken"].g-kopf-weg body.single-team .g-anw-spalten .elementor-element-f73bf6c { top: 40px !important; }
}

/* band */
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) > .elementor-container { padding-bottom: 0; }
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) :is(.elementor-element-ce9ba2f, .elementor-element-f73bf6c) { grid-column: 1 / -1; }
/* Biografie: Ueberschrift links (Kante Portraet), Text unter dem Namen */
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-1eddde8 > .elementor-widget-wrap {
  display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--g-anw-luecke); align-items: start;
}
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-1eddde8 > .elementor-widget-wrap > .elementor-element { grid-column: 2; width: auto !important; }
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-2432dae { grid-column: 1 !important; grid-row: 1 / span 6; }
/* Band: dieselbe Teilung 5:7 wie die Biografie darueber - Ueberschrift links,
 * Text in EINER Spalte rechts. Vorher lief der Text in drei Zeitungsspalten,
 * und der Satz "Der Titel wird verliehen, wenn ... nachgewiesen hat" zerfiel
 * auf alle drei. */
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-f73bf6c {
  margin: clamp(56px, 6vw, 96px) calc(-1 * var(--g-anw-rand)) 0;
}
:is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap {
  padding: clamp(56px, 6vw, 96px) var(--g-anw-rand) !important; border-radius: 0;
}
@media (min-width: 1025px) {
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang, html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-929818d > .elementor-widget-wrap {
    display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--g-anw-luecke); align-items: start;
  }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang, html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-929818d > .elementor-widget-wrap > .elementor-element { grid-column: 2; width: auto !important; margin-bottom: 0 !important; }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang, html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-929818d > .elementor-widget-wrap > .elementor-element-93f93fa { grid-column: 1 !important; grid-row: 1 / span 6; }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang, html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-61f781f > .elementor-widget-container { max-width: 40em; }
}
body.single-team .g-anw-spalten .elementor-element-61f781f :is(li, p) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 14 6 6; overflow-wrap: break-word; }

/* Kontaktkarte neben langer Biografie (Regler anw-biokontakt, nur Fassung
 * Band): Die linke Spalte stand neben 800 px Text leer. Jetzt laeuft dort
 * eine kleine Karte mit - Portraet, Name, Mail, Telefon, Kontaktknopf. */
.g-anw-biokontakt { display: none; }
/* Nur der ERSTE Textbaustein reicht ueber Zeile 1 und 2; weitere folgen
 * darunter (Zeile 3, 4 ...). Vorher lagen bei Klatt zwei Bausteine in
 * derselben Zelle uebereinander. Die Karte reicht ueber alle Zeilen ab 2,
 * damit sie neben dem ganzen Text mitlaeuft. */
@media (min-width: 1025px) {
  :is(html[data-g-anw-biokontakt="mitlaufend"][data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html[data-g-anw-biokontakt="mitlaufend"]:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-1eddde8 > .elementor-widget-wrap { grid-template-rows: auto 1fr; }
  :is(html[data-g-anw-biokontakt="mitlaufend"][data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html[data-g-anw-biokontakt="mitlaufend"]:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-1eddde8 > .elementor-widget-wrap > .elementor-element:not(.elementor-element-2432dae, .elementor-widget-spacer, .elementor-widget-text-editor ~ .elementor-widget-text-editor) { grid-row: 1 / span 2; }
  :is(html[data-g-anw-biokontakt="mitlaufend"][data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html[data-g-anw-biokontakt="mitlaufend"]:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-1eddde8 > .elementor-widget-wrap > .elementor-element.elementor-element-2432dae { grid-row: 1; }
  :is(html[data-g-anw-biokontakt="mitlaufend"][data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html[data-g-anw-biokontakt="mitlaufend"]:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .g-anw-biokontakt {
    display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 18px; row-gap: 6px; align-items: center;
    grid-column: 1; grid-row: 2 / span 12; align-self: start; position: sticky; top: 140px; transition: top .3s ease;
    max-width: 340px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--g-anw-linie);
  }
  html[data-g-kopf="verstecken"].g-kopf-weg[data-g-anw-biokontakt="mitlaufend"][data-g-anw-spalten="band"] body.single-team .g-anw-spalten .g-anw-biokontakt,
  html[data-g-kopf="verstecken"].g-kopf-weg[data-g-anw-biokontakt="mitlaufend"]:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang .g-anw-biokontakt { top: 40px; }
}
html body .g-anw-biokontakt img.g-anw-biokontakt__bild { grid-row: 1; width: 64px !important; height: 64px !important; max-width: none !important; border-radius: 50% !important; object-fit: cover; object-position: 50% 16%; display: block; }
html body .g-anw-biokontakt .g-anw-biokontakt__name.g-anw-biokontakt__name { font-family: var(--g-serif) !important; }
.g-anw-biokontakt__name { grid-row: 1; font-size: 21px; line-height: 1.3; color: var(--g-blau); }
.g-anw-biokontakt .g-anw-biokontakt__zeile {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; min-width: 0; padding: 3px 0;
  font-size: 17px; line-height: 1.4; font-weight: 500; color: var(--g-blau) !important; text-decoration: none !important;
}
.g-anw-biokontakt .g-anw-biokontakt__zeile:first-of-type { margin-top: 14px; }
.g-anw-biokontakt .g-anw-biokontakt__zeile span { min-width: 0; overflow-wrap: anywhere; color: inherit !important; font-size: inherit !important; }
.g-anw-biokontakt .g-anw-biokontakt__zeile::before {
  content: ""; flex: none; width: 18px; height: 18px; background-color: var(--g-akzent);
  -webkit-mask: var(--g-anw-mail) center / contain no-repeat; mask: var(--g-anw-mail) center / contain no-repeat;
}
.g-anw-biokontakt .g-anw-biokontakt__zeile--tel::before { -webkit-mask-image: var(--g-anw-tel); mask-image: var(--g-anw-tel); }
.g-anw-biokontakt .g-anw-biokontakt__zeile:is(:hover, :focus-visible) span { color: var(--g-akzent) !important; text-decoration: underline; text-underline-offset: .2em; }
.g-anw-biokontakt .g-anw-biokontakt__zeile:focus-visible { outline: 3px solid var(--g-akzent); outline-offset: 2px; }
html body.single-team .g-anw-biokontakt .g-anw-knopf { grid-column: 1 / -1; margin: 22px 0 0 !important; }

/* untereinander */
html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten > .elementor-container { grid-template-columns: minmax(0, 1fr); row-gap: clamp(48px, 5vw, 72px); }
html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten .elementor-element-f73bf6c { grid-row: 1; }
html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten .elementor-element-ce9ba2f { grid-row: 2; }
html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { padding: clamp(28px, 3vw, 44px) clamp(28px, 3.4vw, 48px) !important; border-radius: var(--g-radius); }
html[data-g-anw-spalten="untereinander"] body.single-team .g-anw-spalten .elementor-element-ce9ba2f .elementor-widget-text-editor { max-width: 42em; }

/* Tablet und Telefon: eine Spalte. Kurze Liste zuerst (Ueberblick), lange
 * Fachgebiete nach der Biografie als Band. */
@media (max-width: 1024px) {
  html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten > .elementor-container { grid-template-columns: minmax(0, 1fr); row-gap: 48px; padding-top: 48px; padding-bottom: 56px; }
  html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten :is(.elementor-element-ce9ba2f, .elementor-element-f73bf6c) { grid-column: 1 !important; }
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-f73bf6c { grid-row: 1; }
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-ce9ba2f { grid-row: 2; }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) > .elementor-container { padding-bottom: 0; row-gap: 0; }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) :is(.elementor-element-1eddde8, .elementor-element-929818d) > .elementor-widget-wrap { grid-template-columns: minmax(0, 1fr); }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) :is(.elementor-element-1eddde8, .elementor-element-929818d) > .elementor-widget-wrap > .elementor-element { grid-column: 1 !important; grid-row: auto !important; }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element-f73bf6c { margin-top: 48px; }
  html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-widget-text-editor { max-width: 40em !important; }
  /* Kasten ueber die ganze Breite: Kacheln fuellen ihn (vorher rechts bis
   * 299 px leer); nur Absaetze bleiben auf Lesebreite. */
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-f73bf6c .elementor-widget-text-editor { max-width: none !important; }
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-f73bf6c .elementor-widget-text-editor p { max-width: 40em; }
}
@media (max-width: 767px) {
  html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten > .elementor-container { row-gap: 40px; padding-top: 40px; padding-bottom: 48px; }
  html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { padding: 28px 22px !important; }
  :is(html[data-g-anw-spalten="band"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang) .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { padding: 40px var(--g-anw-rand) 48px !important; }
  html:not([data-g-anw-spalten="original"]) body.single-team .g-anw-spalten .elementor-element-2432dae { margin-bottom: 20px !important; }
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { padding: 26px 22px 28px !important; }
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-93f93fa .elementor-heading-title { font-size: 22px !important; }
}
/* Schmales Telefon: "Taetigkeitsschwerpunkte" passt in 20 px auf eine Zeile;
 * sonst trennt es an der vom Modul gesetzten Stelle (Taetigkeits-schwerpunkte). */
@media (max-width: 400px) {
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element.elementor-element-f73bf6c > .elementor-widget-wrap { padding: 22px 18px 24px !important; }
  :is(html[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten, html:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz) .elementor-element-93f93fa .elementor-heading-title { font-size: 20px !important; }
}

/* ------------------------------------------ Fachgebiete verlinkt (Regler anw-fachlinks)
 * kacheln (Vorschlag) | links | aus. Nur Eintraege, die eindeutig einer
 * Fachseite entsprechen; der Wortlaut bleibt. */
.g-anw-fach__text { display: none; }
html[data-g-anw-fachlinks="aus"] .g-anw-fach__link { display: none; }
html[data-g-anw-fachlinks="aus"] .g-anw-fach__text { display: inline; }
body.single-team .elementor-element-61f781f a.g-anw-fach__link { color: inherit !important; }
html[data-g-anw-fachlinks="links"] body.single-team .elementor-element-61f781f a.g-anw-fach__link { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
html[data-g-anw-fachlinks="links"] body.single-team .elementor-element-61f781f a.g-anw-fach__link::after { content: " \2192"; opacity: 0; transition: opacity .2s ease; }
html[data-g-anw-fachlinks="links"] body.single-team .elementor-element-61f781f a.g-anw-fach__link:is(:hover, :focus-visible)::after { opacity: 1; }
html[data-g-anw-fachlinks="links"] body.single-team .elementor-element-61f781f a.g-anw-fach__link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste {
  display: flex !important; flex-wrap: wrap; gap: 10px; padding: 0 !important; margin: 4px 0 0 !important; list-style: none !important;
}
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste > li { margin: 0 !important; padding: 0 !important; list-style: none !important; display: block; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste > li::before { display: none !important; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste > li::marker { content: ""; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste :is(a.g-anw-fach__link, li.g-anw-fach--ohne) {
  display: inline-flex !important; align-items: center; gap: 10px; padding: 9px 14px !important; box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .42); border-radius: var(--g-radius);
  font-size: 16px !important; line-height: 1.35 !important; color: #fff !important; text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste li.g-anw-fach--ohne { border-color: rgba(255, 255, 255, .2); }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link::after { content: "\2192"; flex: none; font-family: var(--g-sans); transition: transform .2s ease; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste .g-anw-fach__wort { min-width: 0; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:is(:hover, :focus-visible) { background: #fff; color: var(--g-blau) !important; border-color: #fff; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:is(:hover, :focus-visible) * { color: var(--g-blau) !important; }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:is(:hover, :focus-visible)::after { transform: translateX(3px); }
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:focus-visible { outline: 3px solid var(--g-hellblau); outline-offset: 2px; }
/* Im Kasten neben der Biografie: Kacheln als gleich breite Zeilen, Pfeil
 * rechtsbuendig. Vorher so breit wie ihr Wort - Reihen 1, 1, 2, 1, 1, 1.
 * Am Tablet (Kasten ueber die ganze Breite) mehrere gleiche Spalten. Im
 * breiten Band duerfen sie fliessen. */
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks]))[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten ul.g-anw-fachliste.g-anw-fachliste,
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])):is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz ul.g-anw-fachliste.g-anw-fachliste {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 8px;
}
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks]))[data-g-anw-spalten="kasten"] body.single-team .g-anw-spalten ul.g-anw-fachliste.g-anw-fachliste :is(a.g-anw-fach__link, li.g-anw-fach--ohne),
html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])):is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-kurz ul.g-anw-fachliste.g-anw-fachliste :is(a.g-anw-fach__link, li.g-anw-fach--ohne) {
  display: flex !important; width: 100%; justify-content: space-between;
}

/* auf hellem Grund: Kontur statt weisser Kaesten (harte Regel: keine weissen
 * Kaesten auf Hellgrau); beim Ueberfahren Nachtblau. */
html[data-g-anw-fachgebiete="hell"]:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste :is(a.g-anw-fach__link, li.g-anw-fach--ohne) { border-color: #b9c6d3; color: var(--g-blau) !important; background: transparent; }
html[data-g-anw-fachgebiete="hell"]:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste li.g-anw-fach--ohne { background: transparent; border-color: #d5dde5; }
html[data-g-anw-fachgebiete="hell"]:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:is(:hover, :focus-visible) { background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; }
html[data-g-anw-fachgebiete="hell"]:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:is(:hover, :focus-visible) * { color: #fff !important; }
html[data-g-anw-fachgebiete="hell"]:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste a.g-anw-fach__link:focus-visible { outline-color: var(--g-akzent); }
@media (max-width: 767px) {
  html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste { gap: 8px; }
  html:is([data-g-anw-fachlinks="kacheln"], :not([data-g-anw-fachlinks])) body.single-team ul.g-anw-fachliste.g-anw-fachliste :is(a.g-anw-fach__link, li.g-anw-fach--ohne) { padding: 8px 12px !important; }
}

/* --------------------------------------- "Unsere Anwaelte" unten (Kollegen) */
.g-anw-kollegen { display: none; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .module_team .item_list { display: none !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 28px;
  max-width: 1140px; margin: 40px auto 8px !important; padding: 0 !important; list-style: none;
}
.g-anw-kollegen li { margin: 0; padding: 0; list-style: none; }
.g-anw-kollegen li::before { display: none !important; }
.g-anw-kollegen a { display: block; text-decoration: none !important; color: inherit; text-align: left; }
.g-anw-kollegen a:focus-visible { outline: 3px solid var(--g-akzent); outline-offset: 4px; }
.g-anw-kollegen__bild { display: block; overflow: hidden; border-radius: var(--g-radius); background: #1d3346; line-height: 0; aspect-ratio: 540 / 654; }
.g-anw-kollegen__bild img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .35s ease; }
.g-anw-kollegen a:is(:hover, :focus-visible) .g-anw-kollegen__bild img { transform: scale(1.03); }
/* Spezifitaet ueber der Fliesstext-Regel aus 10-basis.css (die erfasst jedes span). */
html body .g-anw-kollegen a .g-anw-kollegen__name.g-anw-kollegen__name { font-family: var(--g-serif) !important; }
.g-anw-kollegen__name { display: block; margin: 16px 0 4px; font-size: 21px; line-height: 1.3; color: var(--g-blau); }
.g-anw-kollegen__funktion { display: block; font-size: 15px; line-height: 1.45; color: var(--g-text-leise); overflow-wrap: break-word; }
.g-anw-kollegen a:is(:hover, :focus-visible) .g-anw-kollegen__name { color: var(--g-akzent); text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }

/* Grund hell: der Abschnitt setzt sich von der dunklen Fusszeile ab. */
html[data-g-anw-kollegengrund="hell"] body.single-team .elementor-element.g-anw-kollegen-abschnitt:not(.elementor-motion-effects-element-type-background) { background: var(--g-hell) !important; }
html[data-g-anw-kollegengrund="hell"] body.single-team .g-anw-kollegen-abschnitt :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor span) { color: var(--g-blau) !important; }
html[data-g-anw-kollegengrund="hell"] body.single-team .g-anw-kollegen-abschnitt .elementor-widget-text-editor :is(p, span) { color: var(--g-text) !important; }
/* Fachgebiete hell als Band: Das helle Band lief ohne Trennung in den ebenso
 * hellen Abschnitt darunter - ein einziger grauer Block. Dann bleibt
 * "Unsere Anwaelte" weiss, mit einer Linie oben. */
html[data-g-anw-fachgebiete="hell"][data-g-anw-kollegengrund="hell"][data-g-anw-spalten="band"] body.single-team .g-anw-spalten ~ .elementor-element.g-anw-kollegen-abschnitt:not(.elementor-motion-effects-element-type-background),
html[data-g-anw-fachgebiete="hell"][data-g-anw-kollegengrund="hell"]:is([data-g-anw-spalten="auto"], :not([data-g-anw-spalten])) body.single-team .g-anw-spalten.g-anw-fach-lang ~ .elementor-element.g-anw-kollegen-abschnitt:not(.elementor-motion-effects-element-type-background) {
  background: #fff !important; border-top: 1px solid var(--g-anw-linie);
}
html:not([data-g-anw-kollegengrund="hell"]) .g-anw-kollegen :is(.g-anw-kollegen__name, .g-anw-kollegen__funktion) { color: #fff; }
html:not([data-g-anw-kollegengrund="hell"]) .g-anw-kollegen a:is(:hover, :focus-visible) .g-anw-kollegen__name { color: #bfe3f7; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .elementor-heading-title { font-size: clamp(27px, 2.6vw, 34px) !important; text-transform: none !important; letter-spacing: 0 !important; }
/* Einleitung: linksbuendig. Am Rechner Ueberschrift links, Text rechts -
 * dieselbe Teilung 5:7 wie Kopf und Biografie. Mittig gesetzt lief der
 * Absatz am Telefon ueber elf Zeilen mit wechselndem Zeilenanfang. */
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container { max-width: none !important; padding: 0 var(--g-anw-rand) !important; box-sizing: border-box; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt :is(.elementor-widget-heading, .elementor-widget-text-editor) :is(.elementor-heading-title, .elementor-widget-container, p) { text-align: left !important; }
/* margin-right auto: Die Spalte zentriert ihre Bausteine (justify-content
 * center); zwischen 768 und 1024 px stand der Absatz sonst eingerueckt. */
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .elementor-widget-text-editor { max-width: 40em; margin-left: 0 !important; margin-right: auto !important; }
@media (min-width: 1025px) {
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--g-anw-luecke); align-items: start;
  }
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element { grid-column: 1 / -1; width: auto !important; margin: 0 !important; }
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading { grid-column: 1; }
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor { grid-column: 2; }
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title { padding-top: .2em; }
}

/* Luft wie bei der Biografie. Vorher 0 px Innenabstand: Ueberschrift 30 px
 * unter der Farbkante, Knopf 39 px ueber der Fusszeile, darueber 90 px. Der
 * Knopf steht jetzt an der Kante von Ueberschrift und Karten (war mittig),
 * 40 px unter den Karten. */
html[data-g-anw-kollegen="andere"] body.single-team .elementor-element.g-anw-kollegen-abschnitt { padding: clamp(56px, 6vw, 96px) 0 !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .elementor-widget-spacer { display: none !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .elementor-widget-gt3-core-team { margin-bottom: 0 !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .g-anw-kollegen.g-anw-kollegen { margin-bottom: 0 !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element.elementor-widget-gt3-core-button { margin: 40px 0 0 !important; }
html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen-abschnitt .elementor-widget-gt3-core-button :is(.elementor-widget-container, .gt3_module_button_elementor) { text-align: left !important; justify-content: flex-start !important; }

/* Tablet: vier in einer Reihe. Zu zweit waren die Portraets 337 x 407 px -
 * groesser als das Portraet der Person, um die es auf der Seite geht. */
@media (min-width: 768px) and (max-width: 1024px) {
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; max-width: none; margin-left: 0 !important; }
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen .g-anw-kollegen__name { font-size: 18px; margin-top: 12px; }
  .g-anw-kollegen__funktion { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 6 6; }
}
@media (max-width: 767px) {
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; margin-left: 0 !important; }
  html[data-g-anw-kollegen="andere"] body.single-team .g-anw-kollegen { gap: 28px 16px; margin-top: 28px !important; }
  .g-anw-kollegen__name { font-size: 18px; margin-top: 12px; }
  .g-anw-kollegen__funktion { font-size: 15px; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 6 6; }
}

/* ===== 32-kontakt.css ===== */
/**
 * Gestaltung B - Kontakt und Rechtliches (13.10.2026, zweiter Durchgang)
 *
 * Seiten: /kontakt/ (Elementor 3135, body.g-kontakt),
 *         /impressum/ und /datenschutzerklaerung/ (body.g-recht)
 * HTML:   tools/lib/gestaltung/kontakt.mjs
 * Regler: optionen-kontakt.json (kontakt-*, recht-*) und "karte" aus optionen.json
 *
 * Jonas: "/kontakt/ ist oede - ich moechte ein freundliches Gesicht, und
 * lesbar, dass man sich freut, wenn man anruft. Karte, wen juckts."
 *
 * Das Modul fuegt Bausteine hinzu (Einstieg .g-kt-held, Orte .g-kt-orte,
 * Anrufleiste, Tippfehler-Paare .g-tf) und markiert vorhandene. Ob neu oder
 * bisher sichtbar ist, entscheidet nur dieses CSS - jeder Regler hat
 * "original" bzw. "bisher".
 *
 * Achtung zoom: 10-basis.css vergroessert Elementor-Textbausteine und .wpcf7
 * mit zoom (Regler "groesse"). Pixelwerte darin werden mit --g-z
 * multipliziert. Neue Bausteine sind nicht gezoomt und rechnen selbst mit
 * calc(… * var(--g-z)).
 */

/* ======================================================================
 * PRUEFEBENE (Magenta) UND TIPPFEHLER - alle drei Seiten
 * ==================================================================== */

/* Rechtschreibfehler werden im Modul direkt korrigiert - ohne Marke. */

/* Magenta-Ebene: offene Punkte fuer die Freigabe mit Stephan. Im Betrieb aus. */
html[data-g-kontakt-marken="an"] .g-kt-frage {
  position: relative; cursor: help; padding: 0 1px; border-radius: 2px;
  background: rgba(255, 0, 140, .13); box-shadow: inset 0 -2px 0 #ff008c;
}
html[data-g-kontakt-marken="an"] :is(.g-kt-bildzeile, .g-kt-frage)[data-g-hinweis]:hover::after {
  content: attr(data-g-hinweis);
  position: absolute; left: 0; bottom: calc(100% + 6px); z-index: 60;
  width: max-content; max-width: min(300px, 80vw); white-space: normal;
  padding: 8px 11px; border-radius: 3px; background: #c4006b; color: #fff;
  font: 600 15px/1.35 var(--g-sans); letter-spacing: 0; text-transform: none; text-align: left; text-shadow: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}

/* ======================================================================
 * KONTAKT
 * ==================================================================== */

body.g-kontakt { --kt-rand: max(24px, calc((100% - 1170px) / 2)); --kt-linie: #d3dce4; }

/* Neue Bausteine: aus, bis ein Regler sie einschaltet. */
.g-kt-held, .g-kt-orte, .g-kt-anrufleiste { display: none; }

/* --------------------------------------------------------- Aufbau
 * gesicht:  Foto | Kontakt, Einladung, Telefon, E-Mail, Anschrift
 *           darunter Formular auf hellem Band, Terminsvertretung + Neuss,
 *           Karte, Anwaelte
 * buehne:   wie gesicht, das Foto aber randlos als Buehne, Text darauf
 * formular: Foto + Kontaktwege links, Formular rechts daneben
 * original: Karte | Formular (bisher)
 *
 * Formular und Karte lassen sich nicht doppeln. Der erste Abschnitt wird
 * mit display: contents aufgeloest, damit seine beiden Spalten frei im
 * Raster der Seite stehen. */
html:not([data-g-kontakt-aufbau="original"]) body.g-kontakt #main_content { margin-top: 0 !important; }
/* Tablet: der Inhaltsrahmen hatte 15 px Rand - die Baender liefen nicht durch. */
html:not([data-g-kontakt-aufbau="original"]) body.g-kontakt .main_wrapper > .container-sidebar_none { max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
html:not([data-g-kontakt-aufbau="original"]) body.g-kontakt .g-kt-held { display: block; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
}
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 > .elementor-element-237fa1f,
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 > .elementor-element-237fa1f > .elementor-container {
  display: contents !important;
}
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .g-kt-held { order: 1; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-80179fd { order: 2; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-49d700d { order: 3; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-2050704 { order: 4; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .g-kt-orte { order: 5; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-76498f28 { order: 6; }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-bc2336c { order: 7; }

/* Die beiden Spalten des ersten Abschnitts als volle Baender */
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 :is(.elementor-element-76498f28, .elementor-element-80179fd).elementor-column {
  width: 100% !important; max-width: none !important; margin: 0 !important; display: block !important;
}
/* Leere Abstandshalter im Formularblock */
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-80179fd :is(.elementor-element-d1d9260, .elementor-element-4decd3f, .elementor-element-991c678, .elementor-element-779d73b, .elementor-element-7ea5e1e) {
  display: none !important;
}

/* gesicht/buehne: Formular auf eigenem Band, ohne zweite Ueberschrift */
html:is([data-g-kontakt-aufbau="gesicht"], [data-g-kontakt-aufbau="buehne"]) .elementor-3135 .elementor-element-80179fd.elementor-column {
  background: var(--g-hell) !important;
  padding: 72px var(--kt-rand) 80px !important;
}
html:is([data-g-kontakt-aufbau="gesicht"], [data-g-kontakt-aufbau="buehne"]) .elementor-3135 .elementor-element-80179fd > .elementor-widget-wrap {
  max-width: 780px; margin: 0 auto !important; padding: 0 !important; display: block !important;
}
html:is([data-g-kontakt-aufbau="gesicht"], [data-g-kontakt-aufbau="buehne"]) .elementor-3135 .elementor-element-80179fd :is(.elementor-element-951c0f2, .elementor-element-ccb98f1) { display: none !important; }

/* formular: Foto und Kontaktwege links, Ueberschrift + Formular rechts */
html[data-g-kontakt-aufbau="formular"] .g-kt-held :is(.g-kt-titel, .g-kt-einladung) { display: none; }
html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-80179fd > .elementor-widget-wrap {
  display: block !important; margin: 0 !important; padding: 0 !important;
}
html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-80179fd.elementor-column { padding: 0 var(--kt-rand) 72px !important; }
html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-951c0f2 .elementor-heading-title {
  font-size: calc(52px * var(--g-z)) !important; line-height: 1.12 !important; margin: 0 0 18px !important;
}
html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-ccb98f1 > .elementor-widget-container {
  padding: 0 !important; font-size: 19px !important; margin-bottom: 36px;
}
@media (min-width: 1025px) {
  html[data-g-kontakt-aufbau="formular"] .elementor-3135 {
    grid-template-columns: minmax(24px, 1fr) minmax(0, 500px) minmax(0, 670px) minmax(24px, 1fr);
  }
  html[data-g-kontakt-aufbau="formular"] .elementor-3135 :is(.elementor-element-49d700d, .elementor-element-2050704, .g-kt-orte, .elementor-element-76498f28, .elementor-element-bc2336c) { grid-column: 1 / -1; }
  html[data-g-kontakt-aufbau="formular"] .elementor-3135 .g-kt-held { grid-column: 2; grid-row: 1; padding: 72px 64px 84px 0; }
  html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-80179fd.elementor-column { grid-column: 3; grid-row: 1; padding: 72px 0 84px !important; }
  /* Knopf -> Orte: 84 + 96 px waren 180 px Leere; wie im Standard ~95 px */
  html[data-g-kontakt-aufbau="formular"]:not([data-g-kontakt-orte="original"]) body.g-kontakt .g-kt-orte { padding-top: 12px; }
  html[data-g-kontakt-aufbau="formular"] .g-kt-held__innen { grid-template-columns: minmax(0, 1fr) !important; gap: 40px !important; }
  html[data-g-kontakt-aufbau="formular"] .g-kt-held__bild { aspect-ratio: 4 / 3 !important; }
  html[data-g-kontakt-aufbau="formular"] .g-kt-held .g-kt-weg--tel .g-kt-weg__wert { font-size: calc(36px * var(--g-z)) !important; }
}

/* ---------------------------------------------------------- Einstieg
 * Zwei Spalten ab 768 px: Foto | Telefon. Auf iPad und kleinem Laptop
 * steht die Nummer damit im ersten Bildschirm. */
.g-kt-held { background: #fff; padding: 72px var(--kt-rand) 88px; }
.g-kt-held__innen {
  max-width: 1170px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 4.8fr) minmax(0, 6.2fr); gap: clamp(36px, 4.6vw, 64px); align-items: center;
}
.g-kt-held__bild {
  position: relative; aspect-ratio: 4 / 5; overflow: hidden; margin: 0 !important;
  border-radius: var(--g-radius); background: var(--g-hell);
}
.g-kt-held__bild .g-kt-foto {
  display: none; position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover;
}
html[data-g-kontakt-foto="bremen27"] .g-kt-foto--bremen27 { display: block; object-position: 63% 30%; }
html[data-g-kontakt-foto="bremen17"] .g-kt-foto--bremen17 { display: block; object-position: 40% 35%; }
html[data-g-kontakt-foto="bremen9"]  .g-kt-foto--bremen9  { display: block; object-position: 62% 25%; }
html[data-g-kontakt-foto="team2026"] .g-kt-foto--team2026 { display: block; object-position: 50% 40%; }
.g-kt-haelfte { display: none; position: relative; overflow: hidden; aspect-ratio: 1125 / 600; }
.g-kt-haelfte img { display: block; max-width: none !important; height: auto !important; border: 0; }

/* Teamfoto: sieben Personen in die Breite - Foto oben ueber die volle
 * Breite, darunter Einladung links, Kontaktwege rechts. */
html[data-g-kontakt-foto="team2026"] .g-kt-held__innen { grid-template-columns: minmax(0, 1fr); gap: 52px; }
html[data-g-kontakt-foto="team2026"] .g-kt-held__bild { aspect-ratio: 1873 / 840; }
html[data-g-kontakt-foto="team2026"] .g-kt-held__text {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(36px, 5vw, 72px); align-items: start;
}
html[data-g-kontakt-foto="team2026"] .g-kt-titel { grid-column: 1; }
html[data-g-kontakt-foto="team2026"] .g-kt-einladung { grid-column: 1; }
html[data-g-kontakt-foto="team2026"] .g-kt-wege { grid-column: 2; grid-row: 1 / span 2; }
/* ohne Foto: eine Spalte, Kontaktwege nebeneinander */
html[data-g-kontakt-foto="ohne"] .g-kt-held__bild { display: none; }
html[data-g-kontakt-foto="ohne"] .g-kt-held__innen { grid-template-columns: minmax(0, 1fr); }
html[data-g-kontakt-foto="ohne"] ul.g-kt-wege { display: flex; flex-wrap: wrap; gap: 28px 64px; }
html[data-g-kontakt-foto="ohne"] ul.g-kt-wege > li.g-kt-weg { flex: 0 1 auto; }

/* Bildzeile: wer auf dem Foto steht (nur Bremen27), mit Verweis aufs Profil */
.g-kt-bildzeile { display: none; }
html[data-g-kontakt-foto="bremen27"]:not([data-g-kontakt-bildzeile="aus"]) .g-kt-bildzeile {
  display: flex; justify-content: space-between; gap: 12px;
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 64px 22px 18px; margin: 0;
  background: linear-gradient(180deg, rgba(5, 28, 44, 0) 0%, rgba(5, 28, 44, .78) 62%, rgba(5, 28, 44, .9) 100%);
}
/* Namen bleiben ganz; reicht die Breite nicht, steht der rechte Name eine
 * Zeile tiefer rechts - wie auf dem Foto */
html[data-g-kontakt-foto="bremen27"]:not([data-g-kontakt-bildzeile="aus"]) .g-kt-bildzeile { flex-wrap: wrap; row-gap: 4px; }
.g-kt-bildzeile a { white-space: nowrap; }
.g-kt-bildzeile a + .g-kt-bildzeile__trenner + a, .g-kt-bildzeile a:last-child { margin-left: auto; }
html body .g-kt-bildzeile a {
  color: #fff !important; font-size: 15px !important; line-height: 1.3 !important; font-weight: 600 !important;
  letter-spacing: .03em !important; text-decoration: none !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .4);
}
html body .g-kt-bildzeile a:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: 3px; }
/* Pruefebene: Zuordnung der Namen bestaetigen */
html[data-g-kontakt-marken="an"] .g-kt-bildzeile { box-shadow: inset 0 0 0 3px #ff008c; }
html[data-g-kontakt-marken="an"][data-g-kontakt-foto="bremen27"]:not([data-g-kontakt-bildzeile="aus"]) .g-kt-bildzeile::before {
  content: "?"; position: absolute; top: 24px; left: 22px;
  width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
  background: #c4006b; color: #fff; font: 700 15px/1 var(--g-sans);
}

html body .g-kt-held h1.g-kt-titel {
  font-family: var(--g-serif) !important; font-weight: 400 !important;
  font-size: clamp(40px, 3vw + 17px, calc(52px * var(--g-z))) !important; line-height: 1.12 !important;
  letter-spacing: 0 !important; color: var(--g-blau); margin: 0 0 18px !important; padding: 0;
  text-transform: none !important;
}
.g-kt-held .g-kt-einladung {
  font-size: clamp(19px, .6vw + 14.5px, calc(21px * var(--g-z))) !important; line-height: 1.55; letter-spacing: var(--g-ls);
  color: var(--g-text); margin: 0 0 44px; max-width: 34em; text-wrap: balance;
}
/* Ab 1200 px passt der erste Satz meist in eine Zeile - pretty statt wrap,
 * damit bei Schriftgroesse 120 nicht "uns." allein in Zeile 2 steht */
@media (min-width: 1200px) { .g-kt-held .g-kt-einladung { text-wrap: pretty; } }

/* Kontaktwege (Einstieg und Orte) */
ul.g-kt-wege { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 28px; }
ul.g-kt-wege > li.g-kt-weg {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 20px; align-items: center;
}
ul.g-kt-wege > li.g-kt-weg::before, ul.g-kt-wege > li.g-kt-weg::after { content: none !important; display: none !important; }
.g-kt-weg__symbol {
  grid-row: 1 / span 2; width: 52px; height: 52px; border-radius: 50%;
  background: var(--g-hell); display: grid; place-items: center;
}
.g-kt-weg__symbol svg { width: 22px; height: 22px; fill: var(--g-blau); display: block; }
.g-kt-weg--tel > .g-kt-weg__symbol { background: var(--g-blau); }
.g-kt-weg--tel > .g-kt-weg__symbol svg { fill: #fff; }
html body .g-kt-weg__marke {
  align-self: end; font-size: calc(13px * var(--g-z)) !important; line-height: 1.3 !important;
  letter-spacing: .14em !important; font-weight: 600; color: var(--g-text-leise);
}
html body .g-kt-weg__wert {
  align-self: start; font-size: calc(19px * var(--g-z)) !important; line-height: 1.45 !important;
  letter-spacing: .01em; color: var(--g-blau); overflow-wrap: anywhere;
}
/* Verweise: Unterstreichung liegt am Text an (nicht als Rahmen mit Abstand) */
html body .g-kt-weg__wert a {
  color: var(--g-blau) !important; min-height: 0 !important; border: 0 !important;
  text-decoration: underline !important; text-decoration-thickness: 1px !important;
  text-decoration-color: rgba(5, 28, 44, .35) !important; text-underline-offset: 4px;
  transition: color .15s ease, text-decoration-color .15s ease;
}
html body .g-kt-weg__wert a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration-color: currentColor !important; }
/* Anschrift: Routen-Verweis oder schlicht */
.g-kt-route--aus { display: none; }
html[data-g-kontakt-route="aus"] .g-kt-route--an { display: none; }
html[data-g-kontakt-route="aus"] .g-kt-route--aus { display: inline; }

/* Die Nummer: gross, in der Baskerville, tippbar */
html body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert,
html body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert a {
  font-family: var(--g-serif) !important; font-size: min(calc(40px * var(--g-z)), 4vw) !important;
  line-height: 1.15 !important; letter-spacing: .005em;
}
html body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert a { display: inline-block; padding: 2px 0 4px; white-space: nowrap; text-decoration: none !important; }
html body.g-kontakt .g-kt-held .g-kt-weg--tel { margin-bottom: 4px !important; }

/* Grund des Einstiegs */
html[data-g-kontakt-grund="hell"] .g-kt-held { background: #fff; }
html[data-g-kontakt-grund="hellgrau"] .g-kt-held { background: var(--g-hell); }
html[data-g-kontakt-grund="hellgrau"] .g-kt-held .g-kt-weg__symbol { background: #fff; }
html[data-g-kontakt-grund="hellgrau"] .g-kt-held .g-kt-weg--tel > .g-kt-weg__symbol { background: var(--g-blau); }
/* hellgrauer Einstieg: das Formularband darunter weiss, sonst verschwimmt die Grenze */
html[data-g-kontakt-grund="hellgrau"][data-g-kontakt-aufbau="gesicht"] .elementor-3135 .elementor-element-80179fd.elementor-column { background: #fff !important; border-top: 1px solid var(--kt-linie); }
@media (max-width: 767px) {
  html[data-g-kontakt-grund="hellgrau"][data-g-kontakt-aufbau="buehne"] .elementor-3135 .elementor-element-80179fd.elementor-column { background: #fff !important; border-top: 1px solid var(--kt-linie); }
}
/* Nachtblau (auch die Buehne): weisse Schrift. Die Buehne ist nur ab 768 px
 * nachtblau; am Telefon sieht sie aus wie "gesicht" (Foto gerahmt, weiss) -
 * wer es dort dunkel will, waehlt "Grund: Nachtblau". */
html[data-g-kontakt-grund="blau"] .g-kt-held { background: var(--g-blau); }
html[data-g-kontakt-grund="blau"] body .g-kt-held :is(h1.g-kt-titel, .g-kt-einladung, .g-kt-weg__wert, .g-kt-weg__wert a) { color: #fff !important; }
html[data-g-kontakt-grund="blau"] body .g-kt-held .g-kt-weg__wert a { text-decoration-color: rgba(255, 255, 255, .45) !important; }
html[data-g-kontakt-grund="blau"] body .g-kt-held .g-kt-weg__wert a:is(:hover, :focus-visible) { color: #a9dcf5 !important; }
html[data-g-kontakt-grund="blau"] body .g-kt-held .g-kt-weg__marke { color: #b8c7d4; }
html[data-g-kontakt-grund="blau"] .g-kt-held .g-kt-weg__symbol { background: rgba(255, 255, 255, .12); }
html[data-g-kontakt-grund="blau"] .g-kt-held .g-kt-weg__symbol svg { fill: #fff; }
html[data-g-kontakt-grund="blau"] .g-kt-held .g-kt-weg--tel > .g-kt-weg__symbol { background: var(--g-hellblau); }
html[data-g-kontakt-grund="blau"] .g-kt-held .g-kt-weg--tel > .g-kt-weg__symbol svg { fill: var(--g-blau); }
html[data-g-kontakt-grund="blau"] .g-kt-held__bild { background: var(--g-kanzleiblau); }
@media (min-width: 768px) {
  html[data-g-kontakt-aufbau="buehne"] .g-kt-held { background: var(--g-blau); }
  html[data-g-kontakt-aufbau="buehne"] body .g-kt-held :is(h1.g-kt-titel, .g-kt-einladung, .g-kt-weg__wert, .g-kt-weg__wert a) { color: #fff !important; }
  html[data-g-kontakt-aufbau="buehne"] body .g-kt-held .g-kt-weg__wert a { text-decoration-color: rgba(255, 255, 255, .45) !important; }
  html[data-g-kontakt-aufbau="buehne"] body .g-kt-held .g-kt-weg__wert a:is(:hover, :focus-visible) { color: #a9dcf5 !important; }
  html[data-g-kontakt-aufbau="buehne"] body .g-kt-held .g-kt-weg__marke { color: #b8c7d4; }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-held .g-kt-weg__symbol { background: rgba(255, 255, 255, .12); }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-held .g-kt-weg__symbol svg { fill: #fff; }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-held .g-kt-weg--tel > .g-kt-weg__symbol { background: var(--g-hellblau); }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-held .g-kt-weg--tel > .g-kt-weg__symbol svg { fill: var(--g-blau); }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-held__bild { background: var(--g-kanzleiblau); }
}

/* buehne: Nachtblau ueber die ganze Breite, das Foto fuellt randlos die
 * rechte Seite und laeuft nach links ins Blau aus; der Text steht auf
 * ruhigem Grund (ab 768 px; das Teamfoto bleibt oben, weil sieben Personen
 * die ganze Breite brauchen) */
@media (min-width: 768px) {
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held {
    position: relative; overflow: hidden; padding: clamp(72px, 8vw, 116px) var(--kt-rand);
  }
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__innen {
    grid-template-columns: minmax(0, 1fr); position: static; min-height: clamp(420px, 50vh, 580px);
  }
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__bild {
    position: absolute; top: 0; bottom: 0; right: 0; left: max(44%, calc(var(--kt-rand) + 520px)); aspect-ratio: auto; border-radius: 0; z-index: 0;
  }
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__bild::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg, var(--g-blau) 0%, rgba(5, 28, 44, .55) 14%, rgba(5, 28, 44, 0) 34%);
  }
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__text {
    position: relative; z-index: 2; max-width: 520px;
  }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-foto--bremen27 { object-position: 72% 30% !important; }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-foto--bremen17 { object-position: 55% 35% !important; }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-foto--bremen9 { object-position: 70% 25% !important; }
  html[data-g-kontakt-aufbau="buehne"] body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert,
  html[data-g-kontakt-aufbau="buehne"] body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert a { font-size: min(calc(40px * var(--g-z)), 4.4vw) !important; }
}
html[data-g-kontakt-aufbau="buehne"] .g-kt-held .g-kt-einladung { text-wrap: pretty; }
@media (min-width: 1025px) { html[data-g-kontakt-aufbau="buehne"] .g-kt-held .g-kt-einladung { text-wrap: balance; } }
/* gesicht bei Schriftgroesse 120 und 1920 px: "bei uns." hing als Rest in
 * Zeile 2 - ausgeglichen; wo der Satz in eine Zeile passt, aendert sich nichts */
@media (min-width: 1200px) { html[data-g-kontakt-aufbau="gesicht"] .g-kt-held .g-kt-einladung { text-wrap: balance; } }
@media (min-width: 768px) and (max-width: 1024px) {
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__bild { left: 50%; }
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__bild::after {
    background: linear-gradient(90deg, var(--g-blau) 0%, rgba(5, 28, 44, .4) 8%, rgba(5, 28, 44, 0) 18%);
  }
  html[data-g-kontakt-aufbau="buehne"] .g-kt-foto--bremen27 { object-position: 60% 30% !important; }
  html[data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-foto="team2026"]):not([data-g-kontakt-foto="ohne"]) .g-kt-held__text { max-width: 46%; }
}

/* --------------------------------------------------------- Formular
 * klar: Beschriftung ueber dem Feld (statt im Feld, verschwand beim
 * Tippen), Name und E-Mail nebeneinander, Einwilligung mit Luft zum Knopf.
 * Werte stehen im gezoomten .wpcf7 (x --g-z). */
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; color: var(--g-text) !important;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder > * { grid-column: 1 / -1; margin: 0 !important; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder > .name-wrapper { grid-column: 1; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder > .email-wrapper { grid-column: 2; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder p { margin: 0 !important; padding: 0 !important; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder label { display: block; position: relative; margin: 0 !important; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder span.label {
  position: static !important; display: block !important; transform: none !important; opacity: 1 !important;
  top: auto !important; left: auto !important; pointer-events: auto;
  font-size: 15px !important; line-height: 1.3 !important; font-weight: 600 !important;
  letter-spacing: .02em; color: var(--g-blau) !important; margin: 0 0 8px !important;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder :is(input[type="text"], input[type="email"], textarea) {
  display: block; width: 100% !important; box-sizing: border-box; margin: 0 !important;
  background: #fff !important; color: var(--g-text) !important;
  border: 1px solid #7d8b98 !important; border-radius: var(--g-radius) !important;
  padding: 13px 15px !important; height: auto !important; min-height: 50px;
  font-size: 16px !important; line-height: 1.45 !important; box-shadow: none;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder textarea { min-height: 170px; resize: vertical; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder :is(input[type="text"], input[type="email"], textarea):focus {
  outline: none !important; border-color: var(--g-akzent) !important; box-shadow: 0 0 0 3px rgba(47, 90, 168, .25) !important;
}
/* Einwilligung: Kasten, fette Zeile, Erlaeuterung eingerueckt darunter -
 * eine Schriftgroesse im ganzen Block */
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung { margin-top: 6px !important; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung .wpcf7-form-control-wrap,
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung .wpcf7-list-item { display: block !important; margin: 0 !important; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung label {
  display: flex !important; gap: 12px; align-items: flex-start; cursor: pointer;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung input[type="checkbox"] {
  flex: none; width: 22px; height: 22px; margin: 0 !important; accent-color: var(--g-blau); cursor: pointer;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung .wpcf7-list-item-label {
  font-size: 16px !important; line-height: 1.4 !important; font-weight: 600; color: var(--g-blau) !important; padding-top: 1px;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung__text {
  display: block; margin: 10px 0 0 34px; font-size: 16px !important; line-height: 1.6 !important; color: var(--g-text) !important;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung__text a { color: var(--g-blau) !important; text-decoration: underline !important; text-underline-offset: 3px; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-einwilligung__text a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; }
/* Knopf: deutlich abgesetzt (klebte an der Einwilligung) */
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-senden { margin-top: 14px !important; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-senden input[type="submit"] {
  margin: 0 !important; padding: 16px 36px !important; height: auto !important; line-height: 1.3 !important;
  font-size: 16px !important; font-weight: 600 !important; letter-spacing: .03em; cursor: pointer;
}
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .wpcf7-not-valid-tip { font-size: 15px; margin-top: 6px; color: #b3261e; }
/* Links Platz fuer das Info-Symbol des Themes (absolut, ~17-33 px) - sonst
 * deckte es die ersten Buchstaben der Meldung ab (Gegenprobe 13.10.). */
html:not([data-g-kontakt-formular="original"]) body.g-kontakt .wpcf7-response-output { margin: 24px 0 0 !important; padding: 14px 18px 14px 45px !important; font-size: 15px; }

/* Band: hell (Felder weiss) oder weiss (Felder hell, keine weissen Kaesten
 * auf Grau). Weiss bekommt eine Linie, sonst verschmilzt es mit dem Einstieg. */
html[data-g-kontakt-band="weiss"]:is([data-g-kontakt-aufbau="gesicht"], [data-g-kontakt-aufbau="buehne"]) .elementor-3135 .elementor-element-80179fd.elementor-column {
  background: #fff !important;
}
/* Linie nur unter einem weissen Einstieg (unter Nachtblau waere sie eine
 * helle Naht) */
html[data-g-kontakt-band="weiss"][data-g-kontakt-aufbau="gesicht"]:not([data-g-kontakt-grund="blau"]) .elementor-3135 .elementor-element-80179fd.elementor-column { border-top: 1px solid var(--kt-linie); }
@media (max-width: 767px) {
  html[data-g-kontakt-band="weiss"][data-g-kontakt-aufbau="buehne"]:not([data-g-kontakt-grund="blau"]) .elementor-3135 .elementor-element-80179fd.elementor-column { border-top: 1px solid var(--kt-linie); }
}
/* Weiss auf Weiss: Formular und Orte gehen ohne Grenze ineinander ueber -
 * der obere Rand der Orte faellt weg, sonst ~180 px Leere nach dem Knopf */
html[data-g-kontakt-band="weiss"]:is([data-g-kontakt-aufbau="gesicht"], [data-g-kontakt-aufbau="buehne"]):not([data-g-kontakt-orte="original"]) body.g-kontakt .g-kt-orte { padding-top: 16px; }
/* Aufbau "formular" untereinander (unter 1025 px): Knopf -> Orte waren
 * 144 bzw. 104 px - wie im Standard 96 bzw. 68 px */
@media (max-width: 1024px) {
  html[data-g-kontakt-band="weiss"][data-g-kontakt-aufbau="formular"]:not([data-g-kontakt-orte="original"]) body.g-kontakt .g-kt-orte { padding-top: 24px; }
}
@media (max-width: 767px) {
  html[data-g-kontakt-band="weiss"][data-g-kontakt-aufbau="formular"]:not([data-g-kontakt-orte="original"]) body.g-kontakt .g-kt-orte { padding-top: 16px; }
}
html[data-g-kontakt-band="weiss"]:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder :is(input[type="text"], input[type="email"], textarea) {
  background: var(--g-hell) !important; border-color: #8795a2 !important;
}
html[data-g-kontakt-band="weiss"]:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder :is(input[type="text"], input[type="email"], textarea):focus { background: #fff !important; }

/* Vergleich "Aufbau wie bisher": das <br> liess "uns." allein in der Zeile */
body.g-kontakt .elementor-element-ccb98f1 p { text-wrap: balance; }

/* --------------------------------------------- Terminsvertretung + Neuss
 * karten:    zwei Bloecke nebeneinander, Neuss in Nachtblau
 * gestapelt: Terminsvertretung breit (Foto | Text), Neuss als Band darunter
 * linie:     zwei Spalten mit Linie, ohne Flaechen
 * Bremen steht schon im Einstieg. */
html:not([data-g-kontakt-orte="original"]) body.g-kontakt .g-kt-orte { display: block; }
html:not([data-g-kontakt-orte="original"]) body.g-kontakt :is(.elementor-element-49d700d, .elementor-element-2050704) { display: none !important; }
/* Ohne neuen Einstieg (Aufbau "bisher") fehlte sonst Bremen: dann als
 * dritter Block neben Neuss. */
.g-kt-ort--bremen { display: none !important; }
html[data-g-kontakt-aufbau="original"]:not([data-g-kontakt-orte="original"]) .g-kt-ort--bremen { display: flex !important; }
@media (min-width: 768px) {
  html[data-g-kontakt-aufbau="original"]:not([data-g-kontakt-orte="original"]) .g-kt-orte__innen { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  html[data-g-kontakt-aufbau="original"]:not([data-g-kontakt-orte="original"]) .g-kt-ort--termine { grid-column: 1 / -1; }
}

.g-kt-orte { padding: 96px var(--kt-rand); background: #fff; }
.g-kt-orte__innen {
  max-width: 1170px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: stretch;
}
.g-kt-ort { display: flex; flex-direction: column; margin: 0; border-radius: var(--g-radius); overflow: hidden; }
.g-kt-ort__bild img { display: block; width: 100% !important; height: 230px !important; object-fit: cover; object-position: center 70%; max-width: none; }
.g-kt-ort__text { padding: 40px 44px 44px; flex: 1 1 auto; }
html body .g-kt-ort h2.g-kt-ort__titel {
  font-family: var(--g-serif) !important; font-weight: 400 !important; text-transform: none !important;
  font-size: calc(30px * var(--g-z)) !important; line-height: 1.25 !important; letter-spacing: 0 !important;
  color: inherit !important; margin: 0 0 20px !important;
}
.g-kt-ort .g-kt-ort__text > p:not(.g-kt-ort__marke) {
  font-size: calc(17px * var(--g-z)) !important; line-height: 1.7 !important; letter-spacing: var(--g-ls); margin: 0;
}
.g-kt-ort .g-kt-ort__text > p a { color: inherit !important; text-decoration: underline !important; text-underline-offset: 3px; }
.g-kt-ort .g-kt-ort__text > p a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; }
html body .g-kt-ort .g-kt-ort__marke {
  font-size: calc(13px * var(--g-z)) !important; line-height: 1.3 !important; letter-spacing: .14em !important;
  text-transform: uppercase; font-weight: 600; margin: 0 0 10px !important;
}
.g-kt-ort .g-kt-wege { gap: 22px; }
.g-kt-ort .g-kt-weg { grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; }
.g-kt-ort .g-kt-weg__symbol { width: 44px; height: 44px; }
.g-kt-ort .g-kt-weg__symbol svg { width: 19px; height: 19px; }
html body .g-kt-ort .g-kt-weg__wert { font-size: calc(18px * var(--g-z)) !important; }
/* Mail-Domain bricht nicht am Bindestrich (kontakt.mjs setzt <wbr> vor das @) */
body.g-kontakt :is(.g-kt-ort, .g-kt-held) .g-kt-domain { white-space: nowrap; }
/* Nummern reissen nicht ("0421 / 566 38 780", "0421- / 56638780") */
body.g-kontakt :is(.g-kt-ort, .g-kt-held, .elementor-element-0a5fc46, .elementor-element-dea5157) a[href^="tel:"] { white-space: nowrap; }
/* Nummer in den Orten in derselben Sprache wie im Einstieg */
html body.g-kontakt .g-kt-ort .g-kt-weg--tel .g-kt-weg__wert,
html body.g-kontakt .g-kt-ort .g-kt-weg--tel .g-kt-weg__wert a {
  font-family: var(--g-serif) !important; font-size: calc(26px * var(--g-z)) !important; line-height: 1.2 !important; letter-spacing: .005em;
}

/* karten: Terminsvertretung hell mit Foto, Neuss in Nachtblau, Inhalt mittig */
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort--termine { background: var(--g-hell); color: var(--g-blau); }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) { background: var(--g-blau); color: #fff; justify-content: center; }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) > .g-kt-ort__text { flex: 0 1 auto; }
html:not([data-g-kontakt-orte="linie"]) body .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) :is(.g-kt-weg__wert, .g-kt-weg__wert a) { color: #fff !important; }
html:not([data-g-kontakt-orte="linie"]) body .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg__wert a { text-decoration-color: rgba(255, 255, 255, .45) !important; }
html:not([data-g-kontakt-orte="linie"]) body .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg__wert a:is(:hover, :focus-visible) { color: #a9dcf5 !important; }
html:not([data-g-kontakt-orte="linie"]) body .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg__marke { color: #b8c7d4; }
html:not([data-g-kontakt-orte="linie"]) body .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-ort__marke { color: #b8c7d4; }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg__symbol { background: rgba(255, 255, 255, .12); }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg__symbol svg { fill: #fff; }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg--tel > .g-kt-weg__symbol { background: var(--g-hellblau); }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort:is(.g-kt-ort--neuss, .g-kt-ort--bremen) .g-kt-weg--tel > .g-kt-weg__symbol svg { fill: var(--g-blau); }
html:not([data-g-kontakt-orte="linie"]) .g-kt-ort--termine .g-kt-ort__text > p { color: var(--g-text); }

/* karten ab 900 px: das Saeulenbild liegt als schmales Band ueber BEIDEN
 * Bloecken - beide gleich gebaut, kein leeres Blau mehr (Neuss war 607 px
 * hoch bei ~330 px Inhalt). Der Bild-Text-Block wird mit display: contents
 * aufgeloest; sein Grund wandert auf den Textteil. */
@media (min-width: 900px) {
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) .g-kt-orte__innen { column-gap: 0; row-gap: 0; }
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) .g-kt-ort--termine { display: contents; }
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) .g-kt-ort--termine > .g-kt-ort__bild {
    grid-column: 1 / -1; grid-row: 1; border-radius: var(--g-radius) var(--g-radius) 0 0; overflow: hidden;
  }
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) .g-kt-ort--termine > .g-kt-ort__bild img { height: 220px !important; object-position: center 62%; }
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) .g-kt-ort--termine > .g-kt-ort__text {
    grid-column: 1; grid-row: 2; background: var(--g-hell); color: var(--g-blau); border-radius: 0 0 0 var(--g-radius);
  }
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) .g-kt-ort--neuss {
    grid-column: 2; grid-row: 2; border-radius: 0 0 var(--g-radius) 0;
  }
}

/* karten 900-1024 px: in der schmalen Neuss-Spalte ragte die Nummer
 * 15 px ins Innenpolster - weniger Polster */
@media (min-width: 900px) and (max-width: 1024px) {
  html[data-g-kontakt-orte="karten"]:not([data-g-kontakt-aufbau="original"]) :is(.g-kt-ort--termine, .g-kt-ort--neuss) > .g-kt-ort__text { padding: 36px 28px 40px; }
}

/* gestapelt: Terminsvertretung breit, Neuss als Band mit drei Wegen */
@media (min-width: 900px) {
  html[data-g-kontakt-orte="gestapelt"] .g-kt-orte__innen { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--termine { flex-direction: row; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--termine .g-kt-ort__bild { flex: 0 0 42%; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--termine .g-kt-ort__bild img { height: 100% !important; min-height: 320px; object-position: center 60%; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--termine .g-kt-ort__text { padding: 48px 52px; align-self: center; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--neuss .g-kt-ort__text { padding: 40px 52px 44px; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--neuss .g-kt-ort__titel { margin-bottom: 26px !important; }
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--neuss ul.g-kt-wege { grid-template-columns: repeat(3, max-content); justify-content: space-between; column-gap: 40px; row-gap: 22px; }
}
@media (min-width: 900px) and (max-width: 1100px) {
  html[data-g-kontakt-orte="gestapelt"] .g-kt-ort--neuss ul.g-kt-wege { grid-template-columns: repeat(2, max-content); justify-content: start; }
}

/* linie: frei auf Weiss, nur eine Linie oben */
html[data-g-kontakt-orte="linie"] .g-kt-ort { border-top: 3px solid var(--g-akzent); border-radius: 0; color: var(--g-blau); }
html[data-g-kontakt-orte="linie"] .g-kt-ort__bild { display: none; }
html[data-g-kontakt-orte="linie"] .g-kt-ort__text { padding: 32px 0 0; }
html[data-g-kontakt-orte="linie"] .g-kt-orte__innen { gap: 72px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
html[data-g-kontakt-orte="linie"] body .g-kt-ort .g-kt-ort__marke { color: var(--g-text-leise); }
html[data-g-kontakt-orte="linie"] .g-kt-ort .g-kt-ort__text > p:not(.g-kt-ort__marke) { color: var(--g-text); }

/* ------------------------------------------------------------- Karte
 * Nachrangig: unten als ruhiges Band. Farbe/Laden regelt "karte" (Grundsystem).
 * Hintergrund hell, damit beim Laden (oder wenn Google gesperrt ist) keine
 * weisse Luecke bleibt. */
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-76498f28 > .elementor-widget-wrap { padding: 0 !important; display: block !important; }
body.g-kontakt .elementor-element-1ba3efb7 > .elementor-widget-container { background: var(--g-hell); }
html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-1ba3efb7 iframe { height: 380px !important; display: block; }
html[data-g-karte="aus"] body.g-kontakt .elementor-element-76498f28 { display: none !important; }
html[data-g-karte="aus"][data-g-kontakt-aufbau="original"] body.g-kontakt .elementor-element-80179fd { margin-left: auto !important; margin-right: auto !important; }
/* Elementor setzt auf dieser Seite einen eigenen (neutralen) Filter mit
 * hoeherer Spezifitaet - die Kanzleifarben aus 10-basis kamen nicht an. */
html[data-g-karte="kanzlei"] .elementor-3135 .elementor-element.elementor-element-1ba3efb7 iframe {
  filter: grayscale(1) sepia(.35) hue-rotate(178deg) saturate(1.6) brightness(.96) contrast(1.05) !important;
}
/* "erst nach Klick": hell und niedrig statt eines blauen Blocks direkt am
 * blauen Anwaelte-Band. Aufgebaut wie die Kontaktwege: Ort-Symbol links,
 * Name, Anschrift und Hinweis linksbuendig in der Inhaltsbreite, "Karte
 * laden" und "In Google Maps öffnen" nebeneinander rechts.
 * Inhalt (gestaltung.js): strong, p (Anschrift), p (Hinweis), button, a. */
body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter {
  --kt-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7zm0 4a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E");
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; column-gap: 20px; row-gap: 0;
  align-items: center; justify-items: start; text-align: left;
  min-height: 0 !important; height: auto; padding: 48px var(--kt-rand) 52px;
  background: var(--g-hell); color: var(--g-blau); border-top: 1px solid var(--kt-linie);
}
body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter::before {
  content: ""; grid-column: 1; grid-row: 1 / span 2; align-self: center;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--g-blau) var(--kt-pin) center / 22px 22px no-repeat;
}
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter strong {
  grid-column: 2; grid-row: 1; align-self: end;
  font-size: calc(24px * var(--g-z)); line-height: 1.25; color: var(--g-blau); margin: 0 0 6px;
}
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter p {
  max-width: 34em; margin: 0; opacity: 1;
  font-size: calc(16px * var(--g-z)) !important; line-height: 1.55 !important; letter-spacing: var(--g-ls); color: var(--g-text);
}
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter p:nth-of-type(1) { grid-column: 2; grid-row: 2; align-self: start; color: var(--g-blau); }
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter p:nth-of-type(2) { grid-column: 2; grid-row: 3; margin-top: 12px; text-wrap: pretty; }
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter button {
  grid-column: 3; grid-row: 1 / span 3; align-self: center;
  background: var(--g-blau); color: #fff; margin: 0; padding: 14px 26px; font-size: calc(16px * var(--g-z)); white-space: nowrap;
}
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter button:is(:hover, :focus-visible) { background: var(--g-akzent); }
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter a {
  grid-column: 4; grid-row: 1 / span 3; align-self: center; white-space: nowrap;
  color: var(--g-blau) !important; font-size: calc(16px * var(--g-z)); text-underline-offset: 3px; padding: 6px 0;
}
html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; }
/* Tablet: Knoepfe unter den Text, nebeneinander */
@media (max-width: 1024px) {
  body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter { grid-template-columns: 52px auto minmax(0, 1fr); padding: 44px var(--kt-rand) 48px; }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter :is(strong, p:nth-of-type(1), p:nth-of-type(2)) { grid-column: 2 / -1; }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter button { grid-column: 2; grid-row: 4; margin-top: 20px; }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter a { grid-column: 3; grid-row: 4; margin-top: 20px; margin-left: 20px; }
}

/* --------------------------------------------------- Unsere Anwaelte
 * karten: Fotos mit Namen, Funktion und eigener E-Mail-Adresse - auf der
 *         Kontaktseite der direkte Draht.
 * namen:  nur Name und Funktion
 * aus:    Abschnitt weglassen (die Anwaelte haben eine eigene Seite)
 * Unter 1025 px: Liste (rundes Foto links, Angaben rechts) oder Raster. */
html[data-g-kontakt-team="aus"] .elementor-3135 .elementor-element-bc2336c { display: none !important; }
body.g-kontakt .elementor-element-c094964 p { text-wrap: balance; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item_list {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 24px; margin: 0 !important;
}
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item_list::before,
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item_list::after { display: none !important; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item-team-member {
  width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important;
}
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 :is(.item_wrapper, .item) { height: 100%; display: flex; flex-direction: column; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img .team_image_cover { border-radius: var(--g-radius); }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team-infobox {
  position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important;
  background: none !important; padding: 14px 4px 0 !important; text-align: center; height: auto !important;
  flex: 1 1 auto; display: flex !important; flex-direction: column; justify-content: flex-start !important; pointer-events: auto !important;
}
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 :is(.team_title, .team_title_wrapper) {
  opacity: 1 !important; transform: none !important; position: static !important; margin: 0 !important; padding: 0 !important; flex: none;
}
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) body .elementor-3135 .elementor-element-0a5fc46 :is(.team_title__text, .team_title__text a) {
  font-family: var(--g-serif) !important; font-size: calc(20px * var(--g-z)) !important; line-height: 1.3 !important;
  color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 6px !important; padding: 0 !important;
}
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) body .elementor-3135 .elementor-element-0a5fc46 .team-positions {
  font-size: calc(15px * var(--g-z)) !important; line-height: 1.45 !important; font-weight: 400 !important;
  color: #c8d5e3 !important; opacity: 1 !important; margin: 0 !important; padding: 0 !important;
}
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_title { display: block !important; text-align: center !important; }
html[data-g-kontakt-team="namen"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info { display: none !important; }
html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info {
  display: block !important; position: static !important; opacity: 1 !important; transform: none !important;
  margin: auto 0 0 !important; padding: 12px 0 0 !important; background: none !important; visibility: visible !important;
}
html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info::before { display: none !important; }
html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item:has(a[href^="tel:"]),
html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item h4 { display: none !important; }
html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a {
  display: inline-block; padding: 6px 0; color: #fff !important; text-decoration: underline !important;
  text-decoration-color: rgba(255, 255, 255, .45) !important; text-underline-offset: 4px;
}
html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a span {
  display: inline !important; font-size: calc(15px * var(--g-z)) !important; font-weight: 500 !important; color: inherit !important; letter-spacing: .01em; margin: 0 !important;
}
html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a span.g-kt-domain { white-space: nowrap; }
/* 1025-1199 px: vier Spalten im 998-px-Raster, "hanschen@dr-schenk.net"
 * fehlten wenige Pixel und brach vor dem @ - etwas weniger Abstand */
@media (min-width: 1025px) and (max-width: 1199px) {
  html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .item_list { column-gap: 18px; }
  html[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .team-infobox { padding-left: 0 !important; padding-right: 0 !important; }
  html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a span { letter-spacing: 0; }
}
html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a:is(:hover, :focus-visible) { color: #a9dcf5 !important; text-decoration-color: currentColor !important; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-bc2336c .elementor-element-226d46d { display: none !important; }
/* Hover: Die Theme-Ueberblendung (.team_img::before, beim Darueberfahren
 * deckend weiss und 1,05-fach) lief in der Kartenansicht ins Leere - das
 * Foto wurde zur weissen Flaeche, das runde Listenfoto zum weissen Quadrat.
 * Kein Bildeffekt; der Name wird unterstrichen, die Mail hellblau. */
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img::before,
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img::after { display: none !important; content: none !important; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 :is(.team_img, .team_img a, .team_image_cover) { transform: none !important; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) body .elementor-3135 .elementor-element-0a5fc46 .item:hover .team_title__text a,
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) body .elementor-3135 .elementor-element-0a5fc46 .team_title__text a:focus-visible {
  text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 5px;
}
html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .item:hover .gt3_single_team_info__item a { color: #a9dcf5 !important; }
html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img a:focus-visible { outline: 3px solid var(--g-hellblau); outline-offset: 3px; display: block; }

/* Grund des Anwaelte-Bands: der Original-Verlauf Nachtblau -> Koenigsblau
 * stiess rechts hart an den nachtblauen Fuss (Bannerwerbung). Flach im
 * Kanzleiblau oder ruhiger Verlauf Nachtblau -> Kanzleiblau. */
html[data-g-kontakt-team-grund="kanzleiblau"] body.g-kontakt .elementor-element-bc2336c { background: var(--g-kanzleiblau) !important; }
html[data-g-kontakt-team-grund="verlauf"] body.g-kontakt .elementor-element-bc2336c { background: linear-gradient(100deg, var(--g-blau) 9%, var(--g-kanzleiblau) 100%) !important; }

/* Tablet und Telefon */
@media (max-width: 1024px) {
  html:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item_list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 28px; }
  /* Liste: rundes Foto links, Name, Funktion, E-Mail rechts */
  /* Foto oben buendig mit dem Namen - zentriert standen die Namen einer
   * Reihe auf verschiedenen Hoehen */
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item {
    flex-direction: row !important; align-items: flex-start; gap: 16px;
  }
  /* Foto 88 px: in zwei Spalten bricht sonst bei 768 px "hanschen@" um */
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img {
    flex: 0 0 88px; width: 88px !important; margin: 0 !important;
  }
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img .team_image_cover {
    width: 88px !important; height: 88px !important; border-radius: 50% !important; background-size: cover !important; background-position: 50% 18% !important;
  }
  /* margin 0: das Theme zentrierte den Textteil mit auto-Raendern */
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team-infobox {
    text-align: left !important; padding: 4px 0 0 !important; margin: 0 !important; justify-content: flex-start !important;
  }
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 :is(.team_title, .team_title_wrapper) { text-align: left !important; }
  html:not([data-g-kontakt-team-mobil="raster"])[data-g-kontakt-team="karten"] .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info { margin: 0 !important; padding: 8px 0 0 !important; }
  html:not([data-g-kontakt-team-mobil="raster"])[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a { padding: 4px 0; }
  /* Raster: Fotos 4:5 statt fester Hoehe */
  html[data-g-kontakt-team-mobil="raster"]:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img .team_image_cover {
    height: auto !important; aspect-ratio: 4 / 5; background-position: 50% 20% !important;
  }
}
/* Liste: eine Spalte bis 739 px (darueber reicht die Breite fuer die
 * laengste Mail-Adresse ohne Umbruch) */
@media (max-width: 739px) {
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item_list { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}
@media (max-width: 599px) {
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item { gap: 18px; }
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img { flex-basis: 96px; width: 96px !important; }
  html:not([data-g-kontakt-team-mobil="raster"]):is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .team_img .team_image_cover { width: 96px !important; height: 96px !important; }
  html[data-g-kontakt-team-mobil="raster"]:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) .elementor-3135 .elementor-element-0a5fc46 .item_list { gap: 32px 14px; }
}

/* ------------------------------------------- Anrufleiste (nur Telefon)
 * Erscheint, sobald die grosse Nummer des Einstiegs aus dem Bild ist. */
@media (max-width: 767px) {
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 990;
    padding: 10px 20px; min-height: 56px; border-radius: 999px; background: var(--g-blau); color: #fff !important;
    font-size: 17px; line-height: 1.3; text-decoration: none !important; box-shadow: 0 8px 24px rgba(5, 28, 44, .28);
    transition: transform .25s ease, opacity .25s ease, visibility 0s linear 0s;
  }
  html[data-g-kontakt-anrufleiste="an"].g-kt-io:is(:not(.g-kt-nummer-weg), .g-kt-fuss) body.g-kontakt .g-kt-anrufleiste {
    transform: translateY(140%); opacity: 0; visibility: hidden; pointer-events: none;
    transition: transform .25s ease, opacity .25s ease, visibility 0s linear .25s;
  }
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste .g-kt-anrufleiste__marke { color: #b8c7d4; font-size: 15px !important; letter-spacing: .12em; font-weight: 600; }
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste strong { color: #fff; font-family: var(--g-serif) !important; font-weight: 400; font-size: 21px; white-space: nowrap; }
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste .g-kt-weg__symbol { width: 36px; height: 36px; background: var(--g-hellblau); }
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste .g-kt-weg__symbol svg { width: 17px; height: 17px; fill: var(--g-blau); }
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste:is(:hover, :focus-visible) { background: var(--g-akzent); }
  /* "TEL" #b8c7d4 auf dem Akzent waren 3,86:1 - beim Darueberfahren und
   * Fokus heller (#dce6f0 auf #2f5aa8: 5,3:1) */
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .g-kt-anrufleiste:is(:hover, :focus-visible) .g-kt-anrufleiste__marke { color: #dce6f0; }
  /* Platz unter dem Fuss nur ohne Skript - mit Skript geht die Leiste
   * ueber der Fusszeile weg */
  html[data-g-kontakt-anrufleiste="an"]:not(.g-kt-io) body.g-kontakt #footer { padding-bottom: 80px; }
  /* Der weisse "Nach oben"-Knopf des Themes lag halb unter der Leiste */
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt .back_to_top_container { display: none !important; }
  /* Vorschau: der Pult-Knopf sitzt unten links */
  html[data-g-kontakt-anrufleiste="an"] body.g-kontakt:has(.g-pult-knopf) .g-kt-anrufleiste { bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) { .g-kt-anrufleiste { transition: none !important; } }

/* ------------------------------------------------------- Tablet (768-1024) */
@media (min-width: 768px) and (max-width: 1024px) {
  .g-kt-held { padding: 56px var(--kt-rand) 64px; }
  .g-kt-held .g-kt-einladung { margin-bottom: 32px; }
  ul.g-kt-wege { gap: 22px; }
  ul.g-kt-wege > li.g-kt-weg { grid-template-columns: 46px minmax(0, 1fr); column-gap: 16px; }
  .g-kt-held .g-kt-weg__symbol { width: 46px; height: 46px; }
  .g-kt-orte { padding: 72px var(--kt-rand); }
}
@media (max-width: 899px) {
  .g-kt-orte__innen, html[data-g-kontakt-orte="linie"] .g-kt-orte__innen { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------ Telefon */
@media (max-width: 767px) {
  .g-kt-held { padding: 28px 20px 48px; }
  .g-kt-held__innen { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .g-kt-held__bild { aspect-ratio: 3 / 2; max-height: 42vh; max-height: 42svh; width: 100%; }
  /* Foto vor dem Gericht: enger auf die Gesichter (im ganzen 3:2-Bild waren
   * sie ~30 px breit, die Namenszeile verdeckte ein Drittel) */
  html[data-g-kontakt-foto="bremen27"] .g-kt-held__bild { aspect-ratio: 4 / 3; }
  html[data-g-kontakt-foto="bremen27"] .g-kt-held__bild .g-kt-foto--bremen27 { object-position: 62% 28%; transform: scale(1.32); transform-origin: 62% 26%; }
  /* Reihenfolge am Telefon: Foto zuerst (freundliches Gesicht) oder
   * Telefon zuerst (Nummer ohne Scrollen) */
  html[data-g-kontakt-reihe-mobil="telefon-zuerst"] .g-kt-held__bild { order: 2; }
  html[data-g-kontakt-reihe-mobil="telefon-zuerst"] .g-kt-held__text { order: 1; }

  /* Teamfoto: zwei Haelften untereinander, Gesichter doppelt so gross */
  html[data-g-kontakt-foto="team2026"] .g-kt-held__bild { aspect-ratio: auto; max-height: none; background: none; }
  html[data-g-kontakt-foto="team2026"] .g-kt-held__bild .g-kt-foto--team2026 { display: none; }
  html[data-g-kontakt-foto="team2026"] .g-kt-haelfte { display: block; border-radius: var(--g-radius); }
  html[data-g-kontakt-foto="team2026"] .g-kt-haelfte + .g-kt-haelfte { margin-top: 4px; }
  html[data-g-kontakt-foto="team2026"] .g-kt-held__text { display: block; }

  html body .g-kt-held h1.g-kt-titel { font-size: calc(36px * var(--g-z)) !important; margin-bottom: 12px !important; }
  .g-kt-held .g-kt-einladung { font-size: calc(17px * var(--g-z)) !important; margin-bottom: 28px; text-wrap: pretty; }
  ul.g-kt-wege { gap: 20px; }
  ul.g-kt-wege > li.g-kt-weg { grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; }
  .g-kt-weg__symbol { width: 46px; height: 46px; }
  html body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert,
  html body.g-kontakt .g-kt-held .g-kt-weg--tel .g-kt-weg__wert a { font-size: min(calc(30px * var(--g-z)), 8.4vw) !important; }
  html body .g-kt-weg__wert { font-size: calc(16px * var(--g-z)) !important; }
  html body .g-kt-weg__marke { font-size: 15px !important; letter-spacing: .1em !important; }
  html body .g-kt-weg__wert a { display: inline-block; padding: 4px 0; }
  html body .g-kt-bildzeile a { font-size: 15px !important; }
  html[data-g-kontakt-foto="bremen27"]:not([data-g-kontakt-bildzeile="aus"]) .g-kt-bildzeile { padding: 48px 16px 12px; }

  /* Telefon als gefuellter Knopf (Regler kontakt-telefon) */
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel {
    position: relative; background: var(--g-blau); border-radius: var(--g-radius);
    padding: 14px 16px !important; margin: 4px 0 6px !important; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px;
    box-shadow: 0 6px 18px rgba(5, 28, 44, .18); transition: background-color .15s ease;
  }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel:has(a:is(:hover, :focus-visible)) { background: var(--g-akzent); }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel > .g-kt-weg__symbol { width: 44px; height: 44px; background: var(--g-hellblau); }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel > .g-kt-weg__symbol svg { fill: var(--g-blau); }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__marke { color: #b8c7d4 !important; }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__wert a { color: #fff !important; padding: 0; }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__wert a::after { content: ""; position: absolute; inset: 0; border-radius: var(--g-radius); }
  /* "TEL" auf dem Akzent: #b8c7d4 waren 3,86:1, #dce6f0 sind 5,3:1 */
  html:not([data-g-kontakt-telefon="zahl"]):not([data-g-kontakt-grund="blau"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel:has(a:is(:hover, :focus-visible)) .g-kt-weg__marke { color: #dce6f0 !important; }
  /* Der Fokusring liegt am ganzen Knopf (li); der allgemeine doppelte Ring
   * der Fassung A (outline + weisser Schatten, !important) zeichnete einen
   * zweiten Rahmen um die Nummer */
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__wert a:focus-visible { outline: none !important; box-shadow: none !important; }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel:has(a:focus-visible) { outline: 3px solid var(--g-hellblau); outline-offset: 2px; }
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__wert,
  html:not([data-g-kontakt-telefon="zahl"]) body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__wert a { font-size: min(calc(26px * var(--g-z)), 7.4vw) !important; }
  /* auf Nachtblau: Knopf weiss gefuellt (die Buehne ist am Telefon hell) */
  html:not([data-g-kontakt-telefon="zahl"])[data-g-kontakt-grund="blau"] body.g-kontakt .g-kt-held li.g-kt-weg--tel { background: #fff; }
  html:not([data-g-kontakt-telefon="zahl"])[data-g-kontakt-grund="blau"] body.g-kontakt .g-kt-held li.g-kt-weg--tel:has(a:is(:hover, :focus-visible)) { background: #dcebf8; }
  html:not([data-g-kontakt-telefon="zahl"])[data-g-kontakt-grund="blau"] body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__wert a { color: var(--g-blau) !important; }
  html:not([data-g-kontakt-telefon="zahl"])[data-g-kontakt-grund="blau"] body.g-kontakt .g-kt-held li.g-kt-weg--tel .g-kt-weg__marke { color: var(--g-text-leise) !important; }
  html:not([data-g-kontakt-telefon="zahl"])[data-g-kontakt-grund="blau"] body.g-kontakt .g-kt-held li.g-kt-weg--tel > .g-kt-weg__symbol { background: var(--g-blau); }
  html:not([data-g-kontakt-telefon="zahl"])[data-g-kontakt-grund="blau"] body.g-kontakt .g-kt-held li.g-kt-weg--tel > .g-kt-weg__symbol svg { fill: #fff; }

  html:is([data-g-kontakt-aufbau="gesicht"], [data-g-kontakt-aufbau="buehne"]) .elementor-3135 .elementor-element-80179fd.elementor-column { padding: 44px 20px 52px !important; }
  html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-80179fd.elementor-column { padding: 8px 20px 52px !important; }
  html[data-g-kontakt-aufbau="formular"] .elementor-3135 .elementor-element-951c0f2 .elementor-heading-title { font-size: calc(36px * var(--g-z)) !important; }
  html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder > :is(.name-wrapper, .email-wrapper) { grid-column: 1 / -1; }
  html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-felder { gap: 20px; }
  html:not([data-g-kontakt-formular="original"]) body.g-kontakt .g-kt-senden input[type="submit"] { width: 100%; }
  /* Der (unsichtbare) Lade-Kreis rutschte unter den breiten Knopf und hielt
   * dort 40 px frei - nur beim Absenden zeigen */
  html:not([data-g-kontakt-formular="original"]) body.g-kontakt .wpcf7-form:not(.submitting) .g-kt-senden .wpcf7-spinner { display: none; }

  .g-kt-orte { padding: 52px 20px; }
  .g-kt-orte__innen { gap: 20px; }
  .g-kt-ort__bild img { height: 170px !important; }
  .g-kt-ort__text { padding: 28px 22px 30px; }
  html body .g-kt-ort h2.g-kt-ort__titel { font-size: calc(26px * var(--g-z)) !important; }
  html body .g-kt-ort .g-kt-ort__marke { font-size: 15px !important; letter-spacing: .1em !important; }
  html body.g-kontakt .g-kt-ort .g-kt-weg--tel .g-kt-weg__wert,
  html body.g-kontakt .g-kt-ort .g-kt-weg--tel .g-kt-weg__wert a { font-size: min(calc(24px * var(--g-z)), 7vw) !important; }
  html[data-g-kontakt-orte="linie"] .g-kt-ort__text { padding: 24px 0 0; }
  html[data-g-kontakt-orte="linie"] .g-kt-orte__innen { gap: 48px; }

  html:not([data-g-kontakt-aufbau="original"]) .elementor-3135 .elementor-element-1ba3efb7 iframe { height: 240px !important; }
  body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter { grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; padding: 36px 20px 40px; }
  body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter::before { width: 46px; height: 46px; background-size: 20px 20px; }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter strong { font-size: calc(22px * var(--g-z)); }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter p:nth-of-type(2) { grid-column: 1 / -1; margin-top: 16px; }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter button { grid-column: 1 / -1; grid-row: 4; margin-top: 20px; }
  html body.g-kontakt .elementor-element-1ba3efb7 .g-karte-platzhalter a { grid-column: 1 / -1; grid-row: 5; margin: 10px 0 0; }

  html[data-g-kontakt-team-mobil="raster"]:is([data-g-kontakt-team="karten"], [data-g-kontakt-team="namen"]) body .elementor-3135 .elementor-element-0a5fc46 :is(.team_title__text, .team_title__text a) { font-size: 18px !important; }
  html[data-g-kontakt-team="karten"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item a span { font-size: 15px !important; }
  /* Stand "bisher": die Beschriftungen EMAIL/TEL/MAIL hatten 13,2 px */
  html[data-g-kontakt-team="original"] body .elementor-3135 .elementor-element-0a5fc46 .gt3_single_team_info__item :is(h4, a, a span) { font-size: 15px !important; }
}

/* ======================================================================
 * IMPRESSUM UND DATENSCHUTZ
 * ==================================================================== */

/* Die Theme-Zeile (.row, -15px Rand) ragte bei 1024 px 2 px ueber den
 * Bildschirm - waagerechtes Scrollen. clip statt hidden: sticky bleibt. */
body.g-recht .main_wrapper { overflow-x: clip; }

/* ---------------------------------------------------------- Kopf */
html[data-g-recht-kopf="schmal"] body.g-recht .gt3-page-title {
  background-image: linear-gradient(120deg, #051c2c 0%, #0b2a4a 100%) !important;
  height: 210px !important;
}
html[data-g-recht-kopf="buch"] body.g-recht .gt3-page-title {
  background-image: linear-gradient(rgba(5, 28, 44, .7), rgba(5, 28, 44, .7)), url(../wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen24-1200x800.jpg) !important;
  background-position: center 45% !important; background-size: cover !important;
  height: 320px !important;
}
html:not([data-g-recht-kopf="original"]) body.g-recht .gt3-page-title_wrapper { border-bottom: 0 !important; margin-bottom: 72px !important; }
/* Titel steht im gezoomten .gt3-page-title__content (x --g-z) */
html:not([data-g-recht-kopf="original"]) body.g-recht .gt3-page-title h1 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
/* Auf der flachen Flaeche wirkte der Theme-Schein unscharf */
html[data-g-recht-kopf="schmal"] body.g-recht .gt3-page-title :is(h1, .page_title, .gt3-page-title__content *) { text-shadow: none !important; }
html[data-g-recht-kopf="schmal"] body.g-recht .gt3-page-title h1 { font-size: 46px !important; line-height: 1.15 !important; }
@media (max-width: 767px) {
  html[data-g-recht-kopf="schmal"] body.g-recht .gt3-page-title { height: 130px !important; }
  html[data-g-recht-kopf="buch"] body.g-recht .gt3-page-title { height: 220px !important; }
  html:not([data-g-recht-kopf="original"]) body.g-recht .gt3-page-title h1 { font-size: 28px !important; line-height: 1.2 !important; padding: 0 20px; }
  html:not([data-g-recht-kopf="original"]) body.g-recht .gt3-page-title_wrapper { margin-bottom: 32px !important; }
}

/* ------------------------------------------------------ Satzspiegel
 * lesbar: Zeilen hoechstens ~70 Zeichen, echte Zwischenueberschriften,
 * Anschrift als Karte, Leerabsaetze weg, kurze Zeilen ohne Leerzeile,
 * Aufzaehlungen mit haengendem Einzug.
 * Die Absaetze stehen im gezoomten Textbaustein (x --g-z). */
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] > .elementor-widget-container { max-width: 37em; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] p { margin: 0 0 1.05em !important; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] p a { color: var(--g-akzent) !important; text-decoration: underline !important; text-underline-offset: 3px; overflow-wrap: anywhere; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] p a:is(:hover, :focus-visible) { color: var(--g-blau) !important; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] p a.g-r-tel { white-space: nowrap; overflow-wrap: normal; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] p { overflow-wrap: break-word; }
html:not([data-g-recht-satz="original"]) body.g-recht .g-r-leer { display: none !important; }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeile:has(+ p.g-r-zeile) { margin-bottom: 0 !important; }
/* Luft vor dem dunklen Fuss: die letzte Zeile stand 28 px darueber
 * (zwischen den Abschnitten ~90 px) */
html:not([data-g-recht-satz="original"]) body.g-recht #main_content { padding-bottom: 48px; }
@media (max-width: 767px) { html:not([data-g-recht-satz="original"]) body.g-recht #main_content { padding-bottom: 30px; } }

/* Zeilen in <br>-Absaetzen: Aufzaehlungen mit haengendem Einzug,
 * "Firefox:"-Beschriftungen ueber dem Verweis */
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > br { display: none; }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > span { display: block; }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > .g-r-li {
  display: grid; grid-template-columns: 2.1em minmax(0, 1fr); margin: .2em 0;
}
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > .g-r-li--strich { grid-template-columns: 1.3em minmax(0, 1fr); }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > .g-r-li > .g-r-li__z { color: var(--g-akzent); font-variant-numeric: tabular-nums; }
/* Zwischen den Zeilen steht ein (ausgeblendetes) <br> - daher "+ br +".
 * Nach der Aufzaehlung mehr Luft: der Satz danach klebte an "b) …". */
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > :is(.g-r-z + .g-r-li, .g-r-z + br + .g-r-li) { margin-top: .45em; }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > :is(.g-r-li + .g-r-z, .g-r-li + br + .g-r-z) { margin-top: .75em; }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > .g-r-marke { font-weight: 600; color: var(--g-blau); margin-top: .7em; }
html:not([data-g-recht-satz="original"]) body.g-recht p.g-r-zeilen > .g-r-marke:first-child { margin-top: 0; }
/* Unterzeile direkt unter einer Ueberschrift ("Google Analytics 4") */
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h3.g-r-h3 + p.g-r-zeile {
  font-family: var(--g-serif) !important; font-style: italic; color: var(--g-blau) !important; margin-top: -.2em !important;
}

html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] .g-r-h { scroll-margin-top: 120px; text-transform: none !important; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h2.g-r-h2 {
  font-family: var(--g-serif) !important; font-weight: 400 !important;
  font-size: 25px !important; line-height: 1.32 !important; letter-spacing: 0 !important;
  color: var(--g-blau) !important; margin: 2em 0 .75em !important; padding: 1.1em 0 0 !important;
  border-top: 1px solid #d3dce4;
}
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h2.g-r-h2:first-child { margin-top: 0 !important; padding-top: 0 !important; border-top: 0; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] .g-r-karte + h2.g-r-h2 { margin-top: 1.6em !important; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] .g-r-nr { color: var(--g-akzent); margin-right: .3em; font-size: inherit !important; }
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h3.g-r-h3 {
  font-family: var(--g-sans) !important; font-weight: 600 !important;
  font-size: 18px !important; line-height: 1.4 !important; letter-spacing: .01em !important;
  color: var(--g-blau) !important; margin: 1.9em 0 .45em !important; padding: 0 !important;
}
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h2.g-r-h2 + h3.g-r-h3 { margin-top: .4em !important; }
/* Sprungziel kurz hinterlegen */
html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] .g-r-h:target { background: linear-gradient(transparent 62%, rgba(67, 177, 231, .28) 62%); }

/* Anschrift als Karte */
html:not([data-g-recht-satz="original"]) body.g-recht .g-r-karte {
  background: var(--g-hell); border-left: 3px solid var(--g-akzent);
  border-radius: 0 var(--g-radius) var(--g-radius) 0;
  padding: 24px 28px; margin: 0 0 1.6em;
}
html:not([data-g-recht-satz="original"]) body.g-recht .g-r-karte p:last-child { margin-bottom: 0 !important; }
html:not([data-g-recht-satz="original"]) body.g-recht--impressum .g-r-karte p:first-child { font-weight: 600; color: var(--g-blau); }

/* Weiche Bewegung zu den Sprungmarken */
@media (prefers-reduced-motion: no-preference) {
  html:has(body.g-recht) { scroll-behavior: smooth; }
}

/* original: so aussehen lassen wie die fetten Absaetze bisher */
html[data-g-recht-satz="original"] body.g-recht [data-g-rechtstext] .g-r-h {
  font-family: inherit !important; font-size: inherit !important; line-height: inherit !important;
  font-weight: 700 !important; letter-spacing: inherit !important; color: inherit !important;
  margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; text-transform: none !important;
}
html[data-g-recht-satz="original"] body.g-recht [data-g-rechtstext] .g-r-punkt { font-weight: inherit !important; margin: 0 !important; }

/* ----------------------------------------------- Seitenleiste
 * inhalt:       Inhaltsverzeichnis statt "weitere Fachgebiete" (fuer
 *               Rechtstexte ohne Bezug), mitlaufend, aktueller Abschnitt
 *               hervorgehoben
 * inhalt-links: dasselbe links vom Text
 * aus:          eine Spalte, Text mittig
 * fachgebiete:  wie die uebrigen Unterseiten - dort entscheidet der Regler
 *               "seitenleiste" (Modul beitraege, .g-sl) zwischen neu und bisher
 * Unter 1025 px immer als Klappleiste ueber dem Text, Text volle Breite. */
.g-r-inhalt, .g-r-inhalt-mobil { display: none; }
html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht aside.sidebar > :not(.g-r-inhalt) { display: none !important; }
html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht .g-r-inhalt { display: block; }

.g-r-inhalt { border-left: 1px solid #d3dce4; padding: 2px 0 2px 0; }
html body .g-r-inhalt .g-r-inhalt__titel {
  font-size: 13px !important; line-height: 1.3 !important; letter-spacing: .14em !important; text-transform: uppercase;
  font-weight: 600; color: var(--g-text-leise) !important; margin: 0 0 4px !important; padding: 0 0 8px 24px;
  /* Ist das Verzeichnis hoeher als die Leiste, bleibt "Inhalt" oben stehen */
  position: sticky; top: 0; z-index: 1; background: #fff;
}
.g-r-inhalt ol, .g-r-inhalt-mobil ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.g-r-inhalt li, .g-r-inhalt-mobil li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.g-r-inhalt li::before, .g-r-inhalt-mobil li::before { content: none !important; display: none !important; }
html body .g-r-inhalt a, html body .g-r-inhalt-mobil a {
  display: block; padding: 4px 0 !important; font-size: 15px !important; line-height: 1.35 !important;
  color: var(--g-text) !important; text-decoration: none !important; letter-spacing: .005em;
}
html body .g-r-inhalt a { padding: 3px 0 3px 24px !important; margin-left: -1px; border-left: 3px solid transparent; }
html body .g-r-inhalt ol ol { margin: 0 0 6px !important; }
html body .g-r-inhalt ol ol a { font-size: 15px !important; line-height: 1.3 !important; padding: 1px 0 1px 38px !important; color: var(--g-text-leise) !important; }
html body :is(.g-r-inhalt, .g-r-inhalt-mobil) a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline !important; text-underline-offset: 3px; }
/* aktueller Abschnitt */
html body .g-r-inhalt a.is-aktiv, html body .g-r-inhalt ol ol a.is-aktiv { color: var(--g-akzent) !important; font-weight: 600; border-left-color: var(--g-akzent); }

@media (min-width: 1025px) {
  /* Spalten als Flex, damit die Leiste die volle Hoehe hat und mitlaeuft */
  html:not([data-g-recht-leiste="fachgebiete"]) body.g-recht .row.sidebar_right { display: flex; align-items: stretch; }
  html:not([data-g-recht-leiste="fachgebiete"]) body.g-recht .row.sidebar_right::before,
  html:not([data-g-recht-leiste="fachgebiete"]) body.g-recht .row.sidebar_right::after { display: none; }
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht .content-container { flex: 1 1 auto; width: auto !important; float: none !important; min-width: 0; }
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht .sidebar-container { flex: 0 0 340px; width: 340px !important; float: none !important; padding-left: 15px; padding-right: 15px; }
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht aside.sidebar {
    position: sticky; top: 104px; max-height: calc(100vh - 128px); overflow: auto; overscroll-behavior: contain;
  }
  /* rechts: Verzeichnis an den Text heranruecken (zwischen Textende und
   * Verzeichnis lagen 210 px Leere). Die Textspalte ist 37em im gezoomten
   * Baustein = 592 px x --g-z, dazu 2 x 15 px Spaltenrand. */
  html[data-g-recht-leiste="inhalt"]:not([data-g-recht-satz="original"]) body.g-recht .content-container { flex: 0 1 calc(592px * var(--g-z) + 30px); }
  html[data-g-recht-leiste="inhalt"]:not([data-g-recht-satz="original"]) body.g-recht .sidebar-container { margin-left: 40px; }
  /* links: etwas breiter, damit die Eintraege seltener umbrechen und das
   * Verzeichnis bei 900 px Fensterhoehe moeglichst ganz in die Leiste passt
   * (die Textspalte rechts hat trotzdem ihre 37em) */
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .sidebar-container { order: -1; flex-basis: 380px; width: 380px !important; padding-right: 44px; }
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .g-r-inhalt { border-left: 0; border-right: 1px solid #d3dce4; padding: 2px 0; }
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .g-r-inhalt a { margin: 0 -1px 0 0; border-left: 0; border-right: 3px solid transparent; padding-left: 0 !important; padding-right: 20px !important; }
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .g-r-inhalt ol ol a { padding-left: 14px !important; }
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .g-r-inhalt a.is-aktiv { border-right-color: var(--g-akzent); }
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .g-r-inhalt .g-r-inhalt__titel { margin-left: 0 !important; padding-left: 0; }
}
/* 1025-1199 px: Das Theme-Raster ist hier nur 998 px breit. Mit der
 * 380-px-Leiste wurde der Text auf 618 px gestaucht und endete 14 px vor
 * dem rechten Rand. Schmalere Leiste, damit die 37em-Spalte bleibt. */
@media (min-width: 1025px) and (max-width: 1199px) {
  html[data-g-recht-leiste="inhalt-links"] body.g-recht .sidebar-container { flex-basis: 280px; width: 280px !important; padding-right: 28px; }
  html[data-g-recht-leiste="inhalt"] body.g-recht .sidebar-container { flex-basis: 280px; width: 280px !important; }
  html[data-g-recht-leiste="inhalt"]:not([data-g-recht-satz="original"]) body.g-recht .sidebar-container { margin-left: 24px; }
}
/* Tablet und Telefon: Klappleiste ueber dem Text, Text auf voller Breite */
@media (max-width: 1024px) {
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht .sidebar-container { display: none !important; }
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht .content-container { width: 100% !important; float: none !important; }
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]) body.g-recht .g-r-inhalt-mobil {
    display: block; margin: 0 10px 32px;
    background: var(--g-hell); border-radius: var(--g-radius); border-left: 3px solid var(--g-akzent);
  }
  /* gleiche Kanten wie die Textspalte (37em im gezoomten Baustein).
   * Beide mittig: links buendig hing der Text bei 768-1024 px am linken
   * Rand (13-15 px), rechts blieben bis zu 360 px leer. Die Leiste steht
   * 10 px eingerueckt in derselben Sektion wie der Textbaustein (Polster
   * 10 px) - mindestens 10 px, sonst mittig. */
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]):not([data-g-recht-satz="original"]) body.g-recht .g-r-inhalt-mobil {
    box-sizing: border-box; max-width: calc(592px * var(--g-z));
    margin-left: max(10px, calc((100% - 592px * var(--g-z)) / 2)); margin-right: max(10px, calc((100% - 592px * var(--g-z)) / 2));
  }
  html:is([data-g-recht-leiste="inhalt"], [data-g-recht-leiste="inhalt-links"]):not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] > .elementor-widget-container { margin-left: auto; margin-right: auto; }
  .g-r-inhalt-mobil summary {
    list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
    padding: 14px 18px; font-size: 16px; font-weight: 600; color: var(--g-blau); letter-spacing: .04em;
  }
  .g-r-inhalt-mobil summary::-webkit-details-marker { display: none; }
  .g-r-inhalt-mobil summary::after { content: "+"; font-size: 22px; line-height: 1; font-weight: 400; }
  .g-r-inhalt-mobil[open] summary::after { content: "\2013"; }
  .g-r-inhalt-mobil nav { padding: 0 18px 14px; }
  html body .g-r-inhalt-mobil a { font-size: 16px !important; padding: 8px 0 !important; }
  html body .g-r-inhalt-mobil ol ol { margin: 0 0 6px 14px !important; }
  html body .g-r-inhalt-mobil ol ol a { font-size: 15px !important; color: var(--g-text-leise) !important; }
}
@media (max-width: 767px) {
  html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h2.g-r-h2 { font-size: 22px !important; }
  html:not([data-g-recht-satz="original"]) body.g-recht [data-g-rechtstext] h3.g-r-h3 { font-size: 17px !important; }
  html:not([data-g-recht-satz="original"]) body.g-recht .g-r-karte { padding: 20px 20px; }
}
@media (max-width: 479px) {
  html:not([data-g-recht-satz="original"]) body.g-recht .g-r-karte { padding: 16px 16px 16px 15px; }
}

/* aus: eine Spalte */
html[data-g-recht-leiste="aus"] body.g-recht .sidebar-container { display: none !important; }
html[data-g-recht-leiste="aus"] body.g-recht .content-container { width: 100% !important; float: none !important; flex: 1 1 auto; }
html[data-g-recht-leiste="aus"] body.g-recht [data-g-rechtstext] > .elementor-widget-container { margin-left: auto; margin-right: auto; }

/* =====================================================================
 * Jonas 13.10.2026 (abends)
 * ===================================================================== */

/* (doppelte Klasse: schlaegt die Kastenregeln von "klar" und "weiss")
 * Formular "linie": keine Kaesten - eine Linie unter jedem Feld, Beschriftung
 * klein in Versalien wie TEL / EMAIL / ADRESSE im Einstieg. Fokus: Linie in
 * Akzentblau und doppelt so stark, dazu ein Hauch Hintergrund. */
html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder { gap: 30px 40px; }
html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder span.label {
  font-size: 13px !important; letter-spacing: .14em !important; text-transform: uppercase; font-weight: 600 !important;
  color: var(--g-text-leise, #4f5d6a) !important; margin: 0 0 4px !important;
}
html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder :is(input[type="text"], input[type="email"], textarea) {
  background: transparent !important; border: 0 !important; border-bottom: 1.5px solid #8795a2 !important; border-radius: 0 !important;
  padding: 10px 2px 11px !important; min-height: 46px; box-shadow: none !important;
}
html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder textarea { min-height: 128px; }
html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder :is(input[type="text"], input[type="email"], textarea):focus {
  border-bottom: 2.5px solid var(--g-akzent) !important; background: rgba(47, 90, 168, .05) !important; box-shadow: none !important;
}
html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder :is(input, textarea).wpcf7-not-valid { border-bottom-color: #b42318 !important; }
@media (max-width: 767px) {
  /* 13 px x Zoom 1,1 = 14,3 px; am Telefon mindestens 15 px */
  html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder span.label { font-size: 14px !important; }
  html[data-g-kontakt-formular="linie"] body.g-kontakt .g-kt-felder.g-kt-felder { gap: 26px; }
}

/* Orte "standorte": Terminsvertretung breit, darunter EIN dunkles Band mit
 * Bremen und Neuss nebeneinander (Bremen zuerst) - mit Neuss allein sah es
 * aus, als waere Neuss der Hauptsitz. */
html[data-g-kontakt-orte="standorte"]:not([data-g-kontakt-aufbau="original"]) .g-kt-ort--bremen { display: flex !important; }
html[data-g-kontakt-orte="standorte"] .g-kt-orte__innen { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 0; row-gap: 28px; }
html[data-g-kontakt-orte="standorte"] .g-kt-ort--termine { grid-column: 1 / -1; }
html[data-g-kontakt-orte="standorte"] .g-kt-ort--bremen { border-radius: var(--g-radius) 0 0 var(--g-radius); }
html[data-g-kontakt-orte="standorte"] .g-kt-ort--neuss { border-radius: 0 var(--g-radius) var(--g-radius) 0; position: relative; }
html[data-g-kontakt-orte="standorte"] .g-kt-ort--neuss::before {
  content: ""; position: absolute; left: 0; top: 40px; bottom: 40px; width: 1px; background: rgba(255, 255, 255, .16);
}
html[data-g-kontakt-orte="standorte"] :is(.g-kt-ort--bremen, .g-kt-ort--neuss) { justify-content: flex-start !important; }
html[data-g-kontakt-orte="standorte"] :is(.g-kt-ort--bremen, .g-kt-ort--neuss) > .g-kt-ort__text { padding: 44px 52px 48px; flex: 1 1 auto !important; }
html[data-g-kontakt-orte="standorte"] :is(.g-kt-ort--bremen, .g-kt-ort--neuss) ul.g-kt-wege { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
@media (min-width: 900px) {
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--termine { flex-direction: row; }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--termine .g-kt-ort__bild { flex: 0 0 42%; }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--termine .g-kt-ort__bild img { height: 100% !important; min-height: 320px; object-position: center 60%; }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--termine .g-kt-ort__text { padding: 48px 52px; align-self: center; }
}
@media (max-width: 767px) {
  html[data-g-kontakt-orte="standorte"] .g-kt-orte__innen { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--termine { margin-bottom: 24px; }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--bremen { border-radius: var(--g-radius) var(--g-radius) 0 0; }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--neuss { border-radius: 0 0 var(--g-radius) var(--g-radius); }
  html[data-g-kontakt-orte="standorte"] .g-kt-ort--neuss::before { left: 28px; right: 28px; top: 0; bottom: auto; width: auto; height: 1px; }
  html[data-g-kontakt-orte="standorte"] :is(.g-kt-ort--bremen, .g-kt-ort--neuss) > .g-kt-ort__text { padding: 32px 24px 34px; }
}

/* ===== 33-rechtsgebiete.css ===== */
/**
 * Gestaltung B - Rechtsgebietsseiten (13.10.2026, zweiter Durchgang nach der
 * Kritik des Art-Directors)
 *
 * Seiten: /versicherungsrecht/, /markenrecht/, /datenschutzrecht/,
 * /arbeitsrecht/, /wettbewerbsrecht/, /urheberrecht-medienrecht/, /ki-recht/,
 * /gesellschaftsrecht/, /vertragsrecht/, /bewertung-entfernen-und-loeschen-lassen/
 * (body.g-rg--fach), /rechtsgebiete/ (g-rg--uebersicht), /abmahnung-erhalten/,
 * /abmahnung-filesharing/ (g-rg--abmahnung), /tauschboerse-filesharing/
 * (g-rg--schlicht). Die Klassen setzt tools/lib/gestaltung/rechtsgebiete.mjs.
 *
 * Alle Rechtsgebietsseiten sind aus einer Elementor-Vorlage geklont; die
 * Element-IDs sind ueberall gleich:
 *   fd56c82  Kopf mit Foto     6cdfe30 linke Spalte, 1830683 Kontaktspalte
 *   8507a99  Seitentitel       a031c17 "Unsere anwaltlichen Leistungen ..."
 *   e1256d0  Hauptteil         c5f42bb Text (66 %), 8c64cb5 Seitenleiste
 *   435c762  "Wir koennen Ihnen insbesondere ..." / "Grundlegende Informationen"
 *   f63d385  Knopf "Kontaktieren Sie uns unverbindlich!"
 *
 * Regler: data-g-rg-* (optionen-rechtsgebiete.json), Wert "original" = bisher.
 * Schriftgroessen in Elementor-Bausteinen werden vom Grundsystem mit zoom
 * (--g-z, Standard 1,1) vergroessert: 20px hier = 22px auf dem Bildschirm.
 */

.g-rg { --g-rg-sub: 20px; }
@media (max-width: 767px) { .g-rg { --g-rg-sub: 16.5px; } }

/* ===================================================== 1. Seitentitel
 * Kritik: "eine-zeile" machte den Titel auf Versicherungsrecht kleiner als
 * die Unterzeile (bei 768: 21,8 zu 24 px), und von Seite zu Seite schwankte
 * er zwischen 30 und 54 px. Jetzt ein Kopfraster: feste Stufe fuer alle
 * Rechtsgebiete, Bruch nur an der Wortfuge (VERSICHERUNGS-/RECHT, das
 * &shy; setzt feinschliff.mjs). Passt das Wortstueck nicht in die Spalte
 * (360-px-Telefon), wird die Schrift genau so klein wie noetig.
 * 100cqi = Breite des Titelbausteins; geteilt durch --g-z wegen zoom. */
html:not([data-g-rg-titel="original"]) .g-rg .elementor-element-8507a99 { container-type: inline-size; }

/* Stufe (Vorschlag): kurze Titel 41 px (auf dem Bildschirm 45 px; mehr
 * passt "VERSICHERUNGS-" nicht in die halbe Kopfbreite von 493 px), lange
 * (ueber 20 Zeichen) 34 px - "DATENSCHUTZ & DATENSCHUTZRECHT" steht so in
 * zwei statt drei Zeilen. Telefon 28 / 24 px. */
html[data-g-rg-titel="stufe"] .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-wf"] {
  --g-rg-s: 41px;
  font-size: min(var(--g-rg-s), calc(100cqi / var(--g-rg-wf) / var(--g-z) - 1px)) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}
html[data-g-rg-titel="stufe"] .g-rg .elementor-element-8507a99 .elementor-heading-title.g-rg-h1--lang[style*="--g-rg-wf"] { --g-rg-s: 34px; line-height: 1.18 !important; }
@media (max-width: 767px) {
  html[data-g-rg-titel="stufe"] .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-wf"] { --g-rg-s: 28px; }
  html[data-g-rg-titel="stufe"] .g-rg .elementor-element-8507a99 .elementor-heading-title.g-rg-h1--lang[style*="--g-rg-wf"] { --g-rg-s: 24px; }
}

/* Breit: Titel ueber die ganze Kopfbreite (beide Spalten), am Rechner
 * VERSICHERUNGSRECHT in einer Zeile. */
html[data-g-rg-titel="breit"] .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-wg"] {
  --g-rg-s: 54px;
  font-size: min(var(--g-rg-s), calc(100cqi / var(--g-rg-wf) / var(--g-z) - 1px)) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}
html[data-g-rg-titel="breit"] .g-rg .elementor-element-8507a99 .elementor-heading-title.g-rg-h1--lang[style*="--g-rg-wg"] { --g-rg-s: 40px; }
@media (min-width: 1025px) {
  html[data-g-rg-titel="breit"] .g-rg .elementor-element-fd56c82 .elementor-element-8507a99 {
    width: calc(200% + 20px) !important;
    max-width: none !important;
    flex: none !important;
    position: relative;
    z-index: 2;
  }
}
@media (max-width: 767px) {
  html[data-g-rg-titel="breit"] .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-wg"] { --g-rg-s: 30px; }
  html[data-g-rg-titel="breit"] .g-rg .elementor-element-8507a99 .elementor-heading-title.g-rg-h1--lang[style*="--g-rg-wg"] { --g-rg-s: 24px; }
}

/* Groesstmoeglich, Bruch an der Wortfuge (erster Durchgang) - jetzt mit
 * Untergrenze 1,4 x Unterzeile. */
html[data-g-rg-titel="fuge"] .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-wf"] {
  font-size: max(
    calc(var(--g-rg-sub) * 1.4),
    clamp(18px, calc(100cqi / var(--g-rg-wg) / var(--g-z) - 1px), var(--g-rg-tmax)),
    min(calc(100cqi / var(--g-rg-wf) / var(--g-z) - 1px), calc(var(--g-rg-tmax) - 8px))
  ) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  -webkit-hyphens: manual;
  hyphens: manual;
}
/* Laengstes Wort ganz in einer Zeile (erster Durchgang, klein). */
html[data-g-rg-titel="eine-zeile"] .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-wg"] {
  font-size: max(calc(var(--g-rg-sub) * 1.4), clamp(18px, calc(100cqi / var(--g-rg-wg) / var(--g-z) - 1px), var(--g-rg-tmax))) !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
}
@media (max-width: 767px) {
  .g-rg .elementor-element-8507a99 .elementor-heading-title[style*="--g-rg-tmaxm"] { --g-rg-tmax: var(--g-rg-tmaxm) !important; }
}

/* Unterzeile "Unsere anwaltlichen Leistungen im Ueberblick": bisher 24 px
 * Baskerville auf zwei Seiten, 30 px Theme-Schrift auf acht. Ueberall 22 px
 * Baskerville (Telefon 18 px). */
html:not([data-g-rg-titel="original"]) .g-rg .elementor-element-fd56c82 .elementor-element-a031c17 .elementor-heading-title {
  font-family: var(--g-serif) !important;
  font-size: var(--g-rg-sub) !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
}
/* Auf acht Seiten steckt darin eine Spanne mit 24 px Baskerville. */
html:not([data-g-rg-titel="original"]) .g-rg .elementor-element-fd56c82 .elementor-element-a031c17 .elementor-heading-title * {
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  white-space: normal !important;
}
.g-rg .elementor-element-fd56c82 .elementor-element-a031c17 { margin-bottom: 14px !important; }
@media (max-width: 1024px) {
  html:not([data-g-rg-titel="original"]) .g-rg .elementor-element-fd56c82 .elementor-element-a031c17 { margin-top: 10px !important; }
}

/* ============================================================ 2. Kopf
 * Hoehe: Elementor-Abstandhalter mit festen Pixeln (160 px oben, 330 px ueber
 * dem Kontaktblock). Am Telefon summierten sie sich zwischen Leistungsliste
 * und "RUFEN SIE UNS AN" auf 130-220 px (Jonas' Screenshot /rechtsgebiete/). */
html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 .elementor-widget-spacer { --spacer-size: 20px !important; }
html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 .elementor-element-9e7bf9c { --spacer-size: 84px !important; }
html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 :is(.elementor-element-cd34677, .elementor-element-27358ee) { --spacer-size: 36px !important; }
html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 :is(.elementor-element-d6482f5, .elementor-element-f5ca5e0, .elementor-element-63a2363, .elementor-element-1b375e8) { --spacer-size: 0px !important; }
/* Abmahnungskopf am Rechner (Kritik 13.10.): "Erste Schritte" begann 11 px
 * unter der Kopfleiste und 78 px hoeher als der Titel links, der Knopf
 * endete 14 px ueber der Unterkante. Jetzt beginnen beide Spalten auf
 * derselben Linie (Elementor zentrierte die kuerzere Spalte), unter dem
 * Knopf 56 px Luft. */
@media (min-width: 1025px) {
  html[data-g-rg-kopf="kompakt"] .g-rg--abmahnung .elementor-element-fd56c82 > .elementor-container > .elementor-column > .elementor-widget-wrap { align-content: flex-start !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg--abmahnung .elementor-element-fd56c82 .elementor-element-d6482f5 { --spacer-size: 82px !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg--abmahnung .elementor-element-fd56c82 .elementor-element-1b375e8 { --spacer-size: 46px !important; }
}
/* Tablet und Telefon: Kopf einspaltig (siehe Fotoband), Abstaende knapp. */
@media (max-width: 1024px) {
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 .elementor-widget-spacer { --spacer-size: 0px !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 .elementor-element-9e7bf9c { --spacer-size: 30px !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 .elementor-element-54e14a7 { --spacer-size: 14px !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 .elementor-element-8507a99 + .elementor-widget-spacer { --spacer-size: 14px !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 > .elementor-container > .elementor-column + .elementor-column > .elementor-widget-wrap { padding-top: 22px !important; }
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap { padding-bottom: 40px !important; }
}
@media (max-width: 767px) {
  html[data-g-rg-kopf="kompakt"] .g-rg .elementor-element-fd56c82 > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap { padding-bottom: 30px !important; }
}
/* Weisser Streifen von 20-35 px zwischen Kopfleiste und Kopffoto (Tablet,
 * Telefon): #main_content hat 116 px Rand, die Kopfleiste ist 81-97 px hoch.
 * Die Flaeche dahinter in Kopffarbe - der Kopf schliesst ohne Fuge an. */
@media (max-width: 1024px) {
  html[data-g-rg-kopf="kompakt"] body.g-rg:not(.g-rg--schlicht) .site_wrapper {
    background: linear-gradient(var(--g-blau), var(--g-blau)) top left / 100% 120px no-repeat;
  }
}

/* Fotoband (Tablet und Telefon): Das Kopffoto lag hinter dem Text und war am
 * Telefon nur als dunkle Flaeche zu ahnen; bei 768 schnitt der Rand das
 * Gesicht in der Mitte durch, die Telefonnummer brach in der 308 px
 * schmalen Kontaktspalte um. Jetzt bis 1024 px: Foto als Streifen oben, der
 * Kopf darunter einspaltig auf Nachtblau. Fokuspunkt je Seite (Modul). */
@media (max-width: 1024px) {
  html[data-g-rg-kopfbild^="band"] .g-rg .elementor-element-fd56c82::before {
    content: "";
    display: block;
    height: min(40vw, 400px);
    background-image: inherit;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: var(--g-rg-fokus, 50% 40%);
  }
  /* Behaelter randlos, sonst blitzt das Foto links und rechts durch. */
  html[data-g-rg-kopfbild^="band"] .g-rg .elementor-element-fd56c82 > .elementor-container {
    background-color: var(--g-blau);
    margin: 0 !important;
    padding: 0 10px;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    flex-wrap: wrap;
  }
  html[data-g-rg-kopfbild^="band"] .g-rg .elementor-element-fd56c82 > .elementor-container > .elementor-column { width: 100% !important; }
  /* Leistungsliste am Tablet zweispaltig, wo Platz ist. */
  html[data-g-rg-kopfbild^="band"] .g-rg .elementor-element-fd56c82 .elementor-element-6cdfe30 .elementor-widget-text-editor ul { column-width: 16em; column-gap: 40px; }
  html[data-g-rg-kopfbild^="band"] .g-rg .elementor-element-fd56c82 .elementor-element-6cdfe30 .elementor-widget-text-editor li { break-inside: avoid; }
}
@media (max-width: 767px) {
  html[data-g-rg-kopfbild^="band"] .g-rg .elementor-element-fd56c82::before { height: 52vw; max-height: 320px; }
}

/* Bildausschnitt am Rechner: Bei 1440 ragte auf /bewertung-.../ das Gesicht
 * rechts aus dem Bild (vierzeiliger Titel, cover vergroessert). */
@media (min-width: 1025px) {
  html:not([data-g-rg-kopf="original"]) .g-rg .elementor-element-fd56c82[style*="--g-rg-pos"] { background-position: var(--g-rg-pos) !important; }
}
/* Schmaler Rechner (1025-1366 px): Auf /versicherungsrecht/ lag Stephans
 * Gesicht hinter den ersten Punkten der Leistungsliste. Eigener Ausschnitt -
 * das Gesicht steht dann rechts neben der Liste, ueber der Kontaktkarte. */
@media (min-width: 1025px) and (max-width: 1366px) {
  html:not([data-g-rg-kopf="original"]) .g-rg .elementor-element-fd56c82[style*="--g-rg-pos-schmal"] { background-position: var(--g-rg-pos-schmal) !important; }
}

/* Alternatives Kopffoto (Regler "mischen"): Gesellschaftsrecht trug das
 * (c)-Foto der Urheberrechtsseite, Vertragsrecht das verschwommene Textfoto
 * der Abmahnungsseite, Bewertungen dieselbe Frau wie Markenrecht; auf
 * /abmahnung-filesharing/ lag ihr Gesicht unter "Erste Schritte". */
html[data-g-rg-kopffoto="mischen"] .g-rg .elementor-element-fd56c82[style*="--g-rg-foto"] {
  background-image: var(--g-rg-foto) !important;
  background-size: cover !important;
  background-position: var(--g-rg-foto-pos, 50% 30%) !important;
}
@media (max-width: 1024px) {
  html[data-g-rg-kopffoto="mischen"] .g-rg .elementor-element-fd56c82[style*="--g-rg-foto"]::before { background-position: var(--g-rg-foto-fokus, 50% 30%); }
}

/* Schleier: Weisse Schrift stand auf hellen Fotostellen (gemessen unter der
 * Leistungsliste 2,6:1 an den hellsten Stellen). Verlauf von links unter
 * der Textspalte; rechts bleibt das Foto klar. Auf den Abmahnungsseiten
 * steht in beiden Spalten Text - dort gleichmaessig. */
html:not([data-g-rg-kopfschleier="original"]) .g-rg .elementor-element-fd56c82 { position: relative; }
html:not([data-g-rg-kopfschleier="original"]) .g-rg .elementor-element-fd56c82 > .elementor-container { position: relative; z-index: 1; }
html:not([data-g-rg-kopfschleier="original"]) .g-rg .elementor-element-fd56c82::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 28, 44, .84) 0%, rgba(5, 28, 44, .74) 36%, rgba(5, 28, 44, .30) 62%, rgba(5, 28, 44, .06) 100%);
}
html[data-g-rg-kopfschleier="mittel"] .g-rg .elementor-element-fd56c82::after {
  background: linear-gradient(90deg, rgba(5, 28, 44, .64) 0%, rgba(5, 28, 44, .52) 36%, rgba(5, 28, 44, .14) 62%, rgba(5, 28, 44, 0) 100%);
}
html:not([data-g-rg-kopfschleier="original"]) .g-rg--abmahnung .elementor-element-fd56c82::after { background: linear-gradient(90deg, rgba(5, 28, 44, .82), rgba(5, 28, 44, .70)); }
html[data-g-rg-kopfschleier="mittel"] .g-rg--abmahnung .elementor-element-fd56c82::after { background: linear-gradient(90deg, rgba(5, 28, 44, .62), rgba(5, 28, 44, .50)); }
/* Die Alternativfotos (Regler rg-kopffoto) haben keinen Blaufilter - auf
 * ihnen gilt immer der kraeftige Schleier, auch bei "mittel" und "original"
 * (gemessen: Gesellschaftsrecht mit "mittel" nur 3,2:1). */
html[data-g-rg-kopffoto="mischen"] .g-rg .elementor-element-fd56c82[style*="--g-rg-foto"] { position: relative; }
html[data-g-rg-kopffoto="mischen"] .g-rg .elementor-element-fd56c82[style*="--g-rg-foto"] > .elementor-container { position: relative; z-index: 1; }
html[data-g-rg-kopffoto="mischen"] .g-rg .elementor-element-fd56c82[style*="--g-rg-foto"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 28, 44, .84) 0%, rgba(5, 28, 44, .74) 36%, rgba(5, 28, 44, .30) 62%, rgba(5, 28, 44, .06) 100%);
}
html[data-g-rg-kopffoto="mischen"] .g-rg--abmahnung .elementor-element-fd56c82[style*="--g-rg-foto"]::after { background: linear-gradient(90deg, rgba(5, 28, 44, .82), rgba(5, 28, 44, .70)); }
/* Im Fotoband steht der Text auf Nachtblau - dort kein Schleier. */
@media (max-width: 1024px) {
  html[data-g-rg-kopfbild="band-kopffoto"] .g-rg .elementor-element-fd56c82::after { display: none !important; }
}

/* Fotoband (Standard "band", 13.10. nach der Kritik):
 * - Eigenes Motiv, wo das blau gefilterte Kopfbild im Band nur eine dunkle
 *   Flaeche war (Arbeitsrecht: Helligkeit 42/255, Streuung 5; Abmahnung
 *   erhalten 44/3; Uebersicht 55/15). Motiv und Ausschnitt setzt das Modul.
 * - Die Unterkante laeuft weich ins Nachtblau aus: Band und Kopf sind eine
 *   Flaeche statt zwei Kaesten uebereinander. Der Schleier (::after) liegt
 *   dafuer nur ueber dem Band. */
@media (max-width: 1024px) {
  html[data-g-rg-kopfbild="band"] .g-rg .elementor-element-fd56c82[style*="--g-rg-bandfoto"]::before {
    background-image: var(--g-rg-bandfoto) !important;
    background-position: var(--g-rg-bandfokus, 50% 40%) !important;
  }
  html[data-g-rg-kopfbild="band"] .g-rg .elementor-element-fd56c82 { position: relative; }
  html[data-g-rg-kopfbild="band"] .g-rg .elementor-element-fd56c82 > .elementor-container { position: relative; z-index: 1; }
  html[data-g-rg-kopfbild="band"] .g-rg .elementor-element-fd56c82::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    height: min(40vw, 400px) !important;
    z-index: 0 !important;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(5, 28, 44, 0) 0%, rgba(5, 28, 44, 0) 52%, rgba(5, 28, 44, .5) 80%, var(--g-blau) 100%) !important;
  }
  /* Die neuen Bandmotive sind ungefiltert und hell - leicht in den Blauton
   * der uebrigen Kopfbilder gezogen. */
  html[data-g-rg-kopfbild="band"] .g-rg .elementor-element-fd56c82[style*="--g-rg-bandfoto"]::after {
    background: linear-gradient(180deg, rgba(5, 28, 44, .18) 0%, rgba(5, 28, 44, .18) 45%, rgba(5, 28, 44, .6) 80%, var(--g-blau) 100%) !important;
  }
}
@media (max-width: 767px) {
  html[data-g-rg-kopfbild="band"] .g-rg .elementor-element-fd56c82::after { height: min(52vw, 320px) !important; }
}

/* Kopfliste: fuehrende Leerzeichen (" Haftpflichtversicherung") entfernt das
 * Modul. Am Telefon die ersten sechs Punkte, der Rest aufklappbar - bei
 * Versicherungsrecht war der dunkle Kopf sonst 1.100 px hoch. */
.g-rg .g-rg-kl-mehr { display: none; }
@media (max-width: 767px) {
  /* Unten 26 px: der Knopf ist das letzte Element der Spalte und sass sonst
   * 10 px ueber der Kontaktkarte (andere Seiten: 36-40 px Text bis Karte). */
  html[data-g-rg-kopfliste="gekuerzt"] .g-rg .g-rg-kl-mehr:not([open]) { display: block; margin: 4px 0 26px; }
  html[data-g-rg-kopfliste="gekuerzt"] .g-rg ul.g-rg-kopfliste:has(+ .g-rg-kl-mehr:not([open])) > li.g-rg-li-mehr { display: none !important; }
}
.g-rg .g-rg-kl-mehr > summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: var(--g-radius);
  color: #fff;
  font-weight: 600;
  font-size: 1em;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}
.g-rg .g-rg-kl-mehr > summary::-webkit-details-marker { display: none; }
.g-rg .g-rg-kl-mehr > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.g-rg .g-rg-kl-mehr > summary:is(:hover, :focus-visible) { background: #fff; color: var(--g-blau); }
.g-rg .g-rg-kl-mehr > summary:focus-visible { outline: 2px solid var(--g-hellblau); outline-offset: 2px; }

/* Kontaktblock "RUFEN SIE UNS AN"
 * Unten in der Spalte: Die Kopffotos zeigen Gesichter meist in der oberen
 * Haelfte - die Karte soll sie nicht verdecken. */
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 > .elementor-widget-wrap {
  align-self: flex-end;
  height: auto;
  margin-bottom: 36px;
}
html[data-g-rg-kontakt="karte"] .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 > .elementor-widget-wrap {
  background-color: rgba(5, 28, 44, .82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-top: 3px solid var(--g-hellblau);
  padding: 32px 36px 36px !important;
  max-width: 470px;
  box-sizing: border-box;
}
html[data-g-rg-kontakt="linie"] .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 > .elementor-widget-wrap {
  border-left: 2px solid var(--g-hellblau);
  padding: 6px 0 6px 30px !important;
}
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 .elementor-widget-spacer { --spacer-size: 6px !important; }
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 .elementor-element-910d1c8 { --spacer-size: 16px !important; }
/* "RUFEN SIE UNS AN" / "ODER SCHREIBEN SIE UNS": leiser, gesperrt - die
 * Nummer ist die Hauptsache. */
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg .elementor-element-1830683 .elementor-widget-text-editor:not(.elementor-element-888562d) p {
  letter-spacing: .1em !important;
}
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg .elementor-element-1830683 h2 { margin: 2px 0 6px !important; }
/* Die Nummer ueberall gleich gross und nie umbrochen (bei 768 stand sie auf
 * acht Seiten als "0421 /" und darunter "56638780"). */
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg .elementor-element-888562d > .elementor-widget-container { font-size: 36px !important; line-height: 1.3 !important; }
html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg .elementor-element-888562d p { margin: 2px 0 6px !important; letter-spacing: 0 !important; }
.g-rg .elementor-element-888562d :is(h2, p, a) { white-space: nowrap; }
/* Verweis ueberall gleich: ohne Unterstrich, Unterstrich beim Hover. */
.g-rg .elementor-element-888562d a[href^="tel:"] { color: inherit !important; text-decoration: none !important; }
.g-rg .elementor-element-1830683 a:is(:hover, :focus-visible) { color: #fff !important; text-decoration: underline !important; text-underline-offset: .15em; }
/* Einheitliche Schreibweise der Nummer (Regler): DIN-Form aus dem Attribut. */
html[data-g-rg-nummer="einheitlich"] .g-rg a[data-g-din] .g-rg-nr { display: none; }
html[data-g-rg-nummer="einheitlich"] .g-rg a[data-g-din]::after { content: attr(data-g-din); }
@media (max-width: 1024px) {
  html[data-g-rg-kontakt="karte"] .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 > .elementor-widget-wrap {
    max-width: none;
    padding: 24px 22px 28px !important;
    margin: 0 10px;
    background-color: rgba(255, 255, 255, .06);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  html[data-g-rg-kontakt="linie"] .g-rg:not(.g-rg--abmahnung) .elementor-element-1830683 > .elementor-widget-wrap { margin-left: 10px; padding-left: 20px !important; }
}
@media (max-width: 767px) {
  .g-rg .elementor-element-1830683 h2 { font-size: min(30px, 7.4vw) !important; line-height: 1.25 !important; }
  html:is([data-g-rg-kontakt="karte"], [data-g-rg-kontakt="linie"]) .g-rg .elementor-element-888562d > .elementor-widget-container { font-size: min(30px, 7.4vw) !important; }
}

/* ===================================================== 3. Aufzaehlungen
 * Jonas (/markenrecht/, "GRUNDLEGENDE INFORMATIONEN"): Punkte buendig mit der
 * Ueberschrift, gleiche Groesse wie der Absatz. */
html:not([data-g-rg-punkte="original"]) .g-rg :is(.elementor-widget-text-editor, .gt3-core-imagebox-description, .gt3-core-imagebox-content) ul,
html:not([data-g-rg-punkte="original"]) .g-rg--schlicht #main_content > ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
html:not([data-g-rg-punkte="original"]) .g-rg :is(.elementor-widget-text-editor, .gt3-core-imagebox-description, .gt3-core-imagebox-content) ul > li,
html:not([data-g-rg-punkte="original"]) .g-rg--schlicht #main_content > ul > li {
  position: relative;
  list-style: none !important;
  padding-left: 1.4em !important;
  margin-bottom: .35em;
}
html:not([data-g-rg-punkte="original"]) .g-rg :is(.elementor-widget-text-editor, .gt3-core-imagebox-description, .gt3-core-imagebox-content) ul > li::before,
html:not([data-g-rg-punkte="original"]) .g-rg--schlicht #main_content > ul > li::before {
  content: "";
  display: block;
  position: absolute;
  /* Das Theme setzt fuer li::before 8 px Schrift und einen Rand. */
  font-size: inherit !important;
  line-height: 0 !important;
  margin: 0 !important;
  left: .12em;
  top: calc(var(--g-lh) * .5em - 3px);
  width: 6px;
  height: 6px;
  background: var(--g-akzent);
}
html:not([data-g-rg-punkte="original"]) .g-rg .elementor-element-fd56c82 .elementor-widget-text-editor ul > li::before { background: var(--g-hellblau); }
html[data-g-rg-punkte="haken"] .g-rg :is(.elementor-widget-text-editor, .gt3-core-imagebox-description, .gt3-core-imagebox-content) ul > li::before,
html[data-g-rg-punkte="haken"] .g-rg--schlicht #main_content > ul > li::before {
  width: .62em;
  height: .32em;
  background: none !important;
  border-left: 2px solid var(--g-akzent);
  border-bottom: 2px solid var(--g-akzent);
  transform: rotate(-45deg);
  top: calc(var(--g-lh) * .5em - .3em);
  left: .05em;
}
html[data-g-rg-punkte="haken"] .g-rg .elementor-element-fd56c82 .elementor-widget-text-editor ul > li::before { border-color: var(--g-hellblau); }

/* ============================================ 4. Ueberschrift Hauptteil
 * "WIR KOENNEN IHNEN INSBESONDERE BEI FOLGENDEN PUNKTEN HELFEN:" stand in
 * 28 px Versalien Akzentblau - am Telefon fuenf Zeilen. */
html:not([data-g-rg-h2="original"]) .g-rg :is(.elementor-element-435c762, .elementor-element-d921ab2) .elementor-heading-title {
  text-transform: none !important;
  letter-spacing: -.005em !important;
}
html[data-g-rg-h2="ruhig"] .g-rg :is(.elementor-element-435c762, .elementor-element-d921ab2) .elementor-heading-title {
  font-size: 30px !important;
  line-height: 1.3 !important;
  color: var(--g-blau) !important;
}
html[data-g-rg-h2="ruhig"] .g-rg .elementor-element-d921ab2 .elementor-heading-title { font-size: 24px !important; }
html[data-g-rg-h2="ruhig"] .g-rg :is(.elementor-element-435c762, .elementor-element-d921ab2) .elementor-heading-title::before,
.g-rg-mehr__titel::before {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background: var(--g-akzent);
  margin-bottom: 18px;
}
html[data-g-rg-h2="kapitaelchen"] .g-rg :is(.elementor-element-435c762, .elementor-element-d921ab2) .elementor-heading-title {
  font-family: var(--g-sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  color: var(--g-akzent) !important;
  padding-bottom: 12px;
  border-bottom: 1px solid #dfe5eb;
}
.g-rg .elementor-element-435c762 { margin-bottom: 20px !important; }
@media (max-width: 767px) {
  html[data-g-rg-h2="ruhig"] .g-rg :is(.elementor-element-435c762, .elementor-element-d921ab2) .elementor-heading-title { font-size: 24px !important; }
}

/* Zwischentitel im Text: h3 der Redaktion und kurze, ganz fette Absaetze. */
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor :is(h3, h4, p.g-rg-zt) {
  font-family: var(--g-serif) !important;
  font-size: 21px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  color: var(--g-blau) !important;
  letter-spacing: -.005em !important;
  margin: 1.6em 0 .5em !important;
}
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor :is(h3, h4, p.g-rg-zt) * {
  font-family: inherit !important;
  font-weight: inherit !important;
  font-size: inherit !important;
}
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor > .elementor-widget-container > :is(h3, h4, p.g-rg-zt):first-child { margin-top: 0 !important; }
/* Direkt unter "Grundlegende Informationen" (eigener Baustein 435c762) stand
 * "Was ist eine Abmahnung?" nur 20 px darunter - wie eine doppelte
 * Ueberschrift. */
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-element-435c762 + .elementor-widget-text-editor > .elementor-widget-container > :is(h3, h4, p.g-rg-zt):first-child { margin-top: .9em !important; }

/* Zweite Stufe: fette Nummernpunkte ("1. Markenmaessige Benutzung ...",
 * Markenrecht) in Textgroesse, eng am folgenden Absatz. */
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-zt2 {
  font-weight: 600 !important;
  color: var(--g-blau) !important;
  margin: 1.6em 0 .3em !important;
}
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-zt2 :is(b, strong) { font-weight: inherit; }

/* Strichlisten ("– Verjaehrung", "– Verwirkung"): standen als einzelne
 * Absaetze mit vollem Abstand. Strich haengend wie die Punkte, Abstand wie in
 * einer Liste; der Erklaerabsatz unter einem kurzen Stichpunkt rueckt mit ein. */
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-strich {
  position: relative;
  padding-left: 1.4em !important;
  margin: 0 0 .35em !important;
}
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-strich .g-rg-strich__z {
  position: absolute;
  left: .05em;
  top: 0;
  color: var(--g-akzent);
  font-weight: 600;
}
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-strich-text { padding-left: 1.4em !important; margin: 0 0 1.1em !important; }
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-strich-vor { margin-bottom: .35em !important; }
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-strich + p:not([class*="g-rg-"]) { margin-top: 1em !important; }
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-strich:has(+ p:not([class*="g-rg-"])) { margin-bottom: 1em !important; }
@media (max-width: 767px) {
  html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor :is(h3, h4, p.g-rg-zt) { font-size: 19px !important; }
}

/* Leere Word-Absaetze (nur &nbsp;) rissen 60-90 px Loecher (Vertragsrecht
 * drei, KI-Recht und Gesellschaftsrecht je einer). Kein Text faellt weg. */
.g-rg p.g-rg-leer { display: none !important; }

/* Blocksatz aus Word riss Loecher in die Zeilen - linksbuendig. */
.g-rg .elementor-widget-text-editor [style*="justify"] { text-align: left !important; }
/* Nummern der Liste "Erste Schritte" (Abmahnung): #466781 auf Nachtblau 1,9:1. */
.g-rg .elementor-element-fd56c82 ol > li::before { color: var(--g-hellblau) !important; }
/* Word-Einzug "text-indent: -18pt" schob Nummern aus der Spalte. */
.g-rg .elementor-widget-text-editor p[style*="text-indent"] { text-indent: 0 !important; margin-left: 0 !important; }

/* Fett gesetzte Einzeiler in Folge (Vertragsrecht) als Aufzaehlung. */
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-reihe {
  position: relative;
  padding-left: 1.4em !important;
  margin: 0 0 .4em !important;
}
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-reihe + p:not(.g-rg-reihe) { margin-top: 1.2em !important; }
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-reihe :is(strong, b) { font-weight: 600; }
html:not([data-g-rg-zwischentitel="original"]) .g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p.g-rg-reihe::before {
  content: "";
  position: absolute;
  left: .12em;
  top: calc(var(--g-lh) * .5em - 3px);
  width: 6px;
  height: 6px;
  background: var(--g-akzent);
}

/* Word-Absaetze (MsoNormal): Zeilenhoehe 18,4 px, Rand 8 pt, Schwarz. */
.g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p[style] {
  line-height: var(--g-lh) !important;
  color: inherit !important;
}
.g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p[style*="margin"]:not([class*="g-rg-"]) { margin: 0 0 1em !important; }
.g-rg .elementor-element-c5f42bb .elementor-widget-text-editor p { margin-bottom: 1em; }
.g-rg .elementor-element-c5f42bb .elementor-widget-text-editor ul { margin-top: .4em; margin-bottom: 1.2em; }

/* Telefon: Die Textspalte lief von 20 bis 315 px - Elementor gab dem
 * Textbaustein 50 px Innenabstand rechts. Jetzt beide Raender 20 px. */
@media (max-width: 767px) {
  .g-rg .elementor-element-c5f42bb .elementor-widget > .elementor-widget-container { padding-right: 0 !important; }
}

/* ======================================================= 5. Seitenleiste
 * "weitere Fachgebiete" zeigte auf /case-category/... (Jonas: "Murks"). */
html:not([data-g-rg-seitenleiste="original"]) .g-rg .g-rg-fg-alt { display: none !important; }
html[data-g-rg-seitenleiste="original"] .g-rg .g-rg-fg-neu:not(.g-rg-fg-zusatz *) { display: none !important; }

html:is([data-g-rg-seitenleiste="fachgebiete"], [data-g-rg-seitenleiste="chips"]) .g-rg :is(.elementor-element-1ca4572, aside.sidebar, .g-rg-fg-zusatz) .widget-title {
  font-family: var(--g-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--g-text-leise) !important;
  margin: 0 0 10px !important;
  padding: 0 0 12px !important;
  border-bottom: 2px solid var(--g-blau);
}
html:is([data-g-rg-seitenleiste="fachgebiete"], [data-g-rg-seitenleiste="chips"]) .g-rg :is(.elementor-element-1ca4572, aside.sidebar, .g-rg-fg-zusatz) .widget-title::before,
html:is([data-g-rg-seitenleiste="fachgebiete"], [data-g-rg-seitenleiste="chips"]) .g-rg :is(.elementor-element-1ca4572, aside.sidebar, .g-rg-fg-zusatz) .widget-title::after { display: none !important; }

/* Liste (Rechner, Tablet) */
@media (min-width: 768px) {
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu { list-style: none !important; margin: 0 !important; padding: 0 !important; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu > li { list-style: none !important; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid #e3e8ee; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu > li::before { display: none !important; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a {
    position: relative;
    display: block !important;
    padding: 11px 26px 11px 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: var(--g-blau) !important;
    text-decoration: none !important;
    transition: color .15s ease, padding .15s ease;
  }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    opacity: .35;
    transition: opacity .15s ease, right .15s ease;
  }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; padding-left: 4px !important; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a:is(:hover, :focus-visible)::after { opacity: 1; right: 2px; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a[aria-current="page"] {
    color: var(--g-akzent) !important;
    font-weight: 600 !important;
    padding-left: 14px !important;
    box-shadow: inset 3px 0 0 var(--g-akzent);
  }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a[aria-current="page"]::after { display: none; }
}

/* Schaltflaechen (Telefon bei "fachgebiete", ueberall bei "chips"): In der
 * zweispaltigen Liste klebten am Telefon die Pfeile im Wort,
 * "Veranstaltungsrecht" ragte ueber die Spalte. */
html[data-g-rg-seitenleiste="chips"] .g-rg ul.g-rg-fg-neu {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
html[data-g-rg-seitenleiste="chips"] .g-rg ul.g-rg-fg-neu > li { list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html[data-g-rg-seitenleiste="chips"] .g-rg ul.g-rg-fg-neu > li::before { display: none !important; }
html[data-g-rg-seitenleiste="chips"] .g-rg ul.g-rg-fg-neu a {
  display: inline-block !important;
  padding: 9px 14px !important;
  border: 1px solid #c3cfda;
  border-radius: var(--g-radius);
  background: #fff;
  font-size: 15px !important;
  line-height: 1.3 !important;
  color: var(--g-blau) !important;
  text-decoration: none !important;
}
html[data-g-rg-seitenleiste="chips"] .g-rg ul.g-rg-fg-neu a:is(:hover, :focus-visible) { background: var(--g-hell); border-color: var(--g-akzent); color: var(--g-akzent) !important; }
html[data-g-rg-seitenleiste="chips"] .g-rg ul.g-rg-fg-neu a[aria-current="page"] { background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; font-weight: 600; }
@media (max-width: 767px) {
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu > li { list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu > li::before { display: none !important; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a {
    display: inline-block !important;
    padding: 9px 14px !important;
    border: 1px solid #c3cfda;
    border-radius: var(--g-radius);
    background: #fff;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: var(--g-blau) !important;
    text-decoration: none !important;
  }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a:is(:hover, :focus-visible) { background: var(--g-hell); border-color: var(--g-akzent); color: var(--g-akzent) !important; }
  html[data-g-rg-seitenleiste="fachgebiete"] .g-rg ul.g-rg-fg-neu a[aria-current="page"] { background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; font-weight: 600; }
  html:is([data-g-rg-seitenleiste="fachgebiete"], [data-g-rg-seitenleiste="chips"]) .g-rg .elementor-element-8c64cb5 { margin-top: 28px; }
}

/* Am Rechner laeuft die Leiste beim Lesen mit (Markenrecht: 5.000 px Text). */
@media (min-width: 1025px) {
  html:is([data-g-rg-seitenleiste="fachgebiete"], [data-g-rg-seitenleiste="chips"]) .g-rg .elementor-element-8c64cb5 :is(.elementor-element-1ca4572, .g-rg-fg-zusatz) {
    position: sticky;
    top: 96px;
    align-self: flex-start;
  }
  html:is([data-g-rg-seitenleiste="fachgebiete"], [data-g-rg-seitenleiste="chips"]) .g-rg .elementor-element-8c64cb5 > .elementor-widget-wrap { align-content: flex-start !important; padding-left: 30px !important; }
}
.g-rg .elementor-element-1ca4572 .widget { margin-bottom: 0 !important; }
html:not([data-g-rg-seitenleiste="original"]) .g-rg .elementor-element-1ca4572 > .elementor-widget-container { margin-bottom: 0 !important; }
/* Abmahnungsseiten: Fachgebiete in der Seitenleiste, wenn die Gegner unten
 * als Karten stehen (Regler rg-gegner-ort). */
.g-rg .g-rg-fg-zusatz { display: none; width: 100%; }
.g-rg .g-rg-fg-zusatz .widget { margin: 0 !important; }

/* Tastaturfokus sichtbar (das Theme nimmt Verweisen den Rahmen). */
.g-rg :is(ul.g-rg-fg-neu, .g-rg-gl-neu ul.list_schenk_gegner, .g-rg-gl-spalten) a:focus-visible,
.g-rg :is(.g-rg-gl-mehr, .g-rg-gl-alle) > summary:focus-visible,
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-title a:focus-visible {
  outline: 2px solid var(--g-akzent) !important;
  outline-offset: 2px;
}

/* ======================================================= 6. Gegnerliste
 * Abmahnungsseiten: rund 100 Namen in der Seitenleiste - am Telefon ueber
 * 4.000 px. Kompakt: die zwoelf ersten, der Rest aufklappbar. */
html:not([data-g-rg-gegnerliste="original"]) .g-rg .g-rg-gl-alt { display: none !important; }
html[data-g-rg-gegnerliste="original"] .g-rg .elementor-shortcode .g-rg-gl-neu { display: none !important; }
.g-rg .g-rg-gl-neu ul.list_schenk_gegner { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.g-rg .g-rg-gl-neu ul.list_schenk_gegner > li { list-style: none !important; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid #e3e8ee; }
.g-rg .g-rg-gl-neu ul.list_schenk_gegner > li::before { display: none !important; }
.g-rg .g-rg-gl-neu ul.list_schenk_gegner a {
  display: block !important;
  padding: 10px 0 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: var(--g-blau) !important;
  text-decoration: none !important;
}
.g-rg .g-rg-gl-neu ul.list_schenk_gegner a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline !important; }
.g-rg :is(.g-rg-gl-mehr, .g-rg-gl-alle) > summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 11px 18px;
  border-radius: var(--g-radius);
  background: var(--g-hell);
  color: var(--g-blau);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.g-rg :is(.g-rg-gl-mehr, .g-rg-gl-alle) > summary::-webkit-details-marker { display: none; }
.g-rg :is(.g-rg-gl-mehr, .g-rg-gl-alle) > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}
.g-rg :is(.g-rg-gl-mehr, .g-rg-gl-alle)[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.g-rg :is(.g-rg-gl-mehr, .g-rg-gl-alle) > summary:is(:hover, :focus-visible) { background: #dce5ee; }
.g-rg .g-rg-gl-mehr[open] > summary { margin-bottom: 6px; }

/* Vollstaendige Namensliste unter den Gegnerkarten (Abmahnungsseiten). */
.g-rg .g-rg-gl-alle { margin-top: 30px; }
.g-rg .g-rg-gl-alle > summary { margin-top: 0; }
.g-rg ul.g-rg-gl-spalten {
  columns: 3 15em;
  column-gap: 40px;
  list-style: none !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}
.g-rg ul.g-rg-gl-spalten > li { break-inside: avoid; list-style: none !important; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid #e3e8ee; }
.g-rg ul.g-rg-gl-spalten > li::before { display: none !important; }
.g-rg ul.g-rg-gl-spalten a { display: block; padding: 9px 0; font-size: 16px; line-height: 1.4; color: var(--g-blau) !important; text-decoration: none !important; }
.g-rg ul.g-rg-gl-spalten a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline !important; }

/* Wo stehen die Gegner? (Regler rg-gegner-ort) "Gegnerliste" stand auf den
 * Abmahnungsseiten zweimal - als Seitenleiste und als Kartenblock darunter.
 * passend: Abmahnung -> Karten unten (mit allen Namen zum Aufklappen),
 * Tauschboerse -> rechte Spalte (dorthin verweist der Text). */
html:is([data-g-rg-gegner-ort="passend"], [data-g-rg-gegner-ort="karten"]):not([data-g-rg-gegner="aus"]) .g-rg-go-karten :is(.elementor-element-d921ab2, .elementor-element-e143ed4) { display: none !important; }
html:is([data-g-rg-gegner-ort="passend"], [data-g-rg-gegner-ort="karten"]):not([data-g-rg-gegner="aus"]) .g-rg-go-karten .g-rg-fg-zusatz { display: block; }
html[data-g-rg-gegner-ort="passend"] .g-rg-go-seite .g-rg-mehr--gegner,
html[data-g-rg-gegner-ort="seitenleiste"] .g-rg:is(.g-rg-go-karten, .g-rg-go-seite) .g-rg-mehr--gegner { display: none !important; }
html[data-g-rg-gegner-ort="karten"]:not([data-g-rg-gegner="aus"]) .g-rg .g-rg-gw { display: none !important; }
/* Tauschboerse: Gegnerliste ueber den Fachgebieten in der rechten Spalte.
 * Zwei Listen untereinander waren am Rechner 900 px hoeher als der Text -
 * daneben stand eine leere Spalte. Die Fachgebiete hier als Schaltflaechen. */
.g-rg .g-rg-gw { margin-bottom: 40px; }
html[data-g-rg-seitenleiste="fachgebiete"]:not([data-g-rg-gegner-ort="karten"]) .g-rg--schlicht ul.g-rg-fg-neu {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 0 !important;
}
html[data-g-rg-seitenleiste="fachgebiete"]:not([data-g-rg-gegner-ort="karten"]) .g-rg--schlicht ul.g-rg-fg-neu > li { border: 0 !important; }
html[data-g-rg-seitenleiste="fachgebiete"]:not([data-g-rg-gegner-ort="karten"]) .g-rg--schlicht ul.g-rg-fg-neu a {
  display: inline-block !important;
  padding: 9px 14px !important;
  border: 1px solid #c3cfda;
  border-radius: var(--g-radius);
  background: #fff;
  font-size: 15px !important;
}
html[data-g-rg-seitenleiste="fachgebiete"]:not([data-g-rg-gegner-ort="karten"]) .g-rg--schlicht ul.g-rg-fg-neu a::after { display: none !important; }
html[data-g-rg-seitenleiste="fachgebiete"]:not([data-g-rg-gegner-ort="karten"]) .g-rg--schlicht ul.g-rg-fg-neu a:is(:hover, :focus-visible) { background: var(--g-hell); border-color: var(--g-akzent); padding-left: 14px !important; }

/* ================================================ 7. Beitraege, Gegner
 * Jonas: "unten Beitraege zum Versicherungsrecht gehen voll unter, warum sind
 * da nicht Kacheln wie bei den Beitraegen?" - Karten wie auf /aktuelles/. */
html:not([data-g-rg-beitraege="liste"]) .g-rg.g-rg-hat-karten .schenk-thema { display: none !important; }
html[data-g-rg-beitraege="liste"] .g-rg .g-rg-mehr--beitraege { display: none !important; }
html[data-g-rg-beitraege="drei"] .g-rg .g-rg-mehr--beitraege .schenk-k:nth-child(n+4) { display: none; }
html[data-g-rg-gegner="aus"] .g-rg .g-rg-mehr--gegner { display: none !important; }
html[data-g-rg-gegner="drei"] .g-rg .g-rg-mehr--gegner .schenk-k:nth-child(n+4) { display: none; }

.g-rg-bloecke { clear: both; padding: 24px 0 8px; }
.g-rg-mehr { padding: 56px 0 24px; }
.g-rg-mehr__innen { max-width: 1140px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; }
.g-rg--schlicht .g-rg-mehr__innen { max-width: 1170px; padding: 0 15px; }
/* Tauschboerse: Karten in der Textspalte (zwei Spalten, erste Karte quer). */
.g-rg-bloecke--spalte .g-rg-mehr__innen { padding: 0 !important; max-width: none; }
.g-rg-bloecke--spalte .g-rg-mehr { padding-top: 40px; }
@media (min-width: 641px) {
  .g-rg-bloecke--spalte .schenk-raster { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-bloecke--spalte .g-rg-raster--beitraege > .schenk-k:first-child { grid-column: 1 / -1 !important; grid-row: auto !important; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-bloecke--spalte .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__bild { aspect-ratio: 2 / 1; flex: none; min-height: 0; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-bloecke--spalte .g-rg-raster--beitraege > .schenk-k:last-child:nth-child(even) { grid-column: 1 / -1; }
}
.g-rg-mehr__titel {
  font-family: var(--g-serif) !important;
  font-size: 30px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
  color: var(--g-blau) !important;
  margin: 0 !important;
  zoom: var(--g-z);
}
.g-rg-mehr .schenk-raster { margin: 30px 0 0; }
.g-rg-mehr__alle { margin: 32px 0 0 !important; }

/* Karten: Meta nicht unter 14 px (am Telefon 15 px), Titel mit Trennung. */
.g-rg-mehr .schenk-k__meta { font-size: 14px; color: #4f5d69; }
/* Trennung nur in langen Woertern ("Berufsunfaehigkeitsversicherung"),
 * nicht "be-steht" oder "Vergue-tung". */
.g-rg-mehr .schenk-k__titel { color: var(--g-blau); overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 15 6 6; }
.g-rg-mehr .schenk-k__link:is(:hover, :focus-visible) .schenk-k__titel { color: var(--g-akzent); }
.g-rg-mehr .schenk-k__link:focus-visible { outline: 3px solid var(--g-hellblau); outline-offset: 2px; }

/* Ohne Beitragsbild (Regler rg-kartenbild). Kritik: Die Ersatzfotos machten
 * die Karten zur Tapete - auf jeder Seite dieselben Putten und Steinmasken.
 *   erste-gross  erste Karte breit mit Foto (eigenes Bild oder ein Motiv des
 *                Rechtsgebiets), die uebrigen als Textkarten
 *   ein-motiv    jede Karte ohne Bild zeigt das Motiv des Rechtsgebiets
 *   foto         Kanzleifotos aus einem Vorrat ohne Masken und Putten
 *   blau         blaue Flaeche mit Rechtsgebiet (wie /aktuelles/) */
.g-rg-mehr .g-rg-ersatz { position: relative; }
html:not([data-g-rg-kartenbild="blau"]) .g-rg-mehr .g-rg-ersatz { padding: 0; }
.g-rg-mehr .g-rg-ersatz :is(.g-rg-ersatz__foto, .g-rg-ersatz__motiv) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.g-rg-mehr .g-rg-ersatz__motiv { display: none; }
html:not([data-g-rg-kartenbild="blau"]) .g-rg-mehr .g-rg-ersatz > span { display: none; }
html[data-g-rg-kartenbild="blau"] .g-rg-mehr .g-rg-ersatz__foto { display: none; }
html[data-g-rg-kartenbild="ein-motiv"] .g-rg-mehr .g-rg-ersatz__foto { display: none; }
html[data-g-rg-kartenbild="ein-motiv"] .g-rg-mehr .g-rg-ersatz__motiv { display: block; }
html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege .g-rg-ersatz__foto { display: none; }
html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .g-rg-ersatz__motiv { display: block; }
/* Erste Karte: zwei Spalten breit, zwei Reihen hoch; Bild fuellt den Rest. */
html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:not(:first-child) .schenk-k__bild { display: none !important; }
html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:not(:first-child) .schenk-k__link { border-top: 3px solid var(--g-akzent); }
html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:not(:first-child) .schenk-k__text { padding: 22px 22px 24px; }
html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__titel { font-size: 24px; line-height: 1.3; }
@media (min-width: 1024px) {
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child { grid-column: span 2; grid-row: span 2; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__bild { aspect-ratio: auto; flex: 1 1 260px; min-height: 260px; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__text { flex: none; padding: 24px 28px 28px; }
  /* Nur drei Beitraege: erste Karte zwei Reihen, zwei Textkarten daneben. */
}
@media (min-width: 641px) and (max-width: 1023px) {
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child { grid-column: 1 / -1; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__bild { aspect-ratio: 2 / 1; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:last-child:nth-child(even) { grid-column: 1 / -1; }
}

/* Gegnerkarten: ohne Bild, Akzentkante, Name und erster Satz. */
.g-rg-raster--gegner .schenk-k__bild { display: none !important; }
.g-rg-raster--gegner .schenk-k__meta:empty { display: none; }
.g-rg-raster--gegner .schenk-k__link { border-top: 3px solid var(--g-akzent); }
.g-rg-raster--gegner .schenk-k__titel { font-size: 19px; }

/* Verweis "Alle Beitraege ...": gefuellter Knopf wie im Grundsystem. */
.g-rg-knopf {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 15px 26px;
  border: 1px solid var(--g-blau);
  border-radius: var(--g-radius);
  background: var(--g-blau);
  color: #fff !important;
  font-family: var(--g-sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .02em;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease;
}
.g-rg-knopf span { color: inherit !important; }
.g-rg-knopf__pfeil { position: relative; flex: none; width: 18px; height: 2px; background: currentColor; transition: transform .2s ease; }
.g-rg-knopf__pfeil::after {
  content: "";
  position: absolute;
  right: 0;
  top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.g-rg-knopf:is(:hover, :focus-visible) { background: var(--g-akzent); border-color: var(--g-akzent); color: #fff !important; }
.g-rg-knopf:is(:hover, :focus-visible) .g-rg-knopf__pfeil { transform: translateX(4px); }
.g-rg-knopf:focus-visible { outline: 3px solid var(--g-hellblau); outline-offset: 2px; }
html[data-g-knopf="akzent"] .g-rg-knopf { background: var(--g-hellblau); border-color: var(--g-hellblau); color: var(--g-blau) !important; }
html[data-g-knopf="akzent"] .g-rg-knopf:is(:hover, :focus-visible) { background: #8fd0f0; border-color: #8fd0f0; color: var(--g-blau) !important; }
html[data-g-knopf="kontur"] .g-rg-knopf { background: transparent; color: var(--g-blau) !important; }
html[data-g-knopf="kontur"] .g-rg-knopf:is(:hover, :focus-visible) { background: var(--g-blau); color: #fff !important; }
/* Auf dunklem Grund (Abschlussband): weiss gefuellt. */
.g-rg-knopf.g-rg-knopf--hell,
html[data-g-knopf] .g-rg-knopf.g-rg-knopf--hell { background: #fff; border-color: #fff; color: var(--g-blau) !important; }
.g-rg-knopf.g-rg-knopf--hell:is(:hover, :focus-visible),
html[data-g-knopf] .g-rg-knopf.g-rg-knopf--hell:is(:hover, :focus-visible) { background: #dcebf8; border-color: #dcebf8; color: var(--g-blau) !important; }
html[data-g-knopf="akzent"] .g-rg-knopf.g-rg-knopf--hell { background: var(--g-hellblau); border-color: var(--g-hellblau); }
html[data-g-knopf="kontur"] .g-rg-knopf.g-rg-knopf--hell { background: transparent; border-color: #fff; color: #fff !important; }
html[data-g-knopf="kontur"] .g-rg-knopf.g-rg-knopf--hell:is(:hover, :focus-visible) { background: #fff; color: var(--g-blau) !important; }

/* Telefon: Karten kompakt - Bild links, Titel rechts. */
@media (max-width: 640px) {
  .g-rg-bloecke { padding-top: 0; }
  .g-rg-mehr { padding: 20px 0 8px; }
  .g-rg-mehr + .g-rg-mehr { padding-top: 40px; }
  .g-rg-mehr__innen, .g-rg--schlicht .g-rg-mehr__innen { padding: 0 20px; }
  .g-rg-mehr__titel { font-size: 24px !important; }
  .g-rg-mehr .schenk-raster { gap: 14px; margin-top: 22px; }
  .g-rg-mehr .schenk-k__meta { font-size: 15px; }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__link { flex-direction: row; align-items: stretch; }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__bild { flex: 0 0 100px; aspect-ratio: auto; min-height: 112px; }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__bild--leer:not(.g-rg-ersatz) span,
  html[data-g-rg-kartenbild="blau"]:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .g-rg-ersatz span { display: none; }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__bild--leer:not(.g-rg-ersatz)::after,
  html[data-g-rg-kartenbild="blau"]:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .g-rg-ersatz::after {
    content: "§";
    font-family: var(--g-serif);
    font-size: 30px;
    color: rgba(255, 255, 255, .85);
  }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__text { padding: 13px 15px 15px; gap: 6px; }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__titel { font-size: 16px; line-height: 1.38; }
  html:not([data-g-rg-kartenmobil="gross"]) .g-rg-mehr--beitraege .schenk-k__anriss { display: none; }
  /* Erste Karte bei "erste-gross": Foto oben, darunter Titel und Anriss. */
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__link { flex-direction: column; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__bild { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__text { padding: 16px 18px 20px; gap: 8px; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__titel { font-size: 19px; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:first-child .schenk-k__anriss { display: block; font-size: 15.5px; }
  html[data-g-rg-kartenbild="erste-gross"] .g-rg-raster--beitraege > .schenk-k:not(:first-child) .schenk-k__text { padding: 14px 16px 16px; }
  .g-rg-raster--gegner .schenk-k__text { padding: 15px 16px 17px; }
  .g-rg-raster--gegner .schenk-k__titel { font-size: 17px; }
  .g-rg-knopf { width: 100%; justify-content: space-between; }
  .g-rg ul.g-rg-gl-spalten { columns: 1; }
}

/* ================================================== 8. Abschluss
 * Kritik: Das helle Band mit einem einzelnen Knopf war die schwaechste
 * Stelle der Seite; Gesellschaftsrecht endete ohne Abschluss.
 *   dunkel  Nachtblau mit Stephans Portraet, "RUFEN SIE UNS AN", Nummer,
 *           Mail und Knopf - alles Texte aus dem Kopf derselben Seite
 *   band    helles Band mit dem Knopf (erster Durchgang)
 *   original frei (bisher) */
html[data-g-rg-abschluss="band"] .g-rg .elementor-element-f63d385 {
  background-color: var(--g-hell);
  margin-top: 56px;
  padding: 28px 0;
}
html[data-g-rg-abschluss="band"] .g-rg.g-rg-hat-karten .elementor-element-f63d385 { margin-top: 48px; }
html[data-g-rg-abschluss="band"] .g-rg .elementor-element-f63d385 .elementor-widget-spacer { --spacer-size: 0px !important; }
@media (max-width: 767px) {
  html[data-g-rg-abschluss="band"] .g-rg .elementor-element-f63d385,
  html[data-g-rg-abschluss="band"] .g-rg.g-rg-hat-karten .elementor-element-f63d385 { margin-top: 36px; padding: 20px 0; }
}
html[data-g-rg-abschluss="band"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-element-2d83943 { margin-top: 24px; }

.g-rg-ruf { display: none; }
html[data-g-rg-abschluss="dunkel"] .g-rg .g-rg-ruf { display: block; }
html[data-g-rg-abschluss="dunkel"] .g-rg .elementor-element-f63d385,
html[data-g-rg-abschluss="dunkel"] .g-rg--uebersicht :is(.elementor-element-2d83943, .elementor-element-7fdbee56, .elementor-element-fffede7) { display: none !important; }
.g-rg .g-rg-ruf {
  position: relative;
  clear: both;
  margin: 96px 0 0;
  color: #fff;
  background: var(--g-kanzleiblau);
  /* Vollflaechig ohne waagerechtes Scrollen: border-image malt ueber den
   * Rand hinaus, ohne die Seite breiter zu machen. */
  border-image: linear-gradient(var(--g-kanzleiblau), var(--g-kanzleiblau)) fill 0 / 0 / 0 100vw;
}
.g-rg-ruf__innen {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  column-gap: 72px;
  align-items: end;
}
.g-rg-ruf__bild { margin-top: -48px; align-self: end; }
.g-rg-ruf__bild img { display: block; width: 100%; height: auto; }
.g-rg-ruf__text { align-self: center; padding: 56px 0 60px; }
.g-rg .g-rg-ruf p { margin: 0; color: #fff; }
.g-rg .g-rg-ruf :is(.g-rg-ruf__ueber, .g-rg-ruf__oder) {
  font-family: var(--g-sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--g-hellblau);
}
.g-rg .g-rg-ruf .g-rg-ruf__nr { margin: 8px 0 26px; font-size: 44px; line-height: 1.15; white-space: nowrap; }
.g-rg .g-rg-ruf .g-rg-ruf__mail { margin-top: 6px; font-size: 18px; line-height: 1.4; }
.g-rg .g-rg-ruf :is(.g-rg-ruf__nr, .g-rg-ruf__mail) a { color: #fff !important; text-decoration: none !important; }
.g-rg .g-rg-ruf :is(.g-rg-ruf__nr, .g-rg-ruf__mail) a:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: .15em; }
.g-rg .g-rg-ruf :is(.g-rg-ruf__nr, .g-rg-ruf__mail) a:focus-visible { outline: 2px solid var(--g-hellblau); outline-offset: 3px; }
.g-rg .g-rg-ruf .g-rg-ruf__knopf { margin-top: 30px; }
/* Der Abschluss steht vor der Fusszeile - etwas Abstand zu ihr. */
html[data-g-rg-abschluss="dunkel"] .g-rg.g-rg-hat-ruf #main_content { padding-bottom: 0 !important; }
@media (min-width: 768px) and (max-width: 1024px) {
  .g-rg .g-rg-ruf { margin-top: 80px; }
  .g-rg-ruf__text { padding: 40px 0 44px; }
  .g-rg-ruf__innen { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); column-gap: 44px; padding: 0 20px; }
  .g-rg .g-rg-ruf .g-rg-ruf__nr { font-size: clamp(30px, 5vw, 44px); }
}
@media (max-width: 767px) {
  .g-rg .g-rg-ruf { margin-top: 72px; }
  .g-rg-ruf__innen { display: block; padding: 0 20px; }
  .g-rg-ruf__bild { width: 128px; margin-top: -36px; }
  .g-rg-ruf__text { padding: 22px 0 44px; }
  .g-rg .g-rg-ruf .g-rg-ruf__nr { font-size: min(34px, 8.6vw); margin-bottom: 20px; }
  .g-rg .g-rg-ruf .g-rg-knopf { width: 100%; justify-content: space-between; }
}

/* ===================================================== 9. Uebersicht
 * /rechtsgebiete/: zwoelf Bildboxen auf Grau. Jetzt Karten mit Linie, ganze
 * Flaeche klickbar, Text linksbuendig. */
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element.elementor-element-273ca314:not(.elementor-motion-effects-element-type-background) { background-color: #fff !important; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox > .elementor-widget-container {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  padding: 28px 26px 30px !important;
  border: 0 !important;
  border-top: 2px solid var(--g-akzent) !important;
  background: transparent !important;
  transition: background-color .2s ease;
}
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox > .elementor-widget-container:hover { background: var(--g-hell) !important; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox { height: 100%; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 :is(.gt3-core-imagebox-wrapper, .gt3-core-imagebox-content, .gt3-core-imagebox-title, .gt3-core-imagebox-description) { text-align: left !important; }
/* Abstand Icon -> Titel: Elementor setzt ihn je Kasten anders (8, 14, 18 px,
 * mit !important in 5 Klassen) - die Titel einer Reihe sprangen um bis zu
 * 11 px. Der Selektor muss spezifischer sein als Elementors. */
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper .gt3-core-imagebox-img { margin: 0 0 16px !important; text-align: left !important; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper .gt3-core-imagebox-title { margin-top: 0 !important; }
/* Beschreibung in Fliesstextgroesse (bisher 15 px neben 16 px Fliesstext,
 * beides mit --g-z gezoomt), ohne Silbentrennung ab dem Tablet. */
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox .gt3-core-imagebox-description { font-size: 16px !important; line-height: var(--g-lh) !important; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-title a::after { content: ""; position: absolute; inset: 0; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-title a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-description { color: var(--g-text) !important; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-inner-section { margin-bottom: 18px; }
html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 :is(.elementor-element-26ba9a5d, .elementor-element-737407ad) { --spacer-size: 14px !important; }
/* Ueberschriften in Kaesten: keine automatische Silbentrennung ("Medi-
 * enrecht", "Urhe-berrecht" bei 768) - nur im Fliesstext. */
.g-rg :is(h3, h4).gt3-core-imagebox-title { -webkit-hyphens: manual !important; hyphens: manual !important; overflow-wrap: normal !important; word-break: normal !important; }
.g-rg .gt3-core-imagebox-content { min-width: 0; }
.g-rg .gt3-core-imagebox-description { overflow-wrap: break-word; }
/* Tablet: zwei Spalten statt drei (bei 768 blieben 171 px Textbreite). Die
 * vier Dreierreihen werden ein gemeinsames Raster. */
@media (min-width: 768px) and (max-width: 1024px) {
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-427aa142 > .elementor-widget-wrap { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 20px; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-427aa142 > .elementor-widget-wrap > * { grid-column: 1 / -1; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-427aa142 > .elementor-widget-wrap > .elementor-inner-section,
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-427aa142 > .elementor-widget-wrap > .elementor-inner-section > .elementor-container { display: contents !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-427aa142 .elementor-inner-section > .elementor-container > .elementor-column { grid-column: auto; width: auto !important; }
  /* Linie und Text an der Kante von Titel, Kopftext und Kontaktkarte (bei
   * 768 Linie bei 27, Text bei 56, Titel bei 20 px) - wie am Telefon. Ohne
   * Seitenrand kein Hover-Grund; der Titel faerbt sich weiter. */
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 28px 0 30px !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox > .elementor-widget-container:hover { background: transparent !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 :is(.elementor-element-427aa142, .elementor-element-427aa142 .elementor-column) > .elementor-widget-wrap { padding-left: 0 !important; padding-right: 0 !important; }
  /* Das Raster war auf 760 px begrenzt und mittig (bei 1000 px Karten ab
   * x=120). Jetzt 20 px vom Fensterrand wie der Kopf. */
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 > .elementor-container { max-width: none !important; margin-left: 20px !important; margin-right: 20px !important; }
}
/* Bis 1023 px hat der Theme-Container selbst 15 px Rand. */
@media (min-width: 768px) and (max-width: 1023px) {
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 > .elementor-container { margin-left: 5px !important; margin-right: 5px !important; }
}
@media (min-width: 768px) {
  .g-rg .gt3-core-imagebox-description { -webkit-hyphens: manual !important; hyphens: manual !important; }
}
/* Telefon: Icon ueber dem Titel - dann hat der Text die ganze Breite. */
@media (max-width: 767px) {
  /* Trennung nur in langen Woertern (bisher 6 von 8 Zeilen im Kasten
   * "Filesharing" getrennt: "Ar-beitnehmer", "Verträ-gen"). */
  .g-rg .gt3-core-imagebox-description { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 5 5; }
  .g-rg .gt3-core-imagebox-wrapper.elementor-image_icon-position-default { grid-template-columns: calc(var(--g-icon) * .7) minmax(0, 1fr) !important; }
  .g-rg .gt3-core-imagebox-wrapper.elementor-image_icon-position-default .gt3-core-imagebox-img img { width: calc(var(--g-icon) * .7) !important; height: calc(var(--g-icon) * .7) !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-wrapper.elementor-image_icon-position-default { display: block !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper .gt3-core-imagebox-img { margin: 0 0 12px !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-img img { width: 52px !important; height: 52px !important; }
  /* Linie und Text an der 20-px-Kante wie Titel, Kopftext und Beitraege
   * (bisher Linie bei 32, Text bei 37 px). */
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 22px 0 24px !important; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-inner-section { margin-bottom: 0; }
  html[data-g-rg-uebersicht^="karten"] .g-rg--uebersicht .elementor-element-273ca314 :is(.elementor-element-427aa142, .elementor-element-427aa142 .elementor-column) > .elementor-widget-wrap { padding-left: 0 !important; padding-right: 0 !important; }
  /* Ruhige Liste (Standard "karten"): Icon 44 px links neben dem Titel, die
   * Beschreibung darunter in voller Breite - jede Karte rund 60 px kuerzer.
   * "karten-oben": Icon ueber dem Titel (erster Entwurf). */
  html[data-g-rg-uebersicht="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-wrapper.elementor-image_icon-position-default {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    column-gap: 14px;
    align-items: center;
  }
  html[data-g-rg-uebersicht="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-wrapper.elementor-image_icon-position-default .gt3-core-imagebox-content { display: contents; }
  html[data-g-rg-uebersicht="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper .gt3-core-imagebox-img { grid-column: 1; grid-row: 1; width: 44px !important; max-width: none !important; margin: 0 !important; }
  html[data-g-rg-uebersicht="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-img img { width: 44px !important; height: 44px !important; }
  html[data-g-rg-uebersicht="karten"] .g-rg--uebersicht .elementor-element-273ca314 .elementor-widget-gt3-core-imagebox .gt3-core-imagebox-wrapper .gt3-core-imagebox-title { grid-column: 2; grid-row: 1; margin: 0 !important; }
  html[data-g-rg-uebersicht="karten"] .g-rg--uebersicht .elementor-element-273ca314 .gt3-core-imagebox-description { grid-column: 1 / -1; grid-row: 2; margin-top: 12px !important; }
}

/* ==================================== 10. Kaesten ohne Bild (Abmahnung,
 * Gesellschaftsrecht). Bildboxen ohne Bild: Das Raster fuer Icon + Text legte
 * den Text am Telefon in die schmale Iconspalte - ein Wort je Zeile. */
.g-rg .gt3-core-imagebox-wrapper:not(:has(.gt3-core-imagebox-img)) { display: block !important; }

html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 { padding: 30px 10px 8px !important; }
html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 > .elementor-container > .elementor-column > .elementor-element-populated { border: 0 !important; }
html[data-g-rg-boxen="karten"] :is(.g-rg--abmahnung .elementor-element-1827731, .g-rg .elementor-element-8cd4108) .elementor-widget-gt3-core-imagebox { height: 100%; }
html[data-g-rg-boxen="karten"] :is(.g-rg--abmahnung .elementor-element-1827731, .g-rg .elementor-element-8cd4108) .elementor-widget-gt3-core-imagebox > .elementor-widget-container {
  height: 100%;
  box-sizing: border-box;
  padding: 26px 26px 28px !important;
  border: 0 !important;
  border-top: 2px solid var(--g-akzent) !important;
  background: var(--g-hell) !important;
}
html[data-g-rg-boxen="karten"] :is(.g-rg--abmahnung .elementor-element-1827731, .g-rg .elementor-element-8cd4108) :is(.gt3-core-imagebox-wrapper, .gt3-core-imagebox-content, .gt3-core-imagebox-title, .gt3-core-imagebox-description) { text-align: left !important; }
html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 .gt3-core-imagebox-content .gt3-core-imagebox-title,
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 .gt3-core-imagebox-content h3 {
  font-family: var(--g-serif) !important;
  font-size: 22px !important;
  line-height: 1.32 !important;
  font-weight: 400 !important;
  letter-spacing: -.005em !important;
  color: var(--g-blau) !important;
  margin: 0 0 12px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 .gt3-core-imagebox-description,
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 .gt3-core-imagebox-content li {
  font-size: 16px !important;
  line-height: var(--g-lh) !important;
  letter-spacing: var(--g-ls);
  color: var(--g-text) !important;
}
html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 .elementor-col-100 .gt3-core-imagebox-description { max-width: 48em; }
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 div.gt3-core-imagebox-title { display: none !important; }
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 > .e-con-inner { flex-wrap: wrap !important; gap: 24px !important; padding-top: 24px; padding-bottom: 24px; }
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 > .e-con-inner > .e-con { flex: 1 1 calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; width: auto !important; }
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 .gt3-core-imagebox-content > p:empty { display: none; }
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 .gt3-core-imagebox-content > ul { margin-bottom: 0 !important; }
html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 28px 30px 26px !important; }
@media (min-width: 768px) {
  html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 > .elementor-container { flex-wrap: wrap; row-gap: 20px; }
  html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 > .elementor-container > .elementor-col-25 { width: 50% !important; }
}
@media (max-width: 767px) {
  html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 { padding: 20px 10px 0 !important; }
  html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 > .e-con-inner > .e-con { flex-basis: 100% !important; max-width: 100% !important; }
  html[data-g-rg-boxen="karten"] :is(.g-rg--abmahnung .elementor-element-1827731, .g-rg .elementor-element-8cd4108) .elementor-widget-gt3-core-imagebox > .elementor-widget-container { padding: 22px 20px 24px !important; }
  html[data-g-rg-boxen="karten"] .g-rg--abmahnung .elementor-element-1827731 .gt3-core-imagebox-content .gt3-core-imagebox-title,
  html[data-g-rg-boxen="karten"] .g-rg .elementor-element-8cd4108 .gt3-core-imagebox-content h3 { font-size: 20px !important; }
}

/* ================================================== 11. Schlichte Seite
 * /tauschboerse-filesharing/ (Theme-Seite ohne Elementor). */
/* Bei 1001-1060 px ist der Theme-Behaelter 13 px vom Rand entfernt, die
 * Zeile darin hat -15 px Rand: 2 px waagerechtes Scrollen (auch auf /ebay/
 * und anderen Theme-Seiten, siehe Wuensche). */
@media (min-width: 1001px) and (max-width: 1060px) {
  body.g-rg--schlicht .main_wrapper > .container { box-sizing: border-box; padding-left: 2px; padding-right: 2px; }
}
.g-rg--schlicht #main_content > p { max-width: 44em; }
.g-rg--schlicht #main_content > :is(p, ul, ol) { font-size: calc(16px * var(--g-z)) !important; line-height: var(--g-lh) !important; letter-spacing: var(--g-ls); }

/* ============================================ 12. Groessen-Regler (--g-z)
 * Kritik: Bei groesse=120 wuchsen Fliesstext, Zwischentitel und Kartenmeta,
 * Seitenleiste, Knoepfe, Aufklapper und Abschlussband blieben stehen. Das
 * Grundsystem zoomt nur Elementor-Textbausteine und die Theme-Seitenleiste;
 * die eigenen Bausteine hier ebenso (zoom nur an Blaettern, nie doppelt -
 * die Tauschboerse-Seitenleiste ist schon gezoomt). */
.g-rg :is(.elementor-widget-sidebar > .elementor-widget-container, .g-rg-fg-zusatz, .elementor-widget-shortcode .g-rg-gl-neu),
.g-rg .g-rg-mehr__alle,
.g-rg .g-rg-gl-alle,
.g-rg .g-rg-ruf__text { zoom: var(--g-z); }
/* Nummer im Abschlussband am Telefon: waechst mit, passt aber immer in die
 * Zeile (360 px, 120 %). */
@media (max-width: 767px) {
  .g-rg .g-rg-ruf .g-rg-ruf__nr { font-size: min(34px, calc(8.4vw / var(--g-z))); }
}

/* ======================================== 13. Abschlussband und Fusszeile
 * Das Band stiess ohne Abstand an die dunkle Fusszeile: zwei dunkle Flaechen
 * von zusammen 1.100 px, Telefon und Mail zweimal in einem Bildschirm. Ein
 * weisser Streifen trennt die beiden Teile. */
html[data-g-rg-abschluss="dunkel"] .g-rg .g-rg-ruf { margin-bottom: 88px; }
@media (max-width: 767px) {
  html[data-g-rg-abschluss="dunkel"] .g-rg .g-rg-ruf { margin-bottom: 56px; }
}

/* ===================================================== 14. Gegnerkarten
 * Register (Regler rg-gegnerkarte): "Abmahnung von" als kleine gesperrte
 * Zeile ueber dem Namen, der Name gross in Baskerville - sechs gleich
 * beginnende Titel liessen sich kaum ueberfliegen. Nur Hervorhebung. */
html:not([data-g-rg-gegnerkarte="original"]) .g-rg-raster--gegner .g-rg-gk {
  display: block;
  margin: 0 0 8px;
  font-family: var(--g-sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--g-akzent);
}
html:not([data-g-rg-gegnerkarte="original"]) .g-rg-raster--gegner .schenk-k__titel { font-size: 22px; line-height: 1.3; }
@media (max-width: 640px) {
  html:not([data-g-rg-gegnerkarte="original"]) .g-rg-raster--gegner .g-rg-gk { font-size: 15px; margin-bottom: 6px; }
  html:not([data-g-rg-gegnerkarte="original"]) .g-rg-raster--gegner .schenk-k__titel { font-size: 19px; }
  /* Am Telefon ohne Anriss: vier von sechs Anrissen waren fast wortgleich,
   * sechs Karten zusammen rund 1.500 px; die Beitragskarten darueber zeigen
   * dort ebenfalls keinen. */
  .g-rg-raster--gegner .schenk-k__anriss { display: none; }
}
/* Nur ein Bedienelement unter den Gegnerkarten (Abmahnungsseiten): der Knopf
 * "Alle Gegner" (sortiertes, durchsuchbares Archiv). Die aufklappbare
 * Namensliste bleibt beim Wert "karten" des Reglers rg-gegner-ort. */
html[data-g-rg-gegner-ort="passend"] .g-rg .g-rg-mehr--gegner .g-rg-gl-alle { display: none; }

/* Abschluss "hell" (Regler rg-abschluss): dasselbe Band auf --g-hell mit
 * dunkler Schrift - setzt sich klar von der dunklen Fusszeile ab, ohne
 * zweite dunkle Flaeche. Texte wie bei "dunkel". */
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf { display: block; }
html[data-g-rg-abschluss="hell"] .g-rg .elementor-element-f63d385,
html[data-g-rg-abschluss="hell"] .g-rg--uebersicht :is(.elementor-element-2d83943, .elementor-element-7fdbee56, .elementor-element-fffede7) { display: none !important; }
html[data-g-rg-abschluss="hell"] .g-rg.g-rg-hat-ruf #main_content { padding-bottom: 0 !important; }
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf {
  color: var(--g-blau);
  background: var(--g-hell);
  border-image: linear-gradient(var(--g-hell), var(--g-hell)) fill 0 / 0 / 0 100vw;
  margin-bottom: 0;
}
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf p { color: var(--g-blau); }
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf :is(.g-rg-ruf__ueber, .g-rg-ruf__oder) { color: var(--g-akzent); }
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf :is(.g-rg-ruf__nr, .g-rg-ruf__mail) a { color: var(--g-blau) !important; }
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf :is(.g-rg-ruf__nr, .g-rg-ruf__mail) a:focus-visible { outline-color: var(--g-akzent); }
/* Knopf auf hellem Grund: gefuellt dunkel wie die uebrigen Knoepfe. */
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf .g-rg-knopf.g-rg-knopf--hell { background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; }
html[data-g-rg-abschluss="hell"] .g-rg .g-rg-ruf .g-rg-knopf.g-rg-knopf--hell:is(:hover, :focus-visible) { background: var(--g-akzent); border-color: var(--g-akzent); color: #fff !important; }
html[data-g-rg-abschluss="hell"][data-g-knopf="akzent"] .g-rg .g-rg-ruf .g-rg-knopf.g-rg-knopf--hell { background: var(--g-hellblau); border-color: var(--g-hellblau); color: var(--g-blau) !important; }
html[data-g-rg-abschluss="hell"][data-g-knopf="akzent"] .g-rg .g-rg-ruf .g-rg-knopf.g-rg-knopf--hell:is(:hover, :focus-visible) { background: #8fd0f0; border-color: #8fd0f0; color: var(--g-blau) !important; }
html[data-g-rg-abschluss="hell"][data-g-knopf="kontur"] .g-rg .g-rg-ruf .g-rg-knopf.g-rg-knopf--hell { background: transparent; border-color: var(--g-blau); color: var(--g-blau) !important; }
html[data-g-rg-abschluss="hell"][data-g-knopf="kontur"] .g-rg .g-rg-ruf .g-rg-knopf.g-rg-knopf--hell:is(:hover, :focus-visible) { background: var(--g-blau); color: #fff !important; }

/* ===== 34-schwerpunkte.css ===== */
/**
 * Gestaltung B - Schwerpunktseiten (/taetigkeitsschwerpunkte/*) und die
 * Entwurfsseite /schwerpunkte/. HTML-Umbau: tools/lib/gestaltung/schwerpunkte.mjs.
 *
 * Jonas: "die sehen super langweilig aus. einfach nur Text, keine
 * Formatierung. immer gleiches Headerbild ... guck dir /abmahnung-filesharing/
 * an.. so in die Richtung muss das gehen".
 *
 * Alles haengt an .sp-seite (vom Modul an <body> gesetzt) und an den Reglern
 * data-g-sp-*. "original" blendet jeweils die eingefuegten Elemente aus.
 *
 * Schriftgroessen wachsen mit dem Regler "Schriftgroesse insgesamt" (--g-z)
 * ueber calc() statt zoom - zoom wuerde auch Fotos und Kaesten mitziehen. Im
 * Kopf ist der zoom des Grundsystems deshalb abgeschaltet.
 * Wo das Grundsystem die Fliesstextschrift mit !important setzt, braucht die
 * Baskerville eine ID im Selektor (#main_content), um durchzukommen.
 */

.sp-seite {
  --sp-text: calc(16px * var(--g-z));
  /* Zeilenlaenge: rund 40 Geviert der Fliesstextgroesse (ca. 75 Zeichen). */
  --sp-spalte: calc(var(--sp-text) * 40);
  /* Fotoband am Telefon und Tablet */
  --sp-band: calc(100vw / 2.6);
}
@media (min-width: 641px) { .sp-seite { --sp-band: calc(100vw / 3.2); } }

/* Theme: Bei 1024 px liefen .row.sidebar_right und .span4 2 px ueber. */
html .sp-seite .main_wrapper { overflow-x: clip; }

/* =================================================================== KOPF */
.sp-kopf-bilder, .sp-dachzeile, .sp-kopf-aktion, .sp-kopf-spalte, .sp-kopf-aktion .sp-kopf-anruf, .sp-kopf-aktion .sp-kopf-tel { display: none; }

/* Alle gestalteten Varianten: eigener Grund, eigenes Foto, kein zoom. */
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title {
  height: auto !important; background-image: none !important; background-color: var(--g-blau);
}
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title_has_img_bg::before,
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title_has_img_bg::after { display: none !important; }
/* zoom: 1 braucht !important - die Regel im Grundsystem enthaelt #footer im :is(). */
html:not([data-g-groesse="100"]):not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title__content { zoom: 1 !important; }
/* Das Theme baut den Titel als Tabelle (table / table-row / table-cell) -
 * Innenabstand an der Tabellenzeile wirkt nicht. Hier alles als Block. */
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title,
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf,
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf > .container,
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title__content { display: block; }
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title__content { text-shadow: none; }
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf { position: relative; padding-left: 0; padding-right: 0; }
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf > .container { position: relative; z-index: 1; margin-left: auto; margin-right: auto; }
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bilder { display: block; position: absolute; z-index: 0; overflow: hidden; }
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bild {
  display: none; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover;
}
html:not([data-g-sp-kopfmotiv="menschen"]):not([data-g-sp-kopfmotiv="sachlich"]):not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bild--gemischt,
html[data-g-sp-kopfmotiv="menschen"]:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bild--menschen,
html[data-g-sp-kopfmotiv="sachlich"]:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bild--sachlich { display: block; }

/* Ueberschrift */
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title__content .page_title h1 {
  font-size: calc(clamp(32px, 3.3vw, 48px) * var(--g-z)) !important; line-height: 1.14 !important;
  letter-spacing: -.005em; margin: 0 !important; text-wrap: balance; color: #fff;
}
html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf--lang .page_title h1 {
  font-size: calc(clamp(28px, 2.75vw, 40px) * var(--g-z)) !important;
}

/* Dachzeile ueber der Ueberschrift */
html:not([data-g-sp-kopf="original"]):not([data-g-sp-dachzeile="aus"]):not([data-g-sp-dachzeile="link"]) .sp-seite .sp-dachzeile--text,
html:not([data-g-sp-kopf="original"])[data-g-sp-dachzeile="link"] .sp-seite .sp-dachzeile--link {
  display: inline-block; margin: 0 0 16px;
  font-size: calc(14px * var(--g-z)); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; line-height: 1.3;
  color: #cfe3f5; text-decoration: none;
}
html:not([data-g-sp-kopf="original"])[data-g-sp-dachzeile="link"] .sp-seite .sp-dachzeile--link {
  border-bottom: 1px solid rgba(207, 227, 245, .6); padding-bottom: 2px;
}
html:not([data-g-sp-kopf="original"])[data-g-sp-dachzeile="link"] .sp-seite .sp-dachzeile--link:is(:hover, :focus-visible) { color: #fff; border-bottom-color: #fff; }

/* Kontakt im Kopf: "knopf" = nur der Knopf (am Telefon dazu "Anrufen"),
 * "ein" = Knopf und Telefonnummer. Die Nummer steht ohnehin im Seitenkopf. */
html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopfaktion="aus"]) .sp-seite .sp-kopf-aktion {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px 34px; margin-top: 32px;
}
html:not([data-g-sp-kopf="original"])[data-g-sp-kopfaktion="ein"] .sp-seite .sp-kopf-aktion .sp-kopf-tel { display: inline-flex; }
.sp-kopf-tel { flex-direction: column; gap: 2px; color: #fff !important; text-decoration: none !important; }
.sp-kopf-tel__label { font-size: 13px; font-weight: 600; letter-spacing: .14em; color: #cfe3f5; }
.sp-kopf-tel__nr { font-size: calc(22px * var(--g-z)); font-weight: 500; letter-spacing: .01em; white-space: nowrap; }
.sp-kopf-tel:is(:hover, :focus-visible) .sp-kopf-tel__nr { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }

/* ---------- Ab 1025 px: Titel links auf Nachtblau, Foto rechts (auto, foto, geteilt).
 * "auto" (Vorschlag): helle Fotos mit harter Kante - ein weicher Uebergang
 * von Nachtblau in ein helles Buerofoto ergab einen grauen Streifen -, die
 * dunklen Abendfotos mit weichem Uebergang. Das Modul markiert helle Fotos
 * (.sp-kopf-bild--hell, gemessen). */
@media (min-width: 1025px) {
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"], [data-g-sp-kopf="geteilt"]) .sp-seite .sp-kopf {
    min-height: clamp(390px, 30vw, 520px); display: flex; align-items: center;
  }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"], [data-g-sp-kopf="geteilt"]) .sp-seite .sp-kopf > .container { padding-top: 58px; padding-bottom: 62px; }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"], [data-g-sp-kopf="geteilt"]) .sp-seite .sp-kopf-bilder { top: 0; bottom: 0; right: 0; left: calc(50% + 15px); }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"]) .sp-seite .sp-kopf-bild {
    object-position: var(--sp-pk);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .55) 10%, #000 22%);
    mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .55) 10%, #000 22%);
  }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"]) .sp-seite .sp-kopf-bild--randnah {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%); mask-image: linear-gradient(90deg, transparent 0, #000 6%);
  }
  html[data-g-sp-kopf="geteilt"] .sp-seite .sp-kopf-bilder { left: 50%; }
  html[data-g-sp-kopf="geteilt"] .sp-seite .sp-kopf-bild { object-position: var(--sp-ph); }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"], [data-g-sp-kopf="geteilt"]) .sp-seite .gt3-page-title__content,
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"], [data-g-sp-kopf="geteilt"]) .sp-seite .gt3-page-title__content :is(.page_title, h1) { text-align: left !important; }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"], [data-g-sp-kopf="geteilt"]) .sp-seite .sp-kopf-links { max-width: calc(50% - 50px); }
}
@media (min-width: 1300px) {
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"]) .sp-seite .sp-kopf-bild { object-position: var(--sp-pg); }
}
@media (min-width: 1025px) {
  html[data-g-sp-kopf="auto"] .sp-seite .sp-kopf-bild.sp-kopf-bild--hell { object-position: var(--sp-ph); -webkit-mask-image: none; mask-image: none; }
}

/* ---------- foto-mittig: Foto ueber die ganze Breite, Titel mittig */
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf { min-height: 360px; display: flex; align-items: center; }
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf > .container { padding-top: 48px; padding-bottom: 52px; }
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf-bilder { inset: 0; }
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf-bild { object-position: var(--sp-pv); }
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf-bilder::after { content: ""; position: absolute; inset: 0; background: rgba(5, 28, 44, .6); }
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf-aktion { justify-content: center; }
html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf-links { max-width: 760px; margin: 0 auto; }
@media (max-width: 1024px) {
  html[data-g-sp-kopf="foto-mittig"] .sp-seite .sp-kopf-bild { object-position: var(--sp-pm); }
}
/* Text ueber dem Foto (foto-mittig ueberall, spalte ab 1025 px): Zeigt das
 * gemischte Kopffoto Menschen, steht hier das sachliche Motiv - sonst lief
 * der Titel ueber Stirn und Augen und der Knopf ueber einen Mund. "Nur
 * Menschen" bleibt bei Menschen. */
html[data-g-sp-kopf="foto-mittig"]:not([data-g-sp-kopfmotiv="menschen"]):not([data-g-sp-kopfmotiv="sachlich"]) .sp-seite .sp-kopf-bilder--mensch .sp-kopf-bild--gemischt { display: none; }
html[data-g-sp-kopf="foto-mittig"]:not([data-g-sp-kopfmotiv="menschen"]):not([data-g-sp-kopfmotiv="sachlich"]) .sp-seite .sp-kopf-bilder--mensch .sp-kopf-bild--sachlich { display: block; }
@media (min-width: 1025px) {
  html[data-g-sp-kopf="spalte"]:not([data-g-sp-kopfmotiv="menschen"]):not([data-g-sp-kopfmotiv="sachlich"]) .sp-seite .sp-kopf-bilder--mensch .sp-kopf-bild--gemischt { display: none; }
  html[data-g-sp-kopf="spalte"]:not([data-g-sp-kopfmotiv="menschen"]):not([data-g-sp-kopfmotiv="sachlich"]) .sp-seite .sp-kopf-bilder--mensch .sp-kopf-bild--sachlich { display: block; }
}

/* ---------- spalte: wie /abmahnung-filesharing/ - Foto als Grund, rechts eine
 * helle Spalte mit der Leistungsliste der Seite (wo vorhanden) und Kontakt. */
@media (min-width: 1025px) {
  html[data-g-sp-kopf="spalte"] .sp-seite .sp-kopf > .container { padding-top: 64px; padding-bottom: 68px; }
  html[data-g-sp-kopf="spalte"] .sp-seite .sp-kopf-bilder { inset: 0; }
  html[data-g-sp-kopf="spalte"] .sp-seite .sp-kopf-bild { object-position: var(--sp-pv); }
  html[data-g-sp-kopf="spalte"] .sp-seite .sp-kopf-bilder::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(5, 28, 44, .93) 0%, rgba(5, 28, 44, .82) 55%, rgba(5, 28, 44, .9) 100%);
  }
  html[data-g-sp-kopf="spalte"] .sp-seite .page_title {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 64px; align-items: center; text-align: left !important;
  }
  html[data-g-sp-kopf="spalte"] .sp-seite .gt3-page-title__content,
  html[data-g-sp-kopf="spalte"] .sp-seite .gt3-page-title__content h1 { text-align: left !important; }
  html[data-g-sp-kopf="spalte"] .sp-seite .sp-kopf-aktion { display: none !important; }
  html[data-g-sp-kopf="spalte"] .sp-seite .sp-kopf-spalte { display: block; color: #fff; }
  /* Die Liste steht dann im Kopf statt im Text. */
  html[data-g-sp-kopf="spalte"] .sp-seite #main_content .sp-in-kopf { display: none !important; }
}
.sp-kopf-spalte__titel,
html .sp-seite .sp-kopf-spalte p.sp-kopf-spalte__titel {
  font-family: var(--g-serif) !important; font-size: calc(24px * var(--g-z)) !important; line-height: 1.3 !important;
  color: #fff !important; margin: 0 0 16px !important; font-weight: 400;
}
.sp-kopf-spalte__liste { list-style: none !important; margin: 0 0 30px !important; padding: 0 !important; }
.sp-seite .sp-kopf-spalte__liste li {
  list-style: none !important; position: relative; margin: 0 0 9px !important; padding: 0 0 0 32px !important;
  font-size: calc(16px * var(--g-z)) !important; line-height: 1.45 !important; color: #fff !important; text-align: left;
}
.sp-seite .sp-kopf-spalte__liste li::before {
  content: ""; position: absolute; left: 0; top: calc((1.45em - 20px) / 2); width: 20px; height: 20px; border-radius: 50%;
  background: var(--g-hellblau) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.2 11.4l3.1 3.1 6.5-7' fill='none' stroke='%23051c2c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
.sp-kopf-spalte__kontakt p { margin: 0 0 16px !important; display: flex; flex-direction: column; gap: 3px; text-align: left; }
.sp-kopf-spalte__label { font-size: 13px; font-weight: 600; letter-spacing: .14em; color: #cfe3f5; }
.sp-seite .sp-kopf-spalte__tel { color: #fff !important; font-size: calc(26px * var(--g-z)); font-weight: 500; text-decoration: none !important; white-space: nowrap; }
.sp-seite .sp-kopf-spalte__mail { color: #fff !important; font-size: calc(17px * var(--g-z)); text-decoration: none !important; }
.sp-seite :is(.sp-kopf-spalte__tel, .sp-kopf-spalte__mail):is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: 5px; }
.sp-kopf-spalte__kontakt .sp-knopf { margin-top: 10px; }

/* ---------- Bis 1024 px: Foto als sichtbares Band, Titel darunter auf Nachtblau */
@media (max-width: 1024px) {
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf > .container { padding-top: 26px; padding-bottom: 30px; }
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]):not([data-g-sp-kopf-mobil="verlauf"]) .sp-seite .sp-kopf { padding-top: var(--sp-band); }
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]):not([data-g-sp-kopf-mobil="verlauf"]) .sp-seite .sp-kopf-bilder {
    top: 0; left: 0; right: 0; height: var(--sp-band);
  }
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]):not([data-g-sp-kopf-mobil="verlauf"]) .sp-seite .sp-kopf-bild { object-position: var(--sp-pt); }
  /* Leichter Uebergang ins Nachtblau - hoechstens 0,5 am unteren Rand. */
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]):not([data-g-sp-kopf-mobil="verlauf"]) .sp-seite .sp-kopf-bilder::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 45%;
    background: linear-gradient(180deg, rgba(5, 28, 44, 0) 0%, rgba(5, 28, 44, .5) 100%);
  }
  /* Variante "verlauf" (Runde 1): Foto hinter dem Titel, dunkler Verlauf. */
  html[data-g-sp-kopf-mobil="verlauf"]:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bilder { inset: 0; }
  html[data-g-sp-kopf-mobil="verlauf"]:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bild { object-position: var(--sp-pm); }
  html[data-g-sp-kopf-mobil="verlauf"]:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-bilder::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 28, 44, .62) 0%, rgba(5, 28, 44, .88) 100%);
  }
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]) .sp-seite .gt3-page-title__content,
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]) .sp-seite .gt3-page-title__content :is(.page_title, h1) { text-align: left !important; }
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-links { position: relative; }
  /* Kein doppelter Kontakt: am Telefon ruft "Anrufen" direkt an. */
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopfaktion="aus"]):not([data-g-sp-kopfaktion="ein"]) .sp-seite .sp-kopf-aktion .sp-kopf-anruf { display: inline-flex; }
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopfaktion="aus"]) .sp-seite .sp-kopf-aktion { gap: 12px; margin-top: 22px; }
}
@media (max-width: 640px) {
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopf="foto-mittig"]):not([data-g-sp-kopf-mobil="verlauf"]) .sp-seite .sp-kopf-bild { object-position: var(--sp-pb); }
}
@media (max-width: 767px) {
  /* Gleicher Rand wie der Inhalt darunter (Container 85 %). */
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf > .container { padding: 22px 7.5% 22px !important; }
  html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title__content .page_title h1,
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf--lang .page_title h1 { font-size: calc(27px * var(--g-z)) !important; line-height: 1.2 !important; }
  .sp-kopf-tel__label { font-size: 15px; letter-spacing: .08em; }
  .sp-kopf-tel__nr { font-size: 21px; }
  /* Dachzeile ueber dem Titel, knapp. Auf dem Foto lag sie je nach Motiv
   * auf einem Kopf (Rechtstexte, MLM) oder einem Kinn (IT-Recht). */
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-dachzeile="aus"]) .sp-seite .sp-dachzeile { margin: 0 0 6px; font-size: 15px; letter-spacing: .1em; }
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf > .container { padding-top: 18px !important; }
  /* 22 px unter dem Titel - mit 14 px klebte die Titelzeile an den Knoepfen. */
  html:not([data-g-sp-kopf="original"]):not([data-g-sp-kopfaktion="aus"]) .sp-seite .sp-kopf-aktion { flex-wrap: nowrap; gap: 10px; margin-top: 22px; }
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-aktion .sp-knopf { padding: 13px 14px; gap: 8px; font-size: 15px; }
  /* Zwei Knoepfe nebeneinander: der Pfeil faellt weg, die Beschriftung bleibt. */
  html:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-aktion .sp-knopf .sp-pfeil { display: none; }
  html[data-g-sp-kopfaktion="ein"]:not([data-g-sp-kopf="original"]) .sp-seite .sp-kopf-aktion { flex-wrap: wrap; }
}

@media (max-width: 374px) {
  /* Sehr schmal: "Anrufen" nur als Symbol, die Beschriftung bleibt fuer Screenreader. */
  .sp-kopf-anruf .sp-anruf-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Der Abstand unter dem Kopf: 50 px inline, dazu der Rand des Themes. */
html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title_wrapper { margin-bottom: 56px !important; border-bottom: 0 !important; }
@media (max-width: 767px) {
  html:not([data-g-sp-kopf="original"]) .sp-seite .gt3-page-title_wrapper { margin-bottom: 34px !important; }
}

/* =================================================================== KNOPF */
.sp-knopf {
  display: inline-flex; align-items: center; gap: 14px;
  padding: 15px 26px; border-radius: var(--g-radius); border: 2px solid transparent;
  background: var(--g-blau); color: #fff !important; text-decoration: none !important;
  font-size: 16px; font-weight: 600; letter-spacing: .02em; line-height: 1.3; white-space: nowrap;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.sp-knopf:is(:hover, :focus-visible) { background: var(--g-akzent); color: #fff !important; }
.sp-knopf--hell, .sp-kontakt .sp-knopf, .sp-seitenkontakt .sp-knopf { background: #fff; color: var(--g-blau) !important; }
.sp-knopf--hell:is(:hover, :focus-visible), .sp-kontakt .sp-knopf:is(:hover, :focus-visible), .sp-seitenkontakt .sp-knopf:is(:hover, :focus-visible) { background: #dcebf8; color: var(--g-blau) !important; }
/* Zweiter Knopf auf Nachtblau: gefuellt mit Kanzleiblau, weisser Rand. */
.sp-knopf--rand { background: var(--g-kanzleiblau); border-color: rgba(255, 255, 255, .55); color: #fff !important; }
.sp-knopf--rand:is(:hover, :focus-visible) { background: #fff; border-color: #fff; color: var(--g-blau) !important; }
/* "Anrufen" (Telefon und Tablet die Hauptaktion): gefuellt in Akzentblau,
 * Weiss darauf 6,7:1; Hover Weiss mit Nachtblau. Vorher nur eine Kontur. */
.sp-knopf--anruf { background: var(--g-akzent); border-color: var(--g-akzent); color: #fff !important; }
.sp-knopf--anruf:is(:hover, :focus-visible) { background: #fff; border-color: #fff; color: var(--g-blau) !important; }
.sp-tel-icon { flex: none; }
.sp-pfeil { position: relative; display: inline-block; width: 18px; height: 2px; background: currentColor; flex: none; transition: transform .2s ease; }
.sp-pfeil::after { content: ""; position: absolute; right: 0; top: -4px; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.sp-knopf:hover .sp-pfeil { transform: translateX(4px); }
.sp-knopf:focus-visible, .sp-kopf-tel:focus-visible, .sp-thema__link:focus-visible, .sp-band__tel:focus-visible { outline: 3px solid var(--g-hellblau); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .sp-knopf, .sp-pfeil { transition: none; } }

/* ============================================================== FLIESSTEXT */
.sp-seite #main_content > p,
.sp-seite #main_content > .sp-anfang > p,
.sp-seite #main_content > ul > li,
.sp-seite #main_content > ol > li {
  font-size: var(--sp-text);
  line-height: var(--g-lh);
  letter-spacing: var(--g-ls);
  color: var(--g-text);
}
.sp-seite #main_content > p, .sp-seite #main_content > .sp-anfang > p { margin: 0 0 1.05em; text-wrap: pretty; }

/* Satzkorrektur (Regler sp-satz): .sp-sk-weg faellt weg ("etc. ." und
 * doppelte Leerzeichen), .sp-sk-neu kommt dazu ("Marketing (MLM) Unternehmen").
 * "original" zeigt den Bestand. */
html:not([data-g-sp-satz="original"]) .sp-sk-weg,
html[data-g-sp-satz="original"] .sp-sk-neu { display: none; }
.sp-nobr { white-space: nowrap; }
.sp-seite #main_content > :is(p, ul, ol, h2, h3, h4, .sp-anfang) { max-width: var(--sp-spalte); }

/* --- Einleitung (erster Absatz) */
html:not([data-g-sp-einleitung="original"]) .sp-seite #main_content p.sp-einleitung {
  font-size: calc(20px * var(--g-z)); line-height: 1.58; color: var(--g-blau); margin: 0 0 1.3em;
}
html:is([data-g-sp-einleitung="serif"], [data-g-sp-einleitung="linie"], [data-g-sp-einleitung="kasten"]) .sp-seite #main_content p.sp-einleitung {
  font-family: var(--g-serif) !important; letter-spacing: 0; font-size: calc(19px * var(--g-z)); line-height: 1.62;
}
/* linie: feine Linie unter der Einleitung - unterscheidet sich von jeder Zwischenueberschrift. */
html[data-g-sp-einleitung="linie"] .sp-seite #main_content p.sp-einleitung {
  padding-bottom: 1.1em; border-bottom: 1px solid #c9d3dc; margin-bottom: 1.4em;
}
/* kasten: wie "Filesharing" auf /abmahnung-filesharing/ - hellblauer Kasten, Akzentkante oben. */
html[data-g-sp-einleitung="kasten"] .sp-seite #main_content p.sp-einleitung {
  background: var(--g-hell); border-top: 3px solid var(--g-akzent); border-radius: 0 0 4px 4px;
  padding: 26px 30px 28px; margin-bottom: 1.6em;
}
@media (max-width: 767px) {
  html:not([data-g-sp-einleitung="original"]) .sp-seite #main_content p.sp-einleitung { font-size: calc(18px * var(--g-z)); }
  html[data-g-sp-einleitung="kasten"] .sp-seite #main_content p.sp-einleitung { padding: 20px 20px 22px; }
}

/* --- Zwischenueberschriften (vorhandene h2-h4 und kurze Absaetze vor Listen) */
html:not([data-g-sp-zwischen="original"]) .sp-seite #main_content > :is(.sp-zwischen, .sp-listenkopf) {
  font-family: var(--g-serif) !important; font-weight: 400; letter-spacing: 0;
  font-size: calc(21px * var(--g-z)); line-height: 1.35; color: var(--g-blau);
  margin: 1.9em 0 .85em; text-wrap: balance;
}
html:not([data-g-sp-zwischen="original"]) .sp-seite #main_content > .sp-listenkopf--klein {
  font-size: calc(18px * var(--g-z)); margin-top: 1.3em;
}
html[data-g-sp-zwischen="linie"] .sp-seite #main_content > :is(.sp-zwischen, .sp-listenkopf:not(.sp-listenkopf--klein)) {
  position: relative; padding-top: 20px;
}
html[data-g-sp-zwischen="linie"] .sp-seite #main_content > :is(.sp-zwischen, .sp-listenkopf:not(.sp-listenkopf--klein))::before {
  content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 3px; background: var(--g-akzent);
}
html[data-g-sp-zwischen="balken"] .sp-seite #main_content > :is(.sp-zwischen, .sp-listenkopf) {
  border-left: 4px solid var(--g-akzent); padding-left: 16px;
}
html[data-g-sp-zwischen="versal"] .sp-seite #main_content > :is(.sp-zwischen, .sp-listenkopf) {
  font-family: var(--g-sans) !important; font-size: calc(15px * var(--g-z)); font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--g-akzent);
}

/* --- Aufzaehlungen: Haken, buendig mit der Ueberschrift.
 * Der Haken ist 22 px gross und sitzt auf der Mitte der ersten Zeile; die
 * Zeilenhoehe wird in px gerechnet (im ::before galt sonst eine geerbte
 * 8-px-Schrift, und der Haken sass 8 px zu hoch). */
html:not([data-g-sp-liste="original"]) .sp-seite #main_content > ul.sp-liste {
  list-style: none !important; margin: 0 0 1.5em; padding: 0 !important;
}
html:not([data-g-sp-liste="original"]) .sp-seite #main_content > ul.sp-liste > li {
  list-style: none !important; position: relative; padding: 0 0 0 34px; margin: 0 0 .6em; break-inside: avoid;
}
html:not([data-g-sp-liste="original"]) .sp-seite #main_content > ul.sp-liste > li::marker { content: none; }
html:not([data-g-sp-liste="original"]) .sp-seite #main_content > ul.sp-liste > li::before {
  content: ""; position: absolute; left: 0; font-size: var(--sp-text);
  top: calc((var(--g-lh) * var(--sp-text) - 22px) / 2);
  width: 22px; height: 22px; border-radius: 50%; margin: 0;
  background: var(--g-akzent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.2 11.4l3.1 3.1 6.5-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}
@media (min-width: 1025px) {
  /* Nur Listen, deren Punkte in eine halbe Spalte passen - spaltenweise gelesen. */
  html[data-g-sp-liste="spalten"] .sp-seite #main_content > ul.sp-liste--kurz {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: column;
    grid-template-rows: repeat(var(--sp-zeilen, 3), auto); column-gap: 36px;
  }
}
html[data-g-sp-liste="kacheln"] .sp-seite #main_content > ul.sp-liste {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
html[data-g-sp-liste="kacheln"] .sp-seite #main_content > ul.sp-liste > li {
  margin: 0; padding: 14px 16px 14px 50px; background: var(--g-hell); border-radius: 4px; line-height: 1.45;
}
html[data-g-sp-liste="kacheln"] .sp-seite #main_content > ul.sp-liste > li::before { left: 16px; top: calc(14px + (1.45 * var(--sp-text) - 22px) / 2); }
@media (max-width: 640px) {
  html[data-g-sp-liste="kacheln"] .sp-seite #main_content > ul.sp-liste { grid-template-columns: 1fr; }
}

/* --- Fotos im Text: "mitte" breit zwischen den Abschnitten (kurze Seiten:
 * direkt nach der Einleitung), "neben" hochkant neben der Einleitung (ab 1200 px). */
.sp-zwischenbild { display: none; margin: 0; }
.sp-zwischenbild img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; border-radius: 4px; }
html:is([data-g-sp-zwischenbild="ein"], [data-g-sp-zwischenbild="neben"]) .sp-seite .sp-zwischenbild--mitte { display: block; margin: 2.2em 0 2.1em; max-width: var(--sp-spalte); }
@media (min-width: 1200px) {
  html[data-g-sp-zwischenbild="neben"] .sp-seite .sp-zwischenbild--mitte { display: none; }
  html[data-g-sp-zwischenbild="neben"] .sp-seite .sp-anfang {
    display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 34px; align-items: stretch; margin-bottom: 1.6em;
  }
  html[data-g-sp-zwischenbild="neben"] .sp-seite .sp-zwischenbild--neben { display: block; grid-column: 2; grid-row: 1; }
  html[data-g-sp-zwischenbild="neben"] .sp-seite .sp-zwischenbild--neben img { aspect-ratio: auto; height: 100%; min-height: 240px; }
  html[data-g-sp-zwischenbild="neben"] .sp-seite .sp-anfang > p.sp-einleitung { grid-column: 1; grid-row: 1; margin-bottom: 0 !important; align-self: start; }
}

/* ============================================================ KONTAKTKASTEN */
.sp-kontakt, .sp-seitenkontakt { display: none; }
html:not([data-g-sp-kontakt="original"]) .sp-seite .sp-kontakt,
.sp-seite.sp-uebersicht .sp-kontakt {
  display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 32px; align-items: center;
  clear: both; box-sizing: border-box; max-width: var(--sp-spalte); margin: 46px 0 10px; padding: 32px 34px;
  background: var(--g-blau); color: #fff; border-radius: 6px;
}
html[data-g-sp-kontakt="kasten"] .sp-seite .sp-kontakt { grid-template-columns: minmax(0, 1fr); }
html[data-g-sp-kontakt="kasten"] .sp-seite .sp-kontakt__bild { display: none; }
.sp-kontakt__bild { display: block; align-self: start; }
.sp-kontakt__bild img, .sp-seitenkontakt__kopf img { display: block; width: 100%; height: auto; aspect-ratio: 420 / 508; object-fit: cover; border-radius: 4px; }
.sp-kontakt__titel {
  font-family: var(--g-serif); font-weight: 400; font-size: 25px !important; line-height: 1.3 !important;
  color: #fff !important; margin: 0 0 10px !important; text-transform: none !important; letter-spacing: 0 !important;
}
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) p { margin: 0; font-size: 15px; line-height: 1.5; color: inherit; max-width: none; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) p.sp-kontakt__person { display: flex; flex-direction: column; gap: 2px; margin-bottom: 20px; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__person a { color: #fff; font-weight: 600; font-size: 17px; text-decoration: none; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__person a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 4px; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__person span { color: #cfe3f5; font-size: 15px; }
.sp-kontakt__wege { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-bottom: 24px; }
.sp-kontakt__wege p { display: flex; flex-direction: column; gap: 3px; }
.sp-seite .sp-kontakt__label { font-size: 13px; font-weight: 600; letter-spacing: .14em; color: #cfe3f5; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__wege a { color: #fff; text-decoration: none; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__tel { font-size: 24px; font-weight: 500; white-space: nowrap; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__mail { font-size: 17px; }
.sp-seite :is(.sp-kontakt, .sp-seitenkontakt) .sp-kontakt__wege a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }

/* Tablet: schmale Textspalte neben der Seitenleiste. */
@media (min-width: 641px) and (max-width: 1024px) {
  html:not([data-g-sp-kontakt="original"]) .sp-seite .sp-kontakt { grid-template-columns: 116px minmax(0, 1fr); gap: 24px; padding: 26px 24px; }
  .sp-kontakt__titel { font-size: 22px !important; }
}

/* Hell: Hellblau, Schrift Nachtblau (15:1). */
html[data-g-sp-kontakt="hell"] .sp-seite .sp-kontakt { background: var(--g-hell); color: var(--g-blau); }
html[data-g-sp-kontakt="hell"] .sp-seite .sp-kontakt .sp-kontakt__titel,
html[data-g-sp-kontakt="hell"] .sp-seite .sp-kontakt :is(.sp-kontakt__person a, .sp-kontakt__wege a) { color: var(--g-blau) !important; }
html[data-g-sp-kontakt="hell"] .sp-seite .sp-kontakt :is(.sp-kontakt__person span, .sp-kontakt__label) { color: var(--g-text-leise); }
html[data-g-sp-kontakt="hell"] .sp-seite .sp-kontakt .sp-knopf { background: var(--g-blau); color: #fff !important; }
html[data-g-sp-kontakt="hell"] .sp-seite .sp-kontakt .sp-knopf:is(:hover, :focus-visible) { background: var(--g-akzent); }

/* --- seitenleiste: ab 1024 px laeuft der Kasten in der rechten Spalte mit,
 * im Text entfaellt er. Die Zeile wird dazu ein Flex-Container, damit die
 * rechte Spalte so hoch ist wie der Text (sonst kein Mitlaufen).
 * Ab 1024 px statt 1025: Bei 1024 ist der Inhalt schon 998 px breit; mit
 * Text ueber die ganze Breite blieb rechts neben der 704-px-Textspalte eine
 * leere Spalte von 294 px. */
@media (min-width: 1024px) {
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite:not(.sp-uebersicht) #main_content > .sp-kontakt { display: none; }
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite .row.sidebar_right { display: flex; align-items: stretch; }
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite .row.sidebar_right > .sidebar-container { float: none; }
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite .sp-seitenkontakt {
    display: block; position: sticky; top: 104px; margin: 40px 0 0; padding: 26px 26px 28px;
    background: var(--g-blau); color: #fff; border-radius: 6px;
  }
  /* Porträt neben dem Titel statt darueber: rund 110 px niedriger, damit
   * Kasten und Fachgebiete auf kurzen Seiten nicht weit unter den Text reichen. */
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite .sp-seitenkontakt { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 0 18px; align-items: center; }
  .sp-seitenkontakt__kopf { width: 80px; margin: 0; grid-column: 1; grid-row: 1; }
  .sp-seitenkontakt__text { display: contents; }
  .sp-seitenkontakt .sp-kontakt__titel { grid-column: 2; grid-row: 1; font-size: 22px !important; margin: 0 !important; }
  .sp-seite .sp-seitenkontakt p.sp-kontakt__person { grid-column: 1 / -1; margin: 18px 0 20px; }
  .sp-seitenkontakt .sp-kontakt__wege, .sp-seitenkontakt .sp-knopf { grid-column: 1 / -1; }
  .sp-seitenkontakt .sp-kontakt__wege { flex-direction: column; gap: 12px; margin-bottom: 22px; }
  .sp-seite .sp-seitenkontakt .sp-kontakt__tel { font-size: 22px; }
  .sp-seitenkontakt .sp-knopf { width: 100%; justify-content: space-between; box-sizing: border-box; }
  /* Kurze Seiten (Modul: .sp-kurz, Text unter 1.000 Zeichen): Der Kontakt
   * steht oben in der Spalte und laeuft nicht mit - Platz zum Mitlaufen gibt
   * es dort nicht, und so steht er im ersten Bildschirm. */
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite.sp-kurz .row.sidebar_right > .sidebar-container { display: flex; flex-direction: column; }
  html[data-g-sp-kontakt="seitenleiste"] .sp-seite.sp-kurz .sp-seitenkontakt { order: -1; position: static; margin: 0 0 46px; }
}
/* Schmale rechte Spalte (bis 1199 px): Bei 22 px brach das Ausrufezeichen
 * von "unverbindlich!" in eine eigene Zeile. */
@media (min-width: 1024px) and (max-width: 1199px) {
  .sp-seitenkontakt .sp-kontakt__titel { font-size: 20px !important; }
}

/* Fachgebiete in der rechten Spalte als Marken (Regler sp-fachgebiete): Die
 * Liste stand 737 px hoch, der Text der meisten Schwerpunktseiten endete
 * 100-670 px frueher - darunter klaffte eine weisse Luecke. Als Marken rund
 * 300 px, wie am Telefon. */
@media (min-width: 1024px) {
  html:not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste { display: flex !important; flex-wrap: wrap; gap: 8px; padding-top: 16px !important; }
  html:not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li { border: 0 !important; }
  html:not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li a {
    display: inline-block !important; padding: 7px 14px !important; border: 1px solid #bfcbd6; border-radius: 999px; background: #fff;
    font-size: 15px; line-height: 1.4 !important; font-weight: 400; color: var(--g-blau) !important; box-shadow: none !important;
  }
  html:not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li a::after { content: none; }
  html:not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li a:is(:hover, :focus-visible) { background: var(--g-hell); border-color: var(--g-akzent); color: var(--g-blau) !important; }
  html:not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li.g-sl-aktiv a { border-color: var(--g-akzent); background: var(--g-hell); font-weight: 600; }
}

/* Tablet (768-1023 px, Regler sp-tablet): Die Textspalte war 482 px schmal,
 * daneben eine 256-px-Leiste, die 950 px vor dem Text endete. Jetzt Text ueber
 * die ganze Breite, Kontaktkasten darunter, dann die Fachgebiete als Marken.
 * Der Inhalt ist hier 738 px breit - Text, Foto und Kasten nehmen ihn ganz
 * (vorher 704 px, die rechte Kante sprang gegen Fachgebiete und Karten). */
@media (min-width: 768px) and (max-width: 1023px) {
  html:not([data-g-sp-tablet="daneben"]) .sp-seite:not(.sp-uebersicht) { --sp-spalte: 100%; }
  html:not([data-g-sp-tablet="daneben"]) .sp-seite:not(.sp-uebersicht) .row.sidebar_right > :is(.content-container.span8, .sidebar-container.span4) { float: none !important; width: auto !important; }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-seitenleiste="original"]) .sp-seite:not(.sp-uebersicht) .g-sl { margin-top: 52px; }
  /* Die Leiste hat 100 px Aussenabstand (Theme) - wie am Telefon nachziehen. */
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-beitraege="original"]) .sp-seite .sp-beitraege { padding-top: 0; margin-top: -36px; }
  html:not([data-g-sp-tablet="daneben"])[data-g-sp-verwandt="ersatz"]:not([data-g-sp-zuordnung="kategorie"]) .sp-alt-s .sp-verwandt,
  html:not([data-g-sp-tablet="daneben"])[data-g-sp-verwandt="ersatz"][data-g-sp-zuordnung="kategorie"] .sp-alt-k .sp-verwandt { padding-top: 0; margin-top: -36px; }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste { display: flex !important; flex-wrap: wrap; gap: 8px; padding-top: 16px !important; }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li { border: 0 !important; }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li a {
    display: inline-block !important; padding: 7px 14px !important; border: 1px solid #bfcbd6; border-radius: 999px; background: #fff;
    font-size: 15px; line-height: 1.4 !important; font-weight: 400; color: var(--g-blau) !important; box-shadow: none !important;
  }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li a::after { content: none; }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li a:is(:hover, :focus-visible) { background: var(--g-hell); border-color: var(--g-akzent); color: var(--g-blau) !important; }
  html:not([data-g-sp-tablet="daneben"]):not([data-g-sp-fachgebiete="liste"]):not([data-g-seitenleiste="original"]) .sp-seite .g-sl .g-sl-gebiete .g-sl-liste li.g-sl-aktiv a { border-color: var(--g-akzent); background: var(--g-hell); font-weight: 600; }
}

@media (max-width: 767px) {
  .sp-seite .sp-kontakt__label { font-size: 15px; letter-spacing: .08em; }
  /* Am Telefon steht die Seitenleiste direkt unter dem Text - zeigt sie
   * schon einen Kontaktkasten (Regler sl-kontakt-fach), entfaellt dieser. */
  html:not([data-g-sl-kontakt-fach="nein"]) .sp-seite:has(.g-sl-fachkontakt) #main_content > .sp-kontakt { display: none; }
}
@media (max-width: 640px) {
  html:not([data-g-sp-kontakt="original"]) .sp-seite .sp-kontakt { grid-template-columns: 96px minmax(0, 1fr); gap: 18px 20px; padding: 24px 20px; margin-top: 36px; }
  .sp-kontakt__bild { align-self: start; }
  .sp-kontakt__text { display: contents; }
  .sp-kontakt .sp-kontakt__titel { grid-column: 2; align-self: center; font-size: 21px !important; margin: 0 !important; }
  .sp-seite .sp-kontakt p.sp-kontakt__person { grid-column: 1 / -1; margin: 0; }
  .sp-kontakt .sp-kontakt__wege { grid-column: 1 / -1; margin: 0; gap: 12px 28px; }
  .sp-kontakt .sp-knopf { grid-column: 1 / -1; justify-content: space-between; }
  html[data-g-sp-kontakt="kasten"] .sp-seite .sp-kontakt__titel { grid-column: 1 / -1; }
  .sp-seite .sp-kontakt .sp-kontakt__tel { font-size: 22px; }
}

/* ======================================================= BEITRAEGE ZUM THEMA */
.sp-beitraege { display: none; }
html:not([data-g-sp-beitraege="original"]) .sp-seite .sp-beitraege { display: block; padding: 64px 0 24px; }
html:not([data-g-sp-beitraege="original"]) .sp-seite .schenk-thema { display: none !important; }
.sp-beitraege__titel {
  position: relative; margin: 0 !important; padding-top: 22px;
  font-family: var(--g-serif); font-weight: 400; font-size: 30px !important; line-height: 1.25 !important; color: var(--g-blau);
}
.sp-beitraege__titel::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 3px; background: var(--g-akzent); }
.sp-beitraege .schenk-raster { margin-top: 28px; }

/* Zuordnung: streng (Standard) oder wie bisher ueber die Kategorie. Jede
 * Karte kennt ihren Platz in beiden Listen (--sp-os, --sp-ok). */
html:not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-k:not(.sp-in-s),
html[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-k:not(.sp-in-k) { display: none; }
html:not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-k { order: var(--sp-os, 99); }
html[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-k { order: var(--sp-ok, 99); }
html[data-g-sp-beitraege="karten-3"]:not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-k:is([data-s="4"], [data-s="5"], [data-s="6"]),
html[data-g-sp-beitraege="karten-3"][data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-k:is([data-k="4"], [data-k="5"], [data-k="6"]) { display: none; }
@media (max-width: 1023px) {
  html[data-g-sp-beitraege="karten-3"]:not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-k[data-s="3"],
  html[data-g-sp-beitraege="karten-3"][data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-k[data-k="3"] { display: none; }
}
html:not([data-g-sp-zuordnung="kategorie"]) .sp-leer-s .sp-beitraege,
html[data-g-sp-zuordnung="kategorie"] .sp-leer-k .sp-beitraege { display: none !important; }

/* Gleiche Bildflaechen: der Platzhalter hatte 20 px Polster bei content-box
 * und war dadurch hoeher (Desktop) bzw. breiter (Telefon) als ein Foto. */
.sp-beitraege .schenk-k__bild--leer { box-sizing: border-box; padding: 0; position: relative; }
/* Doppelte Klasse: .schenk-k__bild img (Karten von /aktuelles/) setzt sonst display: block. */
.sp-beitraege .sp-ersatzbild.sp-ersatzbild, .sp-ersatzthema, .sp-jahr { display: none; }

/* "jahr" (Vorschlag): Beitraege ohne eigenes Bild als typografische Karte -
 * Hellblau, das Jahr gross in Baskerville. Ehrlich und ruhig; die Fotos der
 * Kanzlei bleiben fuer Kopf und Zwischenbild frisch. Mit Stein- und Buchfotos
 * standen bis zu sechs gleiche Schilder nebeneinander. Bei "foto" bekommen
 * Karten dieselbe Flaeche, wenn keine Szene mehr frei ist (.sp-k--typo). */
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne .schenk-k__bild--leer,
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-k--typo .schenk-k__bild--leer {
  background: var(--g-hell); justify-content: flex-start; align-items: flex-end; padding: 0 26px 24px; text-align: left;
}
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne .schenk-k__bild--leer > span:not(.sp-jahr),
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-k--typo .schenk-k__bild--leer > span:not(.sp-jahr) { display: none; }
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne span.sp-jahr,
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-k--typo span.sp-jahr {
  display: block; font-family: var(--g-serif); font-size: 60px; line-height: 1; letter-spacing: -.01em; color: var(--g-blau);
}
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne span.sp-jahr::before,
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-k--typo span.sp-jahr::before {
  content: ""; display: block; width: 44px; height: 3px; margin: 0 0 18px; background: var(--g-akzent);
}

/* "foto": Buecher und Architektur der Kanzlei, nachtblau getoent - je Seite
 * keine Szene doppelt (auch nicht mit Kopf, Zwischenbild, Verwandten). */
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-ersatzbild.sp-ersatzbild {
  display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-k--ersatz .schenk-k__bild--leer::before {
  content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(5, 28, 44, .5);
}
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .schenk-k__bild--leer:has(.sp-ersatzbild) > span:not(.sp-ersatzthema) { display: none; }
/* "foto": nur ein Paragrafenzeichen - das Thema fuenfmal untereinander wirkte
 * wieder wie eine Wand aus Platzhaltern. "foto-thema": mit dem Seitenthema. */
html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-seite .sp-beitraege span.sp-ersatzthema {
  display: block; position: relative; z-index: 2; padding: 0 18px; text-align: center;
  font-family: var(--g-serif) !important; font-size: 21px; line-height: 1.3; color: #fff;
}
html[data-g-sp-beitraege-bild="foto"] .sp-seite .sp-beitraege span.sp-ersatzthema { font-size: 0; }
html[data-g-sp-beitraege-bild="foto"] .sp-seite .sp-beitraege span.sp-ersatzthema::before {
  content: "§"; font-size: 46px; line-height: 1; color: rgba(255, 255, 255, .9);
}
html[data-g-sp-beitraege-bild="foto-thema"] .sp-beitraege .sp-k--ersatz .schenk-k__bild--leer::before { background: rgba(5, 28, 44, .72) !important; }

/* "jahr" ohne Wand gleicher Schilder: Wiederholt sich ein Jahr (Musikrecht
 * 2016, 2016, 2016; Rechtstexte dreimal 2016), zeigt ab der zweiten Karte
 * dieses Jahres das Ersatzfoto wie bei "foto" (Modul: sp-wdh-s / sp-wdh-k,
 * je Zuordnung; nur wenn eine Szene frei ist). Das Datum steht darunter. */
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s .schenk-k__bild--leer,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k .schenk-k__bild--leer {
  justify-content: center; align-items: center; padding: 0;
}
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s .sp-ersatzbild.sp-ersatzbild,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k .sp-ersatzbild.sp-ersatzbild {
  display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s .schenk-k__bild--leer::before,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k .schenk-k__bild--leer::before {
  content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(5, 28, 44, .5);
}
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s span.sp-jahr,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k span.sp-jahr { display: none; }
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s .schenk-k__bild--leer > span.sp-ersatzthema,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k .schenk-k__bild--leer > span.sp-ersatzthema {
  display: block; position: relative; z-index: 2; font-size: 0; line-height: 1;
}
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s .schenk-k__bild--leer > span.sp-ersatzthema::before,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k .schenk-k__bild--leer > span.sp-ersatzthema::before {
  content: "§"; font-family: var(--g-serif); font-size: 46px; line-height: 1; color: rgba(255, 255, 255, .9);
}
@media (max-width: 640px) {
  /* Am Telefon wie "foto": kein Stein- oder Buchstreifen, nur Datum und Titel. */
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]):not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-wdh-s .schenk-k__bild,
html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"])[data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-wdh-k .schenk-k__bild { display: none; }
}

/* Datum: ganz, nur Jahr oder aus. */
html[data-g-sp-beitraege-datum="jahr"] .sp-beitraege .sp-tagmonat,
html[data-g-sp-beitraege-datum="aus"] .sp-beitraege :is(time, .sp-trenner) { display: none; }
.sp-beitraege .schenk-k__meta { -webkit-hyphens: none; hyphens: none; }

/* Titel hoechstens vier Zeilen (Telefon drei); der volle Titel steht im title.
 * Keine automatische Trennung ("Repaircen-ter24", "Diens-teanbiter"). */
.sp-beitraege .schenk-k__titel { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: break-word; }
.sp-beitraege .schenk-k__anriss { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* Liste: Beitraege mit Bild als Karte, die uebrigen als kompakte Zeilen darunter. */
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne { grid-column: 1 / -1; }
html[data-g-sp-beitraege-bild="liste"]:not([data-g-sp-zuordnung="kategorie"]) .sp-beitraege .sp-k--ohne { order: calc(100 + var(--sp-os, 99)); }
html[data-g-sp-beitraege-bild="liste"][data-g-sp-zuordnung="kategorie"] .sp-beitraege .sp-k--ohne { order: calc(100 + var(--sp-ok, 99)); }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__bild,
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__anriss { display: none; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__link {
  flex-direction: row; border: 0; border-top: 1px solid #dfe5ea; border-radius: 0; background: none; box-shadow: none !important; transform: none !important;
}
/* Zeile: links nur das Datum, die Kategorien unter dem Titel - in einer
 * eigenen Spalte brachen "E-Commerce" und drei Kategorien dreizeilig um. */
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__text {
  display: grid; grid-template-columns: 8.5em minmax(0, 1fr); column-gap: 28px; row-gap: 4px; align-items: baseline; padding: 16px 0;
}
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__meta { display: contents; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__meta time { grid-column: 1; grid-row: 1; white-space: nowrap; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .sp-trenner { display: none; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__titel { grid-column: 2; grid-row: 1; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .sp-kat { grid-column: 2; grid-row: 2; }
/* Karten mit Bild fuellen die Reihe (6er-Raster): eine ueber die ganze
 * Breite (Bild links), zwei je halb, ab drei ein Drittel. Das Modul rechnet
 * die Werte je Zuordnung und Kartenzahl aus. */
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege { --sp-b: var(--sp-b-s6); --sp-bt: var(--sp-bt-s6); }
html[data-g-sp-beitraege-bild="liste"][data-g-sp-beitraege="karten-3"] .sp-beitraege { --sp-b: var(--sp-b-s3); --sp-bt: var(--sp-bt-s3); }
html[data-g-sp-beitraege-bild="liste"][data-g-sp-zuordnung="kategorie"] .sp-beitraege { --sp-b: var(--sp-b-k6); --sp-bt: var(--sp-bt-k6); }
html[data-g-sp-beitraege-bild="liste"][data-g-sp-zuordnung="kategorie"][data-g-sp-beitraege="karten-3"] .sp-beitraege { --sp-b: var(--sp-b-k3); --sp-bt: var(--sp-bt-k3); }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--bild { container: sp-karte / inline-size; }
@media (min-width: 1024px) {
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .schenk-raster { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--bild { grid-column: span var(--sp-b, 2); }
}
@media (min-width: 641px) and (max-width: 1023px) {
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--bild { grid-column: span var(--sp-bt, 1); }
}
@container sp-karte (min-width: 620px) {
  .sp-beitraege .sp-k--bild .schenk-k__link { flex-direction: row; }
  .sp-beitraege .sp-k--bild .schenk-k__bild { flex: 0 0 42%; aspect-ratio: auto; min-height: 250px; }
  .sp-beitraege .sp-k--bild .schenk-k__text { justify-content: center; padding: 28px 34px; }
}
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__titel { -webkit-line-clamp: 2; font-size: 18px; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__link:is(:hover, :focus-visible) .schenk-k__titel { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .schenk-raster { row-gap: 0; }
html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--bild { margin-bottom: 28px; }

/* Knopf "Alle Beitraege zum ..." (Regler sp-abschluss) */
.sp-alle { display: none; margin: 34px 0 0 !important; }
html:not([data-g-sp-abschluss="aus"]) .sp-seite .sp-alle { display: block; }

@media (max-width: 1023px) {
  .sp-beitraege .schenk-k__titel { -webkit-line-clamp: 4; }
}
@media (max-width: 767px) {
  /* Die Seitenleiste darueber hat 100 px Aussenabstand (Theme). */
  html:not([data-g-sp-beitraege="original"]) .sp-seite .sp-beitraege { padding: 0 0 10px; margin-top: -36px; }
  .sp-beitraege__titel { font-size: 25px !important; }
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__text { grid-template-columns: minmax(0, 1fr); padding: 14px 0; }
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__titel { grid-column: 1; grid-row: 2; }
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .sp-kat { grid-column: 1; grid-row: 3; }
}
/* Am Telefon: Bild links, Titel rechts - sechs Karten in voller Hoehe
 * waeren fast drei Bildschirme lang. */
@media (max-width: 640px) {
  .sp-beitraege .schenk-raster { gap: 12px; margin-top: 22px; grid-template-columns: minmax(0, 1fr); }
  .sp-beitraege .schenk-k__text { min-width: 0; overflow-wrap: break-word; -webkit-hyphens: manual; hyphens: manual; }
  .sp-beitraege .schenk-k__link { flex-direction: row; align-items: stretch; }
  .sp-beitraege .schenk-k__bild { flex: 0 0 72px; width: 72px; aspect-ratio: auto; min-height: 88px; }
  /* Schmale Bildflaeche: Rechtsgebiet und Thema stehen schon in der Zeile daneben. */
  .sp-beitraege .schenk-k__bild--leer > span:not(.sp-jahr), .sp-beitraege .sp-ersatzthema { display: none !important; }
  /* "jahr": hellblauer Streifen mit dem Jahr. "foto": keine Stein- und
   * Buchstreifen - nur Datum und Titel, echte Beitragsbilder bleiben. */
  html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne .schenk-k__bild--leer { justify-content: center; align-items: center; padding: 0; }
  html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne span.sp-jahr { font-size: 18px; letter-spacing: 0; }
  html:not([data-g-sp-beitraege-bild="platzhalter"]):not([data-g-sp-beitraege-bild="foto"]):not([data-g-sp-beitraege-bild="foto-thema"]):not([data-g-sp-beitraege-bild="liste"]) .sp-beitraege .sp-k--ohne span.sp-jahr::before { display: none; }
  html:is([data-g-sp-beitraege-bild="foto"], [data-g-sp-beitraege-bild="foto-thema"]) .sp-beitraege .sp-k--ohne .schenk-k__bild { display: none; }
  html[data-g-sp-beitraege-bild="platzhalter"] .sp-beitraege .schenk-k__bild--leer::after { content: "§"; font-family: var(--g-serif); font-size: 28px; color: rgba(255, 255, 255, .85); }
  .sp-beitraege .schenk-k__text { padding: 12px 14px 14px; gap: 6px; }
  /* Im Grundsystem gezoomt (x --g-z): 14 px ergeben 15,4 px. Kleiner als
   * bisher, damit lange Woerter ("Verdachtsberichterstattung") ohne
   * Trennung in die Spalte passen. */
  /* Bei "Schriftgroesse 100 %" faellt der Zoom weg - dann 15 px. */
  .sp-beitraege .schenk-k__titel { font-size: max(14px, calc(15px / var(--g-z, 1))); line-height: 1.35; -webkit-line-clamp: 3; overflow-wrap: anywhere; }
  .sp-beitraege .schenk-k__meta { font-size: max(14px, calc(15px / var(--g-z, 1))); }
  .sp-beitraege .schenk-k__anriss { display: none; }
  html[data-g-sp-beitraege-bild="liste"] .sp-beitraege .sp-k--ohne .schenk-k__text { padding: 14px 0; }
  .sp-alle .sp-knopf { white-space: normal; }
}

/* ==================================================== VERWANDTE SCHWERPUNKTE */
.sp-verwandt { display: none; }
html:is([data-g-sp-verwandt="ein"], [data-g-sp-verwandt="ersatz"]) .sp-seite .sp-verwandt { display: block; padding: 56px 0 30px; }
/* ersatz: nur alte Beitraege (vor 2016) - dann die Schwerpunkte statt der Karten. */
html[data-g-sp-verwandt="ersatz"]:not([data-g-sp-zuordnung="kategorie"]) .sp-alt-s .sp-beitraege,
html[data-g-sp-verwandt="ersatz"][data-g-sp-zuordnung="kategorie"] .sp-alt-k .sp-beitraege { display: none !important; }
.sp-verwandt .sp-themen { margin-top: 28px !important; }
/* Ein Kartenstil am Seitenende (Regler sp-verwandt-stil): mit Rahmen wie die
 * Beitragskarten darueber - vorher standen gerahmte und rahmenlose Karten
 * direkt untereinander. */
html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__link {
  border: 1px solid #e2e7ea; border-radius: 4px; overflow: hidden; background: #fff;
  transition: box-shadow .2s ease, transform .2s ease;
}
html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__link:is(:hover, :focus-visible) { box-shadow: 0 8px 24px rgba(5, 28, 44, .12); transform: translateY(-2px); }
html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__bild { border-radius: 0; }
html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__text { padding: 18px 20px 22px; }
@media (prefers-reduced-motion: reduce) { html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__link { transition: none; } html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__link:hover { transform: none; } }
@media (max-width: 767px) {
  html:is([data-g-sp-verwandt="ein"], [data-g-sp-verwandt="ersatz"]) .sp-seite .sp-verwandt { padding: 36px 0 16px; }
  html[data-g-sp-verwandt="ersatz"]:not([data-g-sp-zuordnung="kategorie"]) .sp-alt-s .sp-verwandt,
  html[data-g-sp-verwandt="ersatz"][data-g-sp-zuordnung="kategorie"] .sp-alt-k .sp-verwandt { padding-top: 0; margin-top: -36px; }
}
/* Tablet: drei verwandte Karten in einer Reihe - im 2er-Raster stand die
 * dritte allein. */
@media (min-width: 641px) and (max-width: 1023px) {
  .sp-verwandt .sp-themen.sp-themen--drei { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 22px; }
  .sp-verwandt .sp-themen--drei h3.sp-thema__titel { font-size: 19px; }
  .sp-seite .sp-verwandt .sp-themen--drei .sp-thema__anriss { font-size: 15px; line-height: 1.55; }
}
@media (max-width: 767px) {
  /* Kontaktkasten und Fachgebiete: Theme-Polster (35 px) genuegt als Abstand. */
  html:not([data-g-seitenleiste="original"]) .sp-seite:not(.sp-uebersicht) .g-sl { margin-top: 24px; }
}
@media (max-width: 640px) {
  html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__link { gap: 0 !important; align-items: stretch !important; }
  html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__text { padding: 12px 16px 14px; }
  html:not([data-g-sp-verwandt-stil="frei"]) .sp-verwandt .sp-thema__bild { align-self: stretch; height: auto; min-height: 104px; }
}

/* ============================================================ KONTAKTBAND
 * Vor dem Fuss, wie auf /abmahnung-filesharing/ (Regler sp-abschluss=band). */
.sp-band { display: none; }
html[data-g-sp-abschluss="band"] .sp-seite .sp-band { display: block; background: var(--g-hell); margin-top: 56px; }
.sp-band__innen { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 40px; padding-top: 44px; padding-bottom: 44px; }
.sp-seite .sp-band__tel { display: inline-flex; align-items: center; gap: 10px; color: var(--g-blau) !important; font-size: 22px; font-weight: 500; text-decoration: none !important; white-space: nowrap; }
.sp-seite .sp-band__tel:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: 5px; text-decoration-thickness: 1px !important; }
@media (max-width: 640px) {
  .sp-band__innen { flex-direction: column; padding-top: 32px; padding-bottom: 34px; }
  .sp-band .sp-knopf { white-space: normal; text-align: left; }
}

/* ========================================================= PRUEFHINWEIS
 * Orange = Fehler im Bestand, der nicht bei uns liegt (Jonas' Markierung). */
.sp-hinweis {
  /* border-box: sonst 36 px breiter als Einleitung und Text (Kanten sprangen). */
  box-sizing: border-box;
  margin: 0 0 26px !important; padding: 12px 16px; max-width: var(--sp-spalte);
  border-left: 4px solid #C2571A; background: #fbeee6; color: #5a2a0c !important;
  font-size: 15px !important; line-height: 1.5 !important;
}
html[data-g-sp-hinweise="aus"] .sp-hinweis { display: none !important; }

/* ================================================ UEBERSICHT /schwerpunkte/ */
/* Entwurf (Magenta = Freigabe offen; Nachtblau darauf 4,7:1): Streifen unter
 * dem Kopf, derselbe Hinweis als Kasten vor dem Kontakt am Seitenende und
 * eine feste Marke unten links, oberhalb des Pult-Knopfs. */
.sp-entwurf {
  display: block; margin: 0; padding: 14px 20px; text-align: center;
  background: #FF008C; color: var(--g-blau); line-height: 1.4; letter-spacing: .01em;
}
.sp-seite .sp-entwurf p { margin: 0 !important; color: var(--g-blau) !important; max-width: none; }
.sp-seite .sp-entwurf p.sp-entwurf__zeile { font-size: 17px; line-height: 1.4; }
.sp-seite .sp-entwurf p.sp-entwurf__offen { margin-top: 4px !important; font-size: 15px; line-height: 1.45; }
.sp-entwurf strong { text-transform: uppercase; letter-spacing: .12em; }
.sp-uebersicht #main_content > .sp-entwurf--unten { max-width: 860px; box-sizing: border-box; margin: 72px auto 0; padding: 20px 26px; border-radius: 6px; text-align: left; }
.sp-uebersicht #main_content > .sp-entwurf--unten + .sp-kontakt { margin-top: 20px; }
.sp-entwurf-marke { display: none; }
/* Senkrechte Lasche am linken Rand (0-23 px), oberhalb des Pult-Knopfs.
 * Damit sie beim Scrollen keine Anfangsbuchstaben verdeckt, haelt bis 1439 px
 * jeder Inhalt dieser Seite 30 px Abstand vom linken Rand (vorher bei 1024 px
 * nur 13 px: "Abmahnung", "Sie", "Wir" wurden angeschnitten). Ab 1440 px als
 * Pille im freien Rand links, ueber dem Pult-Knopf (dieser reicht bis 81 px
 * ueber den unteren Rand) - vorher deckte er die untere Haelfte der Pille. */
@media (max-width: 1439px) {
  .sp-uebersicht :is(.sp-kopf > .container, .sp-uebersicht-inhalt, .top_footer > .container, .pre_footer > .container) {
    max-width: calc(100% - 60px) !important;
  }
  .sp-uebersicht .sp-entwurf.sp-entwurf--oben { padding-left: 30px; padding-right: 30px; }
}
.sp-uebersicht .sp-entwurf-marke {
  display: block; position: fixed; left: 0; bottom: 120px; z-index: 900; pointer-events: none;
  padding: 10px 4px; border-radius: 6px 0 0 6px; background: #FF008C; color: var(--g-blau);
  font-size: 15px; font-weight: 700; line-height: 1; letter-spacing: .08em; text-transform: uppercase;
  writing-mode: vertical-rl; transform: rotate(180deg); box-shadow: 0 4px 14px rgba(5, 28, 44, .28);
}
@media (min-width: 1440px) {
  .sp-uebersicht .sp-entwurf-marke {
    left: 16px; bottom: 100px; padding: 6px 13px; border-radius: 999px; line-height: 1.3; letter-spacing: .12em;
    writing-mode: horizontal-tb; transform: none;
  }
}
@media print { .sp-uebersicht .sp-entwurf-marke { position: absolute; } }
/* Nur fuer Screenreader (erste Gruppenueberschrift = Seitentitel). */
.sp-seite .sp-nur-vorlesen {
  position: absolute !important; width: 1px; height: 1px; margin: -1px !important; padding: 0 !important;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
html .sp-seite.sp-uebersicht .gt3-page-title_wrapper { margin-bottom: 0 !important; }
.sp-uebersicht #main_content { margin-top: 0 !important; }
.sp-uebersicht .main_wrapper { padding-top: 0 !important; }
.sp-uebersicht-inhalt { padding-top: 56px; padding-bottom: 30px; }
.sp-gruppe + .sp-gruppe { margin-top: 72px; }
.sp-gruppe__titel {
  position: relative; padding-top: 22px; margin: 0 0 30px !important;
  font-family: var(--g-serif); font-weight: 400; font-size: 30px !important; line-height: 1.25 !important; color: var(--g-blau);
}
.sp-gruppe__titel::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 3px; background: var(--g-akzent); }
/* "Weitere Taetigkeitsschwerpunkte" (Regler sp-uebersicht-weitere): als
 * kompakte Liste ohne Fotos (Vorschlag) - 21 Fotokarten hintereinander waren
 * eine Bilderwand, und Szenen standen doppelt. "karten" = bisher. */
.sp-zeilen { display: none; }
html:not([data-g-sp-uebersicht-weitere="karten"]) .sp-gruppe--weitere .sp-themen--raster { display: none; }
html:not([data-g-sp-uebersicht-weitere="karten"]) .sp-gruppe--weitere .sp-zeilen {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px;
  list-style: none !important; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid #d9e0e6;
}
.sp-zeilen > li.sp-zeile { list-style: none !important; margin: 0 !important; padding: 0 !important; border-top: 1px solid #d9e0e6; display: flex; min-width: 0; }
.sp-zeilen > li.sp-zeile::before, .sp-zeilen > li.sp-zeile::marker { content: none !important; display: none !important; }
.sp-zeilen > li > a.sp-zeile__link {
  display: flex !important; flex-direction: column; gap: 8px; flex: 1; padding: 20px 0 24px !important; line-height: inherit !important;
  text-decoration: none !important; color: inherit;
}
.sp-zeile__kopf { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.sp-seite h3.sp-zeile__titel { margin: 0 !important; font-family: var(--g-serif); font-weight: 400; font-size: 21px; line-height: 1.3; color: var(--g-blau); }
.sp-zeile__kopf .sp-pfeil { flex: none; width: 22px; top: -6px; color: var(--g-akzent); }
.sp-zeile__link:is(:hover, :focus-visible) .sp-zeile__titel { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.sp-zeile__link:is(:hover, :focus-visible) .sp-pfeil { transform: translateX(6px); }
.sp-zeile__link:focus-visible { outline: 3px solid var(--g-akzent); outline-offset: 4px; }
.sp-seite .sp-zeile .sp-thema__anriss { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15.5px; line-height: 1.55; }
html[data-g-sp-anriss="meta"] .sp-zeile .sp-thema__anriss--absatz,
html:not([data-g-sp-anriss="meta"]) .sp-zeile .sp-thema__anriss--meta { display: none; }
/* Pruefhinweis als Zeile (Liste, und auf Karten am Telefon). */
.sp-hinweis--zeile { display: none; }
.sp-seite .sp-zeile .sp-hinweis--zeile {
  display: block; align-self: flex-start; margin: 0 !important; padding: 4px 10px !important; border-left-width: 3px;
  font-size: 15px !important; line-height: 1.35 !important; font-weight: 600;
}
@media (max-width: 1023px) {
  html:not([data-g-sp-uebersicht-weitere="karten"]) .sp-gruppe--weitere .sp-zeilen { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
}
@media (max-width: 640px) {
  html:not([data-g-sp-uebersicht-weitere="karten"]) .sp-gruppe--weitere .sp-zeilen { grid-template-columns: minmax(0, 1fr); }
  .sp-zeilen > li > a.sp-zeile__link { padding: 16px 0 18px !important; gap: 6px; }
  .sp-seite h3.sp-zeile__titel { font-size: 19px; }
  .sp-seite .sp-zeile .sp-thema__anriss { font-size: 15px; line-height: 1.5; }
}

html:not([data-g-sp-uebersicht="taetigkeit"]) .sp-gruppe--alle,
html[data-g-sp-uebersicht="taetigkeit"] :is(.sp-gruppe--menue, .sp-gruppe--weitere) { display: none; }
html[data-g-sp-uebersicht="taetigkeit"] .sp-gruppe--alle { margin-top: 0; }
/* Am Uebersichtskopf ist das Team breit verteilt - Foto weiter links, kurzer Verlauf. */
@media (min-width: 1025px) {
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"]) .sp-uebersicht .sp-kopf-bilder { left: 34%; }
  html:is([data-g-sp-kopf="auto"], [data-g-sp-kopf="foto"]) .sp-uebersicht .sp-kopf-bild {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%); mask-image: linear-gradient(90deg, transparent 0, #000 9%);
  }
}

/* Karten: Raster ohne einzelne Karte in der letzten Reihe. Die Klassen
 * sp-b2/3/4 (doppelt breit im 2/3/4er-Raster) und sp-gk (gross) setzt das Modul. */
.sp-themen {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px;
}
html[data-g-sp-uebersicht-raster="4"] .sp-themen--raster,
html:not([data-g-sp-uebersicht-raster="3"]):not([data-g-sp-uebersicht-raster="4"]) .sp-themen--raster { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 26px; }
.sp-themen > li.sp-thema { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; min-width: 0; }
.sp-themen > li.sp-thema::before, .sp-themen > li.sp-thema::marker { content: none !important; display: none !important; }
.sp-thema__link { display: flex; flex-direction: column; flex: 1; text-decoration: none !important; color: inherit; }
/* Gegen den Telefon-Stil fuer Listenverweise (#main_content li a: inline-block, 9 px Polster). */
.sp-themen > li > a.sp-thema__link { display: flex !important; padding: 0 !important; line-height: inherit !important; }
.sp-thema__bild { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 4px; background: var(--g-hell); }
.sp-thema__bild img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.sp-thema__link:is(:hover, :focus-visible) .sp-thema__bild img { transform: scale(1.04); }
.sp-thema__text { display: flex; flex-direction: column; gap: 10px; padding: 18px 2px 0; flex: 1; }
.sp-seite h3.sp-thema__titel {
  margin: 0 !important; font-family: var(--g-serif); font-weight: 400; font-size: 22px; line-height: 1.3; color: var(--g-blau);
}
.sp-seite .sp-thema__anriss { font-size: 16px; line-height: 1.6; color: #3b4b59; letter-spacing: var(--g-ls); }
/* Anriss: erster Absatz der Seite (Standard) oder ihre Meta-Beschreibung. */
html:not([data-g-sp-anriss="meta"]) .sp-thema__anriss--meta,
html[data-g-sp-anriss="meta"] .sp-thema__anriss--absatz { display: none; }
.sp-thema__mehr { display: inline-flex; margin-top: auto; padding-top: 8px; color: var(--g-akzent); }
.sp-thema__mehr .sp-pfeil { width: 22px; }
.sp-thema__link:is(:hover, :focus-visible) .sp-thema__mehr .sp-pfeil { transform: translateX(6px); }
.sp-thema__link:is(:hover, :focus-visible) .sp-thema__titel { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
/* Pruefhinweis als Marke auf dem Bild - die Kartenhoehe bleibt gleich. */
.sp-seite .sp-hinweis--marke {
  position: absolute; left: 12px; top: 12px; z-index: 1; max-width: calc(100% - 24px); box-sizing: border-box;
  margin: 0 !important; padding: 8px 12px !important; border-left-width: 4px; font-size: 15px !important; line-height: 1.3 !important; font-weight: 600;
}

/* Doppelt breite Karten: Bild 3:1, damit die Bildhoehe zur Reihe passt. */
@media (min-width: 1024px) {
  html[data-g-sp-uebersicht-raster="3"] .sp-themen--raster > .sp-b3,
  html[data-g-sp-uebersicht-raster="4"] .sp-themen--raster > .sp-b4,
  html:not([data-g-sp-uebersicht-raster="3"]):not([data-g-sp-uebersicht-raster="4"]) .sp-themen--raster > :is(.sp-gk, .sp-bgk) { grid-column: span 2; }
  html[data-g-sp-uebersicht-raster="3"] .sp-themen--raster > .sp-b3 .sp-thema__bild,
  html[data-g-sp-uebersicht-raster="4"] .sp-themen--raster > .sp-b4 .sp-thema__bild,
  html:not([data-g-sp-uebersicht-raster="3"]):not([data-g-sp-uebersicht-raster="4"]) .sp-themen--raster > .sp-bgk .sp-thema__bild { aspect-ratio: 3 / 1; }
  html[data-g-sp-uebersicht-raster="3"] .sp-themen--raster > .sp-b3 .sp-thema__bild img,
  html[data-g-sp-uebersicht-raster="4"] .sp-themen--raster > .sp-b4 .sp-thema__bild img,
  html:not([data-g-sp-uebersicht-raster="3"]):not([data-g-sp-uebersicht-raster="4"]) .sp-themen--raster > .sp-bgk .sp-thema__bild img { object-position: var(--sp-pw); }
  /* gross-klein: die ersten zwei Karten gross, Titel groesser. */
  html:not([data-g-sp-uebersicht-raster="3"]):not([data-g-sp-uebersicht-raster="4"]) .sp-themen--raster > .sp-gk .sp-thema__bild { aspect-ratio: 16 / 9; }
  html:not([data-g-sp-uebersicht-raster="3"]):not([data-g-sp-uebersicht-raster="4"]) .sp-themen--raster > .sp-gk h3.sp-thema__titel { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .sp-thema__bild img, .sp-thema__mehr .sp-pfeil { transition: none; } }
@media (min-width: 1024px) and (max-width: 1279px) {
  .sp-themen--raster { gap: 34px 22px !important; }
  .sp-seite .sp-themen--raster h3.sp-thema__titel { font-size: 20px; }
}
@media (max-width: 1023px) {
  .sp-themen, .sp-themen--raster { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 30px 24px; }
  .sp-themen--raster > .sp-b2 { grid-column: span 2; }
  .sp-themen--raster > .sp-b2 .sp-thema__bild { aspect-ratio: 3 / 1; }
  .sp-themen--raster > .sp-b2 .sp-thema__bild img { object-position: var(--sp-pw); }
}
@media (max-width: 640px) {
  .sp-uebersicht-inhalt { padding-top: 36px; }
  /* Am Telefon: Bild links, Text rechts - 23 Karten in voller Hoehe waeren
   * ueber zwoelf Bildschirme lang. */
  .sp-themen, .sp-themen--raster { grid-template-columns: minmax(0, 1fr) !important; gap: 22px; }
  .sp-themen--raster > .sp-b2 { grid-column: auto; }
  /* Keine automatische Trennung: Mit hyphens: auto endete fast jede Zeile mit
   * Trennstrich ("Un-terbereich"), mit dem Kuerzen entstand "speziali-...".
   * Das laengste Wort ("Ausschliesslichkeitsrecht") passt in die Spalte;
   * overflow-wrap faengt den Rest ab. */
  .sp-thema__text { min-width: 0; overflow-wrap: break-word; -webkit-hyphens: manual; hyphens: manual; }
  .sp-thema__link { flex-direction: row; gap: 16px; align-items: flex-start; }
  .sp-thema__bild, .sp-themen--raster > .sp-b2 .sp-thema__bild { flex: 0 0 104px; aspect-ratio: 1 / 1 !important; }
  .sp-thema__bild img, .sp-themen--raster > .sp-b2 .sp-thema__bild img { object-position: var(--sp-pq) !important; }
  .sp-thema__text { padding: 0; gap: 6px; }
  .sp-seite h3.sp-thema__titel { font-size: 19px; }
  .sp-seite .sp-thema__anriss { font-size: 15px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .sp-thema__mehr { display: none; }
  .sp-gruppe + .sp-gruppe { margin-top: 52px; }
  .sp-gruppe__titel { font-size: 25px !important; }
  .sp-entwurf { padding: 12px 16px; }
  .sp-seite .sp-entwurf p.sp-entwurf__zeile { font-size: 15px; }
  .sp-uebersicht #main_content > .sp-entwurf--unten { margin-top: 52px; padding: 16px 18px; }
  /* Oben nur die Zeile (die offenen Punkte stehen unten im Kasten), sonst
   * stand am Telefon ein 160 px hoher Magentablock vor den Karten. */
  .sp-entwurf--oben .sp-entwurf__offen { display: none; }
  /* Pruefhinweis unter dem Titel statt auf dem 104-px-Bild. */
  .sp-seite .sp-thema .sp-hinweis--marke { display: none !important; }
  .sp-seite .sp-thema .sp-hinweis--zeile {
    display: block; align-self: flex-start; margin: 0 !important; padding: 3px 8px !important; border-left-width: 3px;
    font-size: 15px !important; line-height: 1.35 !important; font-weight: 600;
  }
}
.sp-uebersicht #main_content > .sp-kontakt { max-width: 860px; margin: 72px auto 20px; }

/* ===== 35-beitraege.css ===== */
/**
 * Gestaltung B - Fachbeitraege (/case/), Gegnerseiten (/gegner/),
 * Redaktionsvorlage und die Seitenleiste auf allen Seiten (13.10.2026,
 * zweiter Durchgang nach der Pruefung durch den Art-Director).
 *
 * HTML-Umbau: tools/lib/gestaltung/beitraege.mjs
 * Regler:     optionen-beitraege.json (+ "seitenleiste", "schlagworte" aus optionen.json)
 *
 * Neue Bausteine tragen eigene Klassen (g-sl-*, g-meta-*, g-dach, g-kband,
 * g-inhalt, g-unten, g-blaettern, g-aehnlich, g-faelle, g-empfehlung,
 * g-kopfbild). Die alten stehen in der Vorschau daneben und werden je nach
 * Regler aus- oder eingeblendet.
 * Mehrfache Klassen (.g-sl .g-sl-x .g-sl-y) sind Absicht: Die Schriftwahl in
 * 10-basis.css setzt font-family mit !important auf p/a/span.
 * Achtung Zoom: 10-basis.css vergroessert .gt3-page-title__content,
 * .sidebar .widget und .schenk-k__text mit zoom: var(--g-z). Groessen dort
 * werden noch einmal mit --g-z multipliziert.
 */

:root {
  --g-sl-rand: #d9e0e6;
  --g-sl-linie: #e6ebef;
  --g-label-dunkel: #a9d8f5; /* auf Kanzleiblau 9,6:1 */
}

/* ====================================================== SEITENLEISTE */

/* bisher <-> neu */
html[data-g-seitenleiste="original"] .g-sl { display: none !important; }
html:not([data-g-seitenleiste="original"]) aside.sidebar > .g-sl ~ .widget { display: none !important; }

html:not([data-g-groesse="100"]) .g-sl { zoom: var(--g-z); }
.g-sl {
  display: flex;
  flex-direction: column;
  gap: 46px;
  color: var(--g-text);
  font-size: 16px;
}
.g-sl p { margin: 0; }
.g-sl ul, .g-sl ol, .g-sl li { list-style: none; }
.g-sl li::before, .g-sl li::marker { content: none !important; display: none !important; }

/* --------------------------------------------------------- Kontaktkasten */
.g-sl .g-sl-kontakt {
  background: var(--g-kanzleiblau);
  color: #fff;
  padding: 30px 28px 32px;
  border-radius: var(--g-radius);
}
html[data-g-sl-kontaktfarbe="nachtblau"] .g-sl .g-sl-kontakt { background: var(--g-blau); }
html[data-g-sl-kontaktfarbe="hell"] .g-sl .g-sl-kontakt { background: var(--g-hell); color: var(--g-blau); }

.g-sl .g-sl-kontakt a.g-sl-kontakt__person {
  display: flex !important;
  align-items: center;
  gap: 16px;
  padding: 0 0 22px !important;
  margin: 0 0 22px;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  color: inherit !important;
  text-decoration: none !important;
}
html[data-g-sl-kontaktfarbe="hell"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person { border-bottom-color: rgba(5, 28, 44, .15); }
html[data-g-sl-kontakt="schlicht"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person { display: none !important; }
.g-sl .g-sl-kontakt .g-sl-kontakt__bild {
  width: 72px; height: 72px; flex: none;
  border-radius: 50%; object-fit: cover;
  border: 2px solid rgba(255, 255, 255, .35);
}
.g-sl .g-sl-kontakt .g-sl-kontakt__portrait { display: none; }
.g-sl .g-sl-kontakt .g-sl-kontakt__wer { display: block; min-width: 0; }
.g-sl .g-sl-kontakt .g-sl-kontakt__name {
  display: block;
  font-family: var(--g-serif) !important;
  font-size: 18px; line-height: 1.3;
}
.g-sl .g-sl-kontakt .g-sl-kontakt__rolle {
  display: block; margin-top: 5px;
  font-size: 15px; line-height: 1.45; opacity: .88;
}
/* Variante: grosses Foto oben, randlos - "dass man sich freut, wenn man anruft" */
html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt { padding-top: 0; overflow: hidden; }
html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person { display: block !important; }
html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt .g-sl-kontakt__bild { display: none; }
html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt .g-sl-kontakt__portrait {
  display: block;
  width: calc(100% + 56px); max-width: none; height: auto;
  margin: 0 -28px 20px;
  aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 14%;
}
html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt .g-sl-kontakt__name { font-size: 21px; }
/* Variante: grosses Foto, Name und Rolle darauf (Verlauf unten) - spart gut
 * 100 px Leistenhoehe. Unter dem Namen ist der Verlauf mind. 86 % deckend:
 * Weiss bleibt auch ueber dem hellen Hemdkragen ueber 5:1. */
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt { padding-top: 0; overflow: hidden; }
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person {
  display: block !important; position: relative;
  margin: 0 -28px 24px; padding: 0 !important; border-bottom: 0;
}
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__bild { display: none; }
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__portrait {
  display: block; width: 100%; max-width: none; height: auto; margin: 0;
  aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 0%;
}
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__wer {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 54px 28px 18px;
  background: linear-gradient(180deg, rgba(5, 28, 44, 0) 0, rgba(5, 28, 44, .86) 50px, rgba(5, 28, 44, .93) 100%);
  color: #fff; text-shadow: 0 1px 8px rgba(5, 28, 44, .5);
}
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__name { font-size: 21px; color: #fff; }
html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__rolle { opacity: 1; color: #fff; }
.g-sl .g-sl-kontakt a.g-sl-kontakt__person:is(:hover, :focus-visible) .g-sl-kontakt__name { text-decoration: underline; text-underline-offset: .2em; }

.g-sl .g-sl-kontakt .g-sl-kontakt__label {
  margin: 0 0 3px;
  font-size: 15px; font-weight: 500; letter-spacing: .02em; line-height: 1.4;
  color: var(--g-label-dunkel);
}
.g-sl .g-sl-kontakt .g-sl-kontakt__label::first-letter { text-transform: uppercase; }
html[data-g-sl-kontaktfarbe="hell"] .g-sl .g-sl-kontakt .g-sl-kontakt__label { color: var(--g-akzent); }

.g-sl .g-sl-kontakt .g-sl-kontakt__tel { margin: 0 0 18px; }
.g-sl .g-sl-kontakt .g-sl-kontakt__tel a {
  font-family: var(--g-serif) !important;
  font-size: 27px; line-height: 1.25; white-space: nowrap;
  color: inherit !important; text-decoration: none !important;
}
.g-sl .g-sl-kontakt .g-sl-kontakt__mail a {
  font-size: 17px; line-height: 1.4;
  color: inherit !important;
  text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .45); text-underline-offset: .22em;
  overflow-wrap: normal;
}
/* Domain bleibt zusammen; Umbruch hoechstens nach dem @ (<wbr>, beitraege.mjs). */
.g-sl .g-sl-kontakt .g-sl-kontakt__mail .g-sl-kontakt__domain { white-space: nowrap; }
html[data-g-sl-kontaktfarbe="hell"] .g-sl .g-sl-kontakt .g-sl-kontakt__mail a { text-decoration-color: rgba(5, 28, 44, .35); }
.g-sl .g-sl-kontakt :is(.g-sl-kontakt__tel, .g-sl-kontakt__mail) a:is(:hover, :focus-visible) { text-decoration: underline !important; text-decoration-color: currentColor !important; }
.g-sl .g-sl-kontakt .g-sl-kontakt__knopf { margin: 26px 0 0; }

/* Knopf: gefuellt wie im Grundsystem, auf Dunkel weiss. Bricht nicht um. */
.g-sl .g-sl-kontakt a.g-sl-knopf,
.g-kband a.g-kband__a {
  display: inline-flex !important; align-items: center; gap: 12px;
  padding: 14px 22px !important;
  background: #fff; color: var(--g-blau) !important;
  border: 1px solid #fff;
  border-radius: var(--g-radius);
  font-size: 16px; font-weight: 600; line-height: 1.3; white-space: nowrap;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease;
}
.g-sl .g-sl-kontakt a.g-sl-knopf::after, .g-kband a.g-kband__a::after { content: "\2192"; transition: transform .2s ease; }
.g-sl .g-sl-kontakt a.g-sl-knopf:is(:hover, :focus-visible), .g-kband a.g-kband__a:is(:hover, :focus-visible) { background: #dcebf8; border-color: #dcebf8; }
.g-sl .g-sl-kontakt a.g-sl-knopf:is(:hover, :focus-visible)::after, .g-kband a.g-kband__a:is(:hover, :focus-visible)::after { transform: translateX(4px); }
html[data-g-sl-kontaktfarbe="hell"] :is(.g-sl .g-sl-kontakt a.g-sl-knopf, .g-kband a.g-kband__a) { background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; }
html[data-g-sl-kontaktfarbe="hell"] :is(.g-sl .g-sl-kontakt a.g-sl-knopf, .g-kband a.g-kband__a):is(:hover, :focus-visible) { background: var(--g-akzent); border-color: var(--g-akzent); }
html[data-g-knopf="akzent"] :is(.g-sl .g-sl-kontakt a.g-sl-knopf, .g-kband a.g-kband__a) { background: var(--g-hellblau); border-color: var(--g-hellblau); color: var(--g-blau) !important; }
html[data-g-knopf="kontur"] :is(.g-sl .g-sl-kontakt a.g-sl-knopf, .g-kband a.g-kband__a) { background: transparent; border-color: currentColor; color: inherit !important; }
/* Hover und Fokus fuer jede Kombination aus Knopfart und Kastenfarbe
 * (hoehere Spezifitaet als die Regeln oben). Vorher: hell + akzent/kontur
 * ergab Nachtblau auf Akzentblau (2,6:1), kontur auf Dunkel wechselte nichts.
 *   dunkel + akzent  -> weiss, Nachtblau   (17:1)
 *   dunkel + kontur  -> weiss, Nachtblau   (17:1)
 *   hell + akzent    -> Nachtblau, weiss   (17:1)
 *   hell + kontur    -> Nachtblau, weiss   (17:1) */
html[data-g-knopf]:not([data-g-sl-kontaktfarbe="hell"]):is([data-g-knopf="akzent"], [data-g-knopf="kontur"]) :is(.g-sl .g-sl-kontakt a.g-sl-knopf, .g-kband a.g-kband__a):is(:hover, :focus-visible) {
  background: #fff; border-color: #fff; color: var(--g-blau) !important;
}
html[data-g-knopf][data-g-sl-kontaktfarbe="hell"]:is([data-g-knopf="akzent"], [data-g-knopf="kontur"]) :is(.g-sl .g-sl-kontakt a.g-sl-knopf, .g-kband a.g-kband__a):is(:hover, :focus-visible) {
  background: var(--g-blau); border-color: var(--g-blau); color: #fff !important;
}
.g-sl a:focus-visible, #main_content :is(.g-blaettern, .g-unten, .g-schlagworte, .g-meta-kat, .g-inhalt, .g-raster) a:focus-visible, .g-dach a:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 3px; }
:is(.g-sl .g-sl-kontakt, .g-kband) a:focus-visible, .g-dach a:focus-visible { outline-color: var(--g-label-dunkel) !important; }
html[data-g-sl-kontaktfarbe="hell"] :is(.g-sl .g-sl-kontakt, .g-kband) a:focus-visible { outline-color: var(--g-akzent) !important; }

/* Kontaktkasten auch auf Schwerpunkt-, Archiv- und Rechtsseiten */
html[data-g-sl-kontakt-fach="nein"] .g-sl .g-sl-fachkontakt { display: none; }

/* ------------------------------------------------------------ Blocktitel */
.g-sl .g-sl-titel {
  position: relative;
  margin: 0 0 4px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--g-sl-rand);
  font-family: var(--g-serif) !important;
  font-size: 21px !important; line-height: 1.3 !important; font-weight: 400 !important;
  letter-spacing: 0 !important; text-transform: none !important;
  color: var(--g-blau) !important;
}
.g-sl .g-sl-titel::after {
  content: ""; position: absolute; left: 0; bottom: -1px;
  width: 40px; height: 2px; background: var(--g-akzent);
}
.g-sl .g-sl-titel .g-sl-dp { display: none; }
/* "weitere Fachgebiete", "TAGS" und "DIENSTLEISTUNGEN" stehen so in der Datenbank. */
.g-sl .g-sl-titel--gross::first-letter { text-transform: uppercase; }
.g-sl .g-sl-titel.g-sl-titel--klein { text-transform: lowercase !important; }
.g-sl .g-sl-titel.g-sl-titel--klein::first-letter { text-transform: uppercase; }
html[data-g-sl-titel="versal"] .g-sl .g-sl-titel.g-sl-titel {
  font-family: var(--g-sans) !important;
  font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  padding-bottom: 12px !important;
}

/* ------------------------------------------------------- Verweislisten */
.g-sl .g-sl-liste { margin: 0 !important; padding: 0 !important; }
.g-sl .g-sl-liste li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--g-sl-linie); }
.g-sl .g-sl-liste li a {
  display: flex !important; align-items: baseline; justify-content: space-between; gap: 14px;
  padding: 12px 2px 12px 0 !important;
  font-size: 16.5px; line-height: 1.4 !important; font-weight: 400;
  color: var(--g-text) !important; text-decoration: none !important;
  transition: color .15s ease;
}
.g-sl .g-sl-liste li a::after {
  content: "\203A"; flex: none;
  font-size: 21px; line-height: 1; color: var(--g-akzent);
  transition: transform .15s ease;
}
.g-sl .g-sl-liste li a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; }
.g-sl .g-sl-liste li a:is(:hover, :focus-visible)::after { transform: translateX(3px); }
.g-sl .g-sl-liste li.g-sl-aktiv a {
  padding-left: 12px !important;
  box-shadow: inset 3px 0 0 var(--g-akzent);
  color: var(--g-blau) !important; font-weight: 600;
}
.g-sl .g-sl-liste li.g-sl-aktiv a[aria-current]::after { content: none; }
.g-sl .g-sl-liste--faelle li a { font-size: 16px; }

/* Rechtsgebiete: die zehn Schwerpunkte des Menues oder die sechs von bisher */
html:not([data-g-sl-rechtsgebiete="bisher"]) .g-sl .g-sl-gebiete:has(.g-sl-liste--menue) .g-sl-liste--sechs { display: none; }
html[data-g-sl-rechtsgebiete="bisher"] .g-sl .g-sl-liste--menue { display: none; }
/* Rechner: Rechtsgebiete zweispaltig (Regler sl-gebiete) - der laengste
 * Block der Leiste wird halb so hoch, die Leiste so lang wie ein kurzer
 * Beitrag; erst dann laeuft der Kontakt unten auch mit. */
@media (min-width: 1200px) {
  /* :where() - die Regeln, die eine der beiden Listen ausblenden, gehen vor. */
  :where(html:not([data-g-sl-gebiete="liste"])) .g-sl--voll .g-sl-gebiete .g-sl-liste {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px;
  }
  html:not([data-g-sl-gebiete="liste"]) .g-sl--voll .g-sl-gebiete .g-sl-liste li a {
    padding: 10px 0 10px 0 !important; font-size: 15.5px; line-height: 1.35 !important; align-items: center;
  }
  html:not([data-g-sl-gebiete="liste"]) .g-sl--voll .g-sl-gebiete .g-sl-liste li a::after { font-size: 18px; }
  html:not([data-g-sl-gebiete="liste"]) .g-sl--voll .g-sl-gebiete .g-sl-liste li.g-sl-aktiv a { padding-left: 10px !important; }
}
/* Letzte Faelle: Gegner aus demselben Rechtsgebiet oder ueberall dieselben */
html:not([data-g-sl-faelle="neueste"]) .g-sl .g-sl-faelle:has(.g-sl-liste--fach) .g-sl-liste--neu { display: none; }
html[data-g-sl-faelle="neueste"] .g-sl .g-sl-liste--fach { display: none; }

/* Inhaltsverzeichnis in der Leiste (Regler beitrag-inhalt = leiste) */
.g-sl .g-sl-inhalt { display: none; }
@media (min-width: 1024px) {
  html[data-g-beitrag-inhalt="leiste"] .g-sl .g-sl-inhalt { display: block; }
}
.g-sl .g-sl-inhalt .g-inhalt__liste { margin: 8px 0 0 !important; padding: 0 !important; counter-reset: g-inh; }
.g-sl .g-sl-inhalt .g-inhalt__liste li { counter-increment: g-inh; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--g-sl-linie); }
.g-sl .g-sl-inhalt .g-inhalt__liste li a {
  display: grid !important; grid-template-columns: 1.6em 1fr; gap: 4px;
  padding: 10px 0 !important; font-size: 15.5px; line-height: 1.4 !important;
  color: var(--g-text) !important; text-decoration: none !important;
}
.g-sl .g-sl-inhalt .g-inhalt__liste li a::before { content: counter(g-inh) "."; color: var(--g-akzent); font-weight: 600; direction: ltr; unicode-bidi: isolate; }
.g-sl .g-sl-inhalt .g-inhalt__liste li a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline !important; text-underline-offset: .2em; }

/* ------------------------------------------------------------------ Team */
html[data-g-sl-team="aus"] .g-sl .g-sl-team { display: none; }
/* Stephan steht schon im Kontaktkasten - im Team nicht noch einmal. */
html:is([data-g-sl-team="ohne-stephan"], [data-g-sl-team="koepfe"], :not([data-g-sl-team])):not([data-g-sl-kontakt="schlicht"]) .g-sl .g-sl-team .g-sl-team__stephan { display: none; }
.g-sl .g-sl-team__liste { margin: 0 !important; padding: 0 !important; }
.g-sl .g-sl-team__liste li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--g-sl-linie); }
.g-sl .g-sl-team__liste li a {
  display: flex !important; align-items: center; gap: 14px;
  padding: 12px 0 !important;
  color: var(--g-text) !important; text-decoration: none !important;
}
.g-sl .g-sl-team__liste img { width: 56px; height: 56px; flex: none; border-radius: 50%; object-fit: cover; object-position: center 20%; }
.g-sl .g-sl-team__liste .g-sl-team__wer { display: block; }
.g-sl .g-sl-team__liste .g-sl-team__name { display: block; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--g-blau); }
.g-sl .g-sl-team__liste .g-sl-team__rolle { display: block; margin-top: 2px; font-size: 14.5px; line-height: 1.4; color: var(--g-text-leise); }
.g-sl .g-sl-team__liste li a:is(:hover, :focus-visible) .g-sl-team__name { color: var(--g-akzent); text-decoration: underline; text-underline-offset: .2em; }
/* Variante: Koepfe in einer Reihe (Vorschlag) - halb so hoch wie die Liste.
 * Stephan steht schon im Kontaktkasten: dann drei Koepfe, sonst vier. */
html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 12px 10px; padding-top: 18px !important; }
html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste li { border: 0; }
html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste li a { flex-direction: column; gap: 9px; padding: 0 !important; text-align: center; }
html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste img { width: 74px; height: 74px; }
html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste .g-sl-team__name { font-size: 14.5px; font-weight: 500; line-height: 1.3; }
html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste .g-sl-team__rolle { display: none; }

/* -------------------------------------------- Dienstleistungen und Tags */
.g-sl .g-sl-tags__liste { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
a.g-chip {
  display: inline-block !important;
  padding: 6px 13px !important;
  border: 1px solid #cdd6de; border-radius: 999px;
  background: #fff;
  font-size: 14.5px; line-height: 1.4 !important; letter-spacing: .01em;
  color: var(--g-text-leise) !important; text-decoration: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
a.g-chip:is(:hover, :focus-visible) { background: var(--g-hell); border-color: var(--g-akzent); color: var(--g-blau) !important; }
a.g-chip.g-chip--dienst, a.g-chip.g-chip--thema { color: var(--g-blau) !important; border-color: #bfcbd6; }
a.g-chip.g-chip--aktiv { border-color: var(--g-akzent); background: var(--g-hell); color: var(--g-blau) !important; font-weight: 600; }
/* sl-tags: Dienstleistungen (aus der Fusszeile) | Auswahl | alle | aus */
html:not([data-g-sl-tags="dienstleistungen"]) .g-sl .g-sl-dienst { display: none !important; }
html:is([data-g-sl-tags="dienstleistungen"], [data-g-sl-tags="aus"]) .g-sl .g-sl-tags { display: none !important; }
html[data-g-schlagworte="aus"] :is(.g-sl .g-sl-tags, #main_content .g-schlagworte) { display: none !important; }
html:not([data-g-sl-tags="alle"]) .g-sl .g-sl-tags a.g-chip--selten { display: none !important; }
/* "bisher": graue Versalkaestchen wie im Theme */
html[data-g-schlagworte="original"] :is(.g-sl-tags, .g-schlagworte) a.g-chip {
  border: 0; border-radius: 0; background: #f5f6f8;
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--g-blau) !important;
}
/* Redaktionsbeitraege: Die Leiste bleibt kurz, bis das Backend "Aehnliche" liefert. */
.g-sl.g-sl--redaktion :is(.g-sl-team, .g-sl-tags) { display: none !important; }

/* ------------------------------------------- Kontakt laeuft mit (Rechner) */
.g-sl .g-sl-mit { display: none; }
@media (min-width: 1200px) {
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) body:is(.single-portfolio, .single-gegner) { overflow: visible !important; overflow-x: clip !important; }
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right { display: flex; align-items: stretch; }
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right::before,
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right::after { display: none; }
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right > .sidebar-container { display: flex; flex-direction: column; }
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) aside.sidebar:has(> .g-sl) { flex: 1 1 auto; display: flex; flex-direction: column; }
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) aside.sidebar > .g-sl { flex: 1 1 auto; }
  html[data-g-sl-mitlaufen="ja"] :is(.single-portfolio, .single-gegner) .g-sl .g-sl-mit { display: block; position: sticky; top: 96px; }
}

/* Schmale Leiste (Tablet, Leiste daneben): Kontaktkasten enger, Nummer kleiner. */
aside.sidebar:has(> .g-sl) { container: g-leiste / inline-size; }
@container g-leiste (max-width: 300px) {
  .g-sl .g-sl-kontakt { padding: 24px 18px 26px; }
  html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt { padding-top: 0; }
  html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt .g-sl-kontakt__portrait { width: calc(100% + 36px); margin: 0 -18px 18px; }
  /* Name auf dem Foto: In der schmalen Leiste ist das Foto nur 180 px hoch,
   * der Name deckte es ganz zu - dort wie "Name darunter". */
  html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt { padding-top: 0; }
  html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person {
    margin: 0 -18px 20px; padding: 0 0 20px !important; border-bottom: 1px solid rgba(255, 255, 255, .2);
  }
  html[data-g-sl-kontaktfarbe="hell"][data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person { border-bottom-color: rgba(5, 28, 44, .15); }
  html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__wer {
    position: static; padding: 18px 18px 0; background: none; text-shadow: none; color: inherit;
  }
  html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt :is(.g-sl-kontakt__name, .g-sl-kontakt__rolle) { color: inherit; }
  .g-sl .g-sl-kontakt .g-sl-kontakt__tel a { font-size: 22px; }
  /* Knopf darf umbrechen, der Pfeil bleibt ganz (war abgeschnitten). */
  .g-sl .g-sl-kontakt a.g-sl-knopf { display: flex !important; justify-content: space-between; padding: 12px 16px !important; white-space: normal; }
  .g-sl .g-sl-kontakt a.g-sl-knopf::after { flex: none; }
  .g-sl a.g-sl-kontakt__person { flex-direction: column; align-items: flex-start !important; }
  /* Koepfe in einer Reihe passen nicht: Namen ragten aus der Spalte. Dann als Liste. */
  html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 0 !important; }
  html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste li { border-bottom: 1px solid var(--g-sl-linie); }
  html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste li a { flex-direction: row; gap: 14px; padding: 12px 0 !important; text-align: left; }
  html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste img { width: 56px; height: 56px; }
}
/* Ganz schmal (Tablet, Leiste daneben: 226 px): Nummer passt bei 120 % sonst nicht. */
@container g-leiste (max-width: 250px) {
  .g-sl .g-sl-kontakt { padding-left: 14px; padding-right: 14px; }
  html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt a.g-sl-kontakt__person { margin-left: -14px; margin-right: -14px; }
  html[data-g-sl-kontakt="portrait"] .g-sl .g-sl-kontakt .g-sl-kontakt__portrait { width: calc(100% + 28px); margin: 0 -14px 18px; }
  html[data-g-sl-kontakt="portrait-name"] .g-sl .g-sl-kontakt .g-sl-kontakt__wer { padding-left: 14px; padding-right: 14px; }
  .g-sl .g-sl-kontakt .g-sl-kontakt__tel a { font-size: 18px; }
  /* "Kontaktformular" fuellt die Zeile allein - der Pfeil stand ausserhalb. */
  .g-sl .g-sl-kontakt a.g-sl-knopf { display: block !important; padding: 12px 14px !important; }
  .g-sl .g-sl-kontakt a.g-sl-knopf::after { content: none; }
}
/* Marken (Tags) duerfen in der schmalen Leiste nicht ueber den Rand ragen. */
.g-sl a.g-chip { max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }

/* Tablet (768-1023 px): Bei Beitraegen und Gegnerseiten war die Leiste nur
 * 226 px schmal. Neu: Text ueber die ganze Breite, die Leiste darunter in
 * zwei Spalten. */
@media (min-width: 768px) and (max-width: 1023px) {
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right > :is(.content-container.span8, .sidebar-container.span4) {
    float: none !important; width: auto !important;
  }
  /* Zwei Spalten wie im Zeitungssatz statt Raster: Im Raster blieb unter dem
   * Kontaktkasten (span 2) eine Luecke von 338 px. Jeder Block bleibt ganz. */
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .g-sl {
    display: block; columns: 2; column-gap: 36px;
    margin: 8px 0 16px; padding-top: 48px; border-top: 1px solid var(--g-sl-rand);
  }
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .g-sl > * {
    break-inside: avoid; margin: 0 0 44px;
  }
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .g-sl > :is(.g-sl-mit, .g-sl-inhalt) { display: none; }
  /* Das Kontaktband steht schon nach dem Text - in der Leiste nicht noch einmal. */
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]):not([data-g-beitrag-kontakt="leiste"]) :is(.single-portfolio, .single-gegner) .g-sl--voll > .g-sl-kontakt { display: none; }
  /* Spalte mittig und begrenzt: Text und Leiste enden buendig (rund 42 Geviert). */
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .container.container-sidebar_right {
    width: auto !important; max-width: 840px; margin-left: auto !important; margin-right: auto !important; padding-left: 32px !important; padding-right: 32px !important; box-sizing: border-box;
  }
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right > .content-container.span8 { padding-right: 15px !important; }
}
/* 1024-1199 px (iPad quer): Text stand 13 px vom Rand. */
@media (min-width: 1024px) and (max-width: 1199px) {
  :is(.single-portfolio, .single-gegner) .container.container-sidebar_right { width: auto !important; margin-left: 32px !important; margin-right: 32px !important; }
  html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right > .content-container.span8 { padding-right: 40px !important; }
}

/* Rechner: mehr Luft zwischen Text und Leiste (bisher 30 px), kuerzere Zeilen. */
@media (min-width: 1200px) {
  html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) .row.sidebar_right > .content-container.span8 { padding-right: 56px; }
}

@media (max-width: 767px) {
  .g-sl { gap: 40px; margin-top: 56px; }
  html[data-g-sl-mobil="kurz"] .g-sl :is(.g-sl-team, .g-sl-tags) { display: none; }
  /* Kurz: Verweislisten als Marken - die 13 Fachgebiete standen 720 px hoch. */
  html[data-g-sl-mobil="kurz"] .g-sl :is(.g-sl-gebiete) .g-sl-liste { display: flex !important; flex-wrap: wrap; gap: 8px; padding-top: 16px !important; }
  html[data-g-sl-mobil="kurz"] .g-sl :is(.g-sl-gebiete) .g-sl-liste li { border: 0; }
  html[data-g-sl-mobil="kurz"] .g-sl :is(.g-sl-gebiete) .g-sl-liste li a {
    display: inline-block !important; padding: 7px 14px !important;
    border: 1px solid #bfcbd6; border-radius: 999px; background: #fff;
    font-size: 15px; color: var(--g-blau) !important; box-shadow: none !important;
  }
  html[data-g-sl-mobil="kurz"] .g-sl :is(.g-sl-gebiete) .g-sl-liste li a::after { content: none; }
  html[data-g-sl-mobil="kurz"] .g-sl :is(.g-sl-gebiete) .g-sl-liste li.g-sl-aktiv a { border-color: var(--g-akzent); background: var(--g-hell); }
  html[data-g-sl-mobil="kurz"]:not([data-g-sl-rechtsgebiete="bisher"]) .g-sl .g-sl-gebiete:has(.g-sl-liste--menue) .g-sl-liste--sechs { display: none !important; }
  html[data-g-sl-mobil="kurz"][data-g-sl-rechtsgebiete="bisher"] .g-sl .g-sl-liste--menue { display: none !important; }
  html[data-g-sl-titel="versal"] .g-sl .g-sl-titel.g-sl-titel { font-size: 15px !important; }
  .g-sl .g-sl-team__liste .g-sl-team__rolle { font-size: 15px; }
  html[data-g-sl-team="koepfe"] .g-sl .g-sl-team__liste .g-sl-team__name { font-size: 15px; }
  a.g-chip { font-size: 15px; }
  /* Das Kontaktband steht schon nach dem Text - unten nicht noch einmal. */
  html:not([data-g-beitrag-kontakt="leiste"]) :is(.single-portfolio, .single-gegner) .g-sl--voll .g-sl-kontakt { display: none; }
}

/* ================================================== BEITRAG UND GEGNER */

/* --------------------------------------------------------- Kopf: Bild */
.g-kopfbild { display: none; position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; pointer-events: none; }
html[data-g-beitrag-kopfbild="passend"] .g-kb-gegner,
html[data-g-beitrag-kopfbild="wechselnd"] .g-kopfbild--wechsel,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-abmahnung="finger"] .g-kb-abmahnung-finger,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-abmahnung="blau"] .g-kb-abmahnung-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-abmahnung="gesetz"] .g-kb-abmahnung-gesetz,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-urheberrecht="blau"] .g-kb-urheberrecht-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-urheberrecht="buch"] .g-kb-urheberrecht-buch,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-urheberrecht="fassade"] .g-kb-urheberrecht-fassade,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-markenrecht="blau"] .g-kb-markenrecht-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-markenrecht="justitia"] .g-kb-markenrecht-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-markenrecht="gerichtshaus"] .g-kb-markenrecht-gerichtshaus,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-wettbewerbsrecht="blau"] .g-kb-wettbewerbsrecht-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-wettbewerbsrecht="saeule"] .g-kb-wettbewerbsrecht-saeule,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-wettbewerbsrecht="justitia"] .g-kb-wettbewerbsrecht-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-datenschutz="blau"] .g-kb-datenschutz-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-datenschutz="laptop"] .g-kb-datenschutz-laptop,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-datenschutz="justitia"] .g-kb-datenschutz-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-e-commerce="justitia"] .g-kb-e-commerce-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-e-commerce="laptop"] .g-kb-e-commerce-laptop,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-e-commerce="buero"] .g-kb-e-commerce-buero,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-arbeitsrecht="blau"] .g-kb-arbeitsrecht-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-arbeitsrecht="akten"] .g-kb-arbeitsrecht-akten,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-arbeitsrecht="team"] .g-kb-arbeitsrecht-team,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-negative-bewertungen="bildschirm"] .g-kb-negative-bewertungen-bildschirm,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-negative-bewertungen="laptop"] .g-kb-negative-bewertungen-laptop,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-negative-bewertungen="justitia"] .g-kb-negative-bewertungen-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-vertragsrecht="gesetz"] .g-kb-vertragsrecht-gesetz,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-vertragsrecht="akten"] .g-kb-vertragsrecht-akten,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-vertragsrecht="blau"] .g-kb-vertragsrecht-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-versicherungsrecht="justitia"] .g-kb-versicherungsrecht-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-versicherungsrecht="gerichtshaus"] .g-kb-versicherungsrecht-gerichtshaus,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-versicherungsrecht="akten"] .g-kb-versicherungsrecht-akten,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-presserecht="fassade"] .g-kb-presserecht-fassade,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-presserecht="buch"] .g-kb-presserecht-buch,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-presserecht="blau"] .g-kb-presserecht-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-sonst="blau"] .g-kb-sonst-blau,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-sonst="justitia"] .g-kb-sonst-justitia,
html[data-g-beitrag-kopfbild="passend"][data-g-kopfbild-sonst="gerichtshaus"] .g-kb-sonst-gerichtshaus { display: block; }
.gt3-page-title_has_img_bg:has(> .g-kopfbild) { position: relative; }
.gt3-page-title_has_img_bg > .g-kopfbild ~ .gt3-page-title__inner { position: relative; z-index: 1; }

/* --------------------------------------------------------- Kopf: Titel
 * Lange Titel liefen am Telefon ueber den Rand ("Rechtsdienstleistung"
 * breiter als 390 px) und standen auf 300 px Hoehe festgenagelt. */
html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title_wrapper .gt3-page-title {
  height: auto !important;
  min-height: 300px;
  padding-bottom: 44px !important;
}
html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title h1 {
  max-width: 21em; margin-left: auto; margin-right: auto;
  font-size: clamp(27px, 1.6vw + 18px, 44px) !important;
  line-height: 1.24 !important;
  text-wrap: balance;
  /* Nur lange Woerter trennen ("Rechtsdienst-leistung"), nicht "Vorge-hen". */
  -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 13 6 5;
  -webkit-hyphenate-limit-before: 6; -webkit-hyphenate-limit-after: 5;
  overflow-wrap: break-word;
}
/* Sehr lange Bindestrichwoerter (g-nb-lang, ab 25 Zeichen, beitraege.mjs) sind
 * breiter als die Zeile: Sie duerfen auf jeder Breite am Bindestrich brechen und
 * werden getrennt. Vorher lief "Pkw-Energieverbrauchskennzeichnungsverordnung"
 * bei 768-1000 px aus dem Kopf und wurde abgeschnitten. */
html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title h1 .schenk-nb.g-nb-lang {
  white-space: normal; -webkit-hyphens: auto; hyphens: auto;
}
html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title_meta {
  margin-bottom: 12px;
}

/* Dachzeile: Datum und Rechtsgebiet (Beitraege) bzw. "Abmahnung" (Gegner) */
.g-dach { display: none; }
html:not([data-g-beitrag-kopf="original"]):not([data-g-beitrag-meta="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .g-dach {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 2px 0;
  margin: 0 0 16px !important;
  font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5;
  /* Auf dem hellsten Fotogrund unter dem Schleier mindestens 5:1 */
  color: #e3eef8; text-shadow: 0 1px 10px rgba(5, 28, 44, .55);
}
.g-dach .g-dach__datum:not(:last-child)::after { content: "\00B7"; margin: 0 .7em; }
.g-dach .g-dach__name + .g-dach__name::before { content: ", "; }
.g-dach a.g-dach__name { color: #e3eef8 !important; text-decoration: none !important; border-bottom: 1px solid rgba(227, 238, 248, .55); }
.g-dach a.g-dach__name:is(:hover, :focus-visible) { color: #fff !important; border-bottom-color: #fff; }
/* Mit Dachzeile steht das Datum im Kopf - die Zeile ueber dem Text entfaellt. */
html:not([data-g-beitrag-kopf="original"]):not([data-g-beitrag-meta="original"]) .single-portfolio #main_content .listing_meta { display: none !important; }

/* Kopf linksbuendig wie die Schwerpunktseiten */
html[data-g-beitrag-kopf="links"] :is(.single-portfolio, .single-gegner) .gt3-page-title :is(.gt3-page-title__content, .page_title, h1) { text-align: left !important; }
html[data-g-beitrag-kopf="links"] :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title h1 { margin-left: 0 !important; max-width: 19em; }
html[data-g-beitrag-kopf="links"]:not([data-g-beitrag-meta="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .g-dach.g-dach { justify-content: flex-start; }
html[data-g-beitrag-kopf="links"] :is(.single-portfolio, .single-gegner) .gt3-page-title_has_img_bg:has(> .g-kopfbild)::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 28, 44, .78) 0%, rgba(5, 28, 44, .5) 48%, rgba(5, 28, 44, 0) 100%);
}
html[data-g-beitrag-kopf="links"] :is(.single-portfolio, .single-gegner) .gt3-page-title__content { text-shadow: 0 1px 18px rgba(5, 28, 44, .35); }

@media (min-width: 768px) and (max-width: 1023px) {
  /* Der Titel steht buendig mit der mittigen Textspalte (Tabellenzelle bleibt - sie zentriert senkrecht). */
  html:not([data-g-sl-tablet="daneben"]):not([data-g-seitenleiste="original"]):not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .container {
    width: auto !important; padding-left: max(32px, calc((100vw - 840px) / 2 + 32px)) !important; padding-right: max(32px, calc((100vw - 840px) / 2 + 32px)) !important; box-sizing: border-box;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  :is(.single-portfolio, .single-gegner) .gt3-page-title .container { width: auto !important; padding-left: 32px !important; padding-right: 32px !important; }
}
@media (max-width: 767px) {
  /* Oben liegt der 140 px hohe Telefonkopf ueber dem Bild (Theme: padding-top 140px). */
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title_wrapper .gt3-page-title {
    min-height: 0; padding-top: 168px !important; padding-bottom: 36px !important;
  }
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .container { padding-left: 20px !important; padding-right: 20px !important; }
  /* 10-basis.css vergroessert den Titelblock mit zoom - 24 px ergeben 26-29 px.
   * Das Theme sperrt h1 mit -1,45 px; bei 24 px stiessen die Buchstaben aneinander. */
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title h1 { font-size: 24px !important; line-height: 1.28 !important; letter-spacing: -.01em !important; }
  /* Bei 360 px lief "DFB-Wirtschaftsdienste" rechts aus dem Bild: Lange
   * Woerter frueher trennen, als Notbremse ueberall umbrechen. */
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title h1 {
    hyphenate-limit-chars: 10 4 4; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; overflow-wrap: anywhere;
  }
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .gt3-page-title__content { max-width: 100%; box-sizing: border-box; }
  /* Woerter mit Bindestrich haelt der Paketbau zusammen (schenk-nb, nowrap).
   * "DFB-Wirtschaftsdienste" ist am Telefon aber breiter als die Zeile und
   * lief aus dem Bild: Hier darf es am Bindestrich brechen ("DFB-" am
   * Zeilenende). Reicht das nicht, wird mit Trennstrich getrennt - "manual"
   * brach "...kennze|ichnungs..." ohne Strich (overflow-wrap). */
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .page_title h1 .schenk-nb {
    white-space: normal; -webkit-hyphens: auto; hyphens: auto;
  }
  /* Der Kopf ist im Theme eine Tabelle; Tabellen wachsen auf das laengste
   * Wort ("Wirtschaftsdienste", bei 120 % 347 px) und schoben den Titel
   * rechts aus dem Fenster - Trennung greift dort nicht. Am Telefon zentriert
   * nichts mehr senkrecht (Hoehe ergibt sich aus dem Rand), also Bloecke. */
  html:not([data-g-beitrag-titel="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title_wrapper :is(.gt3-page-title, .gt3-page-title__inner, .gt3-page-title .container, .gt3-page-title__content) {
    display: block !important; width: auto !important;
  }
  /* 13,5 px x Zoom 1,1 ergab 14,9 px - jetzt 15,4 px. */
  html:not([data-g-beitrag-kopf="original"]):not([data-g-beitrag-meta="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .g-dach { font-size: 14px; letter-spacing: .1em; margin-bottom: 12px !important; }
  html[data-g-groesse="100"]:not([data-g-beitrag-kopf="original"]):not([data-g-beitrag-meta="original"]) :is(.single-portfolio, .single-gegner) .gt3-page-title .g-dach { font-size: 15px; }
  /* Gleicher Rand wie der Text darunter (20 px), nicht 7,5 %. */
  html[data-g-beitrag-kopf="links"] :is(.single-portfolio, .single-gegner) .gt3-page-title .container { padding-left: 20px !important; padding-right: 20px !important; }
  html[data-g-beitrag-kopf="links"] :is(.single-portfolio, .single-gegner) .gt3-page-title_has_img_bg:has(> .g-kopfbild)::after { background: linear-gradient(180deg, rgba(5, 28, 44, .2), rgba(5, 28, 44, .5)); }
}

/* Luft zwischen Textende und Fusszeile (die Vor/Zurueck-Kacheln klebten daran). */
@media (min-width: 768px) {
  :is(.single-portfolio, .single-gegner) #main_content { padding-bottom: 72px; }
}

/* ------------------------------------------------- Datum und Rechtsgebiet */
html[data-g-beitrag-meta="original"] .g-meta-kat { display: none !important; }
html:not([data-g-beitrag-meta="original"]) .g-kopf-kat { display: none !important; }
/* Die Redaktionsvorlage schliesst .listing_meta_wrap erst nach dem Text -
 * deshalb der Abstand an .listing_meta, nicht an der Huelle. */
html:not([data-g-beitrag-meta="original"]) .single-portfolio #main_content .listing_meta_wrap { margin: 0 !important; padding: 0 !important; }
html:not([data-g-beitrag-meta="original"]) .single-portfolio #main_content .listing_meta {
  display: flex; flex-wrap: wrap; align-items: baseline;
  margin: 0 0 26px !important;
  font-size: calc(15px * var(--g-z)) !important; line-height: 1.5 !important;
  letter-spacing: .02em !important; text-transform: none !important;
}
html:not([data-g-beitrag-meta="original"]) .single-portfolio #main_content .listing_meta .post_date {
  font-weight: 600 !important; text-transform: none !important; color: var(--g-text-leise) !important;
}
/* Das Theme setzt "|" hinter jedes nicht-letzte Element der Zeile; das
 * Datum war bisher das letzte. */
.single-portfolio #main_content .listing_meta .post_date::after { content: none !important; }
.single-portfolio #main_content .g-meta-kat .g-meta-kat__name {
  font-weight: 600; text-transform: none; color: var(--g-akzent) !important; text-decoration: none !important;
}
.single-portfolio #main_content .g-meta-kat .g-meta-kat__name::before { content: "\00B7"; display: inline-block; margin: 0 .6em; color: var(--g-text-leise); }
.single-portfolio #main_content .g-meta-kat .g-meta-kat__name:empty { display: none; }
.single-portfolio #main_content .g-meta-kat a.g-meta-kat__name:is(:hover, :focus-visible) { color: var(--g-blau) !important; text-decoration: underline !important; text-underline-offset: .2em; }

/* -------------------------------------------------------------- Lesetext */
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content {
  font-size: calc(16.5px * var(--g-z));
  color: var(--g-text);
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p, li):not([class*="g-"]) {
  font-size: inherit !important;
  line-height: var(--g-lh) !important;
  letter-spacing: var(--g-ls);
  color: var(--g-text);
  /* Lange Adressen im Text ("http://ec.europa.eu/consumers/odr") brechen am
   * Telefon am Rand statt hinauszuragen. */
  overflow-wrap: break-word;
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content p { margin: 0 0 1.1em; }
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content p.g-leer { display: none; }
/* Word-Absaetze tragen margin-bottom:0cm im style und lebten von leeren
 * Absaetzen als Abstand. Die sind jetzt weg - der Abstand kommt von hier. */
/* :where() haelt die Spezifitaet niedrig - Vorspann, Strich-Listen und
 * Empfehlungskasten setzen ihre eigenen Abstaende. */
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content p:where(:not([class*="g-"]):not(:is(li, td, th) p)) {
  margin-top: 0 !important; margin-bottom: 1.1em !important;
}
/* Blocksatz aus dem Altbestand (646 Beitraege, style="text-align:justify")
 * riss am Telefon Wortluecken wie "wegen      Verletzung". Flattersatz. */
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is([style*="justify"], [align="justify"]) {
  text-align: left !important;
}
/* Eingebettete Groessen aus Word (<span style="font-size:10.0pt">, 9pt, 11pt,
 * <font size="3">) ergaben 13,3 px als zweite Groesse im Fliesstext. Ein Text,
 * eine Groesse; feste Zeilenhoehen aus Word ebenso. */
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p, li, blockquote, td, th, dd, dt, h2, h3, h4) :is([style*="font-size"], font[size]) {
  font-size: inherit !important;
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p, li, blockquote, td, th, dd, dt) [style*="line-height"] {
  line-height: inherit !important;
}
/* Verweise im Text: Hausblau, unterstrichen, Hover dunkler */
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p, li):not([class*="g-"]) :is(a:not([class]), a.g-tel, a.g-mail) {
  color: var(--g-akzent) !important;
  text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: .18em;
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p, li):not([class*="g-"]) :is(a:not([class]), a.g-tel, a.g-mail):is(:hover, :focus-visible) {
  color: var(--g-blau) !important; text-decoration-thickness: 2px !important;
}
#main_content :is(a.g-tel, a.g-mail) { white-space: nowrap; }
/* Telefon und Mail im Text: "bisher" = nicht antippbar, wie normaler Text */
html[data-g-text-kontakt="original"] #main_content :is(a.g-tel, a.g-mail) {
  color: inherit !important; text-decoration: none !important; pointer-events: none; cursor: text; white-space: normal;
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(table) { width: 100%; border-collapse: collapse; margin: 1.2em 0 1.6em; font-size: .94em; }
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(td, th) { border: 1px solid var(--g-sl-rand); padding: .55em .7em; vertical-align: top; }

/* Vorspann: nur ein KURZER erster Absatz (bis 280 Zeichen) wird abgesetzt -
 * als eigenes Element, nicht als zweite Groesse im Fliesstext. */
html[data-g-beitrag-einstieg="vorspann"] :is(.single-portfolio, .single-gegner) #main_content p[data-g-vorspann] {
  margin: .1em 0 1.7em !important; padding: .15em 0 .15em 1.15em !important;
  border-left: 2px solid var(--g-akzent);
  font-family: var(--g-serif) !important;
  font-size: 1.06em !important; line-height: 1.66 !important; letter-spacing: 0 !important;
  color: var(--g-blau) !important;
}
html[data-g-beitrag-einstieg="vorspann"] :is(.single-portfolio, .single-gegner) #main_content p[data-g-vorspann] :not(a) { font-family: var(--g-serif) !important; }
html[data-g-beitrag-einstieg="linie"] :is(.single-portfolio, .single-gegner) #main_content p[data-g-vorspann] {
  margin: .1em 0 1.6em !important; padding: .1em 0 .1em 1.1em !important;
  border-left: 3px solid var(--g-akzent);
  font-weight: 500; color: var(--g-kanzleiblau) !important;
}

/* Zwischenueberschriften: echte h2-h4 und fette Einzelzeilen */
html:not([data-g-beitrag-zwischen="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p.g-zw, h2:not([class*="g-"]), h3:not([class*="g-"]), h4:not([class*="g-"])) {
  margin: 1.75em 0 .55em !important;
  font-family: var(--g-serif) !important;
  font-size: 1.28em !important; line-height: 1.38 !important; font-weight: 400 !important;
  letter-spacing: 0 !important; text-transform: none !important;
  color: var(--g-blau) !important;
  text-wrap: balance;
  scroll-margin-top: 110px;
}
html:not([data-g-beitrag-zwischen="original"]) :is(.single-portfolio, .single-gegner) #main_content h2:not([class*="g-"]) { font-size: 1.42em !important; }
html:not([data-g-beitrag-zwischen="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p.g-zw, h2:not([class*="g-"]), h3:not([class*="g-"]), h4:not([class*="g-"])) :is(strong, b, span) {
  font-family: var(--g-serif) !important; font-weight: 400 !important; font-size: inherit !important; color: inherit !important;
}
/* Telefon: 25,8 px Baskerville in 330 px Spalte brach mitten im Wort
 * ("Verarbeitungsverzeichni / s"). Kleiner und mit Silbentrennung. */
@media (max-width: 600px) {
  html:not([data-g-beitrag-zwischen="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(p.g-zw, h2:not([class*="g-"]), h3:not([class*="g-"]), h4:not([class*="g-"])) {
    font-size: calc(19px * var(--g-z)) !important; line-height: 1.36 !important;
    -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 5 5; -webkit-hyphenate-limit-before: 5; -webkit-hyphenate-limit-after: 5; overflow-wrap: break-word;
  }
  html:not([data-g-beitrag-zwischen="original"]) :is(.single-portfolio, .single-gegner) #main_content h2:not([class*="g-"]) { font-size: calc(20px * var(--g-z)) !important; }
}

/* ---------------------------------------------- Inhaltsverzeichnis oben */
#main_content .g-inhalt { display: none; }
html[data-g-beitrag-inhalt="oben"] #main_content .g-inhalt:not(.g-inhalt--klapp) { display: block; }
@media (max-width: 1023px) {
  html[data-g-beitrag-inhalt="leiste"] #main_content .g-inhalt:not(.g-inhalt--klapp) { display: block; }
}
/* Telefon: eingeklappt ("Auf dieser Seite (12)"), Regler beitrag-inhalt-mobil */
@media (max-width: 767px) {
  html:not([data-g-beitrag-inhalt="aus"]):not([data-g-beitrag-inhalt-mobil="offen"]) #main_content .g-inhalt.g-inhalt--offen { display: none; }
  html:not([data-g-beitrag-inhalt="aus"]):not([data-g-beitrag-inhalt-mobil="offen"]) #main_content .g-inhalt.g-inhalt--klapp { display: block; }
}
#main_content .g-inhalt.g-inhalt--klapp { padding: 0; }
#main_content .g-inhalt--klapp details > summary.g-inhalt__titel {
  display: flex; align-items: center; gap: .35em;
  margin: 0 !important; padding: .95em 1.3em; min-height: 48px; box-sizing: border-box;
  list-style: none; cursor: pointer; text-align: left;
}
#main_content .g-inhalt--klapp details > summary::-webkit-details-marker { display: none; }
#main_content .g-inhalt--klapp details > summary::after {
  content: ""; flex: none; width: .55em; height: .55em; margin: 0 .2em 0 auto;
  border-right: 2px solid var(--g-akzent); border-bottom: 2px solid var(--g-akzent);
  transform: translateY(-25%) rotate(45deg); transition: transform .2s ease;
}
#main_content .g-inhalt--klapp details[open] > summary::after { transform: translateY(20%) rotate(-135deg); }
#main_content .g-inhalt--klapp details > summary:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 2px; border-radius: var(--g-radius); }
#main_content .g-inhalt--klapp details > summary .g-inhalt__zahl { font-weight: 600; letter-spacing: 0; }
#main_content .g-inhalt--klapp details > .g-inhalt__liste { padding: 0 1.3em .9em !important; }
/* Rechner und Tablet: lange Verzeichnisse (ab 7) zweispaltig - aber nur, wenn
 * jede Spalte breit genug ist. Bei sl-tablet=daneben (424 px) oder 1024 px mit
 * groesse=120 lief "Urlaubsabgeltungsanspruch" in die Nachbarspalte; dann
 * einspaltig (Spalte mindestens 215 px x Groesse). */
@media (min-width: 768px) {
  #main_content .g-inhalt--lang .g-inhalt__liste { columns: 2 calc(215px * var(--g-z, 1)); column-gap: 2.2em; }
}
/* Notbremse fuer noch laengere Woerter: trennen statt ueberlaufen */
#main_content .g-inhalt .g-inhalt__liste > li {
  -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 14 6 6; overflow-wrap: break-word;
}
#main_content .g-inhalt {
  margin: 1.9em 0 2.3em; padding: 1.3em 1.6em 1.1em;
  background: var(--g-hell); border-radius: var(--g-radius);
}
#main_content .g-inhalt .g-inhalt__titel {
  margin: 0 0 .7em !important;
  font-size: max(15px, calc(13.5px * var(--g-z))) !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase;
  color: var(--g-text-leise) !important;
}
#main_content .g-inhalt .g-inhalt__liste { margin: 0 !important; padding: 0 !important; list-style: none !important; counter-reset: g-inh; }
#main_content .g-inhalt .g-inhalt__liste > li {
  counter-increment: g-inh; position: relative; list-style: none !important;
  margin: 0 0 .45em !important; padding: 0 0 0 1.9em !important; break-inside: avoid;
  font-size: calc(16px * var(--g-z)) !important; line-height: 1.45 !important;
}
#main_content .g-inhalt .g-inhalt__liste > li::before {
  content: counter(g-inh) "." !important; position: absolute !important; left: 0 !important; top: 0 !important;
  display: block !important; width: auto !important; height: auto !important; background: none !important; border: 0 !important;
  font-size: inherit !important; line-height: inherit !important; font-weight: 600; color: var(--g-akzent) !important;
  direction: ltr !important; unicode-bidi: isolate;
}
/* Titel mit eigener Nummer ("1. Widerrufsfrist"): keine zweite davor */
#main_content .g-inhalt .g-inhalt__liste > li.g-inhalt__eigen { counter-increment: none; padding-left: 0 !important; }
#main_content .g-inhalt .g-inhalt__liste > li.g-inhalt__eigen::before { content: none !important; display: none !important; }
.g-sl .g-sl-inhalt .g-inhalt__liste li.g-inhalt__eigen { counter-increment: none; }
.g-sl .g-sl-inhalt .g-inhalt__liste li.g-inhalt__eigen a { grid-template-columns: 1fr; }
.g-sl .g-sl-inhalt .g-inhalt__liste li.g-inhalt__eigen a::before { content: none; }
#main_content .g-inhalt .g-inhalt__liste a.g-inhalt__a { color: var(--g-blau) !important; text-decoration: none !important; }
#main_content .g-inhalt .g-inhalt__liste a.g-inhalt__a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline !important; text-underline-offset: .2em; }

/* Aufzaehlungen: Punkt in Hausblau, buendig mit dem Text darueber */
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(ul, ol):not([class]) {
  margin: .3em 0 1.35em !important; padding: 0 !important; list-style: none !important;
}
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(ul, ol):not([class]) > li {
  position: relative; list-style: none !important;
  margin: 0 0 .5em !important; padding: 0 0 0 1.45em !important;
}
/* Das Theme gibt li::before eine eigene Schriftgroesse - deshalb sass der
 * Punkt auf Hoehe der Grossbuchstaben. Jetzt: Mitte der Kleinbuchstaben. */
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content ul:not([class]) > li::before {
  content: "" !important; display: block !important; position: absolute !important;
  font-size: inherit !important; line-height: inherit !important;
  left: .2em !important; top: calc(var(--g-lh) * .5em - 3.5px + .1em) !important;
  width: 7px !important; height: 7px !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important;
  background: var(--g-akzent) !important; opacity: 1 !important;
}
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content ol:not([class]) { counter-reset: g-ol; }
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content ol:not([class]) > li { counter-increment: g-ol; }
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content ol:not([class]) > li::before {
  content: counter(g-ol) "." !important; display: block !important; position: absolute !important;
  left: 0 !important; top: 0 !important; width: auto !important; height: auto !important;
  font-size: inherit !important; line-height: inherit !important;
  background: none !important; font-weight: 600; color: var(--g-akzent);
  direction: ltr !important; unicode-bidi: isolate;
}
/* Listen, in denen jeder Punkt fett ist (Gegnerseiten), wirkten wie Geschrei. */
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content :is(ul, ol):not([class]) > li :is(strong, b) { font-weight: 600; }
/* Kurze Listen (ab 8 Punkten, jeder unter 30 Zeichen) in Spalten */
@media (min-width: 600px) {
  html[data-g-beitrag-listen="spalten"] :is(.single-portfolio, .single-gegner) #main_content ul[data-g-kurz]:not([class]) { columns: 3 10em; column-gap: 2.2em; }
  html[data-g-beitrag-listen="spalten"] :is(.single-portfolio, .single-gegner) #main_content ul[data-g-kurz]:not([class]) > li { break-inside: avoid; }
}
/* Ganz kurze Listen (jeder Punkt unter 20 Zeichen, z. B. 15 Marken) auch am
 * Telefon zweispaltig - einspaltig standen sie 600 px hoch. */
@media (max-width: 599px) {
  html[data-g-beitrag-listen="spalten"] :is(.single-portfolio, .single-gegner) #main_content ul[data-g-kurz="eng"]:not([class]) { columns: 2; column-gap: 1.4em; }
  html[data-g-beitrag-listen="spalten"] :is(.single-portfolio, .single-gegner) #main_content ul[data-g-kurz="eng"]:not([class]) > li { break-inside: avoid; }
}
/* Absaetze mit Strich am Anfang ("- Keine Panik") als ruhige Liste: dichter,
 * haengender Einzug, der Strich bleibt das Listenzeichen. */
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content p[data-g-strich] {
  margin: 0 0 .45em !important; padding-left: 1.3em !important; text-indent: -1.3em;
}
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content p[data-g-strich]:not(:has(+ p[data-g-strich])) { margin-bottom: 1.2em !important; }
html:not([data-g-beitrag-listen="original"]) :is(.single-portfolio, .single-gegner) #main_content p[data-g-strich] .g-strich {
  display: inline-block; width: 1.3em; text-indent: 0; color: var(--g-akzent); font-weight: 600;
}

/* Zitate */
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content blockquote {
  margin: 1.6em 0 !important; padding: .2em 0 .2em 1.3em !important;
  border: 0 !important; border-left: 3px solid var(--g-akzent) !important;
  background: none !important; font-style: italic;
  color: var(--g-blau);
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content blockquote :is(p, p *) {
  font-family: var(--g-serif) !important; font-size: 1.04em !important; color: var(--g-blau) !important; letter-spacing: 0 !important;
}
html:not([data-g-beitrag-text="original"]) :is(.single-portfolio, .single-gegner) #main_content blockquote::before { content: none !important; }

/* ------------------------------------- Gegner: Empfehlung als Kasten */
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung {
  margin: 2em 0 2.3em; padding: 1.5em 1.7em .9em;
  background: var(--g-hell); border-left: 4px solid var(--g-akzent); border-radius: var(--g-radius);
}
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung > p:first-child {
  margin: 0 0 .8em !important;
  font-family: var(--g-serif) !important; font-size: 1.12em !important; line-height: 1.45 !important; letter-spacing: 0 !important;
  color: var(--g-blau) !important;
}
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung > p:first-child * { font-family: var(--g-serif) !important; font-weight: 400 !important; }
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung > ul { margin: 0 0 .6em !important; }
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung > ul > li { padding-left: 1.7em !important; }
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung > ul > li::before {
  content: "" !important; left: .15em !important; top: calc(var(--g-lh) * .5em - 6px) !important;
  width: .62em !important; height: .32em !important;
  border-radius: 0 !important; background: none !important;
  border-left: 2px solid var(--g-akzent) !important; border-bottom: 2px solid var(--g-akzent) !important;
  transform: rotate(-45deg);
}
html:not([data-g-gegner-empfehlung="original"]) .single-gegner #main_content .g-empfehlung > ul > li :is(strong, b) { font-weight: 500 !important; }

/* ------------------------------------------- Unter dem Text: Verweise */
#main_content :is(.g-unten, .g-schlagworte) { display: none; }
#main_content :is(.g-unten, .g-aehnlich, .g-blaettern, .g-kband)[hidden] { display: none !important; }
html[data-g-beitrag-tags="themen"] #main_content .g-unten--themen:not([hidden]),
html[data-g-beitrag-tags="nur-starke"] #main_content .g-schlagworte--stark,
html[data-g-beitrag-tags="unten"] #main_content .g-schlagworte--alle {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 36px 0 0;
}
#main_content :is(.g-unten, .g-schlagworte) .g-unten__titel {
  margin-right: 8px;
  font-size: max(15px, calc(13.5px * var(--g-z))); font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--g-text-leise);
}
html:not([data-g-groesse="100"]) #main_content :is(.g-unten, .g-schlagworte) a.g-chip { font-size: max(15px, calc(14px * var(--g-z))); }

/* ------------------------------------------------ Kontaktband nach dem Text */
.g-kband { display: none; }
html:not([data-g-beitrag-kontakt="leiste"]) #main_content .g-kband {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px 26px;
  margin: 52px 0 8px; padding: 26px 30px;
  background: var(--g-kanzleiblau); color: #fff; border-radius: var(--g-radius);
}
@media (min-width: 1200px) {
  html[data-g-sl-mitlaufen="ja"]:not([data-g-seitenleiste="original"]) #main_content .g-kband { display: none; }
}
html[data-g-sl-kontaktfarbe="nachtblau"] .g-kband { background: var(--g-blau) !important; }
html[data-g-sl-kontaktfarbe="hell"] .g-kband { background: var(--g-hell) !important; color: var(--g-blau) !important; }
.g-kband p { margin: 0 !important; }
.g-kband .g-kband__person { display: block; line-height: 0; }
.g-kband .g-kband__bild { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; border: 2px solid rgba(255, 255, 255, .35); }
.g-kband.g-kband .g-kband__name a {
  font-family: var(--g-serif) !important; font-size: calc(17px * var(--g-z)); line-height: 1.35;
  color: inherit !important; text-decoration: none !important;
}
.g-kband .g-kband__name a:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: .2em; }
.g-kband .g-kband__label {
  margin-top: 6px !important;
  font-size: calc(15px * var(--g-z)) !important; font-weight: 500; letter-spacing: .02em; line-height: 1.4 !important;
  color: var(--g-label-dunkel) !important;
}
.g-kband .g-kband__label::first-letter { text-transform: uppercase; }
html[data-g-sl-kontaktfarbe="hell"] .g-kband .g-kband__label { color: var(--g-akzent) !important; }
.g-kband.g-kband .g-kband__tel a {
  font-family: var(--g-serif) !important; font-size: calc(25px * var(--g-z)); line-height: 1.25; white-space: nowrap;
  color: inherit !important; text-decoration: none !important;
}
.g-kband .g-kband__tel a:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: .15em; }
.g-kband .g-kband__mail { margin-top: 4px !important; font-size: calc(15px * var(--g-z)) !important; line-height: 1.45 !important; color: inherit !important; }
.g-kband .g-kband__mail span { opacity: .9; }
.g-kband .g-kband__mail span::first-letter { text-transform: uppercase; }
.g-kband .g-kband__mail a { display: inline-block; max-width: 100%; color: inherit !important; text-decoration: underline !important; text-decoration-color: rgba(255, 255, 255, .5) !important; text-underline-offset: .2em; overflow-wrap: anywhere; }
html[data-g-sl-kontaktfarbe="hell"] .g-kband .g-kband__mail a { text-decoration-color: rgba(5, 28, 44, .35) !important; }
.g-kband a.g-kband__a { font-size: calc(16px * var(--g-z)); }
/* Das Band richtet sich nach der Breite der Textspalte (Huelle .g-kband-feld),
 * nicht nach dem Fenster: Mit "Leiste daneben" ist die Spalte am Tablet nur
 * 330 px breit - dort standen Name und Mailadresse Buchstabe fuer Buchstabe
 * untereinander. */
#main_content .g-kband-feld { container: g-kband / inline-size; }
@container g-kband (max-width: 620px) {
  html:not([data-g-beitrag-kontakt="leiste"]) #main_content .g-kband { grid-template-columns: auto minmax(0, 1fr); padding: 22px 20px 24px; gap: 16px 14px; margin-top: 44px; }
  .g-kband .g-kband__bild { width: 64px; height: 64px; }
  .g-kband.g-kband .g-kband__tel a { font-size: calc(20px * var(--g-z)); }
  .g-kband .g-kband__knopf { grid-column: 1 / -1; }
  .g-kband a.g-kband__a { display: flex !important; justify-content: space-between; white-space: normal; }
  .g-kband a.g-kband__a::after { flex: none; }
}
/* Sehr schmal (Leiste daneben bei 120 %): Foto ueber dem Text */
@container g-kband (max-width: 330px) {
  html:not([data-g-beitrag-kontakt="leiste"]) #main_content .g-kband { grid-template-columns: minmax(0, 1fr); padding: 20px 18px 22px; gap: 12px; }
  .g-kband.g-kband .g-kband__tel a { font-size: calc(19px * var(--g-z)); }
}
/* Mini in der Leiste (mitlaufend) */
.g-sl .g-kband.g-kband--mini {
  display: block; padding: 22px 22px 24px;
  background: var(--g-kanzleiblau); color: #fff; border-radius: var(--g-radius);
}
.g-sl .g-kband--mini .g-kband__person { float: left; margin: 0 14px 6px 0; }
.g-sl .g-kband--mini .g-kband__bild { width: 60px; height: 60px; }
.g-sl .g-kband--mini .g-kband__name a { font-size: 17px; }
.g-sl .g-kband--mini .g-kband__label { font-size: 15px !important; margin-top: 4px !important; }
.g-sl .g-kband--mini .g-kband__tel { clear: both; padding-top: 6px; }
.g-sl .g-kband--mini .g-kband__tel a { font-size: 24px; }
.g-sl .g-kband--mini .g-kband__mail { display: none; }
.g-sl .g-kband--mini .g-kband__knopf { margin-top: 16px !important; }
.g-sl .g-kband--mini a.g-kband__a { display: flex !important; justify-content: space-between; font-size: 16px; }

/* ------------------------------------------------------------ Karten */
.g-raster .schenk-k__bild { box-sizing: border-box; }
/* Lange Woerter ("Urheberrechtsverletzung") duerfen die Karte nicht sprengen. */
.g-raster > .schenk-k, .g-raster .schenk-k__text { min-width: 0; }
.g-raster .schenk-k__titel { overflow-wrap: break-word; -webkit-hyphens: manual; hyphens: manual; }
/* Kartenzeile: jeder Eintrag bleibt zusammen; am Telefon mind. 15 px. */
.g-raster .schenk-k__meta { font-size: 14px; }
.g-raster .schenk-k__meta :is(.g-k-m, time) { white-space: nowrap; font-size: inherit; }
.g-raster .schenk-k__link:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 4px; }
/* Doppeltes Foto auf derselben Seite: Kanzleifoto statt Wiederholung */
html:not([data-g-beitrag-kartenfotos="beitragsbild"]) .g-raster .g-k-doppelt .g-k-eigen { display: none !important; }
html[data-g-beitrag-kartenfotos="beitragsbild"] .g-raster .g-k-misch { display: none !important; }

/* Kartenform "frei" wie auf Aktuelles und in den Archiven */
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster.schenk-raster { gap: 40px 28px; }
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__link {
  border: 0; border-radius: 0; background: transparent; overflow: visible;
  box-shadow: none !important; transform: none !important;
}
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__bild { border-radius: var(--g-radius); }
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__bild img { transition: transform .45s ease; }
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__link:is(:hover, :focus-visible) .schenk-k__bild img { transform: scale(1.035); }
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__text { padding: 16px 2px 0; gap: 8px; }
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__titel {
  text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 5px;
  transition: color .2s, text-decoration-color .2s;
}
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__link:is(:hover, :focus-visible) .schenk-k__titel { color: var(--g-akzent); text-decoration-color: currentColor; }
html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster .schenk-k__meta { color: #56626d; }

/* ------------------------------------------------- Aehnliche Beitraege */
html[data-g-beitrag-aehnlich="original"] .g-aehnlich { display: none !important; }
html:not([data-g-beitrag-aehnlich="original"]) .schenk-aehnlich { display: none !important; }
#main_content .g-aehnlich { margin: 56px 0 8px; padding: 34px 0 0; border-top: 1px solid var(--g-sl-rand); }
#main_content :is(.g-aehnlich .g-aehnlich__titel, .g-faelle .g-faelle__titel) {
  margin: 0 !important;
  font-family: var(--g-serif) !important;
  font-size: calc(24px * var(--g-z)) !important; line-height: 1.3 !important; font-weight: 400 !important;
  color: var(--g-blau) !important; letter-spacing: 0 !important; text-transform: none !important;
}
#main_content :is(.g-aehnlich, .g-faelle) .schenk-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 24px 0 0; }
/* Die Kartenraster richten sich nach der Breite ihrer Spalte, nicht nach dem
 * Fenster: Am Tablet ist die Textspalte nur 480 px breit. */
#main_content :is(.g-aehnlich, .g-faelle) { container: g-karten / inline-size; }
/* Ungerade Zahl: erste Karte quer (Bild links, Text rechts) ueber beide Spalten */
@container g-karten (min-width: 561px) {
  #main_content .g-raster--ungerade > .schenk-k:first-child { grid-column: 1 / -1; }
  #main_content .g-raster--ungerade > .schenk-k:first-child .schenk-k__link { flex-direction: row; gap: 0; }
  #main_content .g-raster--ungerade > .schenk-k:first-child .schenk-k__bild { flex: 0 0 50%; aspect-ratio: auto; min-height: 220px; }
  html:not([data-g-beitrag-kartenstil="kasten"]) #main_content .g-raster--ungerade > .schenk-k:first-child .schenk-k__text { padding: 4px 0 0 26px; justify-content: center; }
}
#main_content :is(.g-aehnlich, .g-faelle) .schenk-k__bild { aspect-ratio: 16 / 9; }
html[data-g-beitrag-aehnlich="kompakt"] #main_content .g-aehnlich .schenk-k__bild { display: none; }
html[data-g-beitrag-aehnlich="kompakt"] #main_content .g-aehnlich .schenk-k__link { border-top: 3px solid var(--g-akzent); }

/* Schmale Spalte (Telefon, Tablet hochkant): eine Spalte. Standard: Bild
 * oben im Querformat, Titel darunter - kein 105 px Streifen mit halben
 * Gesichtern und viermal getrennten Titeln. */
@container g-karten (max-width: 560px) {
  .g-raster.schenk-raster { grid-template-columns: 1fr !important; gap: 30px !important; }
  .g-raster .schenk-k__meta { font-size: 15px; }
  .g-raster .schenk-k__titel { font-size: 18px; line-height: 1.36; }
  .g-raster .schenk-k__anriss { display: none; }
  html:is([data-g-beitrag-kartenmobil="gestapelt"], :not([data-g-beitrag-kartenmobil])) .g-raster .schenk-k__bild { aspect-ratio: 16 / 9 !important; }
  /* quer: Bild links, Text rechts (erster Durchgang) */
  html[data-g-beitrag-kartenmobil="quer"] .g-raster.schenk-raster { gap: 14px !important; }
  html[data-g-beitrag-kartenmobil="quer"] .g-raster .schenk-k__link { flex-direction: row; align-items: stretch; }
  html[data-g-beitrag-kartenmobil="quer"] .g-raster .schenk-k__bild { flex: none; width: 104px; aspect-ratio: auto !important; min-height: 104px; }
  /* Mit #main_content gleich stark wie die Regel fuer die freie Kartenform -
   * sonst klebte der Text ohne Abstand an der Bildkante. */
  html[data-g-beitrag-kartenmobil="quer"] #main_content .g-raster .schenk-k__text { padding: 10px 14px 12px; gap: 5px; }
  html[data-g-beitrag-kartenmobil="quer"] .g-raster .schenk-k__titel { font-size: 16.5px; -webkit-hyphens: auto; hyphens: auto; }
  /* ohne Bild: Titel mit Linie */
  html[data-g-beitrag-kartenmobil="ohne-bild"] .g-raster.schenk-raster { gap: 0 !important; }
  html[data-g-beitrag-kartenmobil="ohne-bild"] .g-raster .schenk-k__bild { display: none !important; }
  html[data-g-beitrag-kartenmobil="ohne-bild"] .g-raster .schenk-k { border-bottom: 1px solid var(--g-sl-linie); }
  html[data-g-beitrag-kartenmobil="ohne-bild"] .g-raster .schenk-k:first-child { border-top: 1px solid var(--g-sl-linie); }
  html[data-g-beitrag-kartenmobil="ohne-bild"] .g-raster .schenk-k__text { padding: 16px 2px 18px !important; }
  /* Hoechstens drei Karten mit Bild; die uebrigen als schlichte Titelliste
   * (fuenf 16:9-Karten untereinander waren 1.700 px). Regler beitrag-kartenzahl. */
  html:not([data-g-beitrag-kartenzahl="alle"]):not([data-g-beitrag-kartenmobil="ohne-bild"]) #main_content .g-raster.schenk-raster:has(> .schenk-k:nth-child(4)) { row-gap: 0 !important; }
  html:not([data-g-beitrag-kartenzahl="alle"]):not([data-g-beitrag-kartenmobil="ohne-bild"]) #main_content .g-raster.schenk-raster:has(> .schenk-k:nth-child(4)) > .schenk-k:nth-child(-n+3) { margin-bottom: 30px; }
  html[data-g-beitrag-kartenmobil="quer"]:not([data-g-beitrag-kartenzahl="alle"]) #main_content .g-raster.schenk-raster:has(> .schenk-k:nth-child(4)) > .schenk-k:nth-child(-n+3) { margin-bottom: 14px; }
  html:not([data-g-beitrag-kartenzahl="alle"]):not([data-g-beitrag-kartenmobil="ohne-bild"]) #main_content .g-raster > .schenk-k:nth-child(n+4) .schenk-k__bild { display: none !important; }
  html:not([data-g-beitrag-kartenzahl="alle"]):not([data-g-beitrag-kartenmobil="ohne-bild"]) #main_content .g-raster > .schenk-k:nth-child(n+4) { border-bottom: 1px solid var(--g-sl-linie); }
  html:not([data-g-beitrag-kartenzahl="alle"]):not([data-g-beitrag-kartenmobil="ohne-bild"]) #main_content .g-raster > .schenk-k:nth-child(4) { border-top: 1px solid var(--g-sl-linie); }
  html:not([data-g-beitrag-kartenzahl="alle"]):not([data-g-beitrag-kartenmobil="ohne-bild"]) #main_content .g-raster > .schenk-k:nth-child(n+4) .schenk-k__text { padding: 14px 2px 16px !important; }
}

/* ------------------------------------------------------- Vor / Zurueck */
html[data-g-beitrag-blaettern="original"] .g-blaettern { display: none !important; }
html:not([data-g-beitrag-blaettern="original"]) .single-portfolio .single_prev_next_posts { display: none !important; }
#main_content .g-blaettern {
  display: flex; flex-wrap: wrap; gap: 18px;
  margin: 44px 0 8px;
}
#main_content .g-blaettern > a.g-blaettern__link { flex: 1 1 250px; min-width: 0; }
#main_content .g-blaettern a.g-blaettern__link {
  display: flex; flex-direction: column; gap: 8px;
  padding: 20px 22px 22px;
  border: 1px solid var(--g-sl-rand); border-radius: var(--g-radius);
  background: #fff;
  text-decoration: none !important;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
#main_content .g-blaettern a.g-blaettern__link--vor { align-items: flex-end; text-align: right; }
/* Nur eine Kachel (neuester oder aeltester Beitrag): volle Breite, linksbuendig */
#main_content .g-blaettern.g-blaettern--eins > a.g-blaettern__link { flex: 1 1 100%; align-items: flex-start; text-align: left; }
#main_content .g-blaettern .g-blaettern__richtung {
  font-size: max(15px, calc(13.5px * var(--g-z))); font-weight: 600; letter-spacing: .07em; text-transform: uppercase;
  color: var(--g-akzent);
}
#main_content .g-blaettern a.g-blaettern__link--zurueck .g-blaettern__richtung::before { content: "\2190\00A0\00A0"; }
#main_content .g-blaettern a.g-blaettern__link--vor .g-blaettern__richtung::after { content: "\00A0\00A0\2192"; }
#main_content .g-blaettern .g-blaettern__link .g-blaettern__titel {
  font-family: var(--g-serif) !important;
  font-size: calc(16.5px * var(--g-z)); line-height: 1.45;
  color: var(--g-blau);
  text-wrap: pretty;
}
#main_content .g-blaettern a.g-blaettern__link:is(:hover, :focus-visible) {
  border-color: var(--g-akzent); background: #f5f8fc;
  box-shadow: 0 6px 18px rgba(5, 28, 44, .08);
}
#main_content .g-blaettern a.g-blaettern__link:is(:hover, :focus-visible) .g-blaettern__richtung { color: var(--g-blau); }
/* Telefon: beide Kacheln untereinander, linksbuendig, Pfeil vorn bzw. hinten */
@media (max-width: 767px) {
  #main_content .g-blaettern > a.g-blaettern__link { flex-basis: 100%; }
  #main_content .g-blaettern a.g-blaettern__link--vor { align-items: flex-start; text-align: left; }
  #main_content .g-blaettern .g-blaettern__link .g-blaettern__titel { font-size: calc(16px * var(--g-z)); }
}

/* ------------------------------------------ Gegner: Faelle als Karten */
html[data-g-gegner-faelle="original"] .g-faelle:not(.g-faelle--aehnlich) { display: none !important; }
html:not([data-g-gegner-faelle="alle-karten"]) .g-faelle--alle { display: none !important; }
html[data-g-gegner-faelle="alle-karten"] .g-faelle--passend { display: none !important; }
html:not([data-g-gegner-faelle="original"]) .single-gegner .schenk-thema { display: none !important; }
/* Aehnliche Beitraege: gemischt (je Seite andere) | neueste | aus */
html[data-g-gegner-aehnlich="aus"] .g-faelle--aehnlich { display: none !important; }
html:not([data-g-gegner-aehnlich="karten-neueste"]) .g-aeh--neueste { display: none !important; }
html[data-g-gegner-aehnlich="karten-neueste"] .g-aeh--gemischt { display: none !important; }
html[data-g-gegner-auffuellen="nein"] .g-faelle--auffuellen { display: none !important; }
#main_content .g-faelle { margin: 56px 0 8px; padding: 34px 0 0; border-top: 1px solid var(--g-sl-rand); }
#main_content .g-faelle .g-faelle__mehr { margin: 24px 0 0 !important; padding: 0 !important; list-style: none !important; }
#main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag {
  display: flex; justify-content: space-between; align-items: baseline; gap: 16px;
  margin: 0 !important; padding: 11px 0 !important;
  border-bottom: 1px solid var(--g-sl-linie);
  list-style: none;
}
#main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag:first-child { border-top: 1px solid var(--g-sl-linie); }
#main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag::before { content: none !important; display: none !important; }
#main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag a { font-size: calc(16px * var(--g-z)); line-height: 1.45; color: var(--g-text) !important; text-decoration: none !important; }
#main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag a:is(:hover, :focus-visible) { color: var(--g-akzent) !important; text-decoration: underline !important; text-underline-offset: .2em; }
#main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag span { flex: none; font-size: max(15px, calc(14px * var(--g-z))); color: var(--g-text-leise); white-space: nowrap; }
#main_content .g-faelle .g-faelle__hinweis { margin: 18px 0 0; font-size: calc(15px * var(--g-z)); color: var(--g-text-leise); }
/* Faelle und aufgefuellte Aehnliche stehen dicht beieinander, nicht als zwei Kapitel. */
#main_content .g-faelle:not(.g-faelle--aehnlich) + .g-faelle--auffuellen,
#main_content .g-faelle--auffuellen + .g-faelle--auffuellen { margin-top: 40px; }
@media (max-width: 640px) {
  #main_content .g-faelle .g-faelle__mehr li.g-faelle__eintrag { flex-direction: column; gap: 2px; }
}

/* -------------------------------------------------- Lesefortschritt
 * Lange Beitraege (ab vier Zwischenueberschriften oder 6.000 Zeichen): eine
 * duenne Linie in Hellblau ganz oben waechst mit dem Lesen. Nur CSS
 * (scroll-getriebene Animation); Browser ohne Unterstuetzung zeigen nichts. */
.g-fortschritt { display: none; }
@supports (animation-timeline: scroll()) {
  html[data-g-beitrag-fortschritt="ja"] .g-fortschritt {
    display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 100001;
    height: 3px; background: var(--g-hellblau); pointer-events: none;
    transform-origin: 0 50%; transform: scaleX(0);
    animation: g-fortschritt auto linear both; animation-timeline: scroll(root block);
  }
}
@keyframes g-fortschritt { to { transform: scaleX(1); } }

/* Archive am Telefon: Oben steht die Wischzeile der Fachgebiete (Ziel: Archive,
 * Regler archiv-themen). Unten in der Leiste dieselben Namen mit anderem Ziel
 * (Fachgebietsseiten) verwirrten - dort nur, wenn die Wischzeile aus ist. */
@media (max-width: 767px) {
  html:not([data-g-archiv-themen="original"]):not([data-g-seitenleiste="original"]) .g-ub-archiv aside.sidebar nav.g-sl-gebiete--fach { display: none; }
}

/* ===== 36-archiv.css ===== */
/**
 * Gestaltung B - Uebersichten und Globales (13.10.2026, zweiter Durchgang)
 *
 * /aktuelles/, Archive (/case/, /case-category/<x>/, /case-tag/<x>/), 404,
 * Fusszeile und Handymenue auf allen Seiten. Regler: optionen-archiv.json,
 * HTML: tools/lib/gestaltung/archiv.mjs.
 *
 * Koerperklassen (setzt das Modul): .g-ub = Aktuelles und Archive,
 * .g-ub-archiv = nur Archive, .g-fehler = 404.
 *
 * Die Seitenleiste der Archive gehoert dem Seitentyp "beitraege" und wird
 * hier nicht angefasst.
 */

/* Alles mit Mindesthoehe misst inklusive Innenabstand. */
.g-ub .isotope-filter--links a, .g-themen a, .g-ub-archiv .schenk-blaettern a, .g-archiv-zurueck, .g-archiv-fach,
.g-fehler .schenk-404 a, .g-fehler-suche input, .g-fehler-suche button, #footer #text-10 a, #footer .g-fuss-weg,
.mobile_menu_container .main-menu a { box-sizing: border-box; }

/* =============================================================== KARTEN */

/* Fotos fuer Karten ohne Beitragsbild. Das Modul setzt zwei Nummern:
 * data-g-foto (Vorrat je Rechtsgebiet) und data-g-foto-quer (quer gemischt);
 * der Regler ub-fotomischung waehlt. Erzeugt aus archiv.mjs (fotoPfad). */
/*FOTOS-ANFANG*/
.schenk-k__bild--leer[data-g-foto="6"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="6"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen6.jpg); }
.schenk-k__bild--leer[data-g-foto="7"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="7"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen7.jpg); }
.schenk-k__bild--leer[data-g-foto="8"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="8"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen8.jpg); }
.schenk-k__bild--leer[data-g-foto="9"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="9"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen9.jpg); }
.schenk-k__bild--leer[data-g-foto="10"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="10"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen10-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="11"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="11"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen11-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="12"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="12"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen12.jpg); }
.schenk-k__bild--leer[data-g-foto="13"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="13"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen13-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="14"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="14"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen14-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="15"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="15"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen15.jpg); }
.schenk-k__bild--leer[data-g-foto="16"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="16"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen16-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="17"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="17"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen17.jpg); }
.schenk-k__bild--leer[data-g-foto="18"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="18"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen18-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="19"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="19"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen19-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="20"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="20"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen20.jpg); }
.schenk-k__bild--leer[data-g-foto="21"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="21"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen21.jpg); }
.schenk-k__bild--leer[data-g-foto="22"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="22"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen22.jpg); }
.schenk-k__bild--leer[data-g-foto="23"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="23"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen23-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="24"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="24"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen24-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="25"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="25"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen25-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="26"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="26"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen26-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="44"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="44"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen44-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="45"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="45"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen45-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="46"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="46"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen46-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="47"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="47"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen47-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="48"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="48"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen48-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="49"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="49"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen49-800x533.jpg); }
.schenk-k__bild--leer[data-g-foto="50"], html[data-g-ub-fotomischung="quer"] .schenk-k__bild--leer[data-g-foto-quer="50"] { --g-kb: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen50-800x533.jpg); }
/*FOTOS-ENDE*/

/* Titel liefen in schmalen Spalten ueber den Rand
 * ("Berufsunfaehigkeitsversicherun"): trennen statt abschneiden - aber erst
 * lange Woerter und mit sechs Zeichen auf jeder Seite ("Anfor-derungen"
 * nicht mehr). */
:is(.g-ub, .g-fehler) .schenk-k__titel { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 15 7 7; }
:is(.g-ub, .g-fehler) .schenk-k__text { min-width: 0; }
:is(.g-ub, .g-fehler) .schenk-k__bild { box-sizing: border-box; }
:is(.g-ub, .g-fehler) :is(.schenk-k__anriss, .schenk-k__meta) { overflow-wrap: break-word; }
:is(.g-ub, .g-fehler) .schenk-k__link:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 4px; }
/* Datumszeile: ein Rechtsgebiet bricht nie in sich um ("E-/Commerce"). */
.schenk-k__meta .g-nw { white-space: nowrap; }

/* Rechtsgebiet auf der Bildflaeche in der Baskerville (das Grundsystem
 * hatte es auf die Fliesstextschrift gestellt). Nie getrennt. */
html:not([data-g-ub-kartenbild="original"]) :is(.g-ub, .g-fehler) .schenk-k .schenk-k__bild--leer > span {
  font-family: var(--g-serif) !important; -webkit-hyphens: manual !important; hyphens: manual !important;
}
.schenk-k__bild--leer > .g-bt-zweit { display: none; }

/* ---------------------------------------------------- Kartenform: frei */
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-raster { gap: 48px 32px; }
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__link {
  border: 0; border-radius: 0; background: transparent; overflow: visible;
  box-shadow: none !important; transform: none !important;
}
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__bild { border-radius: var(--g-radius); }
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__bild img { transition: transform .45s ease; }
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__link:is(:hover, :focus-visible) .schenk-k__bild img { transform: scale(1.035); }
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__text { padding: 20px 2px 0; gap: 10px; }
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__titel {
  font-size: 20px; line-height: 1.36;
  text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 5px;
  transition: color .2s, text-decoration-color .2s;
}
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__link:is(:hover, :focus-visible) .schenk-k__titel {
  color: var(--g-akzent); text-decoration-color: currentColor;
}
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__meta { font-size: 14px; color: #56626d; letter-spacing: .02em; }
html:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__anriss { color: #3b4b59; }

/* Flaeche: Text auf hellem Blaugrau, Bild buendig darueber. */
html[data-g-ub-karten="flaeche"] :is(.g-ub, .g-fehler) .schenk-k__link { background: var(--g-hell); border-radius: var(--g-radius); overflow: hidden; }
html[data-g-ub-karten="flaeche"] :is(.g-ub, .g-fehler) .schenk-k__bild { border-radius: 0; }
html[data-g-ub-karten="flaeche"] :is(.g-ub, .g-fehler) .schenk-k__text { padding: 20px 22px 26px; }
html[data-g-ub-karten="flaeche"] :is(.g-ub, .g-fehler) .schenk-raster { gap: 32px 28px; }

/* ------------------------------------------------ Bildflaeche ohne Bild
 * Das Foto liegt als ::before in der Flaeche, damit es beim Zeigen genauso
 * leicht waechst wie echte Beitragsbilder (vorher zoomten nur diese). */
html:is([data-g-ub-kartenbild="foto"], [data-g-ub-kartenbild="foto-natur"]) :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-foto] {
  position: relative; isolation: isolate; overflow: hidden;
  align-items: flex-end; justify-content: flex-start; text-align: left;
  --g-ton: linear-gradient(180deg, rgba(5, 28, 44, .30) 0%, rgba(5, 28, 44, .52) 45%, rgba(5, 28, 44, .90) 100%);
}
html:is([data-g-ub-kartenbild="foto"], [data-g-ub-kartenbild="foto-natur"]) :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-foto]::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--g-ton), var(--g-kb) center / cover no-repeat;
  transition: transform .45s ease;
}
html:is([data-g-ub-kartenbild="foto"], [data-g-ub-kartenbild="foto-natur"]):not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__link:is(:hover, :focus-visible) .schenk-k__bild--leer::before {
  transform: scale(1.035);
}
html[data-g-ub-kartenbild="foto"] :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-foto] { background: var(--g-kanzleiblau); padding: 20px 22px; }
html[data-g-ub-kartenbild="foto"] :is(.g-ub, .g-fehler) .schenk-k .schenk-k__bild--leer[data-g-foto] > span {
  font-size: 21px; line-height: 1.25; color: #fff; max-width: 100%; overflow-wrap: break-word;
  padding-top: 12px; border-top: 2px solid rgba(255, 255, 255, .7); transition: border-color .2s;
}
html[data-g-ub-kartenbild="foto"] :is(.g-ub, .g-fehler) .schenk-k__link:is(:hover, :focus-visible) .schenk-k__bild--leer > span { border-top-color: var(--g-hellblau); }
html[data-g-ub-kartenbild="foto-natur"] :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-foto] { background: var(--g-hell); padding: 16px; --g-ton: linear-gradient(transparent, transparent); }
html[data-g-ub-kartenbild="foto-natur"] :is(.g-ub, .g-fehler) .schenk-k .schenk-k__bild--leer[data-g-foto] > span {
  font-size: 16px; line-height: 1.3; color: var(--g-blau); background: #fff;
  padding: 8px 13px; border-radius: var(--g-radius);
}
html[data-g-ub-kartenbild="ohne"] :is(.g-ub, .g-fehler) .schenk-k__bild--leer { display: none; }
html[data-g-ub-kartenbild="ohne"] :is(.g-ub, .g-fehler) .schenk-k__link:has(.schenk-k__bild--leer) .schenk-k__text {
  border-top: 3px solid var(--g-akzent); padding-top: 18px;
}

/* Beschriftung auf dem Bild (Regler ub-bildtext). "fremd": nicht auf der
 * Seite des eigenen Fachgebiets - dort stuende zwoelfmal derselbe Name. */
html:is([data-g-ub-kartenbild="foto"], [data-g-ub-kartenbild="foto-natur"])[data-g-ub-bildtext="nie"] :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-foto] > span,
html:is([data-g-ub-kartenbild="foto"], [data-g-ub-kartenbild="foto-natur"]):is([data-g-ub-bildtext="fremd"], [data-g-ub-bildtext="zweites"]) :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-eigen] > span:first-child {
  display: none;
}
html:is([data-g-ub-kartenbild="foto"], [data-g-ub-kartenbild="foto-natur"])[data-g-ub-bildtext="zweites"] :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-eigen] > .g-bt-zweit { display: block; }
/* Ohne Beschriftung braucht das Foto unten keine dunkle Kante - nur einen
 * leichten Blauton. Das gilt fuer ALLE Karten eines Rasters, in dem ein
 * Fachgebiet gewaehlt ist (Archiv, gefiltertes /aktuelles/): Dort standen
 * vorher helle Fotos ohne Text neben dunkel verlaufenen mit Beschriftung -
 * wie zwei Gestaltungen gemischt. Die verbleibende Beschriftung (fremdes oder
 * zweites Rechtsgebiet) steht dort als Marke wie bei "foto-natur". */
html[data-g-ub-kartenbild="foto"][data-g-ub-bildtext="nie"] :is(.g-ub, .g-fehler) .schenk-k__bild--leer[data-g-foto],
html[data-g-ub-kartenbild="foto"]:is([data-g-ub-bildtext="fremd"], [data-g-ub-bildtext="zweites"]) :is(.g-ub, .g-fehler) .schenk-raster:has(.schenk-k__bild--leer[data-g-eigen]) .schenk-k__bild--leer[data-g-foto] {
  --g-ton: linear-gradient(rgba(5, 28, 44, .22), rgba(5, 28, 44, .22));
}
html[data-g-ub-kartenbild="foto"]:is([data-g-ub-bildtext="fremd"], [data-g-ub-bildtext="zweites"]) :is(.g-ub, .g-fehler) .schenk-raster:has(.schenk-k__bild--leer[data-g-eigen]) .schenk-k__bild--leer[data-g-foto] { padding: 16px; }
html[data-g-ub-kartenbild="foto"]:is([data-g-ub-bildtext="fremd"], [data-g-ub-bildtext="zweites"]) :is(.g-ub, .g-fehler) .schenk-raster:has(.schenk-k__bild--leer[data-g-eigen]) .schenk-k .schenk-k__bild--leer[data-g-foto] > span {
  font-size: 16px; line-height: 1.3; color: var(--g-blau); background: #fff; max-width: calc(100% - 8px);
  padding: 8px 13px; border: 0; border-radius: var(--g-radius);
}

/* -------------------------------------------- Telefon: kompakte Liste
 * Datum und Rechtsgebiete ueber die volle Breite, darunter Bild und Titel
 * nebeneinander. In der 242 px schmalen Textspalte neben dem Bild brach die
 * Zeile auf zwei bis vier Zeilen um ("06.08.2026 ·" allein), die Titel
 * standen weit unten. Kein Text faellt weg. */
@media (max-width: 640px) {
  html:not([data-g-ub-telefon="original"]) .g-ub .schenk-raster { gap: 0; margin-top: 22px; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k { border-bottom: 1px solid #dfe5ea; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k:first-child { border-top: 1px solid #dfe5ea; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__link {
    display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: start; align-content: start; column-gap: 16px; row-gap: 10px;
    height: auto; box-sizing: border-box; padding: 18px 0;
    border: 0; border-radius: 0; background: transparent; box-shadow: none !important; transform: none !important;
  }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__text { display: contents; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__meta { grid-column: 1 / -1; grid-row: 1; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__meta:empty { display: none; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__bild { grid-column: 1; grid-row: 2; width: 92px; aspect-ratio: 1; border-radius: var(--g-radius); padding: 0 !important; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__titel {
    grid-column: 2; grid-row: 2; margin-top: -3px; font-size: 17px; line-height: 1.36;
    hyphenate-limit-chars: 15 6 5; /* "Wettbewerbs-recht:" statt "Wettbewerbsrech/t:" in der schmalen Spalte */
  }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k .schenk-k__bild--leer > span { display: none !important; }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k .schenk-k__bild--leer[data-g-foto] { --g-ton: linear-gradient(rgba(5, 28, 44, .18), rgba(5, 28, 44, .18)); }
  html:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__anriss { display: none; }
  /* .schenk-k__text traegt sonst den Zoom der Schriftgroesse (--g-z); als
   * display: contents hat es keine Box mehr - Zoom an Zeile und Titel. */
  html:not([data-g-groesse="100"]):not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) :is(.schenk-k__meta, .schenk-k__titel) { zoom: var(--g-z); }
  /* Ohne Bildfeld: Titel ueber die volle Breite. */
  html[data-g-ub-kartenbild="ohne"]:not([data-g-ub-telefon="original"]) :is(.g-ub, .g-fehler .g-fehler-treffer) .schenk-k__link:has(.schenk-k__bild--leer) .schenk-k__titel { grid-column: 1 / -1; }
}
/* Am Telefon nie unter 15 px (Datum und Rechtsgebiet). */
@media (max-width: 767px) {
  :is(.g-ub, .g-fehler) .schenk-k__meta { font-size: 15px !important; line-height: 1.4; }
}

/* ============================================================ AKTUELLES */

/* ------------------------------------------------------------- Kopf
 * Wie die Archivkoepfe: 320 px, "Aktuelles" gross in der Baskerville, der
 * Satz nur einmal (als Anriss - die Ueberschrift wiederholte ihn woertlich).
 * Das Foto (Bremer Schluessel) bleibt. */
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf {
  position: relative; min-height: 320px !important; display: flex; align-items: flex-end; padding: 0 !important;
}
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 28, 44, .88) 0%, rgba(5, 28, 44, .62) 50%, rgba(5, 28, 44, .25) 100%);
}
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf > .elementor-container { position: relative; z-index: 1; width: 100%; min-height: 0 !important; align-items: flex-end; }
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf .elementor-widget-wrap { padding: 64px 10px 50px !important; align-content: flex-end; }
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf :is(.elementor-widget-spacer, .elementor-widget-heading:has(h3)) { display: none !important; }
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf .elementor-widget:not(:last-child) { margin-bottom: 0 !important; }
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf h4.elementor-heading-title {
  font-family: var(--g-serif) !important; font-size: 52px !important; line-height: 1.12 !important; font-weight: 400 !important;
  color: #fff !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0 0 16px !important;
}
html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf .elementor-widget-text-editor p {
  max-width: 36em; margin: 0 !important; font-size: 18px !important; line-height: 1.6 !important; color: rgba(255, 255, 255, .92) !important;
}
/* Tablet: zwischen Kopf (80 px) und Bild lag ein weisser Streifen von 36 px
 * (Theme: 116 px Abstand). Das Skript misst den Kopf (--g-kopf-h). */
@media (min-width: 768px) and (max-width: 1200px) {
  html:not([data-g-ub-kopf="original"]) .g-ub:not(.g-ub-archiv) .main_wrapper #main_content { margin-top: var(--g-kopf-h, 80px) !important; }
}
@media (max-width: 767px) {
  html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf { min-height: 230px !important; }
  html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf .elementor-widget-wrap { padding: 40px 10px 30px !important; }
  html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf h4.elementor-heading-title { font-size: 34px !important; margin-bottom: 12px !important; }
  html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf .elementor-widget-text-editor p { font-size: 16px !important; }
  /* Die zweite (leere) Spalte nimmt am Telefon nur Hoehe weg. */
  html:not([data-g-ub-kopf="original"]) .g-ub .g-akt-kopf .elementor-column:not(:first-child) { display: none; }
}

/* ------------------------------------------------- Filterleiste als Marken */
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  width: auto !important; max-width: 1080px; margin: 6px auto 8px; padding: 0; text-align: left;
}
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 !important;
  padding: 9px 17px; border: 1px solid #c3cdd6; border-radius: 22px; background: #fff;
  color: var(--g-blau) !important; font-size: 15px; font-weight: 500; line-height: 1.2;
  letter-spacing: .01em; text-transform: none; text-decoration: none !important; white-space: nowrap;
  transition: background-color .15s, border-color .15s, color .15s;
}
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a::before,
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a::after { display: none !important; }
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter--links a .schenk-zahl {
  margin: 0; font-size: inherit; font-weight: 400; color: #56626d; opacity: 1;
}
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a:is(:hover, :focus-visible) {
  border-color: var(--g-akzent); background: var(--g-hell); color: var(--g-blau) !important;
}
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 2px; }
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a.active {
  background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; text-decoration: none !important;
}
html:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links a.active .schenk-zahl { color: #c9d6e2; }
/* Wischzeile bis 1023 px - auf dem Tablet standen sonst fuenf Zeilen Marken
 * (280 px) vor dem ersten Beitrag. */
@media (max-width: 1023px) {
  html[data-g-ub-filter="zeile"] .g-ub .isotope-filter.isotope-filter--links {
    flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; overscroll-behavior-x: contain;
    width: auto !important; max-width: 100%; margin: 0; padding: 2px 0 12px; scrollbar-width: none;
    -webkit-mask-image: var(--g-leiste-maske, linear-gradient(90deg, #000 calc(100% - 36px), transparent));
            mask-image: var(--g-leiste-maske, linear-gradient(90deg, #000 calc(100% - 36px), transparent));
  }
  html[data-g-ub-filter="zeile"] .g-ub .isotope-filter.isotope-filter--links::-webkit-scrollbar { display: none; }
  html[data-g-ub-filter="zeile"] .g-ub .isotope-filter.isotope-filter--links a { flex: none; }
}
@media (max-width: 767px) {
  html[data-g-ub-filter="marken"] .g-ub .isotope-filter.isotope-filter--links { justify-content: flex-start; gap: 8px; }
}
/* Rechner: Marken buendig an der Kartenkante (wie Kopftext und Raster) statt
 * als zentrierte Wolke in drei ausgefransten Zeilen - liest sich als Werkzeug
 * zum Raster, nicht als Schmuck (Regler ub-filter-lage). */
@media (min-width: 1024px) {
  html[data-g-ub-filter-lage="links"]:not([data-g-ub-filter="original"]) .g-ub .isotope-filter.isotope-filter--links {
    justify-content: flex-start; max-width: none; margin-left: 0; margin-right: 0;
  }
}

/* Titel einer Reihe auf gleicher Hoehe: Die Datumszeile hat ein oder zwei
 * Zeilen und schob den Titel unterschiedlich weit nach unten. "unter": erst
 * der Titel, dann Datum und Rechtsgebiete, dann der Anriss (nur die
 * Reihenfolge; am Telefon steht die Zeile in der kompakten Liste oben). */
@media (min-width: 641px) {
  html[data-g-ub-datum="unter"]:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__titel { order: 1; }
  html[data-g-ub-datum="unter"]:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__meta { order: 2; }
  html[data-g-ub-datum="unter"]:not([data-g-ub-karten="original"]) :is(.g-ub, .g-fehler) .schenk-k__anriss { order: 3; }
}

/* Stand und "weitere Beitraege" */
html:not([data-g-ub-karten="original"]) .g-ub .schenk-status { margin: 40px 0 0; font-size: 15px; color: #56626d; }
html:not([data-g-ub-karten="original"]) .g-ub .gt3_portfolio_view_more_link_wrapper { margin-top: 16px !important; }
html:not([data-g-ub-karten="original"]) .g-ub .gt3_portfolio_view_more_link_wrapper a {
  min-height: 52px; padding: 15px 36px !important; font-size: 16px !important; letter-spacing: .02em;
}

/* ============================================================== ARCHIVE */

/* ------------------------------------------------------------- Kopf */
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] {
  --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen23.jpg); --g-kopf-pos: center 42%;
  height: auto !important; min-height: 320px; display: flex; align-items: flex-end;
  background-image: linear-gradient(90deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .7) 45%, rgba(5, 28, 44, .32) 100%), var(--g-kopf) !important;
  background-size: cover !important; background-position: var(--g-kopf-pos) !important;
}
/* Fotos mit lesbarem Fachwort (25, 26: "Abmahnung") nur bei Abmahnung. */
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="abmahnung"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen26.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="arbeitsrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen16.jpg); --g-kopf-pos: center 30%; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="datenschutz"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen_Datenschutz-1.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="markenrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen_Markenrecht.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="urheberrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen_Urheberrecht.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="wettbewerbsrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen_Wettbewerbsrecht-1.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="e-commerce"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen18.jpg); --g-kopf-pos: center 30%; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="versicherungsrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen13.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="vertragsrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen24.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="agb-recht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen20.jpg); --g-kopf-pos: center 14%; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="presserecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen49.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="negative-bewertungen"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen14.jpg); --g-kopf-pos: center 30%; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="gluecksspielrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen50.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="veranstaltungsrecht"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen44.jpg); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach="abo-falle"] { --g-kopf: url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen46.jpg); --g-kopf-pos: center 40%; }

html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .gt3-page-title__inner { display: block; width: 100%; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .gt3-page-title__inner > .container { display: block !important; margin: 0 auto; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .gt3-page-title__content {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; align-items: end;
  text-align: left; padding: 64px 0 50px; max-width: none;
}
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .gt3-page-title__content > * { grid-column: 1; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .page_title { text-align: left; max-width: 760px; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .page_title h1 {
  font-size: 52px !important; line-height: 1.12 !important; color: #fff !important; text-shadow: none !important;
  margin: 0 !important; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: break-word;
}
/* Rueckweg: als Verweis lesbar - Pfeil, normale Schreibung, Unterstrich beim Zeigen. */
.g-archiv-zurueck, .g-archiv-fach { display: none; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .g-archiv-zurueck {
  display: inline-flex; align-items: center; gap: 10px; justify-self: start; min-height: 44px; margin-bottom: 4px;
  color: #fff !important; font-size: 17px; font-weight: 500; letter-spacing: .01em; text-decoration: none !important; text-shadow: none !important;
}
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .g-archiv-zurueck::before { content: "←"; font-size: 19px; line-height: 1; color: var(--g-hellblau); transition: transform .2s; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .g-archiv-zurueck:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: 5px; text-decoration-color: var(--g-hellblau) !important; }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .g-archiv-zurueck:hover::before { transform: translateX(-3px); }
/* Knopf zur echten Fachgebietsseite (Text aus dem Hauptmenue). */
html:not([data-g-archiv-kopf="original"]):not([data-g-archiv-fachlink="nein"]) .g-ub-archiv .gt3-page-title[data-g-fach] .g-archiv-fach {
  grid-column: 2; grid-row: 2; align-self: end; justify-self: end;
  display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 13px 24px; margin: 0;
  border-radius: var(--g-radius); background: #fff; color: var(--g-blau) !important;
  font-size: 16px; font-weight: 600; line-height: 1.25; text-decoration: none !important; white-space: nowrap; text-shadow: none !important;
  transition: background-color .15s;
}
html:not([data-g-archiv-kopf="original"]):not([data-g-archiv-fachlink="nein"]) .g-ub-archiv .g-archiv-fach::after { content: "→"; font-size: 18px; transition: transform .2s; }
html:not([data-g-archiv-kopf="original"]):not([data-g-archiv-fachlink="nein"]) .g-ub-archiv .gt3-page-title[data-g-fach] .g-archiv-fach:is(:hover, :focus-visible) { background: #dcebf8; }
html:not([data-g-archiv-kopf="original"]):not([data-g-archiv-fachlink="nein"]) .g-ub-archiv .g-archiv-fach:hover::after { transform: translateX(4px); }
html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .g-archiv-fach:focus-visible { outline: 2px solid var(--g-hellblau); outline-offset: 3px; }
@media (max-width: 767px) {
  html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] { min-height: 230px; }
  html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .gt3-page-title__content { grid-template-columns: minmax(0, 1fr); padding: 34px 0 28px; }
  html:not([data-g-archiv-kopf="original"]) .g-ub-archiv .gt3-page-title[data-g-fach] .page_title h1 { font-size: 34px !important; }
  html:not([data-g-archiv-kopf="original"]):not([data-g-archiv-fachlink="nein"]) .g-ub-archiv .gt3-page-title[data-g-fach] .g-archiv-fach {
    grid-column: 1; grid-row: auto; justify-self: start; margin-top: 18px; min-height: 48px; padding: 11px 20px;
    max-width: 100%; box-sizing: border-box; white-space: normal;
  }
}

/* ------------------------------------------------- Wischleisten
 * Verlauf je nach Stand (das Skript setzt g-leiste-l/-r): links, sobald
 * gerollt ist - vorher war "Alle" hart abgeschnitten ("lle 1744") -, rechts
 * nur, solange es weitergeht. Ohne Skript: rechts wie bisher. */
.g-leiste-js { --g-leiste-maske: none; }
.g-leiste-js.g-leiste-r { --g-leiste-maske: linear-gradient(90deg, #000 calc(100% - 36px), transparent); }
.g-leiste-js.g-leiste-l { --g-leiste-maske: linear-gradient(90deg, transparent, #000 28px); }
.g-leiste-js.g-leiste-l.g-leiste-r { --g-leiste-maske: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 36px), transparent); }

/* ------------------------------------------------- Fachgebiete oben */
.g-themen { display: none; }
html[data-g-archiv-themen="immer"] .g-ub-archiv .g-themen { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; }
@media (max-width: 767px) {
  html[data-g-archiv-themen="telefon"] .g-ub-archiv .g-themen,
  html[data-g-archiv-themen="immer"] .g-ub-archiv .g-themen {
    display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
    margin: 0 0 6px; padding: 0 0 10px;
    -webkit-mask-image: var(--g-leiste-maske, linear-gradient(90deg, #000 calc(100% - 36px), transparent));
            mask-image: var(--g-leiste-maske, linear-gradient(90deg, #000 calc(100% - 36px), transparent));
  }
  .g-themen::-webkit-scrollbar { display: none; }
}
:is(.g-ub-archiv, .g-fehler) .g-themen a {
  flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 17px;
  border: 1px solid #c3cdd6; border-radius: 22px; background: #fff;
  color: var(--g-blau) !important; font-size: 15px; font-weight: 500; line-height: 1.2; white-space: nowrap; text-decoration: none !important;
  transition: background-color .15s, border-color .15s;
}
:is(.g-ub-archiv, .g-fehler) .g-themen a .g-zahl { font-weight: 400; color: #56626d; }
:is(.g-ub-archiv, .g-fehler) .g-themen a:is(:hover, :focus-visible) { border-color: var(--g-akzent); background: var(--g-hell); }
:is(.g-ub-archiv, .g-fehler) .g-themen a:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 2px; }
:is(.g-ub-archiv, .g-fehler) .g-themen a[aria-current] { background: var(--g-blau); border-color: var(--g-blau); color: #fff !important; }
:is(.g-ub-archiv, .g-fehler) .g-themen a[aria-current] .g-zahl { color: #c9d6e2; }

/* ------------------------------------------------------------ Raster */
html:not([data-g-archiv-spalten="original"]) .g-ub-archiv .schenk-raster { margin-top: 0; }
@media (min-width: 1024px) {
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 52px 36px; }
}

/* Aufmacher: bei ungerader Zahl (13 auf /case/) der neueste Beitrag ueber
 * beide Spalten - sonst bliebe unten eine Karte allein. "breit": Bild ueber
 * die volle Breite (16:7), Titel gross darunter. "links": Bild 58 %, Text an
 * der Oberkante. Nur ab fuenf Karten (darunter gilt die Liste). */
@media (min-width: 1024px) {
  html[data-g-archiv-spalten="2"]:not([data-g-archiv-aufmacher="aus"]) .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child { grid-column: 1 / -1; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="breit"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__bild { aspect-ratio: 16 / 7; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="breit"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__text { padding-top: 26px; gap: 12px; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="breit"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__titel {
    font-size: 30px; line-height: 1.28; max-width: 24em; -webkit-hyphens: manual; hyphens: manual;
  }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="breit"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__anriss { font-size: 17px; max-width: 44em; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="breit"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__bild--leer > span { font-size: 26px !important; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="links"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__link { flex-direction: row; align-items: flex-start; gap: 36px; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="links"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__bild { flex: 0 0 54%; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="links"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__text { padding: 0 !important; }
  html[data-g-archiv-spalten="2"][data-g-archiv-aufmacher="links"] .g-ub-archiv .schenk-raster:has(> .schenk-k:nth-child(5)):has(> .schenk-k:last-child:nth-child(odd)) > .schenk-k:first-child .schenk-k__titel { font-size: 24px; line-height: 1.3; }
}

/* Liste: "liste" immer ab 641 px; bei "zwei Spalten" auf dem Tablet, wo
 * neben der Seitenleiste nur rund 480 px bleiben; und bei hoechstens vier
 * Beitraegen (ABO-Falle: zwei Karten neben einer langen Seitenleiste). */
@media (min-width: 641px) {
  html[data-g-archiv-spalten="liste"] .g-ub-archiv .schenk-raster,
  html[data-g-archiv-spalten="2"][data-g-archiv-wenige="liste"] .g-ub-archiv .schenk-raster:not(:has(> .schenk-k:nth-child(5))) { grid-template-columns: 1fr; gap: 0; }
  html[data-g-archiv-spalten="liste"] .g-ub-archiv .schenk-k,
  html[data-g-archiv-spalten="2"][data-g-archiv-wenige="liste"] .g-ub-archiv .schenk-raster:not(:has(> .schenk-k:nth-child(5))) > .schenk-k { border-bottom: 1px solid #dfe5ea; }
  html[data-g-archiv-spalten="liste"] .g-ub-archiv .schenk-k:first-child,
  html[data-g-archiv-spalten="2"][data-g-archiv-wenige="liste"] .g-ub-archiv .schenk-raster:not(:has(> .schenk-k:nth-child(5))) > .schenk-k:first-child { border-top: 1px solid #dfe5ea; }
  html[data-g-archiv-spalten="liste"] .g-ub-archiv .schenk-k__link,
  html[data-g-archiv-spalten="2"][data-g-archiv-wenige="liste"] .g-ub-archiv .schenk-raster:not(:has(> .schenk-k:nth-child(5))) .schenk-k__link {
    flex-direction: row; align-items: flex-start; gap: 28px; padding: 28px 0;
    border: 0; border-radius: 0; background: transparent;
  }
  html[data-g-archiv-spalten="liste"] .g-ub-archiv .schenk-k__bild,
  html[data-g-archiv-spalten="2"][data-g-archiv-wenige="liste"] .g-ub-archiv .schenk-raster:not(:has(> .schenk-k:nth-child(5))) .schenk-k__bild { flex: 0 0 40%; border-radius: var(--g-radius); }
  html[data-g-archiv-spalten="liste"] .g-ub-archiv .schenk-k__text,
  html[data-g-archiv-spalten="2"][data-g-archiv-wenige="liste"] .g-ub-archiv .schenk-raster:not(:has(> .schenk-k:nth-child(5))) .schenk-k__text { padding: 0 !important; border-top: 0 !important; }
}
@media (min-width: 641px) and (max-width: 1023px) {
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-raster { grid-template-columns: 1fr; gap: 0; }
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-k { border-bottom: 1px solid #dfe5ea; }
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-k:first-child { border-top: 1px solid #dfe5ea; }
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-k__link {
    flex-direction: row; align-items: flex-start; gap: 24px; padding: 24px 0;
    border: 0; border-radius: 0; background: transparent;
  }
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-k__bild { flex: 0 0 36%; border-radius: var(--g-radius); }
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-k__text { padding: 0 !important; border-top: 0 !important; }
  html[data-g-archiv-spalten="2"] .g-ub-archiv .schenk-k__titel { font-size: 19px; }
  /* Kleines Vorschaubild: keine Beschriftung ("Versiche-rungsrecht"). */
  html:is([data-g-archiv-spalten="2"], [data-g-archiv-spalten="liste"]) .g-ub-archiv .schenk-k .schenk-k__bild--leer > span { display: none !important; }
  html:is([data-g-archiv-spalten="2"], [data-g-archiv-spalten="liste"]) .g-ub-archiv .schenk-k .schenk-k__bild--leer[data-g-foto] { --g-ton: linear-gradient(rgba(5, 28, 44, .2), rgba(5, 28, 44, .2)); }
}

/* Tablet (641-1023 px): Seitenleiste unter den Inhalt. Daneben blieben ihr
 * rund 180 px - die Telefonnummer lief ueber den Rand, die E-Mail brach um. */
@media (min-width: 641px) and (max-width: 1023px) {
  html[data-g-archiv-tablet="untereinander"] .g-ub-archiv .main_wrapper .row.sidebar_right > :is(.content-container, .sidebar-container) {
    width: 100% !important; float: none !important; margin-left: 0 !important;
  }
  html[data-g-archiv-tablet="untereinander"] .g-ub-archiv .main_wrapper .row.sidebar_right > .sidebar-container { margin-top: 24px !important; }
  /* Die beiden Bloecke der Seitenleiste (Kontakt, Fachgebiete) nebeneinander
   * statt eines 440 px hohen Portraets ueber die volle Breite. Nur die
   * Anordnung - Inhalt und Stil bleiben beim Seitentyp "beitraege". */
  html[data-g-archiv-tablet="untereinander"] .g-ub-archiv aside.sidebar > .g-sl:has(> .g-sl-fachkontakt) {
    display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0 40px; align-items: start;
  }
  html[data-g-archiv-tablet="untereinander"] .g-ub-archiv aside.sidebar > .g-sl:has(> .g-sl-fachkontakt) > * { margin-top: 0 !important; min-width: 0; }
}

/* ------------------------------------- Seitenleiste laeuft mit (Rechner)
 * Das Raster ist rund 3.700 px hoch, die Leiste (Kontakt, Fachgebiete)
 * 1.370 px - rechts blieben 2.300 px leer. Ab 1200 px laeuft sie mit:
 * Spalte so hoch wie das Raster, Leiste klebt. Ist sie hoeher als das
 * Fenster, rollt sie erst bis zu ihrem Ende mit und bleibt dann mit dem
 * Fuss 24 px ueber der Fensterkante stehen (--g-sl-oben setzt das Skript
 * in archiv.mjs). Gleicher Regler wie bei den Beitraegen (sl-mitlaufen). */
@media (min-width: 1200px) {
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) body.g-ub-archiv { overflow: visible !important; overflow-x: clip !important; }
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) .g-ub-archiv .main_wrapper .row.sidebar_right { display: flex; align-items: stretch; }
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) .g-ub-archiv .main_wrapper .row.sidebar_right::before,
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) .g-ub-archiv .main_wrapper .row.sidebar_right::after { display: none; }
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) .g-ub-archiv .main_wrapper .row.sidebar_right > .sidebar-container { display: flex; flex-direction: column; }
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) .g-ub-archiv .main_wrapper aside.sidebar:has(> .g-sl) { flex: 1 1 auto; }
  html:not([data-g-sl-mitlaufen="nein"]):not([data-g-seitenleiste="original"]) .g-ub-archiv .main_wrapper aside.sidebar > .g-sl { position: sticky; top: var(--g-sl-oben, 96px); }
}

/* --------------------------------------------- Seitenrand auf dem Tablet
 * Bei 641-1100 px standen Titel, Karten, Seitenleiste und Fusszeile 13-15 px
 * vom Rand (Telefon 30, Rechner 135). Jetzt 32 px. Damit entfaellt auch der
 * Ueberstand von 2 px bei 1024-1100 px. */
@media (min-width: 641px) and (max-width: 1100px) {
  html:not([data-g-ub-rand="original"]) :is(.g-ub, .g-fehler) .main_wrapper > .container,
  html:not([data-g-ub-rand="original"]) .g-ub-archiv .gt3-page-title .gt3-page-title__inner > .container,
  html:not([data-g-ub-rand="original"]) #footer :is(.top_footer, .pre_footer) > .container {
    width: auto !important; max-width: none !important; margin-left: 32px !important; margin-right: 32px !important;
    padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box;
  }
  html:not([data-g-ub-rand="original"]) :is(.g-ub-archiv, .g-fehler) .main_wrapper > .container > .row.sidebar_right { margin-left: -15px; margin-right: -15px; }
  html:not([data-g-ub-rand="original"]) .g-ub:not(.g-ub-archiv) .elementor-section.elementor-section-boxed > .elementor-container { padding-left: 22px; padding-right: 22px; box-sizing: border-box; }
}
@media (min-width: 1024px) and (max-width: 1100px) {
  html[data-g-ub-rand="original"] :is(.g-ub-archiv, .g-fehler) .main_wrapper > .container > .row.sidebar_right { margin-left: -13px; margin-right: -13px; }
}

/* ----------------------------------------------------------- Blaettern */
html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 14px 18px;
  margin: 60px 0 10px; padding-top: 30px; border-top: 1px solid #dfe5ea;
}
html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern > a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; max-width: 100%;
  padding: 13px 24px; font-size: 16px; font-weight: 600; letter-spacing: .01em; text-transform: none; line-height: 1.25;
  border-radius: var(--g-radius); white-space: nowrap; text-align: center;
}
html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern > a[rel="prev"] { grid-column: 1; grid-row: 1; justify-self: start; }
html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern .schenk-blaettern__stand { grid-column: 2; grid-row: 1; font-size: 15px; color: #56626d; text-align: center; }
html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern > a[rel="next"] { grid-column: 3; grid-row: 1; justify-self: end; }
.g-seiten { display: none; }

/* Seitenzahlen: 1 ... 4 5 6 ... 146 als Marken, die aktuelle gefuellt. */
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .schenk-blaettern__stand {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten {
  grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px;
}
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten :is(a, .g-seiten__jetzt) {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 10px;
  border-radius: 22px; font-size: 15px; font-weight: 500; line-height: 1; text-decoration: none !important;
  flex: 0 0 auto !important; width: auto !important; box-sizing: border-box;
}
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten a {
  background-color: #fff !important; border: 1px solid #c3cdd6 !important; color: var(--g-blau) !important;
}
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten a:is(:hover, :focus-visible) { background-color: var(--g-hell) !important; border-color: var(--g-akzent) !important; color: var(--g-blau) !important; }
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten__jetzt { background: var(--g-blau); color: #fff; font-weight: 600; }
html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten__luecke { min-width: 18px; text-align: center; color: #56626d; }

@media (max-width: 767px) {
  html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern .g-seiten { grid-column: 1 / -1; grid-row: 1; }
  html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern > a[rel="prev"] { grid-column: 1; grid-row: 2; justify-self: stretch; }
  html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern > a[rel="next"] { grid-column: 2; grid-row: 2; justify-self: stretch; }
  html[data-g-archiv-blaettern="zahlen"] .g-ub-archiv .schenk-blaettern > a:only-of-type { grid-column: 1 / -1; }
}
/* Telefon: Zaehlung oben, die Knoepfe darunter. Bis 600 px zwei gleich
 * breite Knoepfe, die umbrechen duerfen; unter 480 px untereinander ueber die
 * volle Breite ("← Neuere Beiträge" war bei 390 px links angeschnitten). */
@media (max-width: 600px) {
  html[data-g-archiv-blaettern="leiste"] .g-ub-archiv .schenk-blaettern { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  html[data-g-archiv-blaettern="leiste"] .g-ub-archiv .schenk-blaettern .schenk-blaettern__stand { grid-column: 1 / -1; grid-row: 1; }
  html[data-g-archiv-blaettern="leiste"] .g-ub-archiv .schenk-blaettern > a[rel="prev"] { grid-column: 1; grid-row: 2; justify-self: stretch; }
  html[data-g-archiv-blaettern="leiste"] .g-ub-archiv .schenk-blaettern > a[rel="next"] { grid-column: 2; grid-row: 2; justify-self: stretch; }
  html[data-g-archiv-blaettern="leiste"] .g-ub-archiv .schenk-blaettern > a:only-of-type { grid-column: 1 / -1; }
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern { margin-top: 32px; padding-top: 22px; margin-bottom: 0; }
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern > a { white-space: normal; padding: 12px 14px; }
  /* Keine Riesenluecke vor der Seitenleiste */
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv #main_content > .elementor-element { margin-bottom: 0 !important; }
}
@media (max-width: 479px) {
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern { grid-template-columns: minmax(0, 1fr); }
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern > a[rel] { grid-column: 1 !important; grid-row: auto !important; justify-self: stretch; }
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern :is(.schenk-blaettern__stand, .g-seiten) { grid-column: 1 !important; }
}
/* Die Liste endet mit einer Linie - keine zweite darueber. */
@media (min-width: 641px) and (max-width: 1023px) {
  html[data-g-archiv-spalten="2"]:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern { border-top: 0; padding-top: 6px; margin-top: 32px; }
}
@media (min-width: 641px) {
  html[data-g-archiv-spalten="liste"]:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern { border-top: 0; padding-top: 6px; margin-top: 32px; }
}
@media (max-width: 640px) {
  html:not([data-g-ub-telefon="original"]):not([data-g-archiv-blaettern="original"]) .g-ub-archiv .schenk-blaettern { border-top: 0; padding-top: 6px; margin-top: 24px; }
  html:not([data-g-archiv-blaettern="original"]) .g-ub-archiv .main_wrapper .sidebar-container { margin-top: 0 !important; padding-top: 0 !important; }
}

/* ============================================================ FUSSZEILE */

/* --------------------------------------------------------- Hintergrund
 * Foto mit Verlauf: links dunkel (Kontakt), rechts heller - das Ornament
 * bleibt sichtbar, und "Foto" unterscheidet sich sichtbar von "Nachtblau". */
html[data-g-fuss-grund="foto"] #footer.main_footer {
  background-image: linear-gradient(90deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .7) 45%, rgba(5, 28, 44, .3) 100%),
                    url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen_footer-1-e1640602740180.jpg) !important;
  background-size: cover !important; background-position: center !important;
}
html[data-g-fuss-grund="nachtblau"] #footer.main_footer { background-image: none !important; background-color: var(--g-blau) !important; }
@media (max-width: 767px) {
  html[data-g-fuss-grund="foto"] #footer.main_footer {
    background-image: linear-gradient(180deg, rgba(5, 28, 44, .9) 0%, rgba(5, 28, 44, .8) 100%),
                      url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen_footer-1-e1640602740180.jpg) !important;
  }
}

/* ------------------------------------------------------------ Raster */
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row {
  display: grid !important; grid-template-columns: minmax(0, 1.15fr) repeat(3, minmax(0, 1fr)); gap: 40px 44px;
  margin: 0 !important; padding-top: 76px !important; padding-bottom: 60px !important;
}
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row::before,
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row::after { display: none !important; }
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row > [class*="span"] {
  width: auto !important; float: none !important; margin: 0 !important; min-width: 0; padding: 0 !important;
}
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row > [class*="span"]:not(:has(.widget)) { display: none !important; }
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .widget { margin: 0 !important; padding: 0 !important; }

/* Band: Kontakt ueber die ganze Breite, Anschrift und Wege nebeneinander. */
html[data-g-fuss-aufbau="band"] #footer .top_footer .container > .row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html[data-g-fuss-aufbau="band"] #footer .top_footer .container > .row > [class*="span"]:first-child {
  grid-column: 1 / -1; padding-bottom: 40px !important; border-bottom: 1px solid rgba(255, 255, 255, .16);
}
html[data-g-fuss-aufbau="band"] #footer #text-10 .textwidget { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 52px; align-items: baseline; }
html[data-g-fuss-aufbau="band"] #footer #text-10 .textwidget p { margin: 0 !important; }
html[data-g-fuss-aufbau="band"] #footer #text-10 .g-fuss-weg--tel a { font-size: 30px !important; }
/* Rechner: dasselbe Dreierraster wie die Listen darunter (gleiche Spalten,
 * gleicher Abstand) - Telefon steht ueber der zweiten Liste, E-Mail ueber der
 * dritten, Fax unter dem Telefon. Erste Zeilen auf einer Grundlinie mit
 * "Kanzlei Dr. Schenk" (vorher 12 px hoeher, Spalte bei x 748 auf keiner
 * Rasterlinie). */
@media (min-width: 1024px) {
  /* Die Fusszeilen-Bausteine sind mit --g-z gezoomt: Abstand zurueckrechnen,
   * sonst wird er 48 statt 44 px und die Spalten verrutschen. */
  html[data-g-fuss-aufbau="band"] #footer #text-10 .textwidget { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 calc(44px / var(--g-z, 1)); }
  html[data-g-fuss-aufbau="band"] #footer #text-10 .textwidget .g-fuss-wege {
    grid-column: 2 / span 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px calc(44px / var(--g-z, 1)); align-items: baseline;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 44px 40px; padding-top: 60px !important; }
  html[data-g-fuss-aufbau="band"] #footer .top_footer .container > .row > [class*="span"]:first-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .container > .row { grid-template-columns: 1fr !important; gap: 0; padding-top: 48px !important; padding-bottom: 28px !important; }
  html[data-g-fuss-aufbau="band"] #footer #text-10 .textwidget { display: block; }
  html[data-g-fuss-aufbau="band"] #footer .top_footer .container > .row > [class*="span"]:first-child { padding-bottom: 28px !important; }
}

/* ------------------------------------------------------- Ueberschriften */
html[data-g-fuss-titel="serif"] #footer .top_footer .widget .widget-title {
  font-family: var(--g-serif) !important; font-size: 20px !important; font-weight: 400 !important;
  letter-spacing: 0 !important; line-height: 1.3 !important; text-transform: lowercase !important; color: #fff !important;
  margin: 0 0 16px !important; padding: 0 0 14px !important; border-bottom: 1px solid rgba(255, 255, 255, .2);
  overflow-wrap: normal; word-break: normal;
}
/* "KONTAKT", "RECHTSANWALT FÜR" stehen in Versalien in der Datenbank:
 * klein setzen, ersten Buchstaben gross - ergibt "Rechtsanwalt für". */
html[data-g-fuss-titel="serif"] #footer .top_footer .widget .widget-title::first-letter { text-transform: uppercase; }
html[data-g-fuss-titel="versal"] #footer .top_footer .widget .widget-title {
  font-size: 14px !important; font-weight: 600 !important; letter-spacing: .14em !important; line-height: 1.4 !important;
  color: #9ccbec !important; margin: 0 0 18px !important; padding: 0 !important; overflow-wrap: normal; word-break: normal;
}
@media (max-width: 767px) {
  html[data-g-fuss-titel="versal"] #footer .top_footer .widget .widget-title { font-size: 15px !important; }
}
html:not([data-g-fuss-titel="original"]) #footer .top_footer .widget .widget-title::before,
html:not([data-g-fuss-titel="original"]) #footer .top_footer .widget .widget-title::after { display: none; }

/* -------------------------------------------------------------- Listen */
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .textwidget ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .textwidget ul li {
  list-style: none !important; margin: 0 !important; padding: 0 !important; line-height: 1.35 !important;
}
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .textwidget ul li::before { display: none !important; }
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .textwidget ul li a {
  display: block !important; padding: 6px 0 !important; font-size: 15px !important; line-height: 1.35;
  color: rgba(255, 255, 255, .86) !important; text-decoration: none !important;
}
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .textwidget ul li a:is(:hover, :focus-visible) {
  color: #fff !important; text-decoration: underline !important; text-underline-offset: 4px; text-decoration-color: var(--g-hellblau) !important;
}
/* Leerabsatz unter der Liste "Rechtsanwalt fuer" */
html:not([data-g-fuss-aufbau="original"]) #footer .top_footer .textwidget > ul ~ p { display: none; }

/* -------------------------------------------------------------- Kontakt
 * Eine Groesse je Zeile: Anschrift 16 px; darunter die Wege als Paar aus
 * Etikett (15 px, leiser) und Wert - Telefon gross in der Baskerville,
 * E-Mail 18 px (vorher 14 px, kleiner als ihr eigenes Etikett). */
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .textwidget p {
  margin: 0 0 22px !important; font-size: 16px !important; line-height: 1.7; color: rgba(255, 255, 255, .86);
}
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .textwidget p:first-child::first-line {
  font-family: var(--g-serif); font-size: 21px !important; color: #fff; line-height: 2;
}
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-wege { display: flex; flex-direction: column; gap: 14px; }
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-wege br { display: none; }
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg { display: block; position: relative; line-height: 1.4; }
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg--tel { order: 1; }
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg--mail { order: 2; }
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg--fax { order: 3; font-size: 16px !important; color: rgba(255, 255, 255, .78); }
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-et {
  display: block; margin-bottom: 2px; font-size: 15px !important; letter-spacing: .02em; color: rgba(255, 255, 255, .72);
}
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg a[href^="tel:"] {
  font-family: var(--g-serif) !important; font-size: 24px !important; line-height: 1.35; color: #fff !important; text-decoration: none !important; white-space: nowrap;
}
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg a[href^="mailto:"] {
  font-family: var(--g-serif) !important; font-size: 18px !important; line-height: 1.4; color: #fff !important;
  text-decoration: underline !important; text-decoration-color: rgba(255, 255, 255, .45) !important; text-underline-offset: 5px; overflow-wrap: anywhere;
}
html:not([data-g-fuss-aufbau="original"]) #footer #text-10 .g-fuss-weg a:is(:hover, :focus-visible) { text-decoration: underline !important; text-decoration-color: var(--g-hellblau) !important; text-underline-offset: 5px; }
/* Bisheriger Aufbau: nur die E-Mail nicht kleiner als ihr Etikett. */
html[data-g-fuss-aufbau="original"] #footer #text-10 a[href^="mailto:"] { font-size: inherit !important; }

/* ------------------------------------------------------ Leiste unten */
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer { padding-left: 0 !important; padding-right: 0 !important; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .container {
  border-top: 1px solid rgba(255, 255, 255, .16) !important; border-bottom: 0 !important;
}
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .container > .row { padding: 18px 0 26px !important; margin: 0 !important; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 > .row {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 32px; margin: 0;
}
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 > .row::before,
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 > .row::after { display: none; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 { padding: 0 !important; width: 100% !important; float: none !important; margin: 0 !important; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 > .row > :is(.span8, .span4) { width: auto !important; float: none !important; margin: 6px 0 !important; padding: 0 !important; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 > .row > p { display: none; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span8 p { margin: 0 28px 0 0 !important; font-size: 13px !important; letter-spacing: .08em; color: rgba(255, 255, 255, .72); }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span8 p span { font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0; margin-left: 4px; }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span4 p { margin: 0; font-size: 15px !important; color: rgba(255, 255, 255, .6); }
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span4 a {
  display: inline-block; padding: 10px 6px; color: rgba(255, 255, 255, .9) !important; font-size: 15px !important;
}
html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span4 a:is(:hover, :focus-visible) { color: #fff !important; text-decoration: underline !important; text-underline-offset: 4px; }
html[data-g-fuss-leiste="rechtliches"] #footer .pre_footer .span8 { display: none !important; }
html[data-g-fuss-leiste="rechtliches"] #footer .pre_footer .span12 > .row { justify-content: flex-start; }
/* Tablet: die Kontaktzeile brach um ("TEL" allein in Zeile zwei). */
@media (min-width: 768px) and (max-width: 1023px) {
  html[data-g-fuss-leiste="leiste"] #footer .pre_footer .span8 { display: none !important; }
  html[data-g-fuss-leiste="leiste"] #footer .pre_footer .span12 > .row { justify-content: flex-start; }
}

html[data-g-fuss-copyright="ja"] #footer .pre_footer .span4 p::before {
  content: "© Kanzlei Dr. Schenk"; margin-right: 26px; color: rgba(255, 255, 255, .72);
}

/* ------------------------------------------------------ Telefon */
@media (max-width: 767px) {
  /* Telefon und E-Mail als Knoepfe (g-kk, Farben siehe "Kontaktknoepfe");
   * das Etikett ("Tel:", "Mail:") steht als Vorzeile IM Knopf, die ganze
   * Flaeche ist tippbar. Fax darunter. */
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-fuss-wege { gap: 10px; }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk {
    /* Gleich gross wie im Handymenue: den Zoom der Fusszeile (--g-z) aufheben
     * (vorher 79 statt 72 px hoch, Nummer 24 statt 22 px). */
    zoom: calc(1 / var(--g-z, 1));
    display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 72px; padding: 9px 18px; box-sizing: border-box;
    border: 1px solid var(--kk-rand); border-radius: var(--g-radius); background: var(--kk-grund);
    transition: background-color .15s, border-color .15s;
  }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk:has(a:hover) { background: var(--kk-grund-hover); border-color: var(--kk-rand-hover); }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk a::after { content: ""; position: absolute; inset: 0; border-radius: var(--g-radius); }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk a[href] { color: var(--kk-text) !important; text-decoration: none !important; white-space: normal; }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk a:focus-visible { outline: none !important; box-shadow: none !important; }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk:has(a:focus-visible) { outline: 2px solid var(--g-hellblau); outline-offset: 2px; }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk .g-kk-et { display: block; margin: 0; font-size: 15px !important; line-height: 1.3; color: var(--kk-et); }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk--tel a[href^="tel:"] { font-family: var(--g-serif) !important; font-size: 22px !important; line-height: 1.3; }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk--mail a[href^="mailto:"] { font-family: var(--g-sans) !important; font-size: 17px !important; line-height: 1.35; }
  /* Ganz ruhig: Textverweise mit Linie darunter. */
  html[data-g-kontakt-knoepfe="text"]:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk {
    border-width: 0 0 1px; border-color: var(--kk-linie); border-radius: 0; padding-left: 0; padding-right: 0;
  }
  html[data-g-kontakt-knoepfe="text"]:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-kk a:is(:hover, :focus-visible) {
    text-decoration: underline !important; text-decoration-color: var(--g-hellblau) !important; text-underline-offset: 5px;
  }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 .g-fuss-weg--fax { padding: 6px 0 0; }
  html:not([data-g-fuss-telefon="original"]) #footer #text-10 { margin-bottom: 26px !important; }

  /* Links in offenen Listen: Tippflaeche 44 px. */
  html:not([data-g-fuss-telefon="original"]) #footer .top_footer .textwidget ul li a { padding: 11px 0 !important; font-size: 16px !important; }

  /* Aufklappen (das Skript setzt g-fuss-klappbar; ohne Skript bleibt alles offen). */
  html.g-fuss-klappbar #footer .top_footer .widget:has(ul) .widget-title {
    position: relative; cursor: pointer; margin: 0 !important; padding: 15px 44px 15px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .2) !important;
  }
  html.g-fuss-klappbar #footer .top_footer .widget:has(ul) .widget-title::after {
    content: "" !important; display: block !important; position: absolute; right: 8px; top: 50%;
    width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid #fff; border-bottom: 2px solid #fff;
    transform: rotate(45deg); transition: transform .2s;
  }
  html.g-fuss-klappbar #footer .top_footer .widget.g-offen .widget-title::after { transform: rotate(-135deg); margin-top: -2px; }
  html.g-fuss-klappbar #footer .top_footer .widget:has(ul):not(.g-offen) .textwidget { display: none; }
  html.g-fuss-klappbar #footer .top_footer .widget.g-offen .textwidget { padding: 6px 0 14px; }
  html.g-fuss-klappbar #footer .top_footer .widget .widget-title:focus-visible { outline: 2px solid var(--g-hellblau); outline-offset: 2px; }

  html[data-g-fuss-telefon="kurz"] #footer .top_footer .container > .row > [class*="span"]:has(.widget ul) { display: none !important; }
  html[data-g-fuss-telefon="offen"] #footer .top_footer .container > .row > [class*="span"] + [class*="span"] { margin-top: 30px !important; }

  html:not([data-g-fuss-telefon="original"]):not([data-g-fuss-leiste="original"]) #footer .pre_footer .container { border-top: 0 !important; }
  /* Unten nur noch Rechtliches - die Kontaktzeile steht direkt darueber. */
  html:not([data-g-fuss-telefon="original"]):not([data-g-fuss-leiste="original"]) #footer .pre_footer .span8 { display: none !important; }
  html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span12 > .row { justify-content: center; text-align: center; }
  html:not([data-g-fuss-leiste="original"]) #footer .pre_footer .span8 p { display: block !important; margin: 0 0 4px !important; font-size: 15px !important; }
  html[data-g-fuss-copyright="ja"] #footer .pre_footer .span4 p::before { display: block; margin: 0 0 4px; }
}

/* ------------------------------------------------------ Kontaktknoepfe
 * Telefon und E-Mail in der Fusszeile (am Telefon) und im Handymenue: eine
 * Bauart (g-kk), gleiche Hoehe, gleicher Radius, Etikett als Vorzeile. Die
 * Farben stehen als Variablen am Knopf (Regler kontakt-knoepfe), damit beide
 * Orte nie auseinanderlaufen. Bisher: weisser Kasten in der Baskerville neben
 * kanzleiblauem Kasten in der Sans - zwei Fuellungen, zwei Tonwerte.
 * Vorschlag: Telefon gefuellt in Kanzleiblau (weiss 6,7:1, Etikett 5,4:1) -
 * durch Farbe und Groesse klar die erste Wahl; E-Mail ruhig getoent (14:1). */
.g-kk--tel {
  --kk-grund: var(--g-akzent); --kk-grund-hover: #24498c; --kk-rand: var(--g-akzent); --kk-rand-hover: #24498c;
  --kk-text: #fff; --kk-et: rgba(255, 255, 255, .86); --kk-linie: rgba(255, 255, 255, .22);
}
.g-kk--mail {
  --kk-grund: rgba(255, 255, 255, .08); --kk-grund-hover: rgba(255, 255, 255, .14); --kk-rand: transparent; --kk-rand-hover: transparent;
  --kk-text: #fff; --kk-et: rgba(255, 255, 255, .78); --kk-linie: rgba(255, 255, 255, .22);
}
/* Telefon Hellblau, Nummer Nachtblau (7,2:1), Etikett Kanzleiblau (6:1). */
html[data-g-kontakt-knoepfe="hellblau"] .g-kk--tel {
  --kk-grund: var(--g-hellblau); --kk-grund-hover: #8fd0f1; --kk-rand: var(--g-hellblau); --kk-rand-hover: #8fd0f1;
  --kk-text: var(--g-blau); --kk-et: var(--g-kanzleiblau);
}
html[data-g-kontakt-knoepfe="kontur"] .g-kk--mail { --kk-grund: transparent; --kk-grund-hover: rgba(255, 255, 255, .1); --kk-rand: rgba(255, 255, 255, .65); --kk-rand-hover: #fff; }
html[data-g-kontakt-knoepfe="text"] :is(.g-kk--tel, .g-kk--mail) {
  --kk-grund: transparent; --kk-grund-hover: transparent; --kk-rand: transparent; --kk-rand-hover: transparent;
  --kk-text: #fff; --kk-et: rgba(255, 255, 255, .78);
}
/* Bisher in B: Telefon weiss, E-Mail Kanzleiblau. */
html[data-g-kontakt-knoepfe="weiss"] .g-kk--tel {
  --kk-grund: #fff; --kk-grund-hover: #dcebf8; --kk-rand: #fff; --kk-rand-hover: #dcebf8; --kk-text: var(--g-blau); --kk-et: var(--g-text-leise);
}
html[data-g-kontakt-knoepfe="weiss"] .g-kk--mail {
  --kk-grund: var(--g-akzent); --kk-grund-hover: #24498c; --kk-rand: var(--g-akzent); --kk-rand-hover: #24498c; --kk-text: #fff; --kk-et: rgba(255, 255, 255, .86);
}
/* Im hellen Original-Menue: was weiss auf Nachtblau stand, steht dunkel auf hell. */
html[data-g-menue-farbe="original"]:is([data-g-kontakt-knoepfe="akzent"], [data-g-kontakt-knoepfe="hellblau"]) .mobile_menu_container .g-kk--mail { --kk-grund: rgba(5, 28, 44, .07); --kk-grund-hover: rgba(5, 28, 44, .12); --kk-text: var(--g-blau); --kk-et: #44515c; }
html[data-g-menue-farbe="original"][data-g-kontakt-knoepfe="kontur"] .mobile_menu_container .g-kk--mail { --kk-grund: transparent; --kk-grund-hover: rgba(5, 28, 44, .06); --kk-rand: rgba(5, 28, 44, .5); --kk-rand-hover: var(--g-blau); --kk-text: var(--g-blau); --kk-et: #44515c; }
html[data-g-menue-farbe="original"][data-g-kontakt-knoepfe="text"] .mobile_menu_container :is(.g-kk--tel, .g-kk--mail) { --kk-grund: transparent; --kk-grund-hover: transparent; --kk-text: var(--g-blau); --kk-et: #44515c; --kk-linie: rgba(5, 28, 44, .22); }
html[data-g-menue-farbe="original"][data-g-kontakt-knoepfe="weiss"] .mobile_menu_container .g-kk--tel { --kk-grund: var(--g-blau); --kk-grund-hover: var(--g-kanzleiblau); --kk-rand: var(--g-blau); --kk-rand-hover: var(--g-kanzleiblau); --kk-text: #fff; --kk-et: rgba(255, 255, 255, .8); }

/* --------------------------------------------------- Nach-oben-Knopf
 * Bisher ein weisses Quadrat (59 px) mit hellgrauem Pfeil (1,9:1), das am
 * Telefon ueber den Fusszeilen-Links lag. Jetzt ein Kreis in Nachtblau,
 * ueber der Fusszeile ausgeblendet (die ist ohnehin das Seitenende). */
html[data-g-fuss-nachoben="rund"] .back_to_top_container { right: 20px !important; bottom: 20px !important; transition: opacity .25s, transform .25s; }
html[data-g-fuss-nachoben="rund"] #back_to_top {
  width: 48px !important; height: 48px !important; border-radius: 50% !important;
  background-color: var(--g-blau) !important; border: 1px solid rgba(255, 255, 255, .3) !important;
  box-shadow: 0 6px 18px rgba(5, 28, 44, .28) !important;
}
html[data-g-fuss-nachoben="rund"] #back_to_top::after { color: #fff !important; }
html[data-g-fuss-nachoben="rund"] #back_to_top:is(:hover, :focus-visible) { background-color: var(--g-akzent) !important; }
html[data-g-fuss-nachoben="rund"].g-fuss-sicht .back_to_top_container { opacity: 0; transform: translateY(16px); pointer-events: none; }
@media (max-width: 767px) {
  html[data-g-fuss-nachoben="rund"] .back_to_top_container { right: 16px !important; bottom: 16px !important; }
  html[data-g-fuss-nachoben="rund"] #back_to_top { width: 44px !important; height: 44px !important; }
}

/* ========================================================== HANDYMENUE */
.g-menue-kontakt { display: none !important; }
@media (max-width: 1200px) {
  /* Kein eigener Rand oben: Der Behaelter ist geschlossen 0 px hoch, steht
   * beim Scrollen aber fest unter dem versteckten Kopf (sticky_on, top 77 px)
   * - sein Rand lief dort als Linie quer durch Text und Knoepfe. Die Linie
   * unter dem Kopf kommt allein vom Kopf (siehe menue-kopf). */
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container {
    --g-menue-grund: var(--g-blau);
    background: var(--g-menue-grund) !important; border-top: 0 !important;
  }
  html.g-kopf-weg .mobile_menu_container.sticky_on { visibility: hidden; }
  html[data-g-menue-farbe="schwarz"] .mobile_menu_container { --g-menue-grund: #000; }
  /* Kopf am Telefon: bisher Schwarz, auf dem Rechner Nachtblau (eigener Regler). */
  html[data-g-menue-kopf="nachtblau"] .gt3_header_builder [class*="__mobile"] .gt3_header_builder__section-container,
  html[data-g-menue-kopf="nachtblau"] .gt3_header_builder [class*="__tablet"] .gt3_header_builder__section-container {
    background-color: var(--g-blau) !important;
  }
  /* Unter dem Kopf stand 1 px reines Weiss (Theme) - ueber dunklen Fotos und
   * ueber dem offenen Menue ein Haarriss. Jetzt eine leise Linie. */
  html[data-g-menue-kopf="nachtblau"] .gt3_header_builder .gt3_header_builder__section:is([class*="__mobile"], [class*="__tablet"]) {
    border-bottom-color: rgba(255, 255, 255, .14) !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container :is(.fullwidth-wrapper, .gt3_header_builder_component, .main-menu, .main-menu > ul) {
    width: 100% !important; max-width: none !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul {
    padding: 6px 0 0 !important; overflow-y: auto; overscroll-behavior: contain;
    max-height: calc(100vh - var(--g-menue-oben, 141px)); max-height: calc(100dvh - var(--g-menue-oben, 141px));
  }
  /* Verlauf am unteren Rand, solange es weitergeht (Skript setzt
   * g-menue-mehr): Hinweis, dass das Menue in sich scrollt. */
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul { padding-bottom: 28px !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul.g-menue-mehr {
    -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 56px), rgba(0, 0, 0, .15));
            mask-image: linear-gradient(180deg, #000 calc(100% - 56px), rgba(0, 0, 0, .15));
  }
  /* Theme faerbte den beruehrten Eintrag Blau (#1d40ca, !important) - auf
   * Nachtblau 2,3:1. Und aktuelle Unterpunkte bekamen weissen Grund. */
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .gt3_header_builder_menu_component .main_menu_container .menu li:not(.g-menue-kontakt):is(:hover, :focus-within) > a,
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .gt3_header_builder_menu_component .main_menu_container .menu li:not(.g-menue-kontakt) > a:is(:hover, :focus-visible) {
    color: #fff !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul.sub-menu li > a { background: transparent !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li:not(.g-menue-kontakt) > a:is(:hover, :focus-visible) { background: rgba(255, 255, 255, .07) !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li {
    position: relative; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .12);
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > a {
    display: flex !important; align-items: center; box-sizing: border-box; width: 100% !important; min-height: 56px; padding: 6px 72px 6px 24px !important;
    font-size: 19px !important; line-height: 1.3 !important; color: #fff !important; letter-spacing: .01em;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > a * { color: #fff !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > a > span { color: inherit !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li:is(.current-menu-item, .current-menu-ancestor) > a {
    box-shadow: inset 4px 0 0 var(--g-hellblau);
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li:not(.g-menue-kontakt) a:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, .07); color: #fff !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li a:focus-visible { outline: 2px solid var(--g-hellblau); outline-offset: -2px; }
  /* Untermenue */
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li ul.sub-menu {
    position: static !important; margin: 0 !important; padding: 4px 0 14px !important;
    background: rgba(255, 255, 255, .05) !important; border: 0 !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li ul.sub-menu .menu-item { margin: 0 !important; padding: 0 !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li ul.sub-menu .menu-item > a {
    display: flex !important; align-items: center; box-sizing: border-box; width: 100% !important; min-height: 48px; padding: 4px 24px 4px 42px !important;
    font-size: 17px !important; line-height: 1.3 !important; color: rgba(255, 255, 255, .88) !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu ul li ul.sub-menu .menu-item.current-menu-item > a {
    color: #fff !important; box-shadow: inset 4px 0 0 var(--g-hellblau);
  }
  /* Pfeil zum Aufklappen: eigene Tippflaeche rechts, durch eine Linie getrennt. */
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > .mobile_switcher {
    position: absolute !important; top: 0 !important; right: 0 !important; width: 60px !important; height: 56px !important;
    margin: 0 !important; transform: none !important; background: none !important; cursor: pointer;
    border-left: 1px solid rgba(255, 255, 255, .14);
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > .mobile_switcher::before {
    content: "" !important; position: absolute !important; left: 50% !important; top: 50% !important; right: auto !important; bottom: auto !important;
    width: 10px !important; height: 10px !important; margin: -8px 0 0 -5px !important; opacity: 1 !important;
    border: 0 !important; border-right: 2px solid #fff !important; border-bottom: 2px solid #fff !important;
    transform: rotate(45deg) !important; transition: transform .2s; background: none !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > .mobile_switcher.is-active::before {
    transform: rotate(-135deg) !important; margin-top: -3px !important;
  }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul > li > .mobile_switcher::after { display: none !important; }

  /* Flaeche: "ganz" zieht das Menue bis zum Bildschirmende; "abgedunkelt"
   * legt einen dunklen Schleier ueber die Seite darunter (antippen
   * schliesst). Bisher endete das Menue mitten auf dem Bildschirm, darunter
   * stand die Seite hell und bedienbar. */
  html[data-g-menue-flaeche="ganz"]:not([data-g-menue-farbe="original"]):has(.mobile-navigation-toggle.is-active) .mobile_menu_container {
    min-height: calc(100vh - var(--g-menue-oben, 141px)); min-height: calc(100dvh - var(--g-menue-oben, 141px)); box-sizing: border-box;
  }
  /* Der Schleier haengt am Kopf (.gt3_header_builder, absolut), dessen
   * Unterkante die Menue-Unterkante ist. Das Menue selbst bleibt statisch:
   * das Theme setzt ihm inline "top", relativ verschoben laege es tiefer. */
  html[data-g-menue-flaeche="abgedunkelt"]:has(.mobile-navigation-toggle.is-active) .mobile_menu_container::after {
    content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 100vh; height: 100dvh;
    background: rgba(5, 28, 44, .6); cursor: pointer;
  }

  /* Telefon und E-Mail am Ende - dieselben Knoepfe wie in der Fusszeile
   * (g-kk, Farben siehe "Kontaktknoepfe"). */
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt {
    display: block !important; border: 0 !important; padding: 0 24px !important; box-sizing: border-box;
  }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt:not(.g-menue-kontakt--mail) { padding-top: 22px !important; }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk {
    display: flex !important; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px;
    box-sizing: border-box; width: 100% !important; min-height: 72px; margin: 0 0 10px; padding: 9px 18px !important;
    border: 1px solid var(--kk-rand); border-radius: var(--g-radius); background: var(--kk-grund) !important;
    color: var(--kk-text) !important; line-height: 1.3 !important; letter-spacing: 0; text-align: left; box-shadow: none !important;
    transition: background-color .15s, border-color .15s;
  }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk:is(:hover, :focus-visible) {
    background: var(--kk-grund-hover) !important; border-color: var(--kk-rand-hover); color: var(--kk-text) !important;
  }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk .g-kk-et {
    display: block; font-family: var(--g-sans) !important; font-size: 15px !important; line-height: 1.3 !important; color: var(--kk-et) !important;
  }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk .g-kk-wert { display: block; color: var(--kk-text) !important; }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk--tel .g-kk-wert { font-family: var(--g-serif) !important; font-size: 22px !important; line-height: 1.3 !important; }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk--mail .g-kk-wert { font-family: var(--g-sans) !important; font-size: 17px !important; line-height: 1.35 !important; overflow-wrap: anywhere; }
  /* Ganz ruhig: Textverweise mit Linie darunter. */
  html[data-g-menue-kontakt="ja"][data-g-kontakt-knoepfe="text"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk {
    border-width: 0 0 1px; border-color: var(--kk-linie); border-radius: 0; margin: 0; padding-left: 0 !important; padding-right: 0 !important;
  }
  html[data-g-menue-kontakt="ja"][data-g-kontakt-knoepfe="text"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt > a.g-kk:is(:hover, :focus-visible) .g-kk-wert {
    text-decoration: underline; text-decoration-color: var(--g-hellblau); text-underline-offset: 5px;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  /* Der Tablet-Kopf hat keine eigene Linie: Trennlinie nur am offenen Menue. */
  html:not([data-g-menue-farbe="original"]):has(.mobile-navigation-toggle.is-active) .mobile_menu_container { border-top: 1px solid rgba(255, 255, 255, .14) !important; }
  html:not([data-g-menue-farbe="original"]) .mobile_menu_container .main-menu > ul { max-height: calc(100dvh - var(--g-menue-oben, 80px)); }
  html[data-g-menue-flaeche="ganz"]:not([data-g-menue-farbe="original"]):has(.mobile-navigation-toggle.is-active) .mobile_menu_container { min-height: calc(100dvh - var(--g-menue-oben, 80px)); }
  /* Kontaktknoepfe auf dem Tablet nebeneinander. */
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt { display: inline-block !important; width: 50%; vertical-align: top; }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt:not(.g-menue-kontakt--mail) { padding-right: 6px !important; }
  html[data-g-menue-kontakt="ja"] .mobile_menu_container .main-menu > ul > li.g-menue-kontakt--mail { padding-top: 22px !important; padding-left: 6px !important; }
}

/* ================================================================= 404 */
.g-fehler-kontakt, .g-fehler-suche, .g-fehler-themen { display: none; }
/* Abstand unter dem Kopf: das Skript misst ihn (--g-kopf-h); bisher fest
 * 141 px fuer alle Breiten bis 1200 - auf dem Tablet ist der Kopf 80 px. */
html:not([data-g-fehler-seite="original"]) .g-fehler .site_wrapper { padding-top: var(--g-kopf-h, 121px); }
@media (min-width: 768px) and (max-width: 1200px) { html:not([data-g-fehler-seite="original"]) .g-fehler .site_wrapper { padding-top: var(--g-kopf-h, 80px); } }
@media (max-width: 767px) { html:not([data-g-fehler-seite="original"]) .g-fehler .site_wrapper { padding-top: var(--g-kopf-h, 141px); } }
html:not([data-g-fehler-seite="original"]) .g-fehler .main_wrapper { padding-top: 40px; }

/* Seitenleiste (rohe Liste "weitere Fachgebiete" auf /case-category/) durch
 * Fachgebiets-Marken auf die echten Fachgebietsseiten ersetzen. */
html:not([data-g-fehler-leiste="original"]) .g-fehler .main_wrapper .sidebar-container { display: none !important; }
html:not([data-g-fehler-leiste="original"]) .g-fehler .main_wrapper .content-container { width: 100% !important; float: none !important; margin-left: 0 !important; }
html:not([data-g-fehler-leiste="original"]) .g-fehler .main_wrapper .row.sidebar_right { margin-left: 0 !important; margin-right: 0 !important; }
html:not([data-g-fehler-leiste="original"]) .g-fehler .main_wrapper .row.sidebar_right > .content-container { padding-left: 0 !important; padding-right: 0 !important; }

html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 {
  max-width: none !important; margin: 0 0 56px !important; padding: 64px 56px 48px !important; text-align: left !important;
  border-radius: var(--g-radius); color: #fff;
  background: linear-gradient(90deg, rgba(5, 28, 44, .95) 0%, rgba(5, 28, 44, .86) 50%, rgba(5, 28, 44, .5) 100%),
              url(/wp-content/uploads/Kanzlei_Dr_Schenk_Rechtsanwalt_Bremen19-1200x800.jpg) center 35% / cover no-repeat, var(--g-blau);
}
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > * { max-width: 680px; }
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:first-child {
  font-family: var(--g-serif) !important; font-size: 96px !important; line-height: 1 !important; color: var(--g-hellblau) !important; margin: 0 0 18px !important;
}
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 h1 {
  font-size: 40px !important; line-height: 1.2 !important; color: #fff !important; margin: 0 0 18px !important;
}
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(2) {
  max-width: 34em; font-size: 18px !important; line-height: 1.65 !important; color: rgba(255, 255, 255, .92) !important; margin: 0 0 30px !important;
}
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(3) {
  display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 34px !important; line-height: 1.2 !important;
}
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(3) a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin: 0 !important; padding: 12px 18px;
  border-radius: var(--g-radius); background: #fff; color: var(--g-blau) !important; font-size: 17px !important; font-weight: 600; text-decoration: none !important;
}
html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(3) a:is(:hover, :focus-visible) { background: #dcebf8; }
html:not([data-g-fehler-seite="original"]) .g-fehler .g-fehler-kontakt {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 30px; margin: 0; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .22);
}
html:not([data-g-fehler-seite="original"]) .g-fehler .g-fehler-kontakt a {
  display: inline-flex; align-items: center; min-height: 44px; color: #fff !important; text-decoration: none !important; font-size: 17px;
}
html:not([data-g-fehler-seite="original"]) .g-fehler .g-fehler-kontakt a[href^="tel:"] { font-family: var(--g-serif) !important; font-size: 24px; }
html:not([data-g-fehler-seite="original"]) .g-fehler .g-fehler-kontakt a:is(:hover, :focus-visible) { text-decoration: underline !important; text-underline-offset: 5px; text-decoration-color: var(--g-hellblau) !important; }

/* ---------------------------------------------------------------- Suche */
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche:not([hidden]) { display: block; }
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche label { display: block; margin: 0 0 12px; font-family: var(--g-serif) !important; font-size: 22px; line-height: 1.3; }
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-feldzeile { display: flex; max-width: 640px; }
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche input[type="search"] {
  flex: 1 1 auto; min-width: 0; width: auto; min-height: 56px; padding: 12px 18px; margin: 0;
  border: 1px solid #8794a0; border-right: 0; border-radius: var(--g-radius) 0 0 var(--g-radius); background: #fff; color: var(--g-text);
  font-size: 18px; line-height: 1.3; box-shadow: none; -webkit-appearance: none; appearance: none;
}
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche input[type="search"]:focus { outline: 2px solid var(--g-hellblau); outline-offset: 2px; }
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche button {
  flex: none; display: inline-flex; align-items: center; justify-content: center; width: 60px; min-height: 56px; margin: 0; padding: 0;
  border: 0; border-radius: 0 var(--g-radius) var(--g-radius) 0; background: var(--g-akzent); color: #fff; cursor: pointer; transition: background-color .15s;
}
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche button:is(:hover, :focus-visible) { background: #24498c; }
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche button:focus-visible { outline: 2px solid var(--g-hellblau); outline-offset: 2px; }
/* In der Kachel: weisses Feld, hellblauer Knopf (Lupe Nachtblau, 7:1). */
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 .g-fehler-suche:not([hidden]) { margin: -6px 0 30px; }
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 .g-fehler-suche label { color: #fff; }
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 .g-fehler-suche input[type="search"] { border-color: #fff; }
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 .g-fehler-suche button { background: var(--g-hellblau); color: var(--g-blau); }
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 .g-fehler-suche button:is(:hover, :focus-visible) { background: #fff; color: var(--g-blau); }
/* Darunter: eigener Block unter der Kachel. */
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 + .g-fehler-suche:not([hidden]) { margin: 0 0 40px; }
html[data-g-fehler-suche="ja"] .g-fehler .schenk-404 + .g-fehler-suche label { color: var(--g-blau); font-size: 24px; }

html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-ergebnis:not([hidden]) { display: block; margin: 0 0 64px; }
html[data-g-fehler-suche="nein"] .g-fehler .g-fehler-ergebnis { display: none; }
html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-treffer { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
html[data-g-fehler-suche="ja"][data-g-fehler-leiste="original"] .g-fehler .g-fehler-treffer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g-fehler-mehr[hidden] { display: none !important; }
.g-fehler .g-fehler-mehr { margin: 40px 0 0; text-align: center; }
.g-fehler .g-fehler-mehr button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 34px; margin: 0;
  border: 0; border-radius: var(--g-radius); background: var(--g-blau); color: #fff; font-size: 16px; font-weight: 600; letter-spacing: .02em; cursor: pointer;
  transition: background-color .15s;
}
.g-fehler .g-fehler-mehr button:is(:hover, :focus-visible) { background: var(--g-akzent); }
.g-fehler .g-fehler-mehr button:focus-visible { outline: 2px solid var(--g-akzent); outline-offset: 3px; }

/* --------------------------------------------------------- Fachgebiete */
html:not([data-g-fehler-leiste="original"]) .g-fehler .g-fehler-themen { display: block; margin: 0 0 72px; }
.g-fehler .g-fehler-themen h2 {
  margin: 0 0 18px !important; font-family: var(--g-serif) !important; font-size: 26px !important; line-height: 1.3 !important; font-weight: 400 !important; color: var(--g-blau) !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
.g-fehler .g-fehler-themen h2::first-letter { text-transform: uppercase; }
html:not([data-g-fehler-leiste="original"]) .g-fehler .g-fehler-themen .g-themen { display: flex; flex-wrap: wrap; gap: 10px; }

@media (min-width: 768px) and (max-width: 1023px) {
  html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-treffer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  html:not([data-g-fehler-seite="original"]) .g-fehler .main_wrapper { padding-top: 20px; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 { padding: 36px 22px 28px !important; margin-bottom: 40px !important; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:first-child { font-size: 64px !important; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 h1 { font-size: 30px !important; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(2) { font-size: 17px !important; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(3) { display: grid; grid-template-columns: 1fr 1fr; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(3) a { padding: 12px 8px; font-size: 16px !important; text-align: center; }
  html:not([data-g-fehler-seite="original"]) .g-fehler .schenk-404 > p:nth-of-type(3) a:last-child:nth-child(odd) { grid-column: 1 / -1; }
  html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-treffer { grid-template-columns: 1fr !important; gap: 0; }
  html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-suche label { font-size: 20px; }
  html[data-g-fehler-suche="ja"] .g-fehler .g-fehler-ergebnis:not([hidden]) { margin-bottom: 44px; }
  /* Fachgebiete als Wischzeile wie auf den Archiven. */
  html:not([data-g-fehler-leiste="original"]) .g-fehler .g-fehler-themen { margin-bottom: 48px; }
  html:not([data-g-fehler-leiste="original"]) .g-fehler .g-fehler-themen .g-themen {
    flex-wrap: nowrap; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 10px;
    -webkit-mask-image: var(--g-leiste-maske, linear-gradient(90deg, #000 calc(100% - 36px), transparent));
            mask-image: var(--g-leiste-maske, linear-gradient(90deg, #000 calc(100% - 36px), transparent));
  }
  .g-fehler .g-fehler-themen h2 { font-size: 22px !important; }
}
/* Treffer am Telefon wie die kompakte Liste der Uebersichten (Regeln dort,
 * Regler ub-telefon). */
@media (max-width: 640px) {
  .g-fehler .g-fehler-mehr { margin-top: 24px; }
  .g-fehler .g-fehler-mehr button { width: 100%; }
}
