/*
 Theme Name:   Hello Elementor Child
 Description:  Wilhelm Schmidt Child Theme für das Hello Elementor Theme. Custom Funktionen, CSS-Styles und individuelle Anpassungen für Wilhelm Schmidt GmbH
 Author:       Robert Hell
 Author URI:   https://www.roberthell.de
 Template:     hello-elementor
 Version:      1.0
 Text Domain:  hello-elementor-child
*/

/* ===================================================================
   WSG · Bereichs-Theming (1+4-Farbmodell)
   Semantische Elementor-Global-Farben werden pro Bereich umgeschaltet.
   Anwendung: Klasse bereich-b1 … b4 an den ÄUSSERSTEN Container/Section
   der jeweiligen Bereichsseite setzen (Elementor „CSS Classes").
   Widgets referenzieren die semantischen Globals; deren Wert wird hier
   je Bereich überschrieben. Header/Footer ohne Klasse = neutraler Gruppenton.

   Global-IDs:  Bereich-Marke = 176e1573 · Bereich-Ink = e71e68b8 · Bereich-OnDark = 46cce157
   Werte 1:1 aus Styleguide (Marke / Ink / On-Dark).
   =================================================================== */
.bereich-b1{ /* Maschinenbau */
  --e-global-color-176e1573:var(--e-global-color-e6acfd1f);
  --e-global-color-e71e68b8:var(--e-global-color-368bbdd2);
  --e-global-color-46cce157:var(--e-global-color-af5cefdb);
}
.bereich-b2{ /* Engineering / Konstrukta */
  --e-global-color-176e1573:var(--e-global-color-1535cd25);
  --e-global-color-e71e68b8:var(--e-global-color-6cfe1003);
  --e-global-color-46cce157:var(--e-global-color-69d9c54f);
}
.bereich-b3{ /* Motorenservice */
  --e-global-color-176e1573:var(--e-global-color-cc436262);
  --e-global-color-e71e68b8:var(--e-global-color-a7793e0e);
  --e-global-color-46cce157:var(--e-global-color-9f329608);
}
.bereich-b4{ /* Abgasreinigung */
  --e-global-color-176e1573:var(--e-global-color-0b9d560a);
  --e-global-color-e71e68b8:var(--e-global-color-6b3fed2e);
  --e-global-color-46cce157:var(--e-global-color-065bfbbb);
}

/* ===================================================================
   WSG · Barrierefreiheit (WCAG 2.1 AA) — template-weite Grundlagen
   Seitenspezifisches (Alt-Texte, aria-current, Formulare) je Seite beim Bau.
   =================================================================== */

/* Skip-Link (WCAG 2.4.1): den THEME-eigenen `.skip-link` (per .screen-reader-text
   versteckt) bei Fokus sichtbar machen und stylen. Kein eigener Link → keine Dopplung. */
.skip-link:focus{
  position:fixed; left:0; top:0; z-index:100000;
  width:auto; height:auto; margin:0; clip:auto; clip-path:none; overflow:visible;
  padding:12px 20px; background:#fff; color:#111;
  font:500 16px/1.4 "Atkinson Hyperlegible Next",system-ui,sans-serif;
  text-decoration:underline; border-radius:0 0 6px 0;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}

/* Sichtbarer Tastatur-Fokus (WCAG 2.4.7). Dunkler Rahmen + heller Halo →
   funktioniert auf hellen UND dunklen Flächen, unabhängig von der Bereichsfarbe.
   Nur :focus-visible, damit Maus-Klicks keinen Rahmen zeigen. */
:focus-visible{
  outline:3px solid #007cf1 !important; /* Styleguide-Fokus-Ring 15.07. */
  outline-offset:2px;
  box-shadow:0 0 0 5px #fff;
}

/* Bewegung reduzieren, wenn vom Nutzer gewünscht (WCAG 2.2.2 / 2.3.3) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ===================================================================
   Type-Scale (Basis, auto) — Werte aus Styleguide. Die Spezifität
   (hN.elementor-heading-title) schlägt Elementors leere Größen-Variable,
   damit Headings auch OHNE zugewiesenes Preset korrekt sitzen.
   Presets pro Ebene (WSG/H1…H4, Body, Small, Kicker) zusätzlich im Editor wählbar.
   =================================================================== */
/* Body-Basis 18px — höhere Spezifität als Elementors .elementor-kit-4-Default (der zuletzt 17px setzt) */
body.elementor-kit-4{ font-size:18px; }
h1,.elementor-widget-heading h1.elementor-heading-title{ font-size:48px; line-height:1.1; }
h2,.elementor-widget-heading h2.elementor-heading-title{ font-size:34px; line-height:1.15; }
h3,.elementor-widget-heading h3.elementor-heading-title{ font-size:26px; line-height:1.2; }
h4,.elementor-widget-heading h4.elementor-heading-title{ font-size:21px; line-height:1.25; }
@media (max-width:767px){
  h1,.elementor-widget-heading h1.elementor-heading-title{ font-size:34px; }
  h2,.elementor-widget-heading h2.elementor-heading-title{ font-size:27px; }
  h3,.elementor-widget-heading h3.elementor-heading-title{ font-size:23px; }
  h4,.elementor-widget-heading h4.elementor-heading-title{ font-size:19px; }
}

/* ===================================================================
   Header · Topbar — Bereichs-Quicklinks (Punkt aus Global-Farbe, Hover)
   =================================================================== */

/* Elementor-Container sind per Default 100% breit. Die beiden Gruppen (Links/Icons)
   im Boxed-Container auf Inhaltsbreite zwingen, sonst 2×100% → Überlauf. */
.wsg-topbar .e-con-boxed > .e-con-inner > .e-con{ width:auto !important; flex:0 0 auto !important; }

.wsg-tb-link a{
  color:#c6ccd2; text-decoration:none; position:relative; padding-left:14px;
  display:inline-block; transition:color .12s ease;
}
.wsg-tb-link a::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:6px; height:6px; border-radius:50%;
}
.wsg-tb-b1 a::before{ background:var(--e-global-color-af5cefdb); } /* B1 On-Dark */
.wsg-tb-b2 a::before{ background:var(--e-global-color-69d9c54f); } /* B2 On-Dark */
.wsg-tb-b3 a::before{ background:var(--e-global-color-9f329608); } /* B3 On-Dark */
.wsg-tb-b4 a::before{ background:var(--e-global-color-065bfbbb); } /* B4 On-Dark */
/* Hover: Text weiß (Punkt bleibt Bereichsfarbe als Kennung).
   Selektor MUSS die native title_color schlagen (die liegt bei 0,4,0 auf
   .elementor-heading-title) → hier 0,4,1, sonst gewinnt Grau. */
