.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-d30b001 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-30 .elementor-element.elementor-element-d30b004 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-30 .elementor-element.elementor-element-d30b004 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-30 .elementor-element.elementor-element-d30b004{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-30 .elementor-element.elementor-element-d30b004 .elementor-icon-list-text{transition:color 0.3s;}:root{--page-title-display:none;}/* Start custom CSS *//* =====================================================================
   TANRIVER IT · DATENSCHUTZERKLÄRUNG
   Seiteneinstellungen › Benutzerdefiniertes CSS
   01 Tokens · 02 Hero · 03 Abschnitte · 04 Fließtext · 05 Hinweisboxen
   06 Sprungmarken · 07 Seitenleiste · 08 Abschluss · 09 Barrierefreiheit
   10 Druck & PDF
   Gestaltung identisch zur Impressum-Seite. Abschnittsüberschriften nutzen
   die globale Klasse „trit-rechtstext-titel“; der Fließtext steht in
   Text-Editor-Widgets („trit-prose“) und übernimmt hier exakt die Größen
   der globalen Klasse „trit-rechtstext“ (Desktop 15 · Tablet 16 · Handy 13,5px).
   ===================================================================== */

/* 01 · Tokens (identisch zu Header, Menü & Impressum) ------------------- */
/* Schrift kommt global aus Website-Einstellungen › Typografie › Body (Plus Jakarta Sans) */
body.elementor-page-30 {
  --trit-orange: #E8852C;
  --trit-orange-strong: #D9731A;
  --trit-orange-light: #F4A259;
  --trit-orange-text: #A8520F;
  --trit-orange-icon: #C2620F;
  --trit-orange-tint: rgba(232, 133, 44, 0.1);
  --trit-navy: #0F172A;
  --trit-text: #334155;
  --trit-muted: #64748B;
  --trit-line: rgba(15, 23, 42, 0.08);
  /* Icon-Kästchen im Ruhezustand neutral (wie im Menü, Variante B) – Orange nur bei Interaktion */
  --trit-chip: #F1F5F9;
  --trit-chip-ring: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
  --trit-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --trit-speed: 280ms;
  --imp-arrow-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* 02 · Hero ------------------------------------------------------------ */
body.elementor-page-30 section:has(h1) {
  position: relative;
  overflow: hidden;
}
/* feines Punktraster, zur Mitte hin auslaufend */
body.elementor-page-30 section:has(h1)::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 1.125rem 1.125rem;
  -webkit-mask-image: radial-gradient(120% 90% at 100% 0%, #000 0%, transparent 70%);
  mask-image: radial-gradient(120% 90% at 100% 0%, #000 0%, transparent 70%);
  pointer-events: none;
}
/* orange Akzentlinie am unteren Rand */
body.elementor-page-30 section:has(h1)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(232, 133, 44, 0) 0%, rgba(232, 133, 44, 0.55) 50%, rgba(232, 133, 44, 0) 100%);
}
body.elementor-page-30 section:has(h1) > * { position: relative; z-index: 1; }
/* helle Schrift auf dunklem Grund (Hero, Abschlussblock): feinere Kantenglättung auf macOS */
body.elementor-page-30 :is(section:has(h1), article > footer) {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Breadcrumb */
body.elementor-page-30 section:has(h1) p a {
  color: #CBD5E1;
  text-decoration: none;
  transition: color var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 section:has(h1) p a:hover { color: #FFFFFF; }
/* Aufbau im Absatz: Link „Startseite“ › Trenner › aktuelle Seite
   (Elementor entfernt Attribute an <span>, daher strukturelle Selektoren) */
body.elementor-page-30 section:has(h1) p:first-child > a + span { margin-inline: 0.625rem; color: var(--trit-orange); }
body.elementor-page-30 section:has(h1) p:first-child > span:last-child { color: #FFFFFF; }
/* Orange Punkt hinter dem Titel als Marken-Detail */
body.elementor-page-30 section:has(h1) h1::after {
  content: ".";
  color: var(--trit-orange);
}
/* Einleitung: angenehme Zeilenlänge, keine einzelnen Wörter in der letzten Zeile */
body.elementor-page-30 section:has(h1) h1 + p { max-width: 40rem; text-wrap: pretty; }

/* 03 · Abschnitte ------------------------------------------------------ */
body.elementor-page-30 article h2 { text-wrap: balance; }
/* Abschnittsnummer mit feiner Linie über jeder Überschrift („01 ────“)
   (Elementor nutzt .e-con::before sonst als absolut positioniertes Overlay) */
body.elementor-page-30 article { counter-reset: trit-abschnitt; }
body.elementor-page-30 article > .e-con:not(footer) { counter-increment: trit-abschnitt; }
body.elementor-page-30 article > .e-con:not(footer)::before {
  content: counter(trit-abschnitt, decimal-leading-zero);
  content: counter(trit-abschnitt, decimal-leading-zero) / "";
  position: static;
  inset: auto;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  transition: none;
  display: block;
  color: var(--trit-orange-text);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(var(--trit-line), var(--trit-line)) right center / calc(100% - 2.25rem) 1px no-repeat;
}
@media (max-width: 767px) {
  body.elementor-page-30 article > .e-con:not(footer)::before { font-size: 0.6875rem; background-size: calc(100% - 2rem) 1px; }
}

/* 04 · Fließtext (Text-Editor „trit-prose“) ----------------------------
   Größen wie globale Klasse „trit-rechtstext“ auf der Impressum-Seite */
body.elementor-page-30 .trit-prose {
  color: var(--trit-text);
  font-size: 0.9375rem;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  body.elementor-page-30 .trit-prose { font-size: 1rem; line-height: 1.7; }
}
@media (max-width: 767px) {
  body.elementor-page-30 .trit-prose { font-size: 0.84375rem; line-height: 1.65; }
}
body.elementor-page-30 .trit-prose > :first-child { margin-top: 0; }
body.elementor-page-30 .trit-prose > :last-child { margin-bottom: 0; }
/* Silbentrennung nur für lange Wörter, ausgeglichene Zeilenenden */
body.elementor-page-30 .trit-prose :is(p, li) {
  text-wrap: pretty;
  -webkit-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 12 5 5;
  overflow-wrap: break-word;
}
body.elementor-page-30 .trit-prose p { margin: 0 0 1rem; }
/* Zeilenlänge auf großen Bildschirmen begrenzen (ca. 70 Zeichen) */
body.elementor-page-30 .trit-prose > :is(p, ul, h3) { max-width: 68ch; }
/* Zwischenüberschriften: eine Stufe über dem Fließtext */
body.elementor-page-30 .trit-prose h3 {
  margin: 1.75rem 0 0.5rem;
  color: var(--trit-navy);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.005em;
  text-wrap: balance;
}
@media (max-width: 1024px) {
  body.elementor-page-30 .trit-prose h3 { font-size: 1.0625rem; }
}
@media (max-width: 767px) {
  body.elementor-page-30 .trit-prose h3 { margin-top: 1.5rem; font-size: 0.90625rem; }
}
body.elementor-page-30 .trit-prose > h3:first-child { margin-top: 0; }
body.elementor-page-30 .trit-prose strong { color: var(--trit-navy); font-weight: 700; }
/* Listen: feiner Punkt in Markenfarbe */
body.elementor-page-30 .trit-prose ul { margin: 0 0 1rem; padding: 0; list-style: none; }
body.elementor-page-30 .trit-prose li { position: relative; margin: 0 0 0.375rem; padding-left: 1.25rem; }
body.elementor-page-30 .trit-prose li::before {
  content: "";
  position: absolute;
  left: 0.25rem;
  top: 0.72em;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background: var(--trit-orange);
}
/* Links wie auf der Impressum-Seite */
body.elementor-page-30 .trit-prose a {
  color: var(--trit-orange-text);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(168, 82, 15, 0.35);
  text-underline-offset: 0.2em;
  transition: text-decoration-color var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 .trit-prose a:hover { text-decoration-color: currentColor; }
/* Webadressen nicht am Bindestrich trennen */
body.elementor-page-30 .trit-prose a[href^="http"] { white-space: nowrap; }
body.elementor-page-30 .trit-prose a[href^="tel:"] { font-variant-numeric: tabular-nums; }

/* 05 · Hinweisboxen ----------------------------------------------------
   Gleiche Fläche wie die Tabellen im Impressum */
body.elementor-page-30 .trit-prose .trit-callout {
  margin: 1.25rem 0;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 1rem;
  background: #F8FAFC;
}
@media (max-width: 767px) {
  body.elementor-page-30 .trit-prose .trit-callout { padding: 1rem 1.125rem; }
}
body.elementor-page-30 .trit-prose .trit-callout > :last-child,
body.elementor-page-30 .trit-prose .trit-callout li:last-child { margin-bottom: 0; }
body.elementor-page-30 .trit-prose .trit-callout-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
  color: var(--trit-navy);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}
@media (max-width: 767px) {
  body.elementor-page-30 .trit-prose .trit-callout-title { font-size: 0.8125rem; }
}
body.elementor-page-30 .trit-prose .trit-callout-title::before {
  content: "";
  flex: none;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--trit-orange);
  box-shadow: 0 0 0 0.25rem rgba(232, 133, 44, 0.18);
}
/* Widerspruchsrecht: hervorgehoben (Art. 21 Abs. 4 DSGVO verlangt eine gesonderte Darstellung) */
body.elementor-page-30 .trit-prose .trit-callout--accent {
  border-color: rgba(232, 133, 44, 0.3);
  border-left: 3px solid var(--trit-orange);
  background: linear-gradient(180deg, #FFF8F1 0%, #FFFFFF 100%);
}

/* 06 · Sprungmarken (Inhaltsverzeichnis) ------------------------------- */
body.elementor-page-30 article > section { position: relative; }
body.elementor-page-30 article > section > .elementor-widget-menu-anchor { position: absolute; top: 0; left: 0; }
/* Der Header setzt bereits html { scroll-padding-top } in Headerhöhe –
   hier nur 1rem Luft zusätzlich, damit „05 ────“ nicht direkt am Header klebt */
body.elementor-page-30 article > section .elementor-menu-anchor { scroll-margin-top: 1rem; }

/* 07 · Seitenleiste ---------------------------------------------------- */
/* Desktop: läuft beim Scrollen unter dem Sticky Header mit */
@media (min-width: 1025px) and (min-height: 760px) {
  body.elementor-page-30 aside {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 6.5rem);
  }
}
body.elementor-page-30 aside > .e-con:first-child {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1.25rem 2.5rem -1.75rem rgba(15, 23, 42, 0.3);
}
/* Kartenkopf „Inhalt“ (wie die Unternehmenskarte im Impressum) */
body.elementor-page-30 .elementor-element.trit-card-head .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.875rem;
  text-align: start;
}
body.elementor-page-30 .elementor-element.trit-card-head .elementor-icon-box-icon { display: inline-flex; flex: none; margin: 0; }
body.elementor-page-30 .elementor-element.trit-card-head .elementor-icon-box-icon .elementor-icon {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  border-radius: 0.75rem;
  color: var(--trit-muted);
  fill: var(--trit-muted);
  background: var(--trit-chip);
  box-shadow: var(--trit-chip-ring);
}
body.elementor-page-30 .elementor-element.trit-card-head .elementor-icon-box-icon .elementor-icon svg { width: 1.0625rem; height: 1.0625rem; fill: currentColor; }
body.elementor-page-30 .elementor-element.trit-card-head .elementor-icon-box-title {
  margin: 0;
  color: var(--trit-navy);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
}
body.elementor-page-30 .elementor-element.trit-card-head .elementor-icon-box-description { display: none; }
/* Inhaltsverzeichnis: Nummern im Stil der Abschnittsnummern („01“) */
body.elementor-page-30 aside ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: toc;
}
body.elementor-page-30 aside ol li { counter-increment: toc; margin: 0; }
body.elementor-page-30 aside ol a {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.375rem 0.5rem;
  margin-inline: -0.5rem;
  border-radius: 0.5rem;
  color: var(--trit-text);
  font-size: 0.875rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color var(--trit-speed) var(--trit-ease), background-color var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 aside ol a::before {
  content: counter(toc, decimal-leading-zero);
  min-width: 1.25rem;
  color: var(--trit-muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  transition: color var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 aside ol a:is(:hover, :focus-visible) { color: var(--trit-orange-text); background: var(--trit-orange-tint); }
body.elementor-page-30 aside ol a:is(:hover, :focus-visible)::before { color: var(--trit-orange-text); }
/* Rechtliche Links (wie Karte „Rechtliches“ im Impressum) */
body.elementor-page-30 .trit-card-links .elementor-icon-list-items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
}
body.elementor-page-30 .trit-card-links .elementor-icon-list-item { margin: 0; padding: 0; }
body.elementor-page-30 .trit-card-links .elementor-icon-list-item > a {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--trit-text);
  font-size: 0.875rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color var(--trit-speed) var(--trit-ease), transform var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 .trit-card-links .elementor-icon-list-item .elementor-icon-list-icon { margin: 0; padding: 0; }
body.elementor-page-30 .trit-card-links .elementor-icon-list-item .elementor-icon-list-icon svg {
  width: 0.875rem;
  height: 0.875rem;
  margin: 0;
  fill: var(--trit-muted);
  transition: fill var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 .trit-card-links .elementor-icon-list-item .elementor-icon-list-text { padding: 0; color: inherit; }
body.elementor-page-30 .trit-card-links .elementor-icon-list-item > a:hover {
  color: var(--trit-orange-text);
  transform: translateX(2px);
}
body.elementor-page-30 .trit-card-links .elementor-icon-list-item > a:hover .elementor-icon-list-icon svg { fill: var(--trit-orange-icon); }
@media (max-width: 767px) {
  body.elementor-page-30 .trit-card-links .elementor-icon-list-item > a { font-size: 0.8125rem; }
}

/* 08 · Abschluss „Fragen zum Datenschutz?“ ------------------------------ */
/* Primär-Button wie im Menü: Navy-Schrift auf Orange (Kontrast ≥ 5,4:1) */
body.elementor-page-30 article > footer a.e-button-base {
  text-decoration: none;
  background: linear-gradient(135deg, var(--trit-orange-light) 0%, var(--trit-orange) 45%, var(--trit-orange-strong) 100%);
  background-size: 180% 100%;
  background-position: 0% 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0.75rem 1.75rem -0.75rem rgba(232, 133, 44, 0.8);
  transition: background-position var(--trit-speed) var(--trit-ease), transform var(--trit-speed) var(--trit-ease), box-shadow var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 article > footer a.e-button-base::after {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: none;
  background: var(--imp-arrow-navy) center / contain no-repeat;
  transition: transform var(--trit-speed) var(--trit-ease);
}
body.elementor-page-30 article > footer a.e-button-base:is(:hover, :focus-visible) {
  color: var(--trit-navy);
  background-position: 100% 0;
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1rem 2rem -0.75rem rgba(232, 133, 44, 0.9);
}
body.elementor-page-30 article > footer a.e-button-base:is(:hover, :focus-visible)::after { transform: translateX(0.1875rem); }
@media (max-width: 767px) {
  /* Handy: Button über die volle Breite – großes, gut treffbares Ziel */
  body.elementor-page-30 article > footer a.e-button-base { align-self: stretch; justify-content: center; }
}

/* 09 · Barrierefreiheit ------------------------------------------------ */
body.elementor-page-30 :is(section, aside, article) a:focus-visible {
  outline: 2px solid var(--trit-orange);
  outline-offset: 3px;
  border-radius: 0.375rem;
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-30 *,
  body.elementor-page-30 *::before,
  body.elementor-page-30 *::after { transition-duration: 0.01ms !important; }
}

/* 10 · Druck & PDF ------------------------------------------------------
   Nur der Rechtstext: ohne Header, Menü, Seitenleiste und Abschlussblock,
   dunkle Schrift auf Weiß; Überschriften nie allein am Seitenende */
@media print {
  @page { margin: 16mm 18mm; }
  body.elementor-page-30 :is(.elementor-location-header, .elementor-popup-modal, #wpadminbar, aside, article > footer) { display: none !important; }
  body.elementor-page-30,
  body.elementor-page-30 :is(section, article, .e-con) {
    background: none !important;
    box-shadow: none !important;
  }
  body.elementor-page-30 * { transition: none !important; }
  /* Kopf: Titel und Untertitel in Navy, ohne Breadcrumb und Dekor */
  body.elementor-page-30 section:has(h1) { padding: 0 0 7mm !important; }
  body.elementor-page-30 section:has(h1)::before,
  body.elementor-page-30 section:has(h1)::after,
  body.elementor-page-30 section:has(h1) p:first-child { display: none !important; }
  body.elementor-page-30 section:has(h1) :is(h1, p) { color: var(--trit-navy) !important; }
  body.elementor-page-30 section:has(h1) h1 { font-size: 24pt !important; }
  body.elementor-page-30 section:has(h1) h1 + p { font-size: 11pt !important; color: var(--trit-text) !important; }
  /* Inhalt über die volle Breite */
  body.elementor-page-30 section:has(article) { padding: 0 !important; }
  body.elementor-page-30 :has(> article) { display: block !important; max-width: none !important; }
  body.elementor-page-30 article { max-width: none !important; gap: 7mm !important; }
  body.elementor-page-30 article > .e-con { gap: 2.5mm !important; }
  body.elementor-page-30 article h2 { font-size: 13pt !important; break-after: avoid; }
  body.elementor-page-30 .trit-prose { font-size: 10.5pt !important; line-height: 1.5 !important; color: #1E293B !important; }
  body.elementor-page-30 .trit-prose > :is(p, ul, h3) { max-width: none !important; }
  body.elementor-page-30 .trit-prose h3 { font-size: 11pt !important; break-after: avoid; }
  body.elementor-page-30 .trit-prose :is(li, .trit-callout) { break-inside: avoid; }
  body.elementor-page-30 .trit-prose .trit-callout { border-color: #CBD5E1 !important; background: none !important; }
  body.elementor-page-30 .trit-prose a { color: #1E293B !important; text-decoration: none !important; }
}

/* 10 · Feinschliff: Schriftskala & Abstände wie Impressum und Kontaktseite -- */
/* H1 56 / 48 / 34 px · Einleitung 18 / 18 / 15 px · Abschnitte 24 / 22 / 20 px
   Fließtext 16 / 16 / 15 px · Zwischenüberschriften 18 / 18 / 16 px */
body.elementor-page-30 .elementor section:has(h1) h1 {
  font-size: 3.5rem;
  line-height: 1.05;
  letter-spacing: -0.035em;
}
body.elementor-page-30 .elementor section:has(h1) h1 + p { font-size: 1.125rem; line-height: 1.65; }
body.elementor-page-30 .elementor article h2 { font-size: 1.5rem; line-height: 1.25; letter-spacing: -0.015em; }
body.elementor-page-30 .elementor .trit-prose { font-size: 1rem; line-height: 1.7; }
body.elementor-page-30 .elementor .trit-prose h3 { font-size: 1.125rem; line-height: 1.35; letter-spacing: -0.01em; }
body.elementor-page-30 .elementor .trit-prose .trit-callout-title { font-size: 0.9375rem; }
/* Abschnitte: Kopfbereich 88/96, Inhalt 104/136 px */
body.elementor-page-30 .elementor-element-65251af6 { padding-top: 5.5rem; padding-bottom: 6rem; }
body.elementor-page-30 .elementor-element-1e0e4d7a { padding-top: 6.5rem; padding-bottom: 8.5rem; }

@media (max-width: 1024px) {
  body.elementor-page-30 .elementor section:has(h1) h1 { font-size: 3rem; }
  body.elementor-page-30 .elementor article h2 { font-size: 1.375rem; }
  body.elementor-page-30 .elementor-element-65251af6 { padding-top: 4.5rem; padding-bottom: 5rem; }
  body.elementor-page-30 .elementor-element-1e0e4d7a { padding-top: 5rem; padding-bottom: 7rem; }
}
@media (max-width: 767px) {
  body.elementor-page-30 .elementor section:has(h1) h1 { font-size: 2.125rem; line-height: 1.08; }
  body.elementor-page-30 .elementor section:has(h1) h1 + p { font-size: 0.9375rem; }
  body.elementor-page-30 .elementor article h2 { font-size: 1.25rem; }
  body.elementor-page-30 .elementor .trit-prose { font-size: 0.9375rem; line-height: 1.65; }
  body.elementor-page-30 .elementor .trit-prose h3 { font-size: 1rem; }
  body.elementor-page-30 .elementor .trit-prose .trit-callout-title { font-size: 0.875rem; }
  body.elementor-page-30 .elementor-element-65251af6 { padding-top: 3rem; padding-bottom: 3.5rem; }
  body.elementor-page-30 .elementor-element-1e0e4d7a { padding-top: 4rem; padding-bottom: 4.5rem; }
}

/* Tablet & Smartphone: Inhaltsverzeichnis vor den Text holen (stand sonst ganz unten),
   Karte „Rechtliches“ bleibt am Ende. Die Seitenleiste gibt dafür ihre Box auf. */
@media (max-width: 1024px) {
  body.elementor-page-30 .elementor-element-32c146a6 { display: contents; }
  /* war im Tablet-Stil ausgeblendet – hier wieder eingeblendet */
  body.elementor-page-30 .elementor .e-con.elementor-element-7a5a7e86 { display: flex; order: -1; }
  body.elementor-page-30 .elementor-element-7a5a7e86 ol { columns: 2; column-gap: 2rem; }
  body.elementor-page-30 .elementor-element-7a5a7e86 li { break-inside: avoid; }
}
@media (max-width: 767px) {
  body.elementor-page-30 .elementor-element-7a5a7e86 ol { columns: 1; }
}

/* Seitenleiste „Rechtliches“: Tippfläche mind. 40 px (WCAG 2.5.8), ohne Optik zu verändern */
body.elementor-page-30 .trit-card-links .elementor-icon-list-item > a { min-height: 2.5rem; align-items: center; }
body.elementor-page-30 .trit-card-links .elementor-icon-list-items { row-gap: 0; }

/* Kopfbereich: Inhalte erscheinen beim Laden nacheinander (wie Impressum und Kontaktseite) */
@keyframes ds-auf { from { opacity: 0; transform: translateY(0.875rem); } to { opacity: 1; transform: none; } }
body.elementor-page-30 section:has(h1) .e-con:has(> h1) > * { animation: ds-auf 0.7s var(--trit-ease, cubic-bezier(0.22, 1, 0.36, 1)) both; }
body.elementor-page-30 section:has(h1) .e-con:has(> h1) > :nth-child(2) { animation-delay: 0.06s; }
body.elementor-page-30 section:has(h1) .e-con:has(> h1) > :nth-child(3) { animation-delay: 0.12s; }
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-30 section:has(h1) .e-con:has(> h1) > * { animation: none; }
}/* End custom CSS */