/* id:tdc-pill-slide-in-sitewide-css */

/* Welle 200 v6 — Sitewide-Slide-In für alle Elementor-Buttons mit slideInRight-Setting.
   Spez 0,4,2 (mit body.tdc-mlift-on und [data-elementor-type]) schlägt modern-lift's 0,4,1. */

body.tdc-has-pill-anim,
html:has(body.tdc-has-pill-anim){
	/* Die Buttons fliegen von translate3d(120vw,0,0) herein - ohne Abschneiden
	   entstünde ein Querscrollbalken. Der Grund ist also richtig, die Wahl des
	   Wertes war es nicht:

	   `overflow-x:hidden` macht den Body zum Scroll-Container. Der berechnete
	   Wert für overflow-y springt dabei auf `auto`, und damit ist
	   `position:sticky` an der Kopfleiste wirkungslos - sie scrollt weg. Genau
	   deshalb gab es den Klon in tdc-sticky-pill-nav.php: ein Workaround für
	   einen Fehler, der drei Zeilen entfernt sass.

	   `overflow-x:clip` schneidet genauso ab, erzeugt aber KEINEN
	   Scroll-Container. Gemessen am 22.08.2026: Kopfleiste bei Scrollposition
	   2.000 mit `hidden` auf top:-2000, mit `clip` auf top:0. Kein
	   Querscrollbalken, vertikales Scrollen unverändert.

	   Die erste Zeile bleibt als Rückfall für Browser ohne `clip` stehen -
	   dort greift dann weiterhin der Klon (Feature-Abfrage in
	   tdc-sticky-pill-nav.php). */
	overflow-x:hidden !important;
	overflow-x:clip !important;
}



@keyframes tdcPillSlideIn {
	0%   { opacity:0; transform:translate3d(120vw,0,0); }
	100% { opacity:1; transform:translate3d(0,0,0); }
}

/* Initial-state für below-fold buttons (JS-getriggert via IO) */
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-pending,
html body [data-elementor-type] .elementor-widget-button.tdc-pill-pending{
	opacity:0 !important;
	transform:translate3d(120vw,0,0) !important;
	transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1) !important;
	animation:none !important;
	visibility:visible !important;
	filter:none !important;
	will-change:opacity, transform;
}
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-pending.tdc-pill-in,
html body [data-elementor-type] .elementor-widget-button.tdc-pill-pending.tdc-pill-in{
	opacity:1 !important;
	transform:translate3d(0,0,0) !important;
}

/* Above-fold buttons: CSS-Animation, kein JS nötig (delay_js-safe).
   Sequenziell: stagger = duration + kleiner Gap → jeder Button startet erst nachdem
   der vorherige fertig ist (User-Anforderung „wenn oberer fertig dann nächster"). */
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade,
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade{
	animation:tdcPillSlideIn .6s cubic-bezier(.22,.61,.36,1) both !important;
	visibility:visible !important;
	will-change:opacity, transform;
}
/* Stagger-Selektoren brauchen MINDESTENS gleiche Specificity wie der animation-shorthand
   oben (0,4,2), sonst überschreibt der shorthand animation-delay:0 alle staggers. Mit
   `[data-tdc-stagger="X"]` zusätzlich = 0,5,2 → wins. */
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="0"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="0"]{ animation-delay:.10s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="1"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="1"]{ animation-delay:.80s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="2"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="2"]{ animation-delay:1.50s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="3"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="3"]{ animation-delay:2.20s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="4"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="4"]{ animation-delay:2.90s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="5"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="5"]{ animation-delay:3.60s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="6"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="6"]{ animation-delay:4.30s !important; }
html body.tdc-mlift-on [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="7"],
html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade[data-tdc-stagger="7"]{ animation-delay:5.00s !important; }

.tdc-pill-anchor{
	height:0 !important;
	width:100% !important;
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	pointer-events:none !important;
	visibility:hidden !important;
}

@media (prefers-reduced-motion: reduce){
	html body [data-elementor-type] .elementor-widget-button.tdc-pill-pending,
	html body [data-elementor-type] .elementor-widget-button.tdc-pill-anim-cascade{
		animation:none !important;
		transition:none !important;
		transform:none !important;
		opacity:1 !important;
	}
}

/* attr:data-tdc-design-lib */