.wsg-topbar .wsg-tb-link:hover .elementor-heading-title a{ color:#fff; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#fff; }

/* Topbar Social-Icons füllen per Flex-STRETCH die volle Leistenhöhe (Hover-BG geht ganz durch),
   36px breit, Icon 15px, ohne Elementor-Innenabstand. */
.wsg-topbar .wsg-social{ width:auto !important; max-width:none; align-self:stretch !important; display:flex; }
.wsg-topbar .wsg-social > .elementor-widget-container{ height:100%; display:flex; }
.wsg-topbar .wsg-social .elementor-social-icons-wrapper{ display:flex; gap:0; margin:0; height:100%; align-items:stretch; justify-content:flex-end; }
.wsg-topbar .wsg-social .elementor-grid-item{ margin:0 !important; padding:0 !important; display:flex; align-items:stretch; }
/* Layout (volle Leistenhöhe). Icon-Farbe grau + Icon-Weiß bei Hover = NATIVE Widget-Settings
   (icon_color:custom, icon_secondary_color #c6ccd2, hover_secondary_color #fff → färbt auch das <svg>). */
.wsg-topbar .elementor-social-icon{
  width:36px !important; min-width:36px; height:auto !important; align-self:stretch;
  border-radius:0; padding:0 !important;
  display:flex; align-items:center; justify-content:center; margin:0;
}
.wsg-topbar .elementor-social-icon svg{ width:15px; height:15px; }

/* Hover-Hintergrund JE MARKE: pro Icon nativ NICHT möglich (Widget-Hover gilt global) → CSS.
   Icon-Weiß bei Hover kommt nativ (s. o.). !important schlägt den nativen transparenten Basis-BG. */
.wsg-topbar .elementor-social-icon-linkedin-in:hover{ background-color:#0A66C2 !important; }
.wsg-topbar .elementor-social-icon-instagram:hover{ background-color:#E4405F !important; }
.wsg-topbar .elementor-social-icon-facebook-f:hover{ background-color:#1877F2 !important; }
.wsg-topbar .elementor-social-icon-envelope:hover{ background-color:#808b95 !important; }

/* ===================================================================
   Mega-Menü „Kompetenzen" — Bereichs-Punkt vor dem Titel (Pseudo-Element,
   nativ nicht möglich → CSS). Punktfarbe = Bereich-Marke. 11px.
   =================================================================== */
.wsg-mega-h .elementor-heading-title{ position:relative; padding-left:19px; }
.wsg-mega-h .elementor-heading-title::before{
  content:""; position:absolute; left:0; top:0.55em; transform:translateY(-50%);
  width:11px; height:11px; border-radius:50%;
}
.wsg-col-b1.wsg-mega-h .elementor-heading-title::before{ background:var(--e-global-color-e6acfd1f); } /* MB Marke */
.wsg-col-b2.wsg-mega-h .elementor-heading-title::before{ background:var(--e-global-color-1535cd25); } /* Eng Marke */
.wsg-col-b3.wsg-mega-h .elementor-heading-title::before{ background:var(--e-global-color-cc436262); } /* Motor Marke */
.wsg-col-b4.wsg-mega-h .elementor-heading-title::before{ background:var(--e-global-color-0b9d560a); } /* Abgas Marke */

/* ===================================================================
   Footer (Theme-Builder-Footer, Post 181)
   =================================================================== */
.wsg-f-claim{ max-width:30ch; }

/* Social-Kreise 36px, Gap 10, Icon weiß (Farben nativ pro Item) */
.wsg-f-social .elementor-social-icon{ width:36px !important; height:36px !important; }
.wsg-f-social .elementor-grid{ --grid-column-gap:10px; --grid-row-gap:10px; column-gap:10px; }

/* Nav-Menü vertikal: Item-Abstand 16, Link als Flex (Punkt/Icon inline) */
.wsg-f-komp .elementor-nav-menu > li:not(:last-child),
.wsg-f-gruppe .elementor-nav-menu > li:not(:last-child){ margin-bottom:16px; }
.wsg-f-komp .elementor-item, .wsg-f-gruppe .elementor-item{ padding:0 !important; display:flex; align-items:center; }

/* Kompetenzen-Punkte (reines CSS, On-Dark) — display:inline-block, sonst greifen width/height nicht */
/* .menu-item hebt Spezifität auf 0-5-2 → schlägt Elementors :not()-Pointer-Regel (opacity:0, 0-5-1).
   position:static + opacity:1 + inset:auto neutralisieren Elementors Pointer-::before (absolute, opacity:0). */
.wsg-f-menu.wsg-f-komp li.fb-b1.menu-item .elementor-item::before,
.wsg-f-menu.wsg-f-komp li.fb-b2.menu-item .elementor-item::before,
.wsg-f-menu.wsg-f-komp li.fb-b3.menu-item .elementor-item::before,
.wsg-f-menu.wsg-f-komp li.fb-b4.menu-item .elementor-item::before{ content:""; display:inline-block; position:static; inset:auto; opacity:1; width:8px; height:8px; border-radius:50%; margin-right:9px; flex:0 0 auto; }
/* .wsg-f-menu.wsg-f-komp = Compound (0-4-x) schlägt Elementors Nav-Pointer-Regel (var(--accent), 0-4-1) */
.wsg-f-menu.wsg-f-komp li.fb-b1 .elementor-item::before{ background:var(--e-global-color-af5cefdb); }
.wsg-f-menu.wsg-f-komp li.fb-b2 .elementor-item::before{ background:var(--e-global-color-69d9c54f); }
.wsg-f-menu.wsg-f-komp li.fb-b3 .elementor-item::before{ background:var(--e-global-color-9f329608); }
.wsg-f-menu.wsg-f-komp li.fb-b4 .elementor-item::before{ background:var(--e-global-color-065bfbbb); }

/* Gruppe + Rechtliches Item-Icons als SVG-Data-URI (#9aa3ab) — kein Webfont nötig, rendern immer */
.wsg-f-menu.wsg-f-gruppe li[class*="fi-"].menu-item .elementor-item::before{ content:""; display:inline-block; position:static; inset:auto; opacity:1; width:16px; height:16px; margin-right:11px; flex:0 0 auto; background-color:transparent; background-repeat:no-repeat; background-position:center; background-size:contain; }
.wsg-f-legal .elementor-nav-menu{ display:flex; gap:22px; }
.wsg-f-legal .elementor-item{ padding:0 !important; display:flex; align-items:center; }
.wsg-f-menu.wsg-f-legal li[class*="fi-"].menu-item .elementor-item::before{ content:""; display:inline-block; position:static; inset:auto; opacity:1; width:12px; height:12px; margin-right:7px; flex:0 0 auto; background-color:transparent; background-repeat:no-repeat; background-position:center; background-size:contain; }
.wsg-f-menu.wsg-f-gruppe li.fi-building .elementor-item::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20fill='%239aa3ab'%20d='M436%20480h-20V24c0-13.255-10.745-24-24-24H56C42.745%200%2032%2010.745%2032%2024v456H12c-6.627%200-12%205.373-12%2012v20h448v-20c0-6.627-5.373-12-12-12zM128%2076c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v40c0%206.627-5.373%2012-12%2012h-40c-6.627%200-12-5.373-12-12V76zm0%2096c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v40c0%206.627-5.373%2012-12%2012h-40c-6.627%200-12-5.373-12-12v-40zm52%20148h-40c-6.627%200-12-5.373-12-12v-40c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v40c0%206.627-5.373%2012-12%2012zm76%20160h-64v-84c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v84zm64-172c0%206.627-5.373%2012-12%2012h-40c-6.627%200-12-5.373-12-12v-40c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v40zm0-96c0%206.627-5.373%2012-12%2012h-40c-6.627%200-12-5.373-12-12v-40c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v40zm0-96c0%206.627-5.373%2012-12%2012h-40c-6.627%200-12-5.373-12-12V76c0-6.627%205.373-12%2012-12h40c6.627%200%2012%205.373%2012%2012v40z'/%3E%3C/svg%3E"); }
.wsg-f-menu.wsg-f-gruppe li.fi-userplus .elementor-item::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20512'%3E%3Cpath%20fill='%239aa3ab'%20d='M624%20208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8%200-16%207.2-16%2016v64h-64c-8.8%200-16%207.2-16%2016v32c0%208.8%207.2%2016%2016%2016h64v64c0%208.8%207.2%2016%2016%2016h32c8.8%200%2016-7.2%2016-16v-64h64c8.8%200%2016-7.2%2016-16v-32c0-8.8-7.2-16-16-16zm-400%2048c70.7%200%20128-57.3%20128-128S294.7%200%20224%200%2096%2057.3%2096%20128s57.3%20128%20128%20128zm89.6%2032h-16.7c-22.2%2010.2-46.9%2016-72.9%2016s-50.6-5.8-72.9-16h-16.7C60.2%20288%200%20348.2%200%20422.4V464c0%2026.5%2021.5%2048%2048%2048h352c26.5%200%2048-21.5%2048-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z'/%3E%3C/svg%3E"); }
.wsg-f-menu.wsg-f-gruppe li.fi-envelope .elementor-item::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20fill='%239aa3ab'%20d='M502.3%20190.8c3.9-3.1%209.7-.2%209.7%204.7V400c0%2026.5-21.5%2048-48%2048H48c-26.5%200-48-21.5-48-48V195.6c0-5%205.7-7.8%209.7-4.7%2022.4%2017.4%2052.1%2039.5%20154.1%20113.6%2021.1%2015.4%2056.7%2047.8%2092.2%2047.6%2035.7.3%2072-32.8%2092.3-47.6%20102-74.1%20131.6-96.3%20154-113.7zM256%20320c23.2.4%2056.6-29.2%2073.4-41.4%20132.7-96.3%20142.8-104.7%20173.4-128.7%205.8-4.5%209.2-11.5%209.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5%2064%200%2085.5%200%20112v19c0%207.4%203.4%2014.3%209.2%2018.9%2030.6%2023.9%2040.7%2032.4%20173.4%20128.7%2016.8%2012.2%2050.2%2041.8%2073.4%2041.4z'/%3E%3C/svg%3E"); }
.wsg-f-menu.wsg-f-legal li.fi-info .elementor-item::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20fill='%239aa3ab'%20d='M256%208C119.043%208%208%20119.083%208%20256c0%20136.997%20111.043%20248%20248%20248s248-111.003%20248-248C504%20119.083%20392.957%208%20256%208zm0%20110c23.196%200%2042%2018.804%2042%2042s-18.804%2042-42%2042-42-18.804-42-42%2018.804-42%2042-42zm56%20254c0%206.627-5.373%2012-12%2012h-88c-6.627%200-12-5.373-12-12v-24c0-6.627%205.373-12%2012-12h12v-64h-12c-6.627%200-12-5.373-12-12v-24c0-6.627%205.373-12%2012-12h64c6.627%200%2012%205.373%2012%2012v100h12c6.627%200%2012%205.373%2012%2012v24z'/%3E%3C/svg%3E"); }
.wsg-f-menu.wsg-f-legal li.fi-lock .elementor-item::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20fill='%239aa3ab'%20d='M400%20224h-24v-72C376%2068.2%20307.8%200%20224%200S72%2068.2%2072%20152v72H48c-26.5%200-48%2021.5-48%2048v192c0%2026.5%2021.5%2048%2048%2048h352c26.5%200%2048-21.5%2048-48V272c0-26.5-21.5-48-48-48zm-104%200H152v-72c0-39.7%2032.3-72%2072-72s72%2032.3%2072%2072v72z'/%3E%3C/svg%3E"); }
.wsg-f-menu.wsg-f-legal li.fi-file .elementor-item::before{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20384%20512'%3E%3Cpath%20fill='%239aa3ab'%20d='M224%20136V0H24C10.7%200%200%2010.7%200%2024v464c0%2013.3%2010.7%2024%2024%2024h336c13.3%200%2024-10.7%2024-24V160H248c-13.2%200-24-10.8-24-24zm64%20236c0%206.6-5.4%2012-12%2012H108c-6.6%200-12-5.4-12-12v-8c0-6.6%205.4-12%2012-12h168c6.6%200%2012%205.4%2012%2012v8zm0-64c0%206.6-5.4%2012-12%2012H108c-6.6%200-12-5.4-12-12v-8c0-6.6%205.4-12%2012-12h168c6.6%200%2012%205.4%2012%2012v8zm0-72v8c0%206.6-5.4%2012-12%2012H108c-6.6%200-12-5.4-12-12v-8c0-6.6%205.4-12%2012-12h168c6.6%200%2012%205.4%2012%2012zm96-114.1v6.1H256V0h6.1c6.4%200%2012.5%202.5%2017%207l97.9%2098c4.5%204.5%207%2010.6%207%2016.9z'/%3E%3C/svg%3E"); }

/* Mobile: ein Strang, ohne Trennlinien zwischen den Blöcken (bewusst abweichend vom Screendesign) */
@media (max-width:767px){
  .wsg-footer-inner{ padding:54px 22px 38px !important; }
  .wsg-footer-grid{ grid-template-columns:1fr !important; border-bottom:0 !important; }
  .wsg-f-col2, .wsg-f-col3, .wsg-f-col4{ margin-left:0 !important; padding-left:0 !important; margin-top:44px; padding-top:44px; }
  .wsg-footer-bottom{ flex-direction:column; gap:14px; text-align:center; }
  .wsg-f-legal .elementor-nav-menu{ justify-content:center; gap:18px; }
}

/* ============================================================
   WSG BUTTON-SYSTEM  (Styleguide § Button-System, final 16.07.)
   Nutzung Elementor: Button-Widget → Erweitert → CSS-Klassen:
     "wsg-btn wsg-btn--b1"  (Basis + eine Variante). Widget-Farben/Padding auf Default lassen.
   Klasse liegt am Widget-Wrapper → gestylt wird der innere .elementor-button.
   Zusätzlich a.wsg-btn für einfache Links (z. B. Referenzseite / HTML-Widget).
   Selektor-Spezifität (0,2,0) schlägt Elementors .elementor-button ohne !important.
   ============================================================ */
.wsg-btn .elementor-button, a.wsg-btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:"Red Hat Display",sans-serif !important; font-weight:800 !important; font-size:18px !important; line-height:1 !important;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
  padding:13px 22px; border-radius:3px; border:1.5px solid transparent;
  text-decoration:none; cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.wsg-btn .elementor-button .elementor-button-content-wrapper{ display:flex; align-items:center; gap:8px; }
.wsg-btn .elementor-button .elementor-button-icon{ margin:0; }
.wsg-btn .elementor-button .elementor-button-icon i,
.wsg-btn .elementor-button .elementor-button-icon svg,
a.wsg-btn i, a.wsg-btn svg{ width:16px; height:16px; font-size:16px; fill:currentColor; }
/* Global-Default: JEDER Elementor-Button 18px Text / 16px Icon (Body-Größe) — setzt sich auch über per-Widget-Größen durch */
.elementor-button{ font-size:18px !important; }
.elementor-button .elementor-button-icon i, .elementor-button .elementor-button-icon svg,
.elementor-widget-button .elementor-button i, .elementor-widget-button .elementor-button svg{ width:16px !important; height:16px !important; font-size:16px !important; }
.wsg-btn .elementor-button:focus-visible, a.wsg-btn:focus-visible{ outline:3px solid #007cf1; outline-offset:3px; border-radius:2px; }

/* Fläche mit !important: schlägt Elementors dynamisch injizierte Button-Default-Fläche
   (Kit-Accent) zuverlässig — im Frontend UND im Editor. Rahmen/Text greifen ohne !important. */
/* — Bereichsfarben · hell (Primär-CTA, Ink) — */
.wsg-btn.wsg-btn--b1 .elementor-button, a.wsg-btn.wsg-btn--b1{ background:var(--e-global-color-e6acfd1f) !important; border-color:var(--e-global-color-e6acfd1f); color:#fff; }
.wsg-btn.wsg-btn--b1 .elementor-button:hover, a.wsg-btn.wsg-btn--b1:hover{ background:var(--e-global-color-918cb762) !important; border-color:var(--e-global-color-918cb762); color:#fff; }
.wsg-btn.wsg-btn--b2 .elementor-button, a.wsg-btn.wsg-btn--b2{ background:var(--e-global-color-1535cd25) !important; border-color:var(--e-global-color-1535cd25); color:#fff; }
.wsg-btn.wsg-btn--b2 .elementor-button:hover, a.wsg-btn.wsg-btn--b2:hover{ background:var(--e-global-color-eea076d3) !important; border-color:var(--e-global-color-eea076d3); color:#fff; }
.wsg-btn.wsg-btn--b3 .elementor-button, a.wsg-btn.wsg-btn--b3{ background:var(--e-global-color-a7793e0e) !important; border-color:var(--e-global-color-a7793e0e); color:#fff; }
.wsg-btn.wsg-btn--b3 .elementor-button:hover, a.wsg-btn.wsg-btn--b3:hover{ background:var(--e-global-color-dd8faff8) !important; border-color:var(--e-global-color-dd8faff8); color:#fff; }
.wsg-btn.wsg-btn--b4 .elementor-button, a.wsg-btn.wsg-btn--b4{ background:var(--e-global-color-6b3fed2e) !important; border-color:var(--e-global-color-6b3fed2e); color:#fff; }
.wsg-btn.wsg-btn--b4 .elementor-button:hover, a.wsg-btn.wsg-btn--b4:hover{ background:var(--e-global-color-f264e0a9) !important; border-color:var(--e-global-color-f264e0a9); color:#fff; }

/* — Bereichsfarben · on-dark — */
.wsg-btn.wsg-btn--b1-dk .elementor-button, a.wsg-btn.wsg-btn--b1-dk{ background:var(--e-global-color-af5cefdb) !important; border-color:var(--e-global-color-af5cefdb); color:#fff; }
.wsg-btn.wsg-btn--b1-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b1-dk:hover{ background:var(--e-global-color-1e1ebb52) !important; border-color:var(--e-global-color-1e1ebb52); color:#fff; }
.wsg-btn.wsg-btn--b2-dk .elementor-button, a.wsg-btn.wsg-btn--b2-dk{ background:var(--e-global-color-69d9c54f) !important; border-color:var(--e-global-color-69d9c54f); color:#fff; }
.wsg-btn.wsg-btn--b2-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b2-dk:hover{ background:var(--e-global-color-9bd140f0) !important; border-color:var(--e-global-color-9bd140f0); color:#fff; }
.wsg-btn.wsg-btn--b3-dk .elementor-button, a.wsg-btn.wsg-btn--b3-dk{ background:var(--e-global-color-a7793e0e) !important; border-color:var(--e-global-color-a7793e0e); color:#fff; }
.wsg-btn.wsg-btn--b3-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b3-dk:hover{ background:var(--e-global-color-35ec4cb0) !important; border-color:var(--e-global-color-35ec4cb0); color:#fff; }
.wsg-btn.wsg-btn--b4-dk .elementor-button, a.wsg-btn.wsg-btn--b4-dk{ background:var(--e-global-color-065bfbbb) !important; border-color:var(--e-global-color-065bfbbb); color:#fff; }
.wsg-btn.wsg-btn--b4-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b4-dk:hover{ background:var(--e-global-color-8f46a051) !important; border-color:var(--e-global-color-8f46a051); color:#fff; }

/* — Neutral · hell (bereichsunabhängig) — */
.wsg-btn.wsg-btn--dark .elementor-button, a.wsg-btn.wsg-btn--dark{ background:#111 !important; border-color:#111; color:#fff; }
.wsg-btn.wsg-btn--dark .elementor-button:hover, a.wsg-btn.wsg-btn--dark:hover{ background:var(--e-global-color-d43a64c) !important; border-color:var(--e-global-color-d43a64c); color:#fff; }
.wsg-btn.wsg-btn--dark-outline .elementor-button, a.wsg-btn.wsg-btn--dark-outline{ background:transparent !important; border-color:#111; color:#111; }
.wsg-btn.wsg-btn--dark-outline .elementor-button:hover, a.wsg-btn.wsg-btn--dark-outline:hover{ background:#e6e6e6 !important; border-color:#111; color:#14181c; }

/* — Neutral · dunkel/Bild (bereichsunabhängig) — */
.wsg-btn.wsg-btn--light .elementor-button, a.wsg-btn.wsg-btn--light{ background:#fff !important; border-color:#fff; color:#111; }
.wsg-btn.wsg-btn--light .elementor-button:hover, a.wsg-btn.wsg-btn--light:hover{ background:#e6e6e6 !important; border-color:#e6e6e6; color:#14181c; }
.wsg-btn.wsg-btn--light-outline .elementor-button, a.wsg-btn.wsg-btn--light-outline{ background:transparent !important; border-color:#fff; color:#fff; }
.wsg-btn.wsg-btn--light-outline .elementor-button:hover, a.wsg-btn.wsg-btn--light-outline:hover{ background:rgba(255,255,255,.14) !important; border-color:rgba(255,255,255,.9); color:#fff; }
/* ===================================================================
   WSG · FUNDAMENT-TOKENS  (Phase 0 · freigegeben 17.07.2026)
   Radien/Schatten/Motion · semantische Zustände · Formularfelder
   (Elementor Pro Forms) · Fließtext (Listen/Zitat/Tabelle) · Bild-Filter.
   Werte aus Designsystem_WSG.html + Token-Vorschau (Robert-Freigabe 17.07.).
   Bereichs-Akzent = semantische Global-Farbe Bereich-Ink (erbt je .bereich-b*).
   =================================================================== */
:root{
  --wsg-r-sm:3px; --wsg-r-input:4px; --wsg-r-md:6px; --wsg-r-lg:16px;
  --wsg-sh-sm:0 1px 4px rgba(17,17,17,.12);
  --wsg-sh-md:0 4px 12px rgba(17,17,17,.13);
  --wsg-sh-lg:0 14px 30px rgba(17,17,17,.17);
  --wsg-error:#c0392b;
  --wsg-success:#2e7d32;
  --wsg-motion-fast:.15s ease;
  --wsg-motion-base:.22s ease;
  /* Akzent-Fallback (neutral = Gruppe-Ink); je .bereich-b* über Bereich-Ink überschrieben */
  --wsg-accent:#6e7780;
}

/* --- Formularfelder (Elementor Pro Forms) --- */
.elementor-field-group .elementor-field-textual{
  font-family:"Atkinson Hyperlegible Next",sans-serif; font-size:16px; color:#111 !important;
  background:#f5f6f7 !important; border:1px solid #d4d8dc !important; border-radius:var(--wsg-r-input) !important;
  padding:13px 14px; transition:border-color var(--wsg-motion-fast), background var(--wsg-motion-fast);
}
.elementor-field-group .elementor-field-textual::placeholder{ color:#9aa3ab; }
.elementor-field-group .elementor-field-textual:focus{
  outline:2px solid var(--wsg-accent); outline-offset:1px; border:1px solid var(--wsg-accent) !important; background:#e8eaed !important;
}
.elementor-field-group > label.elementor-field-label{
  font-family:"Red Hat Mono",monospace !important; font-weight:500 !important; font-size:13px !important; letter-spacing:.04em !important;
  text-transform:uppercase !important; color:#6e7780 !important; margin-bottom:6px;
}
.elementor-field-required > label .elementor-field-label:after,
.elementor-field-required label.elementor-field-label:after{ color:var(--wsg-accent); }
.elementor-field-type-acceptance input[type=checkbox],
.elementor-field-subgroup input[type=checkbox],
.elementor-field-subgroup input[type=radio]{ accent-color:var(--wsg-accent); width:18px; height:18px; }
.elementor-message.elementor-message-danger{ color:var(--wsg-error); }
.elementor-message.elementor-message-success{ color:var(--wsg-success); }
.elementor-field-group.elementor-error .elementor-field-textual{ border:1px solid var(--wsg-error) !important; background:#fff !important; }

/* --- Fließtext: Listen, Zitat, Tabelle (Text-Editor-Widget) --- */
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol{ list-style:none; margin:0 0 1em; padding:0; }
.elementor-widget-text-editor li{ position:relative; padding-left:22px; margin-bottom:8px; }
.elementor-widget-text-editor ul > li::before{
  content:""; position:absolute; left:2px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--wsg-accent);
}
.elementor-widget-text-editor ol{ counter-reset:wsgli; }
.elementor-widget-text-editor ol > li{ counter-increment:wsgli; }
.elementor-widget-text-editor ol > li::before{
  content:counter(wsgli)"."; position:absolute; left:0; top:0;
  font-family:"Red Hat Mono",monospace; font-weight:500; font-size:1em; color:var(--wsg-accent);
}
.elementor-widget-text-editor blockquote{
  margin:1em 0; padding:6px 0 6px 22px; border-left:3px solid #808b95;
  font-style:italic; font-size:1.12em; line-height:1.55;
}
.elementor-widget-text-editor blockquote cite{
  display:block; font-family:"Red Hat Mono",monospace; font-style:normal; font-size:.72em;
  letter-spacing:.04em; color:#6e7780; margin-top:10px;
}
.elementor-widget-text-editor table{ width:100%; border-collapse:collapse; }
.elementor-widget-text-editor table th,
.elementor-widget-text-editor table td{ text-align:left; padding:11px 14px; border:1px solid #b2b2b2; }
.elementor-widget-text-editor table th{
  font-family:"Red Hat Mono",monospace; font-weight:500; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:#6e7780; background:#f5f6f7;
}
.elementor-widget-text-editor table tbody tr:nth-child(even){ background:#fafbfb; }

/* --- Bild-Behandlung (Deko entsättigt; Marken-Tint via Elementor-Overlay #6e7780 multiply) --- */
.wsg-img-deko img, .wsg-img-deko{ filter:saturate(0) contrast(1.04); }
/* Regel: Filter nie animieren (Perf/A11y). Bereich-Ink für Marker via .bereich-b*. */

/* --- Kicker (Eyebrow) · .wsg-kicker auf Heading-Widget (Tag div) — freigegeben 17.07. --- */
/* !important auf Typo/Farbe: schlaegt Elementors Heading-Default (gleiche Spezifitaet, spaeter im Cascade) — wie Button-System. */
.wsg-kicker .elementor-heading-title{
  display:inline-flex; align-items:center; gap:12px; white-space:nowrap;
  font-family:"Red Hat Mono",monospace !important; font-weight:500 !important;
  font-size:15px !important; line-height:1.4; letter-spacing:.10em !important;
  text-transform:uppercase; color:var(--wsg-accent) !important;
}
.wsg-kicker .elementor-heading-title::before{ content:""; width:30px; height:2px; background:currentColor; flex:none; }
/* On-Dark-Kicker: Gruppe/neutral = helles Grau (WSG/Gruppe-OnDark #9aa3ab · 7.37:1); auf Bereichsseiten = Bereich-OnDark-Farbe */
.wsg-kicker--ondark .elementor-heading-title{ color:var(--e-global-color-13ebd261) !important; }
.bereich-b1 .wsg-kicker--ondark .elementor-heading-title{ color:var(--e-global-color-af5cefdb) !important; }
.bereich-b2 .wsg-kicker--ondark .elementor-heading-title{ color:var(--e-global-color-69d9c54f) !important; }
.bereich-b3 .wsg-kicker--ondark .elementor-heading-title{ color:var(--e-global-color-9f329608) !important; }
.bereich-b4 .wsg-kicker--ondark .elementor-heading-title{ color:var(--e-global-color-065bfbbb) !important; }
@media(max-width:767px){ .wsg-kicker .elementor-heading-title::before{ width:24px; } }

/* Akzent (--wsg-accent) pro Bereich DIREKT setzen — nested var() schaltet nicht um (verifiziert 17.07.). Neutral = Gruppe-Ink (:root). */
.bereich-b1{ --wsg-accent:var(--e-global-color-368bbdd2); }
.bereich-b2{ --wsg-accent:var(--e-global-color-6cfe1003); }
.bereich-b3{ --wsg-accent:var(--e-global-color-a7793e0e); }
.bereich-b4{ --wsg-accent:var(--e-global-color-6b3fed2e); }

/* Section-Heading (Komposition: Kicker + Heading + optional Intro) */
.wsg-sh{max-width:620px}
.wsg-sh--center{margin-left:auto;margin-right:auto;text-align:center}
.wsg-sh--wide{max-width:820px}
.wsg-sh--center .wsg-kicker .elementor-heading-title{justify-content:center}

/* ===== Leistungs-Card (.wsg-card) — Designsystem-Spec, Abstände auf 8px-Skala ===== */
.wsg-card-grid{display:grid !important;gap:24px}
.wsg-card{display:flex;flex-direction:column;padding:24px;overflow:hidden;background:linear-gradient(160deg,#fff 0%,#fcfcfd 60%,#f7f8f9 100%);border:1px solid #e6e8ea;border-radius:6px;transition:all .22s ease;text-decoration:none}
.wsg-card--b1{border-top:3px solid var(--e-global-color-368bbdd2)}.wsg-card--b2{border-top:3px solid var(--e-global-color-6cfe1003)}.wsg-card--b3{border-top:3px solid var(--e-global-color-a7793e0e)}.wsg-card--b4{border-top:3px solid var(--e-global-color-6b3fed2e)}
.wsg-card:hover{box-shadow:0 10px 24px rgba(17,17,17,.08)}
.wsg-card--b1:hover{border-color:var(--e-global-color-918cb762)}.wsg-card--b2:hover{border-color:var(--e-global-color-eea076d3)}.wsg-card--b3:hover{border-color:var(--e-global-color-35ec4cb0)}.wsg-card--b4:hover{border-color:var(--e-global-color-f264e0a9)}
.wsg-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.wsg-card__icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 2px 8px rgba(17,17,17,.06);transition:background .25s ease;flex:none}
.wsg-card__icon .elementor-icon{font-size:24px}
.wsg-card__icon i,.wsg-card__icon svg{font-size:24px !important;width:24px;height:24px;line-height:1}
.wsg-card--b1 .wsg-card__icon i{color:var(--e-global-color-368bbdd2)}.wsg-card--b2 .wsg-card__icon i{color:var(--e-global-color-6cfe1003)}.wsg-card--b3 .wsg-card__icon i{color:var(--e-global-color-a7793e0e)}.wsg-card--b4 .wsg-card__icon i{color:var(--e-global-color-6b3fed2e)}
.wsg-card--b1:hover .wsg-card__icon{background:var(--e-global-color-368bbdd2)}.wsg-card--b2:hover .wsg-card__icon{background:var(--e-global-color-6cfe1003)}.wsg-card--b3:hover .wsg-card__icon{background:var(--e-global-color-a7793e0e)}.wsg-card--b4:hover .wsg-card__icon{background:var(--e-global-color-6b3fed2e)}
.wsg-card:hover .wsg-card__icon i{color:#fff}
.wsg-card__num .elementor-heading-title{font-family:"Red Hat Mono",monospace !important;font-weight:500 !important;font-size:34px !important;line-height:1 !important;color:#c3c8ce !important}
.wsg-card__label{margin:0 0 8px}
.wsg-card__label .elementor-heading-title{font-family:"Red Hat Mono",monospace !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.05em !important;text-transform:uppercase !important;line-height:1.4 !important}
.wsg-card--b1 .wsg-card__label .elementor-heading-title{color:var(--e-global-color-368bbdd2) !important}.wsg-card--b2 .wsg-card__label .elementor-heading-title{color:var(--e-global-color-6cfe1003) !important}.wsg-card--b3 .wsg-card__label .elementor-heading-title{color:var(--e-global-color-a7793e0e) !important}.wsg-card--b4 .wsg-card__label .elementor-heading-title{color:var(--e-global-color-6b3fed2e) !important}
.wsg-card__title{margin:0 0 16px}
.wsg-card__title .elementor-heading-title{font-family:"Red Hat Display",sans-serif !important;font-weight:600 !important;font-size:24px !important;line-height:1.2 !important;color:#111 !important}
@media(max-width:767px){.wsg-card__title .elementor-heading-title{font-size:22px !important}}
.wsg-card__text .elementor-widget-container,.wsg-card__text p{font-family:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",sans-serif;line-height:1.6;color:#3a3f44;margin:0}
.wsg-card__link{display:inline-flex;align-items:center;gap:8px;margin-top:24px}
.wsg-card__link .elementor-heading-title{font-family:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",sans-serif !important;font-weight:700 !important;font-size:18px !important;line-height:1.2 !important}
.wsg-card--b1 .wsg-card__link .elementor-heading-title,.wsg-card--b1 .wsg-card__arrow i{color:var(--e-global-color-368bbdd2) !important}.wsg-card--b2 .wsg-card__link .elementor-heading-title,.wsg-card--b2 .wsg-card__arrow i{color:var(--e-global-color-6cfe1003) !important}.wsg-card--b3 .wsg-card__link .elementor-heading-title,.wsg-card--b3 .wsg-card__arrow i{color:var(--e-global-color-a7793e0e) !important}.wsg-card--b4 .wsg-card__link .elementor-heading-title,.wsg-card--b4 .wsg-card__arrow i{color:var(--e-global-color-6b3fed2e) !important}
.wsg-card__arrow i{font-size:14px !important;transition:transform .25s ease}
.wsg-card:hover .wsg-card__arrow i{transform:translateX(5px)}
/* FA inline-SVG fix: Elementor rendert FA-Icons als <svg> → Farbe über color/fill statt <i> */
.wsg-card__icon .elementor-icon,.wsg-card__icon svg{width:24px;height:24px}
.wsg-card--b1 .wsg-card__icon .elementor-icon,.wsg-card--b1 .wsg-card__icon svg{color:var(--e-global-color-368bbdd2) !important;fill:var(--e-global-color-368bbdd2) !important}
.wsg-card--b2 .wsg-card__icon .elementor-icon,.wsg-card--b2 .wsg-card__icon svg{color:var(--e-global-color-6cfe1003) !important;fill:var(--e-global-color-6cfe1003) !important}
.wsg-card--b3 .wsg-card__icon .elementor-icon,.wsg-card--b3 .wsg-card__icon svg{color:var(--e-global-color-a7793e0e) !important;fill:var(--e-global-color-a7793e0e) !important}
.wsg-card--b4 .wsg-card__icon .elementor-icon,.wsg-card--b4 .wsg-card__icon svg{color:var(--e-global-color-6b3fed2e) !important;fill:var(--e-global-color-6b3fed2e) !important}
.wsg-card:hover .wsg-card__icon .elementor-icon,.wsg-card:hover .wsg-card__icon svg{color:#fff !important;fill:#fff !important}
.wsg-card--b1 .wsg-card__arrow .elementor-icon,.wsg-card--b1 .wsg-card__arrow svg{color:var(--e-global-color-368bbdd2) !important;fill:var(--e-global-color-368bbdd2) !important}
.wsg-card--b2 .wsg-card__arrow .elementor-icon,.wsg-card--b2 .wsg-card__arrow svg{color:var(--e-global-color-6cfe1003) !important;fill:var(--e-global-color-6cfe1003) !important}
.wsg-card--b3 .wsg-card__arrow .elementor-icon,.wsg-card--b3 .wsg-card__arrow svg{color:var(--e-global-color-a7793e0e) !important;fill:var(--e-global-color-a7793e0e) !important}
.wsg-card--b4 .wsg-card__arrow .elementor-icon,.wsg-card--b4 .wsg-card__arrow svg{color:var(--e-global-color-6b3fed2e) !important;fill:var(--e-global-color-6b3fed2e) !important}
.wsg-card__arrow .elementor-icon,.wsg-card__arrow svg{width:14px;height:14px}
/* arrow-transform-svg-fix: Pfeil ist <svg> → Transform auf .elementor-icon/svg */
.wsg-card__arrow .elementor-icon,.wsg-card__arrow svg{transition:transform .25s ease}
.wsg-card:hover .wsg-card__arrow .elementor-icon,.wsg-card:hover .wsg-card__arrow svg{transform:translateX(5px)}
/* card-layout-override: Elementor-Container-CSS schlägt reine Klassen → Layout mit !important durchsetzen */
.wsg-card{padding:24px !important;border-radius:6px !important}
.wsg-card__top{display:flex !important;flex-direction:row !important;justify-content:space-between !important;align-items:center !important;margin-bottom:16px !important}
.wsg-card__icon{display:flex !important;align-items:center !important;justify-content:center !important}
.wsg-card__icon .elementor-icon-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;line-height:0}
.wsg-card__icon .elementor-icon,.wsg-card__icon svg{width:24px !important;height:24px !important;font-size:24px !important}
.wsg-card__num .elementor-heading-title{text-align:right !important}
.wsg-card__label{margin:0 0 8px !important}
.wsg-card__title{margin:0 0 16px !important}
.wsg-card__text{margin:0 !important}
.wsg-card__link{margin-top:24px !important;align-items:center !important}
.wsg-card__arrow .elementor-icon,.wsg-card__arrow svg{width:14px !important;height:14px !important;font-size:14px !important}
/* ===== Hero dunkel + Marken-Kachel-Raster =====
   Grid (.wsg-marken), Kachel-Layout (Flex/Padding/Border/min-height), Typo (Name/Tag),
   Pfeil-Kreis + Icon und Fuss-Reihe sind jetzt NATIV in Elementor gesetzt (editierbar).
   Child-CSS nur noch fuer nicht-native Deko: text-shadow, Hover-Tint (color-mix Token),
   Pfeil-Hover-Move und die absolut positionierte, hoehenbegrenzte Logo-SVG. */
.wsg-hero__inner{display:grid !important;grid-template-columns:1fr 1fr;gap:48px;align-items:center;width:100%}
.wsg-hero__cta{display:flex !important;flex-direction:row !important;gap:16px !important;margin-top:24px !important;flex-wrap:wrap}
.wsg-kachel{text-shadow:0 1px 14px rgba(0,0,0,.55);transition:background .3s ease;text-decoration:none;cursor:pointer}
.wsg-kachel__logo{display:flex !important;align-items:center;margin:0 0 auto 0 !important}
.wsg-kachel__logo img{max-width:100%;object-fit:contain}
.wsg-kachel__arrow{transition:transform .2s ease}
.wsg-kachel:hover .wsg-kachel__arrow{transform:translateX(3px)}
.wsg-kachel--b1:hover{background:color-mix(in srgb,var(--e-global-color-e6acfd1f) 50%,transparent)}.wsg-kachel--b2:hover{background:color-mix(in srgb,var(--e-global-color-1535cd25) 55%,transparent)}.wsg-kachel--b3:hover{background:color-mix(in srgb,var(--e-global-color-a7793e0e) 50%,transparent)}.wsg-kachel--b4:hover{background:color-mix(in srgb,var(--e-global-color-6b3fed2e) 52%,transparent)}
@media(max-width:1024px){.wsg-hero__inner{grid-template-columns:1fr;gap:32px}}

/* ===== wsg-global-gutter: globale responsive Sektions-Seitenabstaende ===== */
:root{--wsg-gutter:48px}
@media(max-width:1024px){:root{--wsg-gutter:32px}}
@media(max-width:767px){:root{--wsg-gutter:16px}}
.e-con.e-parent:not(.wsg-bleed):not([class*='wsg-mega']):not(.wsg-mtr){--padding-left:var(--wsg-gutter) !important;--padding-right:var(--wsg-gutter) !important;padding-left:var(--wsg-gutter) !important;padding-right:var(--wsg-gutter) !important}
/*wsg-hero h-padding entfernt -> nativ content_width:boxed*/
/* Referenz-Label in Vollbild-Sektionen auf Gutter einruecken */
.wsg-ref-label{padding-left:var(--wsg-gutter) !important;padding-right:var(--wsg-gutter) !important}

/* wsg-hero-inner-nopad: Elementor-Default-Padding im Hero nullen (Inhalt buendig auf Gutter) */
.wsg-hero__inner{padding:0 !important}
.wsg-hero__inner > .e-con{padding:0 !important}

/* wsg-tame-default-padding: Elementor 10px-Default-Container-Padding global auf 0 (verschachtelte Container). Explizite/physische Paddings der Komponenten bleiben. */
:where(.e-con.e-child){--padding-block-start:0px;--padding-block-end:0px;--padding-inline-start:0px;--padding-inline-end:0px}

/* wsg-hero-vpad: vertikales Sektions-Padding im Hero wiederherstellen (Tame hatte --padding-block-* genullt). Innerhalb gelöst → Hintergrundbild bleibt full-bleed. */
/*wsg-hero v-padding entfernt -> nativ*/

/* ===== CTA-Band (.wsg-cta) — 20.07. ===== */
.wsg-cta{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:40px !important;padding:40px 48px !important;border-radius:8px !important;overflow:hidden}
.wsg-cta__text{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:8px !important;max-width:60ch}
.wsg-cta__kicker,.wsg-cta__kicker .elementor-heading-title{font-family:"Red Hat Mono",monospace !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.10em !important;text-transform:uppercase !important;line-height:1.4 !important;color:rgba(255,255,255,.82) !important;margin:0 !important}
.wsg-cta__title,.wsg-cta__title .elementor-heading-title{font-family:"Red Hat Display",sans-serif !important;font-weight:800 !important;font-size:32px !important;line-height:1.15 !important;color:#fff !important;margin:0 !important}
.wsg-cta--b1{background:var(--e-global-color-368bbdd2)}.wsg-cta--b2{background:var(--e-global-color-6cfe1003)}.wsg-cta--b3{background:var(--e-global-color-a7793e0e)}.wsg-cta--b4{background:var(--e-global-color-6b3fed2e)}
.wsg-cta--dark{background:#14181c}
.wsg-cta .wsg-btn{flex:none}
@media(max-width:1024px){.wsg-cta{padding:40px 32px !important;gap:32px !important}}
@media(max-width:767px){.wsg-cta{flex-direction:column !important;align-items:flex-start !important;padding:24px 16px !important;gap:24px !important}.wsg-cta__title{font-size:27px !important}}

.wsg-cta__intro,.wsg-cta__intro p{font-family:"Atkinson Hyperlegible Next",sans-serif !important;font-weight:400 !important;line-height:1.6 !important;color:rgba(255,255,255,.9) !important}
.wsg-cta__intro{margin:8px 0 0 !important;max-width:54ch}
.wsg-cta__intro p{margin:0 !important}

/* ===== CTA Vollbild + Parallax + Overlay (.wsg-cta-img) — 20.07. ===== */
.wsg-cta-img{position:relative;overflow:hidden}
.wsg-cta-img__inner{position:relative;z-index:1;max-width:1240px;margin-inline:auto;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:16px !important;padding-top:96px !important;padding-bottom:96px !important;padding-left:var(--wsg-gutter) !important;padding-right:var(--wsg-gutter) !important}
.wsg-cta-img__kicker,.wsg-cta-img__kicker .elementor-heading-title{font-family:"Red Hat Mono",monospace !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.10em !important;text-transform:uppercase !important;line-height:1.4 !important;color:rgba(255,255,255,.82) !important;margin:0 !important}
.wsg-cta-img__title,.wsg-cta-img__title .elementor-heading-title{font-family:"Red Hat Display",sans-serif !important;font-weight:800 !important;font-size:34px !important;line-height:1.12 !important;color:#fff !important;margin:0 !important;max-width:22ch}
.wsg-cta-img__intro,.wsg-cta-img__intro p{font-family:"Atkinson Hyperlegible Next",sans-serif !important;font-weight:400 !important;font-size:18px !important;line-height:1.6 !important;color:rgba(255,255,255,.9) !important;margin:0 !important}
.wsg-cta-img__intro{max-width:56ch}
.wsg-cta-img__cta{margin-top:8px !important}
@media(max-width:1024px){.wsg-cta-img__inner{padding-top:64px !important;padding-bottom:64px !important}}
@media(max-width:767px){.wsg-cta-img__inner{padding-top:40px !important;padding-bottom:40px !important}.wsg-cta-img__title{font-size:27px !important}.wsg-cta-img{background-attachment:scroll !important}}

/* wsg-cta-img-center: Inhalt horizontal zentrieren (Elementor-Default align-items:stretch schlägt sonst margin:auto) */
.wsg-cta-img{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important}

/* ===== Kontaktformular: Breite + Submit (Feld-Tokens existieren schon) — 20.07. ===== */
.wsg-form{width:100% !important}
.wsg-form .elementor-button{font-family:"Red Hat Display",sans-serif !important;font-weight:800 !important;font-size:18px !important;line-height:1 !important;background:var(--wsg-accent) !important;border:1.5px solid var(--wsg-accent) !important;color:#fff !important;border-radius:var(--wsg-r-input) !important;padding:14px 26px !important;cursor:pointer;display:inline-flex;align-items:center;gap:8px;-webkit-font-smoothing:antialiased;transition:background-color var(--wsg-motion-fast),border-color var(--wsg-motion-fast)}
.wsg-form .elementor-button:hover{background:var(--wsg-accent) !important;border-color:var(--wsg-accent) !important;color:#fff !important;filter:brightness(1.15)}

/* ===== Kontaktformular v2: Icons vor Labels + Submit + MB-Fokus — 20.07. ===== */
.wsg-form .elementor-button{flex:0 0 auto !important;width:auto !important;display:inline-flex !important;align-self:flex-start !important}
.wsg-form .elementor-button i,.wsg-form .elementor-button svg{width:16px !important;height:16px !important;font-size:16px !important;fill:currentColor}
.wsg-form .elementor-field-group-name .elementor-field-label,
.wsg-form .elementor-field-group-firma .elementor-field-label,
.wsg-form .elementor-field-group-email .elementor-field-label,
.wsg-form .elementor-field-group-telefon .elementor-field-label,
.wsg-form .elementor-field-group-nachricht .elementor-field-label,
.wsg-form .elementor-field-group-datei .elementor-field-label{display:inline-flex;align-items:center}
.wsg-form .elementor-field-group-name .elementor-field-label::before,
.wsg-form .elementor-field-group-firma .elementor-field-label::before,
.wsg-form .elementor-field-group-email .elementor-field-label::before,
.wsg-form .elementor-field-group-telefon .elementor-field-label::before,
.wsg-form .elementor-field-group-nachricht .elementor-field-label::before,
.wsg-form .elementor-field-group-datei .elementor-field-label::before{content:"";width:1em;height:1em;flex:none;margin-right:8px;background:var(--wsg-accent);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.wsg-form .elementor-field-group-name .elementor-field-label::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20448%20512%27%3E%3Cpath%20d%3D%27M224%20256A128%20128%200%201%200%20224%200a128%20128%200%201%200%200%20256zm-45.7%2048C79.8%20304%200%20383.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512l388.6%200c16.4%200%2029.7-13.3%2029.7-29.7C448%20383.8%20368.2%20304%20269.7%20304l-91.4%200z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20448%20512%27%3E%3Cpath%20d%3D%27M224%20256A128%20128%200%201%200%20224%200a128%20128%200%201%200%200%20256zm-45.7%2048C79.8%20304%200%20383.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512l388.6%200c16.4%200%2029.7-13.3%2029.7-29.7C448%20383.8%20368.2%20304%20269.7%20304l-91.4%200z%27%2F%3E%3C%2Fsvg%3E")}
.wsg-form .elementor-field-group-firma .elementor-field-label::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20384%20512%27%3E%3Cpath%20d%3D%27M48%200C21.5%200%200%2021.5%200%2048L0%20464c0%2026.5%2021.5%2048%2048%2048l96%200%200-80c0-26.5%2021.5-48%2048-48s48%2021.5%2048%2048l0%2080%2096%200c26.5%200%2048-21.5%2048-48l0-416c0-26.5-21.5-48-48-48L48%200zM64%20240c0-8.8%207.2-16%2016-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32zm112-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32c0-8.8%207.2-16%2016-16zm80%2016c0-8.8%207.2-16%2016-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32zM80%2096l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32c0-8.8%207.2-16%2016-16zm80%2016c0-8.8%207.2-16%2016-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32zM272%2096l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32c0-8.8%207.2-16%2016-16z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20384%20512%27%3E%3Cpath%20d%3D%27M48%200C21.5%200%200%2021.5%200%2048L0%20464c0%2026.5%2021.5%2048%2048%2048l96%200%200-80c0-26.5%2021.5-48%2048-48s48%2021.5%2048%2048l0%2080%2096%200c26.5%200%2048-21.5%2048-48l0-416c0-26.5-21.5-48-48-48L48%200zM64%20240c0-8.8%207.2-16%2016-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32zm112-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32c0-8.8%207.2-16%2016-16zm80%2016c0-8.8%207.2-16%2016-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32zM80%2096l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32c0-8.8%207.2-16%2016-16zm80%2016c0-8.8%207.2-16%2016-16l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32zM272%2096l32%200c8.8%200%2016%207.2%2016%2016l0%2032c0%208.8-7.2%2016-16%2016l-32%200c-8.8%200-16-7.2-16-16l0-32c0-8.8%207.2-16%2016-16z%27%2F%3E%3C%2Fsvg%3E")}
.wsg-form .elementor-field-group-email .elementor-field-label::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M48%2064C21.5%2064%200%2085.5%200%20112c0%2015.1%207.1%2029.3%2019.2%2038.4L236.8%20313.6c11.4%208.5%2027%208.5%2038.4%200L492.8%20150.4c12.1-9.1%2019.2-23.3%2019.2-38.4c0-26.5-21.5-48-48-48L48%2064zM0%20176L0%20384c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-208L294.4%20339.2c-22.8%2017.1-54%2017.1-76.8%200L0%20176z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M48%2064C21.5%2064%200%2085.5%200%20112c0%2015.1%207.1%2029.3%2019.2%2038.4L236.8%20313.6c11.4%208.5%2027%208.5%2038.4%200L492.8%20150.4c12.1-9.1%2019.2-23.3%2019.2-38.4c0-26.5-21.5-48-48-48L48%2064zM0%20176L0%20384c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-208L294.4%20339.2c-22.8%2017.1-54%2017.1-76.8%200L0%20176z%27%2F%3E%3C%2Fsvg%3E")}
.wsg-form .elementor-field-group-telefon .elementor-field-label::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M164.9%2024.6c-7.7-18.6-28-28.5-47.4-23.2l-88%2024C12.1%2030.2%200%2046%200%2064C0%20311.4%20200.6%20512%20448%20512c18%200%2033.8-12.1%2038.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3%2011.6L304.7%20368C234.3%20334.7%20177.3%20277.7%20144%20207.3L193.3%20167c13.7-11.2%2018.4-30%2011.6-46.3l-40-96z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M164.9%2024.6c-7.7-18.6-28-28.5-47.4-23.2l-88%2024C12.1%2030.2%200%2046%200%2064C0%20311.4%20200.6%20512%20448%20512c18%200%2033.8-12.1%2038.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3%2011.6L304.7%20368C234.3%20334.7%20177.3%20277.7%20144%20207.3L193.3%20167c13.7-11.2%2018.4-30%2011.6-46.3l-40-96z%27%2F%3E%3C%2Fsvg%3E")}
.wsg-form .elementor-field-group-nachricht .elementor-field-label::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M512%20240c0%20114.9-114.6%20208-256%20208c-37.1%200-72.3-6.4-104.1-17.9c-11.9%208.7-31.3%2020.6-54.3%2030.6C73.6%20471.1%2044.7%20480%2016%20480c-6.5%200-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8%203.4-17.4l.3-.3c.3-.3%20.7-.7%201.3-1.4c1.1-1.2%202.8-3.1%204.9-5.7c4.1-5%209.6-12.4%2015.2-21.6c10-16.6%2019.5-38.4%2021.4-62.9C21.4%20355%200%20302.5%200%20240C0%20125.1%20114.6%2032%20256%2032s256%2093.1%20256%20208z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M512%20240c0%20114.9-114.6%20208-256%20208c-37.1%200-72.3-6.4-104.1-17.9c-11.9%208.7-31.3%2020.6-54.3%2030.6C73.6%20471.1%2044.7%20480%2016%20480c-6.5%200-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8%203.4-17.4l.3-.3c.3-.3%20.7-.7%201.3-1.4c1.1-1.2%202.8-3.1%204.9-5.7c4.1-5%209.6-12.4%2015.2-21.6c10-16.6%2019.5-38.4%2021.4-62.9C21.4%20355%200%20302.5%200%20240C0%20125.1%20114.6%2032%20256%2032s256%2093.1%20256%20208z%27%2F%3E%3C%2Fsvg%3E")}
.wsg-form .elementor-field-group-datei .elementor-field-label::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20448%20512%27%3E%3Cpath%20d%3D%27M364.2%2083.8c-24.4-24.4-64-24.4-88.4%200l-184%20184c-42.1%2042.1-42.1%20110.3%200%20152.4s110.3%2042.1%20152.4%200l152-152c10.9-10.9%2028.7-10.9%2039.6%200s10.9%2028.7%200%2039.6l-152%20152c-64%2064-167.6%2064-231.6%200s-64-167.6%200-231.6l184-184c46.3-46.3%20121.3-46.3%20167.6%200s46.3%20121.3%200%20167.6l-176%20176c-28.6%2028.6-75%2028.6-103.6%200s-28.6-75%200-103.6l144-144c10.9-10.9%2028.7-10.9%2039.6%200s10.9%2028.7%200%2039.6l-144%20144c-6.7%206.7-6.7%2017.7%200%2024.4s17.7%206.7%2024.4%200l176-176c24.4-24.4%2024.4-64%200-88.4z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20448%20512%27%3E%3Cpath%20d%3D%27M364.2%2083.8c-24.4-24.4-64-24.4-88.4%200l-184%20184c-42.1%2042.1-42.1%20110.3%200%20152.4s110.3%2042.1%20152.4%200l152-152c10.9-10.9%2028.7-10.9%2039.6%200s10.9%2028.7%200%2039.6l-152%20152c-64%2064-167.6%2064-231.6%200s-64-167.6%200-231.6l184-184c46.3-46.3%20121.3-46.3%20167.6%200s46.3%20121.3%200%20167.6l-176%20176c-28.6%2028.6-75%2028.6-103.6%200s-28.6-75%200-103.6l144-144c10.9-10.9%2028.7-10.9%2039.6%200s10.9%2028.7%200%2039.6l-144%20144c-6.7%206.7-6.7%2017.7%200%2024.4s17.7%206.7%2024.4%200l176-176c24.4-24.4%2024.4-64%200-88.4z%27%2F%3E%3C%2Fsvg%3E")}
/* MB (bereich-b1): Input-Fokus NICHT rot (rot=Fehler-Fehldeutung) -> neutral dunkelgrau */
.bereich-b1 .wsg-form .elementor-field-group .elementor-field-textual:focus{border:1px solid var(--e-global-color-d43a64c) !important;outline:2px solid var(--e-global-color-d43a64c) !important}

/* wsg-form-field-spacing: Feld-Abstände 8er-konform (Reihen 24, Spalten 16) — 20.07. */
.wsg-form .elementor-field-group{margin-bottom:24px !important;padding-left:8px !important;padding-right:8px !important}
.wsg-form .elementor-form-fields-wrapper{margin-left:-8px !important;margin-right:-8px !important}

/* wsg-form-consent: Checkbox an Textzeile ausrichten + Abstand rechts — 20.07. */
.wsg-form .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
.wsg-form .elementor-field-type-acceptance .elementor-field-option input[type=checkbox]{margin-top:3px;flex:none}

/* wsg-form-hint + hint-group spacing */
.wsg-form .wsg-form-hint{font-family:"Atkinson Hyperlegible Next",sans-serif;font-size:13px;color:#6e7780;display:block}
.wsg-form .elementor-field-group-datei_hint{margin-top:-16px !important}

/* ===== Upload-Dropzone (Screendesign MB) + Button-Icon-Abstand — 20.07. ===== */
.wsg-form .wsg-dropzone{background:#f5f6f7;border:2px dashed #c3c8ce;border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.wsg-form .wsg-dropzone__row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.wsg-form .wsg-dropzone input[type=file]{color:#6e7780;font-family:"Atkinson Hyperlegible Next",sans-serif;font-size:15px;width:auto;flex:0 0 auto;background:none !important;border:0 !important;padding:0 !important}
.wsg-form .wsg-dropzone input[type=file]::file-selector-button{margin-right:14px;background-color:var(--wsg-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23ffffff' d='M214.6 72.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 173.3V376c0 17.7 14.3 32 32 32s32-14.3 32-32V173.3l41.4 40.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96zM64 480c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:18px center;background-size:15px;color:#fff;border:0;border-radius:3px;padding:12px 22px 12px 44px;font-family:"Red Hat Display",sans-serif;font-weight:800;font-size:15px;line-height:1;cursor:pointer;transition:background-color .2s ease}
.wsg-form .wsg-dropzone input[type=file]::file-selector-button:hover{filter:brightness(1.15)}
.wsg-form .wsg-dropzone .wsg-form-hint{font-size:15px;color:#6e7780}
.wsg-form .wsg-dropzone__more{font-family:"Red Hat Mono",monospace;font-weight:500;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--wsg-accent);text-decoration:none;cursor:pointer;align-self:flex-start}
.wsg-form .wsg-dropzone__more:hover{text-decoration:underline}
.wsg-btn .elementor-button,a.wsg-btn{gap:12px !important}

/* ===== Dropzone: unter Label (volle Breite) + Hover + Dateiliste (DataTransfer) — 20.07. ===== */
.wsg-form .wsg-dropzone{width:100%;flex:1 0 100%}
.wsg-form .wsg-dropzone:hover{border-color:#9aa3ab}
.wsg-form .wsg-dropzone__list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}
.wsg-form .wsg-dropzone__item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3e6e9;border-radius:4px;padding:8px 12px;font-family:"Atkinson Hyperlegible Next",sans-serif;font-size:14px;color:#111}
.wsg-form .wsg-dropzone__name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wsg-form .wsg-dropzone__size{flex:0 0 auto;color:#6e7780;font-size:13px}
.wsg-form .wsg-dropzone__remove{flex:0 0 auto;background:none;border:0;cursor:pointer;font-size:20px;line-height:1;color:#6e7780;padding:0 6px;border-radius:3px}
.wsg-form .wsg-dropzone__remove:hover{color:var(--wsg-error,#d51317)}

/* ===== Dropzone Datei-Zeile: X größer + Hover rot (Zeile + X) — 20.07. ===== */
.wsg-form .wsg-dropzone__item{transition:background-color .15s ease,border-color .15s ease}
.wsg-form .wsg-dropzone__item:hover{background:rgba(213,19,23,.06);border-color:rgba(213,19,23,.30)}
.wsg-form .wsg-dropzone__remove{font-size:26px;transition:color .15s ease}
.wsg-form .wsg-dropzone__remove:hover{color:var(--wsg-error,#d51317)}

/* ===== Dropzone: X-Hover färbt nur das Glyph (Zeilen-Tönung dort unterdrückt) — 20.07. ===== */
.wsg-form .wsg-dropzone__remove{background:none}
.wsg-form .wsg-dropzone__remove:hover{color:var(--wsg-error,#d51317) !important;background:none !important}
.wsg-form .wsg-dropzone__item:has(.wsg-dropzone__remove:hover){background:#fff;border-color:#e3e6e9}

/* ===== Dropzone: Zeilen-Toenung NUR bei X-Hover (umgekehrt) — 20.07. ===== */
.wsg-form .wsg-dropzone__item:hover{background:#fff;border-color:#e3e6e9}
.wsg-form .wsg-dropzone__item:has(.wsg-dropzone__remove:hover){background:rgba(213,19,23,.06);border-color:rgba(213,19,23,.30)}

/* ===== Dropzone: X optisch 2px hoch — 20.07. ===== */
.wsg-form .wsg-dropzone__remove{transform:translateY(-2px)}

/* ===== Text + Media-Sektion (.wsg-textmedia) — wiederverwendbar, umkehrbar — 20.07. ===== */
.wsg-textmedia{border-top:1px solid #eceeef}
.wsg-textmedia__inner{display:flex;align-items:center;gap:64px}
.wsg-textmedia__text{flex:1 1 auto;min-width:0}
.wsg-textmedia .wsg-kicker{margin-bottom:12px}
/* Bild-Spalte: Kreis + Akzent-Duoton-Overlay */
.wsg-textmedia__media{flex:0 0 420px;max-width:44%;position:relative;border-radius:50%;overflow:hidden;aspect-ratio:1}
/* Variante: Bild links */
.wsg-textmedia--reverse .wsg-textmedia__inner{flex-direction:row-reverse}
/* Variante: rechteckig (kuenftige, nicht-kreisrunde Sektionen) */
.wsg-textmedia--rect .wsg-textmedia__media{border-radius:var(--wsg-r-lg);aspect-ratio:4/3}
/* Titel (Kit faerbt Headings sonst Primary) */
.wsg-textmedia__title .elementor-heading-title{font-family:"Red Hat Display",sans-serif !important;font-weight:800 !important;font-size:34px !important;line-height:1.15 !important;color:#111 !important;margin:0 0 20px !important;max-width:28ch}
/* Fliesstext */
.wsg-textmedia__body{line-height:1.6;color:#3a3f44;max-width:54ch}
.wsg-textmedia__body p{margin:0 0 16px}
.wsg-textmedia__body p:last-child{margin-bottom:26px}
/* Textlink mit Pfeil (Button-Widget zurueckgesetzt) */
.wsg-textmedia__link .elementor-button{background:none !important;border:0 !important;padding:0 !important;color:var(--wsg-accent) !important;font-family:"Atkinson Hyperlegible Next",sans-serif !important;font-weight:700 !important;font-size:18px !important;fill:var(--wsg-accent) !important}
.wsg-textmedia__link .elementor-button:hover{text-decoration:underline}
/* Tablet */
@media(max-width:1024px){.wsg-textmedia__inner{gap:40px}.wsg-textmedia__media{flex-basis:340px}}
/* Mobil: stapeln, Bild oben zentriert */
@media(max-width:767px){
 .wsg-textmedia__inner,.wsg-textmedia--reverse .wsg-textmedia__inner{flex-direction:column;gap:32px;align-items:stretch}
 .wsg-textmedia__media{order:-1;flex-basis:auto;width:min(320px,86%);max-width:86%;align-self:center}
 .wsg-textmedia__title .elementor-heading-title{font-size:27px !important}
 .wsg-textmedia__body{font-size:18px}
}

/* ===== Text+Media FIX: Media-Sizing/Kreis gegen Elementor-Container-CSS (!important) — 20.07. ===== */
.wsg-textmedia__text{flex:1 1 auto !important;min-width:0 !important}
.wsg-textmedia__media{flex:0 0 420px !important;width:420px !important;max-width:44% !important;aspect-ratio:1 !important;border-radius:50% !important;overflow:hidden !important;position:relative !important}
@media(max-width:1024px){.wsg-textmedia__media{flex-basis:340px !important;width:340px !important}}
@media(max-width:767px){.wsg-textmedia__media{flex-basis:auto !important;width:min(320px,86%) !important;max-width:86% !important;align-self:center !important}}

/* ===== Split 50/50 (.wsg-split) — Textblock + Bild edge-to-edge — 20.07. ===== */
.e-con.e-parent.wsg-split-sec{--padding-left:0 !important;--padding-right:0 !important;padding-left:0 !important;padding-right:0 !important}
.wsg-split{display:flex !important;flex-direction:row !important;align-items:stretch !important;width:100%}
.wsg-split--reverse{flex-direction:row-reverse !important}
.wsg-split__text{flex:0 0 50% !important;max-width:50% !important;display:flex !important;flex-direction:column !important;justify-content:center !important;padding:96px 64px 96px var(--wsg-gutter) !important}
.wsg-split--reverse .wsg-split__text{padding:96px var(--wsg-gutter) 96px 64px !important}
.wsg-split__media{flex:0 0 50% !important;max-width:50% !important;position:relative !important;overflow:hidden !important}
@media(max-width:1024px){
 .wsg-split__text{padding:64px 40px 64px var(--wsg-gutter) !important}
 .wsg-split--reverse .wsg-split__text{padding:64px var(--wsg-gutter) 64px 40px !important}
}
@media(max-width:767px){
 .wsg-split,.wsg-split--reverse{flex-direction:column !important}
 .wsg-split__text,.wsg-split__media{flex:0 0 auto !important;max-width:100% !important;width:100% !important}
 .wsg-split__media{order:-1;aspect-ratio:4/3}
 .wsg-split__text,.wsg-split--reverse .wsg-split__text{padding:40px var(--wsg-gutter) !important}
}

/* ===== FIX Ref-Label-Ausrichtung: Gutter nur in Bleed-Sektionen (sonst Doppel-Gutter) — 20.07. ===== */
.wsg-ref-label{padding-left:0 !important;padding-right:0 !important}
.wsg-bleed .wsg-ref-label{padding-left:var(--wsg-gutter) !important;padding-right:var(--wsg-gutter) !important}

/* ===== Text+Media Mobil: Bild VOR Text (robust !important) — 20.07. ===== */
@media(max-width:767px){
 .wsg-textmedia__inner{flex-direction:column !important}
 .wsg-textmedia__media{order:-1 !important}
 .wsg-textmedia__text{order:0 !important}
}

/* ===== Split FIX: Text innerhalb Content-Breite (1240) — Bild bleibt edge-to-edge — 20.07. ===== */
.wsg-split__text{padding-left:max(var(--wsg-gutter),calc((100vw - 1240px)/2)) !important}
.wsg-split--reverse .wsg-split__text{padding-left:64px !important;padding-right:max(var(--wsg-gutter),calc((100vw - 1240px)/2)) !important}
@media(max-width:1024px){
 .wsg-split__text{padding-left:max(var(--wsg-gutter),calc((100vw - 1240px)/2)) !important}
 .wsg-split--reverse .wsg-split__text{padding-left:40px !important;padding-right:max(var(--wsg-gutter),calc((100vw - 1240px)/2)) !important}
}

/* ===== Split FIX: Default-Container-Gap weg → Bildkante exakt in Viewport-Mitte — 20.07. ===== */
.wsg-split{gap:0 !important;column-gap:0 !important}

/* ===== Parallax respektiert prefers-reduced-motion (Projektpolicy) — 20.07. ===== */
@media(prefers-reduced-motion:reduce){
 .wsg-split__media .elementor-motion-effects-layer,.wsg-cta-img .elementor-motion-effects-layer{transform:none !important}
}

/* WSG:SEARCH-RESULTS:START */
.wsg-search-results{max-width:1240px!important;margin-inline:auto;padding:80px var(--wsg-gutter,48px)}
.wsg-search-results__title h1{font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;color:#111;margin:0 0 .75em;font-weight:800}
.wsg-search-results__list .elementor-posts{display:flex;flex-direction:column;gap:0}
.wsg-search-results__list article.elementor-post{padding:28px 0;margin:0;border-bottom:1px solid rgba(17,17,17,.12)}
.wsg-search-results__list article.elementor-post:first-child{border-top:1px solid rgba(17,17,17,.12)}
.wsg-search-results__list .elementor-post__thumbnail__link,.wsg-search-results__list .elementor-post__thumbnail{display:none !important}
.wsg-search-results__list .elementor-post__title{font-size:1.5rem!important;line-height:1.3;margin:0 0 .4em;font-weight:700!important}
.wsg-search-results__list .elementor-post__title a{color:#111 !important;font-size:1.5rem!important;font-weight:700!important;line-height:1.3;text-decoration:none;transition:color .2s ease}
.wsg-search-results__list .elementor-post__title a:hover{color:#6e7780 !important}
.wsg-search-results__list .elementor-post__excerpt p{color:#6e7780 !important;font-size:1rem;line-height:1.6;margin:0 0 .6em}
.wsg-search-results__list .elementor-post__excerpt .relevanssi-query-term,.wsg-search-results__list .elementor-post__excerpt strong{background:rgba(0,159,227,.18);color:#111;font-weight:700;padding:0 2px;border-radius:2px}
.wsg-search-results__list .elementor-post__read-more{display:inline-block;color:#111;font-weight:700;text-decoration:none;font-size:.9375rem;transition:color .2s ease}
.wsg-search-results__list .elementor-post__read-more:hover{color:var(--e-global-color-cc436262)}
.wsg-search-results__list .elementor-post__read-more::after{content:" \2192"}
.wsg-search-results__list .elementor-pagination{margin-top:36px;display:flex;gap:8px;justify-content:flex-start;flex-wrap:wrap}
.wsg-search-results__list .elementor-pagination .page-numbers{color:#111;padding:6px 12px;border:1px solid rgba(17,17,17,.14);border-radius:4px;text-decoration:none;font-weight:600}
.wsg-search-results__list .elementor-pagination .page-numbers.current{background:#111;color:#fff;border-color:#111}
.wsg-search-results__list .elementor-posts-nothing-found{color:#6e7780;font-size:1.125rem;padding:24px 0}
@media(max-width:767px){.wsg-search-results{padding:48px var(--wsg-gutter,16px)}}
/* WSG:SEARCH-RESULTS:END */

/* WSG:SECTION-SPACING:START */
:root{--wsg-section:80px}
.wsg-textmedia{padding-top:var(--wsg-section);padding-bottom:var(--wsg-section)}
/* WSG:SECTION-SPACING:END */

/* WSG:TIMELINE:START — Verbindungslinie: native absolute Positionierung in dieser Elementor-Version nicht verfuegbar (_position ohne Optionen), Elementor belegt .e-con::before selbst -> hoehere Spezifitaet + !important. Geprueft 22.07. */
.wsg-timeline-steps.wsg-timeline-steps::before{content:"" !important;position:absolute !important;left:26px !important;top:32px !important;bottom:32px !important;width:2px !important;height:auto !important;background:#e0e3e5 !important;z-index:0 !important;pointer-events:none !important;margin:0 !important;padding:0 !important}
/* WSG:TIMELINE:END */

/* WSG:CARD-COVER:START — Ganzflaechiger Karten/Kachel-Link. Container-Link rendert in Elementor 4.1.4 NICHT als <a>; Overlay-Button = echter, crawlbarer Link + Tastatur/Mittelklick. Parent-gescoped fuer Spezifitaet. Geprueft 22.07. */
.wsg-spez-card,.wsg-kachel{position:relative}
.wsg-spez-card .wsg-card-cover,.wsg-kachel .wsg-card-cover{position:absolute;inset:0;margin:0;padding:0;z-index:4}
.wsg-spez-card .wsg-card-cover .elementor-button-wrapper,.wsg-spez-card .wsg-card-cover .elementor-button,.wsg-kachel .wsg-card-cover .elementor-button-wrapper,.wsg-kachel .wsg-card-cover .elementor-button{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;background:transparent;border:0;border-radius:0;opacity:0;box-shadow:none}
.wsg-spez-card .wsg-card-cover .elementor-button:focus-visible,.wsg-kachel .wsg-card-cover .elementor-button:focus-visible{opacity:1;outline:2px solid #fff;outline-offset:-4px}
/* Spez-Card: farbiger Pfeil bewegt sich bei Card-Hover wie im Hero-Fensterkreuz */
.wsg-spez-card .elementor-widget-icon .elementor-icon{transition:transform .2s ease}
.wsg-spez-card:hover .elementor-widget-icon .elementor-icon{transform:translateX(3px)}
/* WSG:CARD-COVER:END */

/* ===== WSG:MASCHINE-CARD (nicht-natives + Hover + Fade + Kategorie-Icons) ===== */ .wsg-maschine-card__row:not(:has(.wsg-maschine-card__val .elementor-heading-title)){display:none} .e-con.e-parent.wsg-maschine-card{padding-left:0!important;padding-right:0!important;--padding-left:0!important;--padding-right:0!important;--padding-inline-start:0!important;--padding-inline-end:0!important} .wsg-maschine-card{transition:box-shadow .22s ease,border-color .22s ease} .wsg-maschine-card:hover{box-shadow:0 10px 24px rgba(17,17,17,.08)} .bereich-b1 .wsg-maschine-card:hover{border-color:var(--e-global-color-918cb762)} .bereich-b2 .wsg-maschine-card:hover{border-color:var(--e-global-color-eea076d3)} .bereich-b3 .wsg-maschine-card:hover{border-color:var(--e-global-color-35ec4cb0)} .bereich-b4 .wsg-maschine-card:hover{border-color:var(--e-global-color-f264e0a9)} @keyframes wsgFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}} .e-loop-item:has(.wsg-maschine-card){animation:wsgFadeIn .3s ease both} @media(prefers-reduced-motion:reduce){.e-loop-item:has(.wsg-maschine-card){animation:none}} .wsg-maschine-card .wsg-maschine-card__cat{width:30px;height:30px;flex:0 0 auto;background-color:var(--e-global-color-46cce157,#fa0820);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat} .verf-drehen .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/drehen.svg);mask-image:url(assets/verfahren/drehen.svg)} .verf-karusseldrehen .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/karusseldrehen.svg);mask-image:url(assets/verfahren/karusseldrehen.svg)} .verf-fraesen .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/fraesen.svg);mask-image:url(assets/verfahren/fraesen.svg)} .verf-schleifen .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/schleifen.svg);mask-image:url(assets/verfahren/schleifen.svg)} .verf-honen .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/honen.svg);mask-image:url(assets/verfahren/honen.svg)} .verf-wuchten .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/wuchten.svg);mask-image:url(assets/verfahren/wuchten.svg)} .verf-messtechnik .wsg-maschine-card__cat{-webkit-mask-image:url(assets/verfahren/messtechnik.svg);mask-image:url(assets/verfahren/messtechnik.svg)} /* ===== /WSG:MASCHINE-CARD ===== */
 /* ===== WSG:STELLEN-CARD — Kern (nicht nativ ausdrückbar): Bereichs-Kante (per-Seite-Farbe), Bereich-Farb-Remap, Flex-Overflow, Fade. Rahmen/Radius/Padding/Hover-Schatten = nativ am Template 654. ===== */
.wsg-stellen-card{border-left:4px solid var(--e-global-color-e71e68b8) !important;transition:box-shadow .22s ease}
.wsg-stellen-card__main{min-width:0}
.bereich-b1 .wsg-stellen-card{--e-global-color-primary:var(--e-global-color-368bbdd2)}
.bereich-b2 .wsg-stellen-card{--e-global-color-primary:var(--e-global-color-6cfe1003)}
.bereich-b3 .wsg-stellen-card{--e-global-color-primary:var(--e-global-color-a7793e0e)}
.bereich-b4 .wsg-stellen-card{--e-global-color-primary:var(--e-global-color-6b3fed2e)}
.e-loop-item:has(.wsg-stellen-card){animation:wsgFadeIn .3s ease both}
@media(prefers-reduced-motion:reduce){.e-loop-item:has(.wsg-stellen-card){animation:none}}
/* ===== /WSG:STELLEN-CARD ===== */ /* Outline in Bereichsfarbe (Token e71e68b8 -> via .bereich-* Firmenfarbe; neutral = Gruppe-Grau) */ .wsg-btn.wsg-btn--outline .elementor-button, a.wsg-btn.wsg-btn--outline{ background:transparent !important; border-color:var(--e-global-color-e71e68b8) !important; color:var(--e-global-color-e71e68b8) !important; } .wsg-btn.wsg-btn--outline .elementor-button:hover, a.wsg-btn.wsg-btn--outline:hover{ background:var(--e-global-color-e71e68b8) !important; border-color:var(--e-global-color-e71e68b8) !important; color:#fff !important; } /* Bereichs-Outline (fix je Bereich, Farben wie solide --bN; Hover=Füllung) */ .wsg-btn.wsg-btn--b1-outline .elementor-button, a.wsg-btn.wsg-btn--b1-outline{ background:transparent !important; border-color:var(--e-global-color-e6acfd1f) !important; color:var(--e-global-color-e6acfd1f) !important; } .wsg-btn.wsg-btn--b1-outline .elementor-button:hover, a.wsg-btn.wsg-btn--b1-outline:hover{ background:var(--e-global-color-e6acfd1f) !important; border-color:var(--e-global-color-e6acfd1f) !important; color:#fff !important; } .wsg-btn.wsg-btn--b2-outline .elementor-button, a.wsg-btn.wsg-btn--b2-outline{ background:transparent !important; border-color:var(--e-global-color-1535cd25) !important; color:var(--e-global-color-1535cd25) !important; } .wsg-btn.wsg-btn--b2-outline .elementor-button:hover, a.wsg-btn.wsg-btn--b2-outline:hover{ background:var(--e-global-color-1535cd25) !important; border-color:var(--e-global-color-1535cd25) !important; color:#fff !important; } .wsg-btn.wsg-btn--b3-outline .elementor-button, a.wsg-btn.wsg-btn--b3-outline{ background:transparent !important; border-color:var(--e-global-color-a7793e0e) !important; color:var(--e-global-color-a7793e0e) !important; } .wsg-btn.wsg-btn--b3-outline .elementor-button:hover, a.wsg-btn.wsg-btn--b3-outline:hover{ background:var(--e-global-color-a7793e0e) !important; border-color:var(--e-global-color-a7793e0e) !important; color:#fff !important; } .wsg-btn.wsg-btn--b4-outline .elementor-button, a.wsg-btn.wsg-btn--b4-outline{ background:transparent !important; border-color:var(--e-global-color-6b3fed2e) !important; color:var(--e-global-color-6b3fed2e) !important; } .wsg-btn.wsg-btn--b4-outline .elementor-button:hover, a.wsg-btn.wsg-btn--b4-outline:hover{ background:var(--e-global-color-6b3fed2e) !important; border-color:var(--e-global-color-6b3fed2e) !important; color:#fff !important; } /* Bereichs-Outline ON DARK (fix je Bereich, Farben wie --bN-dk; Hover=Füllung) */ .wsg-btn.wsg-btn--b1-outline-dk .elementor-button, a.wsg-btn.wsg-btn--b1-outline-dk{ background:transparent !important; border-color:var(--e-global-color-af5cefdb) !important; color:var(--e-global-color-af5cefdb) !important; } .wsg-btn.wsg-btn--b1-outline-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b1-outline-dk:hover{ background:var(--e-global-color-af5cefdb) !important; border-color:var(--e-global-color-af5cefdb) !important; color:#fff !important; } .wsg-btn.wsg-btn--b2-outline-dk .elementor-button, a.wsg-btn.wsg-btn--b2-outline-dk{ background:transparent !important; border-color:var(--e-global-color-69d9c54f) !important; color:var(--e-global-color-69d9c54f) !important; } .wsg-btn.wsg-btn--b2-outline-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b2-outline-dk:hover{ background:var(--e-global-color-69d9c54f) !important; border-color:var(--e-global-color-69d9c54f) !important; color:#fff !important; } .wsg-btn.wsg-btn--b3-outline-dk .elementor-button, a.wsg-btn.wsg-btn--b3-outline-dk{ background:transparent !important; border-color:var(--e-global-color-a7793e0e) !important; color:var(--e-global-color-a7793e0e) !important; } .wsg-btn.wsg-btn--b3-outline-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b3-outline-dk:hover{ background:var(--e-global-color-a7793e0e) !important; border-color:var(--e-global-color-a7793e0e) !important; color:#fff !important; } .wsg-btn.wsg-btn--b4-outline-dk .elementor-button, a.wsg-btn.wsg-btn--b4-outline-dk{ background:transparent !important; border-color:var(--e-global-color-065bfbbb) !important; color:var(--e-global-color-065bfbbb) !important; } .wsg-btn.wsg-btn--b4-outline-dk .elementor-button:hover, a.wsg-btn.wsg-btn--b4-outline-dk:hover{ background:var(--e-global-color-065bfbbb) !important; border-color:var(--e-global-color-065bfbbb) !important; color:#fff !important; }

/* == WSG-HERO-MONO START ==
   Hero-Fotos bleiben FARBIG in Elementor; global per CSS monochrom.
   Bild-Layer wird via background-blend-mode entsaettigt (Kinder/Overlay unberuehrt).
   Global-Aus: <body class="wsg-heros-farbig"> */
.elementor .wsg-hero, .elementor .wsg-hero .elementor-motion-effects-layer{background-color:#808080!important;background-blend-mode:luminosity!important;}
body.wsg-heros-farbig .elementor .wsg-hero, body.wsg-heros-farbig .elementor .wsg-hero .elementor-motion-effects-layer{background-color:transparent!important;background-blend-mode:normal!important;}
/* == WSG-HERO-MONO END == */

/* == WSG:DEKO-MONO START ==
   Deko-/Band-Bilder entsättigt (Playbook v2: „Deko entsättigt, Referenz natürlich").
   Gleiche Luminosity-Methode wie .wsg-hero. Trifft Band-Komponenten + opt. .wsg-img-mono.
   Global-Aus: <body class="wsg-heros-farbig">. Referenzfotos haben eigene Klassen → bleiben Farbe. */
.elementor .wsg-textmedia__media, .elementor .wsg-textmedia__media .elementor-motion-effects-layer,
.elementor .wsg-timeline-split__media, .elementor .wsg-timeline-split__media .elementor-motion-effects-layer,
.elementor .wsg-img-mono, .elementor .wsg-img-mono .elementor-motion-effects-layer{ background-color:#808080!important; background-blend-mode:luminosity!important; }
.elementor .wsg-textmedia__media > img, .elementor .wsg-timeline-split__media > img, .elementor .wsg-img-mono > img{ filter:saturate(0) contrast(1.04); }
body.wsg-heros-farbig .elementor .wsg-textmedia__media, body.wsg-heros-farbig .elementor .wsg-textmedia__media .elementor-motion-effects-layer,
body.wsg-heros-farbig .elementor .wsg-timeline-split__media, body.wsg-heros-farbig .elementor .wsg-timeline-split__media .elementor-motion-effects-layer,
body.wsg-heros-farbig .elementor .wsg-img-mono, body.wsg-heros-farbig .elementor .wsg-img-mono .elementor-motion-effects-layer{ background-color:transparent!important; background-blend-mode:normal!important; }
body.wsg-heros-farbig .elementor .wsg-textmedia__media > img, body.wsg-heros-farbig .elementor .wsg-timeline-split__media > img, body.wsg-heros-farbig .elementor .wsg-img-mono > img{ filter:none; }
/* == WSG:DEKO-MONO END == */

/* == WSG-JOBFILTER START == Pills + Sortierung + Bereichsfarbe hover/aktiv + aktiv fett */
#stellen .e-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;}
#stellen .e-filter-item{transition:color .15s,border-color .15s,background-color .15s;}
#stellen .e-filter-item[data-filter="__all"]{order:0;}#stellen .e-filter-item[data-filter="maschinenbau"]{order:1;}#stellen .e-filter-item[data-filter="engineering"]{order:2;}#stellen .e-filter-item[data-filter="motorenservice"]{order:3;}#stellen .e-filter-item[data-filter="abgasreinigung"]{order:4;}
#stellen .e-filter-item[aria-pressed="true"]{font-weight:700;}
#stellen .e-filter-item[data-filter="__all"]:hover,#stellen .e-filter-item[data-filter="__all"][aria-pressed="true"]{color:var(--e-global-color-863611b8);border-color:var(--e-global-color-863611b8);}
#stellen .e-filter-item[data-filter="maschinenbau"]:hover,#stellen .e-filter-item[data-filter="maschinenbau"][aria-pressed="true"]{color:var(--e-global-color-368bbdd2);border-color:var(--e-global-color-368bbdd2);}
#stellen .e-filter-item[data-filter="engineering"]:hover,#stellen .e-filter-item[data-filter="engineering"][aria-pressed="true"]{color:var(--e-global-color-6cfe1003);border-color:var(--e-global-color-6cfe1003);}
#stellen .e-filter-item[data-filter="motorenservice"]:hover,#stellen .e-filter-item[data-filter="motorenservice"][aria-pressed="true"]{color:var(--e-global-color-a7793e0e);border-color:var(--e-global-color-a7793e0e);}
#stellen .e-filter-item[data-filter="abgasreinigung"]:hover,#stellen .e-filter-item[data-filter="abgasreinigung"][aria-pressed="true"]{color:var(--e-global-color-6b3fed2e);border-color:var(--e-global-color-6b3fed2e);}
/* == WSG-JOBFILTER END == */

/* == WSG-TIMELINE-SPLIT == Timeline links + Bild rechts full-bleed (Sektion 100vw, natives Grid). */
.wsg-timeline-split__text{padding-left:max(var(--wsg-gutter),calc((100vw - 1240px)/2)) !important;padding-right:48px !important;padding-top:80px !important;padding-bottom:80px !important;}

@media(max-width:1024px){.wsg-timeline-split__text{padding:56px var(--wsg-gutter) !important;}}
/* == WSG-TIMELINE-SPLIT END == */

/* == WSG-PROSE == Lesbare Fließtext-Spalte (Zentrierung via Sektion align-items:center) */
.wsg-prose{max-width:760px;}
.wsg-prose .elementor-widget-image img{border-radius:8px;display:block;width:100%;height:auto;}
/* == WSG-PROSE END == */

/* == WSG-STELLEN-CARD-DARK == Neutrale dunkle Initiativ-Karte (immer sichtbar, außerhalb Loop) */
.wsg-stellen-card--dark{border-left-color:var(--e-global-color-13ebd261) !important;}
.wsg-stellen-card--dark .elementor-widget-text-editor{color:var(--e-global-color-816f0674) !important;}
/* == WSG-STELLEN-CARD-DARK END == */

/* ===== WSG:STELLE-SINGLE (Einzel-Stellenseite Template 685) ===== */
.wsg-btn.wsg-btn--area-dk .elementor-button, a.wsg-btn.wsg-btn--area-dk{ background:var(--e-global-color-46cce157) !important; border-color:var(--e-global-color-46cce157); color:#fff; }
.wsg-btn.wsg-btn--area-dk .elementor-button:hover, a.wsg-btn.wsg-btn--area-dk:hover{ filter:brightness(.9); }
a.wsg-btn{ gap:8px; }
.wsg-hero-meta{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 24px; }
.wsg-hero-meta li{ display:inline-flex; align-items:center; gap:8px; font-family:'Atkinson Hyperlegible Next',sans-serif; font-size:16px; color:var(--e-global-color-816f0674); }
.wsg-hero-meta li i{ color:var(--e-global-color-46cce157); width:16px; text-align:center; }
@media(max-width:767px){ .wsg-hero-meta{ flex-direction:column; gap:8px; } }
.wsg-apply-inner{ display:flex; flex-direction:column; gap:14px; }
.wsg-apply-name{ font-family:'Red Hat Display',sans-serif; font-weight:800; font-size:18px; margin:0; color:var(--e-global-color-863611b8); }
.wsg-apply-funk{ margin:0; color:var(--e-global-color-e71e68b8); font-size:15px; }
.wsg-apply-contact{ display:flex; flex-direction:column; gap:6px; }
.wsg-apply-contact a{ display:inline-flex; align-items:center; gap:8px; color:var(--e-global-color-863611b8); text-decoration:none; font-size:15px; }
.wsg-apply-contact a:hover{ color:var(--e-global-color-e71e68b8); }
.wsg-apply-contact a i{ color:var(--e-global-color-e71e68b8); width:16px; text-align:center; }
.wsg-apply-inner .wsg-btn{ width:100%; }
/* ===== /WSG:STELLE-SINGLE ===== */


/* ===== WSG:STELLE-ICONS ===== */
.wsg-hero-meta svg{ width:16px; height:16px; min-width:16px; flex:0 0 auto; fill:var(--e-global-color-46cce157); color:var(--e-global-color-46cce157); }
.wsg-hero-meta li{ color:var(--e-global-color-816f0674); align-items:center; }
.wsg-apply-contact a svg{ width:16px; height:16px; min-width:16px; flex:0 0 auto; fill:var(--e-global-color-e71e68b8); }
.wsg-apply-inner .wsg-btn svg{ width:16px; height:16px; }
/* ===== /WSG:STELLE-ICONS ===== */

/* ===== WSG:STELLE-FIX2 ===== */
.wsg-hero-meta li{ font-family:'Red Hat Mono',monospace !important; font-size:14px !important; letter-spacing:.02em; }
.wsg-apply{ border-left:4px solid var(--e-global-color-e71e68b8) !important; transition:box-shadow .22s ease,border-color .22s ease; }
.wsg-apply:hover{ box-shadow:0 10px 24px rgba(17,17,17,.08); border-color:var(--e-global-color-e71e68b8); }
/* ===== /WSG:STELLE-FIX2 ===== */

/* ===== WSG:KICKER-GRUPPE (Gruppe-OnDark trotz .bereich-b*) ===== */
.wsg-kicker--gruppe .elementor-heading-title,.bereich-b1 .wsg-kicker--gruppe .elementor-heading-title,.bereich-b2 .wsg-kicker--gruppe .elementor-heading-title,.bereich-b3 .wsg-kicker--gruppe .elementor-heading-title,.bereich-b4 .wsg-kicker--gruppe .elementor-heading-title{ color:var(--e-global-color-13ebd261) !important; }
/* ===== /WSG:KICKER-GRUPPE ===== */

/* ===== WSG:STELLEN-MENU (dynamisches Karriere-Dropdown) ===== */
.wsg-stellen-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.wsg-stellen-menu a{ display:block; padding:8px 12px; border-radius:4px; text-decoration:none; color:var(--e-global-color-863611b8); font-family:'Red Hat Display',sans-serif; font-weight:600; font-size:16px; transition:background .15s ease,color .15s ease; }
.wsg-stellen-menu a:hover{ background:var(--e-global-color-af513a7); color:var(--e-global-color-e71e68b8); }
.wsg-stellen-menu .is-current>a{ color:var(--e-global-color-e71e68b8); }
/* ===== /WSG:STELLEN-MENU ===== */

/* ===== WSG:HEADER-ZINDEX (Header + Dropdowns immer über sticky Elementen) ===== */
header.elementor-location-header{ position:relative; z-index:9999 !important; }
header.elementor-location-header.elementor-sticky--active{ z-index:9999 !important; }
.e-n-menu-content, .wsg-mega-panel{ z-index:9999; }
.wsg-apply.elementor-sticky, .wsg-apply.elementor-sticky--active{ z-index:100 !important; }
/* ===== /WSG:HEADER-ZINDEX ===== */


/* ===== WSG:APPLY-NATIVE (nur echte CSS-only-Regeln: Icon-List-Hover-Textfarbe + bedingtes PDF-Ausblenden; Typo/Farbe/Icongroesse = nativ am Widget) ===== */
.wsg-apply-list a:hover .elementor-icon-list-text{ color:var(--e-global-color-e71e68b8); }
body:not(.has-stelle-pdf) .wsg-apply-list .elementor-repeater-item-appdf01{ display:none !important; }
.wsg-apply .wsg-btn .elementor-button, .wsg-apply a.wsg-btn{ width:auto; }
/* ===== /WSG:APPLY-NATIVE ===== */


/* ===== WSG:BREADCRUMB (self-contained bar, eine Pflegestelle) ===== */
.elementor-widget-html:has(.wsg-breadcrumb),
.elementor-widget-html:has(.wsg-breadcrumb) > .elementor-widget-container{ width:100%; }
.wsg-breadcrumb{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:var(--e-global-color-816f0674); border-bottom:1px solid var(--e-global-color-49ebe71e); }
.wsg-breadcrumb ol{ list-style:none; display:flex; flex-wrap:nowrap; align-items:center; gap:0 8px; line-height:1.3; margin:0; padding:10px max(var(--wsg-gutter), calc((100vw - 1240px)/2)); font-family:'Red Hat Mono',monospace; font-size:13px; letter-spacing:.03em; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 40px),transparent 100%); mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 40px),transparent 100%); }
.wsg-breadcrumb ol::-webkit-scrollbar{ display:none; }
.wsg-breadcrumb li{ display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; white-space:nowrap; }
.wsg-breadcrumb li:not(:last-child)::after{ content:'\203a'; color:var(--e-global-color-49ebe71e); }
.wsg-breadcrumb a{ color:var(--e-global-color-dfe6787b); text-decoration:none; display:inline-flex; align-items:center; }
.wsg-breadcrumb a:hover{ color:var(--e-global-color-e71e68b8); text-decoration:underline; }
.wsg-breadcrumb [aria-current=page]{ color:var(--e-global-color-863611b8); }
.wsg-breadcrumb .wsg-bc-home svg{ width:14px; height:14px; fill:currentColor; display:block; }
.wsg-breadcrumb .wsg-bc-home a{ padding:0; }
.wsg-sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* ===== /WSG:BREADCRUMB ===== */


/* ===== WSG:TEILE-SINGLE ===== */
.wsg-teil-single{ padding:96px 0 80px; color:var(--e-global-color-863611b8); }
.wsg-teil-wrap{ max-width:840px; margin:0 auto; padding:0 24px; }
.wsg-teil-single .wsg-kicker{ display:block; margin-bottom:8px; }
.wsg-teil-title{ font-size:34px; line-height:1.2; margin:0 0 24px; color:var(--e-global-color-863611b8); }
.wsg-teil-figure{ margin:0 0 32px; }
.wsg-teil-figure img{ display:block; width:100%; height:auto; border-radius:4px; }
.wsg-teil-spec{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:8px; }
.wsg-teil-spec table{ border-collapse:collapse; width:auto; min-width:100%; font-size:16px; line-height:1.5; }
.wsg-teil-spec td{ border:1px solid var(--e-global-color-816f0674,#e7eaed); padding:8px 12px; vertical-align:top; white-space:nowrap; }
.wsg-teil-cta{ display:flex; gap:16px; flex-wrap:wrap; margin-top:40px; }
@media (max-width:767px){ .wsg-teil-single{ padding:56px 0 48px; } .wsg-teil-title{ font-size:27px; } }
/* ===== /WSG:TEILE-SINGLE ===== */

/* ===== WSG:KONTAKT-FORM ===== */
.wsg-form .elementor-field-type-acceptance a{ color:var(--e-global-color-863611b8); text-decoration:underline; text-underline-offset:2px; }
.wsg-form .elementor-field-type-acceptance a:hover{ color:var(--wsg-accent); text-decoration:none; }
/* ===== /WSG:KONTAKT-FORM ===== */

/* ===== WSG:HEADER-LOGO ===== */
.wsg-logo-dyn .elementor-shortcode{ line-height:0; }
.wsg-hlogo{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:3px; line-height:1; text-decoration:none; }
.wsg-hlogo .wsg-hlogo__main{ width:360px; max-width:100%; height:auto; display:block; }
.wsg-hlogo .wsg-hlogo__firma{ height:30px; width:auto; max-width:100%; display:block; margin-bottom:4px; }
.wsg-hlogo__endorse{ display:inline-flex; align-items:center; gap:6px; }
.wsg-hlogo__pre{ font-family:"Red Hat Mono",monospace; font-size:10px; letter-spacing:.04em; color:var(--e-global-color-dfe6787b); white-space:nowrap; }
.wsg-hlogo .wsg-hlogo__mark{ height:10px; width:auto; display:block; margin-top:1px; }
@media (max-width:1024px){ .wsg-hlogo .wsg-hlogo__main{ width:280px; } .wsg-hlogo .wsg-hlogo__firma{ height:28px; } }
@media (max-width:767px){ .wsg-hlogo .wsg-hlogo__main{ width:220px; } .wsg-hlogo .wsg-hlogo__firma{ height:26px; } .wsg-hlogo .wsg-hlogo__mark{ height:11px; } .wsg-hlogo__pre{ font-size:10px; } }
/* ===== /WSG:HEADER-LOGO ===== */

/* ===== WSG:KATALOG ===== */
.wsg-katalog__bar{ margin:0 0 24px; }
.wsg-katalog__field{ display:block; }
.wsg-katalog__input{ width:100%; box-sizing:border-box; font-family:"Atkinson Hyperlegible Next",sans-serif; font-size:16px; padding:14px 16px; border:1.5px solid var(--e-global-color-49ebe71e); border-radius:var(--wsg-r-input,6px); background:#fff; color:var(--e-global-color-863611b8); }
.wsg-katalog__input:focus{ outline:2px solid var(--wsg-accent); outline-offset:1px; border-color:var(--wsg-accent); }
.wsg-katalog__count{ margin:8px 0 0; font-family:"Red Hat Mono",monospace; font-size:12px; letter-spacing:.03em; color:var(--e-global-color-dfe6787b); }
.wsg-katalog__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
.wsg-katalog__item{ margin:0; }
.wsg-katalog__card{ display:flex; align-items:center; justify-content:space-between; gap:12px; height:100%; padding:14px 16px; border:1px solid var(--e-global-color-816f0674,#e7eaed); border-radius:6px; background:#fff; text-decoration:none; color:var(--e-global-color-863611b8); transition:border-color var(--wsg-motion-fast,.15s) ease, box-shadow var(--wsg-motion-fast,.15s) ease; }
.wsg-katalog__card:hover{ border-color:var(--wsg-accent); box-shadow:0 2px 12px rgba(0,0,0,.06); }
.wsg-katalog__name{ font-size:16px; line-height:1.35; }
.wsg-katalog__arrow{ flex:0 0 auto; color:var(--wsg-accent); display:inline-flex; }
.wsg-katalog__arrow svg{ width:16px; height:16px; fill:currentColor; display:block; }
.wsg-katalog__empty{ margin:24px 0 0; color:var(--e-global-color-dfe6787b); }
@media (max-width:767px){ .wsg-katalog__grid{ grid-template-columns:1fr; } }
/* ===== /WSG:KATALOG ===== */

/* ===== WSG:HEADER-LOGO-STICKY ===== */
.wsg-hlogo__endorse{ overflow:hidden; max-height:24px; opacity:1; transition:opacity .25s ease, max-height .25s ease; }
.wsg-hlogo{ transition:gap .25s ease; }
.wsg-hlogo .wsg-hlogo__firma{ transition:margin-bottom .25s ease, height .25s ease; }
.wsg-header.elementor-sticky.elementor-sticky--effects .wsg-hlogo__endorse{ max-height:0; opacity:0; }
.wsg-header.elementor-sticky.elementor-sticky--effects .wsg-hlogo{ gap:0; }
.wsg-header.elementor-sticky.elementor-sticky--effects .wsg-hlogo .wsg-hlogo__firma{ margin-bottom:0; }
/* ===== /WSG:HEADER-LOGO-STICKY ===== */

/* WSG:REFCARD - Referenz-Bildkarte: Rahmen exakt wie .wsg-card (Cover-Bild statt Padding) */
.wsg-refcard{border:1px solid #e6e8ea;border-radius:6px !important;overflow:hidden !important;background:linear-gradient(160deg,#fff 0%,#fcfcfd 60%,#f7f8f9 100%);transition:all .22s ease}
.wsg-refcard--b1:hover{border-color:var(--e-global-color-918cb762)}
.wsg-refcard--b2:hover{border-color:var(--e-global-color-eea076d3)}
.wsg-refcard--b3:hover{border-color:var(--e-global-color-35ec4cb0)}
.wsg-refcard--b4:hover{border-color:var(--e-global-color-f264e0a9)}

/* WSG:APPFLIP-SW - Anwendungs-Flipbox: Front-Bild entsaettigt (Text drueber), gleiche Methode wie .wsg-hero */
.wsg-appflip .elementor-flip-box__front{background-color:#808080 !important;background-blend-mode:luminosity}

/* WSG:APPFLIP-FRAME - Rahmen+Radius+Clip auf einem Element (kein Ecken-Versatz), 6px wie Cards */
.wsg-appflip .elementor-flip-box{border:1px solid #e6e8ea;border-radius:6px;overflow:hidden}

/* WSG:REFCARD-HOVER - Hover-Schatten wie .wsg-card */
.wsg-refcard:hover{box-shadow:0 10px 24px rgba(17,17,17,.08)}

/* WSG:FAQ - nested-accordion, bereichsadaptiv: Icons + Hover/Aktiv-Border folgen var(--wsg-accent). Rest-Border grau, Titel Ink. */
.wsg-faq .e-n-accordion-item-title-icon svg,.wsg-faq .e-n-accordion-item-title-icon i{fill:var(--wsg-accent) !important;color:var(--wsg-accent) !important}
.wsg-faq .e-n-accordion-item-title:hover{border-color:var(--wsg-accent) !important}
.wsg-faq .e-n-accordion-item[open] > .e-n-accordion-item-title{border-color:var(--wsg-accent) !important}

/* WSG-TIMELINE-SPLIT reverse: Bild links, Text rechts an Contentkante */
.wsg-timeline-split--reverse .wsg-timeline-split__text{padding-left:48px !important;padding-right:max(var(--wsg-gutter),calc((100vw - 1240px)/2)) !important}

/* ===== WSG:HYPHENS — automatische Silbentrennung (de_DE). AN: Fliesstext + Ueberschriften/Card-Titel. AUS: Kicker, Buttons/Nav/Breadcrumb, Tags/Labels, Stat-Zahlen/-Labels. Freigabe Robert 07.08. HINWEIS: AUS zielt auf .elementor-heading-title IM Wrapper (Klasse sitzt am Widget-Wrapper, nicht am h-Tag). ===== */
.elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.wsg-prose,
.wsg-prose p,
.wsg-prose li,
.wsg-card__text,
.wsg-textmedia__body,
.wsg-refcard__text{
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  -webkit-hyphenate-limit-before:6;
  -webkit-hyphenate-limit-after:7;
  -ms-hyphenate-limit-chars:auto 6 7;
  hyphenate-limit-chars:auto 6 7;
}
.wsg-kicker .elementor-heading-title,
.wsg-mega-h .elementor-heading-title,
.wsg-kachel__tag .elementor-heading-title,
.wsg-card__label .elementor-heading-title,
.wsg-refcard__label .elementor-heading-title,
.wsg-card__num .elementor-heading-title,
.wsg-stats__num .elementor-heading-title,
.wsg-stats__label .elementor-heading-title,
.wsg-card__link,
.wsg-card__link .elementor-heading-title,
.elementor-button,
.wsg-btn,
.elementor-nav-menu .elementor-item,
.wsg-mega-menu .elementor-item,
.wsg-breadcrumb,
.wsg-breadcrumb a{
  -webkit-hyphens:manual !important;
  -ms-hyphens:manual !important;
  hyphens:manual !important;
}


/* ===== WSG:MEGA-MENU-V2 — Icon-List-Mega. Nativ wo moeglich (Icon-Abstand=text_indent, Zeilenhoehe, Border-Radius, Kicker-Typo native). CSS nur fuer: color-mix-Tints (kein Token), Voll-Zeilen-Highlight, Erst-Zeilen-Icon-Ausrichtung, Padding-Override ggue globaler Gutter-Regel. Freigabe Robert 07.08. ===== */
.wsg-col-b1{--mega-accent:var(--e-global-color-368bbdd2)}
.wsg-col-b2{--mega-accent:var(--e-global-color-1535cd25)}
.wsg-col-b3{--mega-accent:var(--e-global-color-a7793e0e)}
.wsg-col-b4{--mega-accent:var(--e-global-color-0b9d560a)}
.wsg-mega-list .elementor-icon-list-items{width:100%;padding:0;margin:0}
.wsg-mega-list .elementor-icon-list-item{margin:0 !important;padding:0 !important}
.wsg-mega-list .elementor-icon-list-item>a{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 14px}
.wsg-mega-list .elementor-icon-list-icon{display:flex;align-items:center;justify-content:center;width:10px;height:22px;align-self:flex-start;margin:0}
.wsg-mega-list .elementor-icon-list-item:hover{background:color-mix(in srgb, var(--mega-accent) 8%, #fff)}
.wsg-mega-list .elementor-icon-list-item.is-active{background:color-mix(in srgb, var(--mega-accent) 14%, #fff)}
.wsg-mega-list .elementor-icon-list-item.is-active .elementor-icon-list-text{color:var(--mega-accent)}
.wsg-mega-contact-list .elementor-icon-list-item:hover .elementor-icon-list-text{text-decoration:underline}
.wsg-mega-list .elementor-icon-list-text{padding-inline-start:0 !important}
.wsg-mega-parent{transition:background .15s}
.wsg-mega-parent:hover{background:color-mix(in srgb, var(--mega-accent) 8%, #fff)}


/* ===== WSG:MEGA-MENU-V2b - Gruppe (neutral grau) + Karriere-Stellenliste (Shortcode-Dot-Styling). Freigabe Robert 10.08. (dotliste grau) ===== */
.wsg-col-grp{--mega-accent:var(--e-global-color-dfe6787b)}
.wsg-mega-stellen .wsg-stellen-menu{list-style:none;margin:0;padding:0}
.wsg-mega-stellen .wsg-stellen-menu__item{margin:0;padding:0}
.wsg-mega-stellen .wsg-stellen-menu__item a{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 14px;color:var(--e-global-color-863611b8);font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:17px;line-height:1.5;font-weight:400;text-decoration:none}
.wsg-mega-stellen .wsg-stellen-menu__item a::before{content:'';flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--mega-accent);margin-top:9px}
.wsg-mega-stellen .wsg-stellen-menu__item a:hover{background:color-mix(in srgb, var(--mega-accent) 8%, #fff)}
.wsg-mega-stellen .wsg-stellen-menu__item a:hover{color:var(--mega-accent)}

/* ===== WSG:MOBIL-MENU-POPUP (#1452) - nur Popup-scoped. Freigabe Robert 18.08. ===== */
#elementor-popup-modal-1452 .e-con{border:none !important}
/* Karriere-Stellen exakt wie Icon-List-Links (Chevron + gleiche Groesse/Abstaende) */
#elementor-popup-modal-1452 .wsg-stellen-menu{list-style:none;margin:0;padding:0 0 0 12px}
#elementor-popup-modal-1452 .wsg-stellen-menu__item{margin:0}
#elementor-popup-modal-1452 .wsg-stellen-menu__item a{display:flex;align-items:flex-start;gap:8px;color:var(--e-global-color-816f0674);text-decoration:none;font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:17px;line-height:1.5;padding:5px 0}
#elementor-popup-modal-1452 .wsg-stellen-menu__item a::before{content:'\203A';flex:0 0 auto;color:var(--e-global-color-13ebd261);font-size:17px;line-height:1.5;width:14px;text-align:center}
/* Einheitliche States: hover=underline (kein BG), active=bold */
#elementor-popup-modal-1452 .elementor-icon-list-item:hover,
#elementor-popup-modal-1452 .wsg-stellen-menu__item a:hover{background:transparent !important}
#elementor-popup-modal-1452 .elementor-icon-list-item a:hover .elementor-icon-list-text,
#elementor-popup-modal-1452 .wsg-stellen-menu__item a:hover{text-decoration:underline}
#elementor-popup-modal-1452 .elementor-icon-list-item.is-active .elementor-icon-list-text,
#elementor-popup-modal-1452 .wsg-stellen-menu__item a.is-active{font-weight:700}
/* Social immer unten + Abstand */
#elementor-popup-modal-1452 .wsg-social-bottom{margin-top:auto;padding-top:32px}
/* Slide-Out hold (#1452): Panel waehrend Slide sichtbar halten. Freigabe Robert 18.08. */
#elementor-popup-modal-1452.wsg-closing{display:flex !important}

/* ===== WSG:STELLEN-MENU-V2 (an Accordion-Icon-Listen angeglichen) ===== */
.wsg-stellen-menu{gap:10px}
.wsg-stellen-menu__item a{display:flex;font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:17px;line-height:1.5em;font-weight:400;background:transparent;border-radius:0;text-decoration:none}
.wsg-stellen-menu__item a::before{content:none;display:none}
.wsg-stellen-menu__ic svg{fill:currentColor;display:block}
.wsg-stellen-menu__t{flex:1 1 auto;padding:0}
/* Desktop: 1:1-Klon der Elementor-Icon-List-Box (Icon per flex-shrink+overflow auf 5.75x17 geclippt) */
.wsg-mega-stellen .wsg-stellen-menu__item a{align-items:flex-start;gap:8px;padding:8px 14px;color:var(--e-global-color-863611b8)}
.wsg-mega-stellen .wsg-stellen-menu__ic{display:flex;align-items:center;justify-content:center;width:10px;flex:0 0 auto;overflow:visible;padding:0;margin:0}
.wsg-mega-stellen .wsg-stellen-menu__ic svg{width:1em;height:1em;margin:4.5px 4.25px 0 0;overflow:hidden;flex:0 1 auto;color:var(--mega-accent,var(--e-global-color-863611b8))}
.wsg-mega-stellen .wsg-stellen-menu__item a:hover{background:color-mix(in srgb, var(--mega-accent) 8%, #fff)}
.wsg-mega-stellen .wsg-stellen-menu__item a:hover .wsg-stellen-menu__t{color:var(--e-global-color-863611b8)}
.wsg-mega-stellen .wsg-stellen-menu__item a:hover .wsg-stellen-menu__ic svg{color:var(--e-global-color-863611b8)}
/* Mobil (Popup 1452): Icon-List-Match, 14x14, Wrap 19.5 */
#elementor-popup-modal-1452 .wsg-stellen-menu__item a{align-items:flex-start;gap:0;color:var(--e-global-color-816f0674)}
#elementor-popup-modal-1452 .wsg-stellen-menu__ic{display:flex;align-items:flex-start;justify-content:flex-start;width:26px;flex:0 0 auto;padding:0}
#elementor-popup-modal-1452 .wsg-stellen-menu__ic svg{width:14px;height:14px;margin-top:5px;color:var(--e-global-color-13ebd261)}
#elementor-popup-modal-1452 .wsg-stellen-menu__item a:hover{background:transparent;text-decoration:none}
#elementor-popup-modal-1452 .wsg-stellen-menu__item a:hover .wsg-stellen-menu__t{color:var(--e-global-color-43dd3117)}
/* ===== /WSG:STELLEN-MENU-V2 ===== */

/* ===== WSG:PROSE-LINKS (Bereichsfarbe für Inline-Links in Prosa) ===== */
[class*="bereich-"] .elementor-widget-text-editor a{color:var(--wsg-accent);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
[class*="bereich-"] .elementor-widget-text-editor a:hover,[class*="bereich-"] .elementor-widget-text-editor a:focus{color:var(--wsg-accent);border-bottom-color:currentColor}
/* ===== /WSG:PROSE-LINKS ===== */

/* ===== WSG:MASCHINE-TABLE (Maschinenpark 622 / Loop 607) ===== */
.wsg-mtr,.wsg-mtr-head{display:grid!important;grid-template-columns:2.4fr 2.2fr 1fr 1.6fr 1fr 1.4fr;column-gap:24px!important;row-gap:0!important;align-items:start}
.e-con.wsg-mtr,.e-con.e-parent.wsg-mtr,.e-con.e-child.wsg-mtr{padding:14px 8px!important;padding-left:8px!important;padding-right:8px!important;padding-top:14px!important;padding-bottom:14px!important}
.wsg-mtr{border-bottom:1px solid var(--e-global-color-49ebe71e)}
.e-loop-item:last-child .wsg-mtr{border-bottom:0}
.e-con.wsg-mtr-head{padding:10px 8px!important;padding-left:8px!important;padding-right:8px!important}
.wsg-mtr-head{border-bottom:2px solid var(--e-global-color-368bbdd2);background:var(--e-global-color-af513a7)}
.wsg-mtr__c{min-width:0}
.wsg-mtr__hlab .elementor-heading-title{white-space:normal;line-height:1.4!important;overflow-wrap:break-word}
.wsg-mtr__name .elementor-heading-title,.wsg-mtr__sub .elementor-heading-title,.wsg-mtr__val .elementor-heading-title{overflow-wrap:anywhere}
.wsg-mtr__lab{display:none}
@media(max-width:1024px){.wsg-mtr,.wsg-mtr-head{column-gap:16px!important}}
@media(max-width:767px){
 .wsg-mtr-head{display:none!important}
 .e-con.wsg-mtr{display:block!important;padding:14px 0!important;padding-left:0!important;padding-right:0!important}
 .wsg-mtr__c{display:block!important;text-align:left}
 .wsg-mtr__c--name{margin-top:0;margin-bottom:8px}
 .wsg-mtr__lab{display:block;margin-bottom:1px}
 .wsg-mtr__val{text-align:left}
}
.wsg-mtr__sub .elementor-heading-title,.wsg-mtr__lab .elementor-heading-title{line-height:1.4!important}
/* ===== /WSG:MASCHINE-TABLE ===== */

/* ===== WSG:VF-ACC (Maschinenpark Verfahren-Header + Chips) ===== */
.wsg-maschinen-acc .e-n-accordion-item-title{display:flex!important;align-items:center;gap:12px;background:var(--e-global-color-16af32d)!important;border-left:4px solid var(--e-global-color-368bbdd2)!important;padding:12px 18px!important}
.wsg-maschinen-acc .e-n-accordion-item-title-header{flex:1 1 auto;min-width:0}
.wsg-maschinen-acc .e-n-accordion-item-title-text{width:100%}
.wsg-vfh{display:flex;align-items:center;gap:14px;width:100%}
.wsg-vfh__ic{width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:var(--e-global-color-368bbdd2);position:relative}
.wsg-vfh__ic::before{content:"";position:absolute;inset:7px;background:#fff;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.wsg-vfh__name{font-family:'Red Hat Display',sans-serif;font-weight:700;font-size:19px;line-height:1.1;color:var(--e-global-color-863611b8)}
.wsg-vfh__count{font-family:'Red Hat Mono',monospace;font-size:12px;background:var(--e-global-color-43dd3117);color:var(--e-global-color-368bbdd2);padding:0 10px;border-radius:999px;white-space:nowrap}
.wsg-vfh__kpi{margin-left:auto;font-family:'Red Hat Mono',monospace;font-size:13px;color:var(--e-global-color-e6acfd1f);white-space:nowrap;padding-right:6px}
.wsg-vfh--drehen .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/drehen.svg);mask-image:url(assets/verfahren/drehen.svg)}
.wsg-vfh--karusseldrehen .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/karusseldrehen.svg);mask-image:url(assets/verfahren/karusseldrehen.svg)}
.wsg-vfh--fraesen .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/fraesen.svg);mask-image:url(assets/verfahren/fraesen.svg)}
.wsg-vfh--schleifen .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/schleifen.svg);mask-image:url(assets/verfahren/schleifen.svg)}
.wsg-vfh--honen .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/honen.svg);mask-image:url(assets/verfahren/honen.svg)}
.wsg-vfh--wuchten .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/wuchten.svg);mask-image:url(assets/verfahren/wuchten.svg)}
.wsg-vfh--messtechnik .wsg-vfh__ic::before{-webkit-mask-image:url(assets/verfahren/messtechnik.svg);mask-image:url(assets/verfahren/messtechnik.svg)}
.wsg-vfchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.wsg-vfchip{display:inline-flex;align-items:center;gap:8px;font-family:'Red Hat Mono',monospace;font-size:13px;color:var(--e-global-color-863611b8);background:none;border:1px solid var(--e-global-color-49ebe71e);border-radius:999px;padding:7px 14px;cursor:pointer;line-height:1;transition:background .15s,border-color .15s,color .15s}
.wsg-vfchips .wsg-vfchip{border-radius:999px!important}
.wsg-vfchips .wsg-vfchip:hover,.wsg-vfchips .wsg-vfchip:focus,.wsg-vfchips .wsg-vfchip:focus-visible,.wsg-vfchips .wsg-vfchip.is-active{background:var(--e-global-color-368bbdd2)!important;border-color:var(--e-global-color-368bbdd2)!important;color:var(--e-global-color-43dd3117)!important}
.wsg-vfchip__ic{width:18px;height:18px;flex:0 0 auto;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.wsg-vfchip--drehen .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/drehen.svg);mask-image:url(assets/verfahren/drehen.svg)}
.wsg-vfchip--karusseldrehen .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/karusseldrehen.svg);mask-image:url(assets/verfahren/karusseldrehen.svg)}
.wsg-vfchip--fraesen .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/fraesen.svg);mask-image:url(assets/verfahren/fraesen.svg)}
.wsg-vfchip--schleifen .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/schleifen.svg);mask-image:url(assets/verfahren/schleifen.svg)}
.wsg-vfchip--honen .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/honen.svg);mask-image:url(assets/verfahren/honen.svg)}
.wsg-vfchip--wuchten .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/wuchten.svg);mask-image:url(assets/verfahren/wuchten.svg)}
.wsg-vfchip--messtechnik .wsg-vfchip__ic{-webkit-mask-image:url(assets/verfahren/messtechnik.svg);mask-image:url(assets/verfahren/messtechnik.svg)}
@media(max-width:767px){.wsg-vfh__kpi{display:none}.wsg-vfh__name{font-size:17px}.wsg-vfh__count{margin-left:auto}}
.wsg-maschinen-acc .e-n-accordion-item{scroll-margin-top:120px}
/* ===== /WSG:VF-ACC ===== */

/* WSG:HUB-HERO-KICKER */
@media(max-width:767px){.wsg-hero .wsg-kicker .elementor-heading-title{white-space:normal!important;line-height:1.4}}

/* WSG:HERO-INNER-SPAN (Kennzahl-Suffix/Span im Hero-Kreuz = OnDark-Grau) */
.wsg-hero__inner .elementor-heading-title span{color:var(--e-global-color-13ebd261);font-size:.78em}

/* WSG:LEGAL-HEADINGS — Rechtsseiten: Prosa-Überschriften mehr Abstand oben als unten */
.wsg-legal .elementor-widget-text-editor h3{margin-top:40px;margin-bottom:8px}
.wsg-legal .elementor-widget-text-editor h4{margin-top:32px;margin-bottom:8px}

/* WSG:LOGO-HOVER — Gruppen- + Bereichslogos (Header + Menü), opacity .8 mit smooth transition */
.wsg-logo-dyn img, .wsg-logo-dyn svg,
.wsg-mega-logo img,
[class*="wsg-macc-b"] img{ transition: opacity .25s ease; }
.wsg-logo-dyn img:hover, .wsg-logo-dyn svg:hover,
.wsg-mega-logo img:hover,
[class*="wsg-macc-b"] img:hover{ opacity: .8; }