/* === TDC Design Library · v1.0 · 2026-06-04 === */

:root{
  /* Brand */
  --tdc-turq:#009A96;
  --tdc-turq-dark:#00807d;
  --tdc-turq-soft:rgba(0,154,150,.08);
  --tdc-turq-tint:rgba(0,154,150,.04);
  /* Emergency / Notdienst (nur für Sticky-Bar unten) */
  --tdc-emergency:#dc2626;
  --tdc-emergency-soft:rgba(220,38,38,.08);
  --tdc-emergency-tint:rgba(220,38,38,.04);
  /* Neutral hellgrau (für alle anderen vormals emergency-Pills) */
  --tdc-neutral-bg:#e5e7eb;
  --tdc-neutral-bg-hover:#d1d5db;
  --tdc-neutral-text:#1f2937;
  --tdc-neutral-border:rgba(31,41,55,.15);
  /* Ink */
  --tdc-ink:#0f1a1a;
  --tdc-ink-soft:#5a6868;
  /* Neutrals */
  --tdc-line:rgba(10,20,20,.08);
  --tdc-cream:#f8f5ef;
  --tdc-bg-soft:#f5f8f8;
  --tdc-paper:#ffffff;
  /* Radii */
  --tdc-radius-sm:16px;
  --tdc-radius:24px;
  --tdc-radius-lg:32px;
  /* Shadows */
  --tdc-shadow-soft:0 8px 24px -16px rgba(10,20,20,.08);
  --tdc-shadow-hover:0 24px 48px -20px rgba(10,20,20,.16);
  --tdc-shadow-deep:0 30px 60px -28px rgba(10,20,20,.22);
  /* Easing */
  --tdc-ease:cubic-bezier(.22,.61,.36,1);
}

/* === Eyebrow (Akzent-Tag über Headings) === */
.tdc-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tdc-turq);margin-bottom:18px;
}
.tdc-eyebrow::before{content:"";width:28px;height:1px;background:var(--tdc-turq)}
.tdc-eyebrow--emergency{color:var(--tdc-emergency)}
.tdc-eyebrow--emergency::before{background:var(--tdc-emergency)}

/* === Section-Head H2-Akzentlinie davor === */
.tdc-section-head h2{
  position:relative;display:inline-block;
  font-size:clamp(28px,3.4vw,46px) !important;
  font-weight:600;letter-spacing:-.02em;line-height:1.12;
}
.tdc-section-head h2::before{
  content:"";display:inline-block;width:32px;height:2px;
  background:var(--tdc-turq);vertical-align:middle;
  margin-right:16px;border-radius:2px;
}
.tdc-section-head h2 em{font-style:normal;color:var(--tdc-turq)}

/* === Card (universell) === */
.tdc-card{
  background:var(--tdc-paper);
  border:1px solid var(--tdc-line);
  border-radius:var(--tdc-radius-sm);
  padding:22px 24px;
  box-shadow:var(--tdc-shadow-soft);
  transition:transform .35s var(--tdc-ease), box-shadow .35s var(--tdc-ease), border-color .35s var(--tdc-ease);
  position:relative;overflow:hidden;
}
.tdc-card--lg{padding:32px 30px;border-radius:var(--tdc-radius)}
.tdc-card:hover{transform:translateY(-4px);box-shadow:var(--tdc-shadow-hover);border-color:rgba(0,154,150,.3)}

/* Card-Akzentlinie oben (Türkis-Strich animiert beim Hover) */
.tdc-card--accent::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--tdc-turq);transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--tdc-ease);
}
.tdc-card--accent:hover::before{transform:scaleX(1)}
.tdc-card--emergency::before{background:var(--tdc-emergency)}
.tdc-card--emergency:hover{border-color:rgba(55,65,81,.35)}

/* === Bullet-Row (Material-Bullets-Style: Icon-Pill + Title/Text) === */
.tdc-bullet{
  background:var(--tdc-paper);
  border-radius:var(--tdc-radius-sm);
  padding:18px 22px;
  box-shadow:var(--tdc-shadow-soft);
  transition:transform .35s var(--tdc-ease), box-shadow .35s var(--tdc-ease);
  display:flex;align-items:center;gap:18px;
  text-decoration:none;color:inherit;
  margin-bottom:12px;
}
.tdc-bullet:hover{transform:translateX(4px);box-shadow:var(--tdc-shadow-hover)}
.tdc-bullet-icon{
  background:var(--tdc-turq-soft);
  color:var(--tdc-turq);
  border-radius:14px;
  width:44px;height:44px;
  display:grid;place-items:center;
  flex-shrink:0;
  transition:background-color .3s var(--tdc-ease), color .3s var(--tdc-ease), transform .3s var(--tdc-ease);
}
.tdc-bullet:hover .tdc-bullet-icon{
  background:var(--tdc-turq);color:#fff;
  transform:rotate(-6deg) scale(1.05);
}
.tdc-bullet-content{flex:1;min-width:0}
.tdc-bullet-title{font-weight:600;letter-spacing:-.005em;color:var(--tdc-ink);font-size:16px;line-height:1.3;margin:0 0 2px}
.tdc-bullet-text{font-size:14.5px;color:var(--tdc-ink-soft);line-height:1.55;margin:0}

/* Emergency-Variant: roter Icon + Border */
.tdc-bullet--emergency .tdc-bullet-icon{background:var(--tdc-emergency-soft);color:var(--tdc-emergency)}
.tdc-bullet--emergency:hover .tdc-bullet-icon{background:var(--tdc-emergency);color:#fff}

/* === Pulse-Dot (animiert) === */
.tdc-pulse{
  display:inline-block;
  width:9px;height:9px;border-radius:50%;
  background:var(--tdc-turq);
  box-shadow:0 0 0 0 rgba(0,154,150,.55);
  animation:tdcPulse 1.8s ease-out infinite;
}
.tdc-pulse--emergency{
  background:var(--tdc-emergency);
  box-shadow:0 0 0 0 rgba(55,65,81,.55);
  animation:tdcPulseEmergency 1.4s ease-out infinite;
}
@keyframes tdcPulse{
  0%{box-shadow:0 0 0 0 rgba(0,154,150,.55)}
  70%{box-shadow:0 0 0 10px rgba(0,154,150,0)}
  100%{box-shadow:0 0 0 0 rgba(0,154,150,0)}
}
@keyframes tdcPulseEmergency{
  0%{box-shadow:0 0 0 0 rgba(55,65,81,.55)}
  70%{box-shadow:0 0 0 12px rgba(55,65,81,0)}
  100%{box-shadow:0 0 0 0 rgba(55,65,81,0)}
}

/* === Fly-In (IntersectionObserver setzt .is-in) === */
@media (prefers-reduced-motion: no-preference){
  .tdc-fly-in{
    opacity:0 !important;
    transform:translateY(36px) !important;
    transition:opacity .9s var(--tdc-ease), transform .9s var(--tdc-ease) !important;
    will-change:opacity, transform;
  }
  .tdc-fly-in.is-in{opacity:1 !important;transform:translateY(0) !important}
  .tdc-fly-in[data-stagger="1"]{transition-delay:.04s}
  .tdc-fly-in[data-stagger="2"]{transition-delay:.08s}
  .tdc-fly-in[data-stagger="3"]{transition-delay:.12s}
  .tdc-fly-in[data-stagger="4"]{transition-delay:.16s}
  .tdc-fly-in[data-stagger="5"]{transition-delay:.20s}
  .tdc-fly-in[data-stagger="6"]{transition-delay:.24s}
  .tdc-fly-in[data-stagger="7"]{transition-delay:.28s}
}

/* === Blocksatz mit Silbentrennung === */
.tdc-blocksatz{
  text-align:justify;
  hyphens:auto;
  -webkit-hyphens:auto;
  -moz-hyphens:auto;
  text-justify:inter-word;
}

/* === Text fade-out nach rechts (mask) === */
.tdc-fade-right{
  white-space:nowrap;overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, #000 0%, #000 80%, transparent 100%);
          mask-image:linear-gradient(to right, #000 0%, #000 80%, transparent 100%);
}

/* === Section-BG-Tints === */
.tdc-bg-soft{background:var(--tdc-bg-soft) !important}
.tdc-bg-paper{background:var(--tdc-paper) !important}

/* === Emergency-Hero-Card (für Notdienst-Page Hero) === */
.tdc-emergency-hero{
  background:linear-gradient(135deg, #fff 0%, #f3f4f6 100%);
  border:1.5px solid rgba(55,65,81,.18);
  border-radius:var(--tdc-radius-lg);
  padding:48px 5vw;
  position:relative;overflow:hidden;
  box-shadow:0 20px 50px -30px rgba(55,65,81,.18);
}
.tdc-emergency-hero::before{
  content:"";position:absolute;
  top:-20%;right:-15%;
  width:50%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(55,65,81,.12),transparent 65%);
  pointer-events:none;
}
.tdc-emergency-hero::after{
  content:"";position:absolute;
  bottom:-25%;left:-10%;
  width:35%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(55,65,81,.06),transparent 70%);
  pointer-events:none;
}

/* === Sticky-CTA Mobile Notdienst-Call (ROT!) === */
.tdc-sticky-call-mobile{
  display:none;
  position:fixed;left:12px;right:12px;bottom:12px;z-index:998;
  background:#dc2626 !important;
  background-color:#dc2626 !important;
  background-image:none !important;
  color:#ffffff !important;
  border-radius:999px;padding:16px 24px !important;
  text-decoration:none !important;font-weight:700 !important;
  font-size:16px !important;letter-spacing:.01em;
  display:flex;align-items:center;justify-content:center;gap:12px;
  box-shadow:0 20px 40px -16px rgba(220,38,38,.55), 0 0 0 1px rgba(255,255,255,.06) inset;
  transition:transform .25s var(--tdc-ease), background-color .25s var(--tdc-ease);
  line-height:1.2;
}
.tdc-sticky-call-mobile:hover{transform:translateY(-2px);background:#b91c1c !important;background-color:#b91c1c !important}
.tdc-sticky-call-mobile *{color:#ffffff !important}
.tdc-sticky-call-mobile .tdc-pulse{background:#fff !important;box-shadow:0 0 0 0 rgba(255,255,255,.6) !important;animation:tdcPulseWhiteBright 1.4s ease-out infinite !important}
.tdc-sticky-call-mobile svg{stroke:#fff !important;color:#fff !important}
@keyframes tdcPulseWhiteBright{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
@media (max-width:768px){
  .tdc-sticky-call-mobile.is-active{display:flex}
}

/* === Topline-Notdienst-Pill modernisieren (Theme-Element .tdc-pill-notdienst) === */
.tdc-pill-topline-item.tdc-pill-notdienst{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  color:#1f2937 !important;
  text-decoration:none !important;
  line-height:1.2 !important;
  padding:4px 10px 4px 4px !important;
  border-radius:999px !important;
  background:transparent !important;
  transition:background-color .2s ease;
}
.tdc-pill-topline-item.tdc-pill-notdienst:hover{
  background:rgba(220,38,38,.06) !important;
}
.tdc-pill-topline-item.tdc-pill-notdienst .tdc-sos-svg{
  display:none !important;
}
.tdc-pill-topline-item.tdc-pill-notdienst::before{
  content:"SOS";
  display:inline-flex;
  align-items:center;justify-content:center;
  background:#dc2626;
  color:#ffffff;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.04em;
  padding:3px 6px;
  border-radius:4px;
  line-height:1;
  font-family:Inter,system-ui,sans-serif;
  flex-shrink:0;
  box-shadow:0 0 0 2px rgba(220,38,38,.18);
}
.tdc-pill-topline-item.tdc-pill-notdienst span{
  font-size:13.5px !important;
  font-weight:600 !important;
  color:#1f2937 !important;
  letter-spacing:-.005em;
}

/* === Headings universal (sitewide opt-in) === */
.tdc-heading-tight{letter-spacing:-.02em;line-height:1.1;font-weight:600}
.tdc-heading-tight em{font-style:normal;color:var(--tdc-turq)}

/* === Link-Underline (Türkis animiert) === */
.tdc-link-underline{
  color:var(--tdc-turq);text-decoration:none;
  background-image:linear-gradient(var(--tdc-turq),var(--tdc-turq));
  background-size:0 1px;
  background-repeat:no-repeat;
  background-position:left bottom;
  padding-bottom:2px;
  transition:background-size .3s var(--tdc-ease), color .25s var(--tdc-ease);
}
.tdc-link-underline:hover{
  background-size:100% 1px;
  color:var(--tdc-turq-dark);
}

/* === ::selection sitewide Türkis === */
::selection{background:rgba(0,154,150,.18);color:var(--tdc-ink)}

/* === Footer: untere Zeile (Termin | Impressum | …) links-bündig === */
.elementor-element.elementor-element-764f460,
.elementor-element.elementor-element-764f460 p,
.elementor-element.elementor-element-764f460 div{
  text-align:left !important;
}

/* === Footer-Termin-Buttons als Pill (vollrund) === */
footer .elementor-button[href*="doctolib" i],
footer .elementor-button[href*="termin" i],
footer .elementor-button[href*="buchen" i],
footer a.elementor-button-link[href*="doctolib" i],
footer a.elementor-button-link[href*="termin" i],
.elementor-location-footer .elementor-button[href*="doctolib" i],
.elementor-location-footer .elementor-button[href*="termin" i],
.elementor-location-footer .elementor-button[href*="buchen" i]{
  border-radius:999px !important;
  padding:14px 32px !important;
  font-weight:600 !important;
  letter-spacing:.01em;
  box-shadow:0 14px 30px -12px rgba(0,154,150,.4) !important;
  transition:transform .3s var(--tdc-ease), background-color .3s var(--tdc-ease), box-shadow .3s var(--tdc-ease) !important;
}
footer .elementor-button[href*="doctolib" i]:hover,
footer .elementor-button[href*="termin" i]:hover,
footer .elementor-button[href*="buchen" i]:hover,
.elementor-location-footer .elementor-button[href*="doctolib" i]:hover,
.elementor-location-footer .elementor-button[href*="termin" i]:hover,
.elementor-location-footer .elementor-button[href*="buchen" i]:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px -12px rgba(0,154,150,.55) !important;
}

/* === Ende Design-Library v1.0 === */

/* id:tdc-w171-header-fix */

/* === MOBILE ONLY (max-width:768px) === Topline rechtsbündig — Desktop bleibt unberührt */
@media (max-width: 768px) {
  header.tdc-pill-header .tdc-pill-topbar .tdc-pill-topline,
  .tdc-pill-header-clone-mob .tdc-pill-topbar .tdc-pill-topline,
  header.tdc-pill-header .tdc-pill-topline,
  .tdc-pill-header-clone-mob .tdc-pill-topline {
    justify-content: flex-end !important;
    padding-right: 14px !important;
  }

  /* v1.5 (W203) — v1.3-CTA-Hide ENTFERNT: native Header-CTAs sollen sichtbar sein
     (w198h-Standalone-Bar wurde deaktiviert). Clone-Icons NICHT mehr versteckt. */
}

/* === DESKTOP ONLY (min-width:769px) === Topline nach rechts: bündig mit "Start"-Nav-Button.
   Gemessen Viewport 1707px: Start beginnt bei x=392, Topline aktuell ab x=183 → 209px Diff.
   Mobile-Block bleibt UNBERÜHRT (greift hier nicht weil min-width). */
@media (min-width: 769px) {
  header.tdc-pill-header .tdc-pill-topline {
    padding-left: 209px !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
  }
}

/* STICKY-PILL-NAV-CLONE (sitewide >=900px desktop + mobile clone-mob): garantiert positioniert */
.tdc-pill-bar-clone {
  position: fixed !important;
  top: 24px !important;
  z-index: 9999 !important;
  background: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 30px -16px rgba(10, 20, 20, .22) !important;
}
.tdc-pill-header-clone-mob {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  right: 8px !important;
  z-index: 9999 !important;
  background: #fff !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 32px -16px rgba(10, 20, 20, .28) !important;
  padding: 8px 12px !important;
}
@media (max-width: 899px) {
  .tdc-pill-bar-clone { display: none !important; }
}
@media (min-width: 900px) {
  .tdc-pill-header-clone-mob { display: none !important; }
}

/* === W203 v1.6 — Burger-Drawer: untere CTA-Buttons (Notdienst/Anrufen/Termin) ENTFERNT === */
.tdc-pill-mobile .tdc-pill-mob-ctas,
.tdc-pill-header-clone-mob .tdc-pill-mob-ctas{
  display:none !important;
}

/* === W203 v1.7 — Burger-Drawer: "Beratung"-Submenu-Link bekommt Einrueckung + Bullet zurueck.
   snippet-136 (Z.298-316) killt ::before + setzt padding 8px 14px fuer href*=beratung in Nav
   (Specificity (2,2,3) via :not(#_):not(#_)). Hier mit :not(#_)x3 = (3,..) ueberschrieben,
   NUR im Mobile-Drawer-Submenu. Werte identisch zu den Geschwister-Links. */
.tdc-pill-mobile .tdc-pill-mob-sub a[href*="beratung"]:not(#_):not(#_):not(#_){
  padding:10px 16px 10px 28px !important;
  font-weight:400 !important;
}
.tdc-pill-mobile .tdc-pill-mob-sub a[href*="beratung"]:not(#_):not(#_):not(#_)::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:14px !important; top:50% !important;
  width:4px !important; height:4px !important;
  border-radius:50% !important;
  background:#1ab3b3 !important;
  opacity:.4 !important;
  transform:translateY(-50%) !important;
}

/* === W203 v1.8 — STATE-RULES gegen WP-Rocket Remove-Unused-CSS schuetzen ===
   RUCSS strippt .open / [aria-expanded="true"] (nicht im statischen DOM, per JS gesetzt)
   → Burger-Drawer oeffnete auf gecachter Seite nicht ("?cb=" umgeht WP-Rocket, daher dort ok).
   Hier im rocket-no-css-optimize-Block dupliziert; gilt fuer Original-Header UND JS-Klon. */
.tdc-pill-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg) !important;width:18px !important}
.tdc-pill-burger[aria-expanded="true"] span:nth-child(2){opacity:0 !important}
.tdc-pill-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg) !important;width:18px !important}
.tdc-pill-mobile.open{max-height:80vh !important;overflow-y:auto !important;opacity:1 !important}
.tdc-pill-mobile .tdc-pill-mob-trigger[aria-expanded="true"]{background:#e6f6f6 !important;color:#0f8585 !important}
.tdc-pill-mobile .tdc-pill-mob-trigger[aria-expanded="true"]::after{transform:rotate(-135deg) !important;opacity:.85 !important}
.tdc-pill-mobile .tdc-pill-mob-trigger[aria-expanded="true"] + .tdc-pill-mob-sub{max-height:1500px !important}

/* id:tdc-w248-a11y */

/* ===== 1a) Nav-Active-Pill "Start" — dunkleres Türkis für Text-Kontrast >= 4.5:1 ===== */
html body .tdc-header-pill .menu-item.current-menu-item > a,
html body .tdc-header-pill .menu-item-has-children.current-menu-parent > a,
html body .tdc-nav .current > a,
html body [class*="current-menu"] > a { color:#00696a !important; }

/* ===== 1b) Blog-Datumsangaben <time> — dunkler Grau statt hellgrau ===== */
html body time,
html body .entry-meta time,
html body .post-date,
html body .tdc-blog-date { color:#4b5563 !important; }

/* ===== 1c) Voice-Box-Labels "Google" / "ProvenExpert" — dunkler ===== */
html body .tdc-w214-voice-box .label { color:#4b5563 !important; }

/* CI-Türkis dunkler für Text (nur wenn Kleintext auf weiß) */
html body .tdc-link-underline { color:#00807d !important; }
html body .tdc-link-underline:hover { color:#005b59 !important; }

/* ===== 3) Adress-Link Nicht-Farb-Merkmal (Unterstreichung) im Header/Footer ===== */
html body .tdc-header-pill a[href*="google.com/maps"],
html body footer a[href*="google.com/maps"],
html body .elementor-location-footer a[href*="google.com/maps"] {
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* ===== 4) Tap-Targets mobil: Punkt-Separatoren + Social-Icons ≥ 24×24 px ===== */
@media (max-width: 768px) {
    html body .tdc-pill-separator,
    html body .tdc-header-pill .dot,
    html body .tdc-header-dot,
    html body [class*="separator"] {
        min-width: 24px !important;
        min-height: 24px !important;
        padding: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    html body .tdc-social-icons a,
    html body [class*="social"] a[href*="instagram"],
    html body [class*="social"] a[href*="facebook"],
    html body [class*="social"] a[href*="linkedin"],
    html body [class*="social"] a[href*="youtube"] {
        min-width: 32px !important;
        min-height: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* id:tdc-w253-autostart-css */

/* Marquees initial pausiert */
.tdc-kb-track:not(.tdc-w253-play),
.tdc-ts-track:not(.tdc-w253-play) {
    animation-play-state: paused !important;
    transform: translateX(0) !important;
}
/* Bei Sichtbarkeit: running */
.tdc-kb-track.tdc-w253-play,
.tdc-ts-track.tdc-w253-play {
    animation-play-state: running !important;
}
/* Reduzierte Bewegung: langsam statt stillstehen.
   Der Dateikopf verspricht das seit dem 25.07.2026 ("sehr langsame Bewegung
   180s statt fix stehen") - umgesetzt war es nie. tdc-a11y-unified.php setzt
   bei prefers-reduced-motion die uebliche globale Regel
   *, *::before, *::after { animation-duration: 0.01ms !important;
                            animation-iteration-count: 1 !important }
   und die traf die Marquees mit. Gemessen am 06.09.2026: Dauer 1e-05s, beide
   Baender standen still - unabhaengig vom Geraet und von der Bildschirmbreite.
   Der Sternchen-Selektor hat Spezifitaet 0, zwei Klassen schlagen ihn; deshalb
   greift diese Regel, obwohl beide !important tragen.
   Die Iterationszahl muss mit zurueckgesetzt werden, sonst laeuft das Band
   genau einmal durch und bleibt dann stehen.
   ABWAEGUNG: Das schwaecht eine Barrierefreiheits-Einstellung bewusst ab.
   180 Sekunden Umlauf sind rund fuenfmal langsamer als normal (38s bzw. 30s)
   und damit der Kompromiss, den das Plugin von Anfang an wollte - kein
   ruckartiges Blinken, aber auch kein toter Streifen. */
@media (prefers-reduced-motion: reduce) {
    .tdc-kb-track.tdc-w253-play,
    .tdc-ts-track.tdc-w253-play {
        animation-duration: 180s !important;
        animation-iteration-count: infinite !important;
        animation-play-state: running !important;
    }
}

/* id:tdc-w256-linking-css */

/* V2 Kategorie-Badge */
.tdc-w256-cat-badge{font-size:13px;color:#4a5858;margin:0 0 20px;padding:8px 14px;background:#f5f8f8;border-left:3px solid #009A96;display:inline-block;border-radius:0 4px 4px 0}
.tdc-w256-cat-badge .tdc-w256-cat-label{font-weight:600;color:#0f1a1a;margin-right:6px}
.tdc-w256-cat-badge a{color:#007a76;text-decoration:none;border-bottom:1px solid rgba(0,154,150,.35)}
.tdc-w256-cat-badge a:hover{color:#009A96}

/* V4 Verwandte Beitraege */
.tdc-w256-related{margin:48px 0 0;padding:32px 24px;background:#f5f8f8;border-top:1px solid #009A96}
.tdc-w256-related-h{font-size:22px;color:#0f1a1a;margin:0 0 20px;font-weight:600;letter-spacing:-.01em}
.tdc-w256-related-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tdc-w256-related-list li{background:#fff;padding:14px 18px;border:1px solid #dfe4e6;border-radius:0;transition:border-color .2s}
.tdc-w256-related-list li:hover{border-color:#009A96}
.tdc-w256-related-list a{color:#0f1a1a;text-decoration:none;font-weight:600;font-size:14.5px;display:block}
.tdc-w256-related-list a:hover{color:#009A96}
@media (max-width:640px){.tdc-w256-related-list{grid-template-columns:1fr}}

/* V1 Weiterfuehrend-Block */
.tdc-w256-more{margin:0;padding:48px 24px;background:#f5f8f8;border-top:1px solid #009A96}
.tdc-w256-more-inner{max-width:1100px;margin:0 auto}
.tdc-w256-more h2{font-size:22px;color:#0f1a1a;margin:0 0 18px;font-weight:600;letter-spacing:-.01em}
.tdc-w256-more ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.tdc-w256-more li{background:#fff;padding:16px 20px;border:1.5px solid #009A96;border-radius:0;transition:background .2s,color .2s}
.tdc-w256-more li:hover{background:#009A96}
.tdc-w256-more a{color:#007a76;text-decoration:none;font-weight:600;font-size:14.5px;display:block}
.tdc-w256-more li:hover a{color:#fff}

