.elementor-kit-197{--e-global-color-primary:#1D3557;--e-global-color-secondary:#2A9D8F;--e-global-color-text:#1A1A1A;--e-global-color-accent:#16324F;--e-global-color-4ebbca4:#1E293B;--e-global-color-fd04a59:#1E40AF;--e-global-color-88cffa0:#F97316;--e-global-color-a983376:#FFFFFF;--e-global-color-24a0486:#FAF7EE;--e-global-color-54b3692:#667085;--e-global-color-cb3d63e:#F5F5F5;--e-global-color-f8b76a0:#0B1020;--e-global-color-3a69d59:#F7FAFC;--e-global-color-65b91a5:#E6E8EC;--e-global-color-9126f5a:#F7FBFF;--e-global-color-8d37050:#EFF5F9;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.3px;--e-global-typography-primary-letter-spacing:1px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.2px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:17px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.6px;color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;line-height:1.6px;word-spacing:0px;}.elementor-kit-197 button,.elementor-kit-197 input[type="button"],.elementor-kit-197 input[type="submit"],.elementor-kit-197 .elementor-button{background-color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;line-height:1.4px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-primary );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-style:none;border-radius:14px 17px 14px 22px;padding:14px 16px 14px 14px;}.elementor-kit-197 e-page-transition{background-color:#FFBC7D;}.elementor-kit-197 p{margin-block-end:14px;}.elementor-kit-197 a{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:700;line-height:1.2px;letter-spacing:1px;}.elementor-kit-197 h1{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:52px;font-weight:600;line-height:1.2px;letter-spacing:1px;}.elementor-kit-197 h2{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:38px;font-weight:600;line-height:1.3px;}.elementor-kit-197 h3{color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:28px;font-weight:500;line-height:1.3px;}.elementor-kit-197 h4{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:500;line-height:1.4px;}.elementor-kit-197 h5{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:500;line-height:1.4px;}.elementor-kit-197 h6{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;line-height:1.4px;}.elementor-kit-197 button:hover,.elementor-kit-197 button:focus,.elementor-kit-197 input[type="button"]:hover,.elementor-kit-197 input[type="button"]:focus,.elementor-kit-197 input[type="submit"]:hover,.elementor-kit-197 input[type="submit"]:focus,.elementor-kit-197 .elementor-button:hover,.elementor-kit-197 .elementor-button:focus{color:var( --e-global-color-primary );border-radius:14px 14px 14px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-197 h1{font-size:42px;}.elementor-kit-197 h2{font-size:32px;}.elementor-kit-197 h3{font-size:24px;}.elementor-kit-197 button,.elementor-kit-197 input[type="button"],.elementor-kit-197 input[type="submit"],.elementor-kit-197 .elementor-button{font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-197{--e-global-typography-primary-font-size:29px;--e-global-typography-primary-line-height:1.3;font-size:16px;line-height:1.6;}.elementor-kit-197 h1{font-size:29px;line-height:1.3;}.elementor-kit-197 h2{font-size:25px;line-height:1.3;}.elementor-kit-197 h3{font-size:21px;line-height:1.3;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */@media (min-width:641px) and (max-width:1024px){
  h1{ font-size: 1.6rem !important; }
  h2{ font-size: 1.3rem !important; }
}
/* Tablet: engere Containerbreite für bessere Zeilenlänge */
@media (min-width:641px) and (max-width:1024px){
  .container{ max-width: 880px; }
  .stack, .service p, .faq p{ max-width: 70ch; }
}
/* Tablet: Section-Padding & Gaps reduzieren */
@media (min-width:641px) and (max-width:1024px){
  section{ padding: 40px 0; }
  .hero{ gap: 24px; padding: 36px 0; }
  .stack{ gap: 10px; }
  .service{ padding: 16px; }
}
/* Tablet: 3er-Grid auf 2er-Grid */
@media (min-width:641px) and (max-width:1024px){
  .grid-3{ grid-template-columns: 1fr 1fr; gap: 16px; }
  .grid-2{ grid-template-columns: 1fr 1fr; gap: 16px; }
  .why{ grid-template-columns: 1fr 1fr; gap: 16px; }
}
/* Tablet: Hero-Panel etwas flacher, nicht dominant */
@media (min-width:641px) and (max-width:1024px){
  .hero .panel{ min-height: 200px; }
  .hero .actions a{ padding: .6rem .9rem; }
}
/* Tablet: Sticky Header + komfortable Klickfläche */
@media (min-width:641px) and (max-width:1024px){
  .header{ position: sticky; top: 48px; background: rgba(255,255,255,.9); backdrop-filter: blur(8px); }
  .nav a{ padding: 10px 8px; display: inline-block; }
  .logo{ font-size: 1.05rem; }
}
/* Tablet: Buttons dezent kleiner, Fokus klar */
@media (min-width:641px) and (max-width:1024px){
  .cta{ padding: .6rem .95rem; border-radius: 10px; }
  .cta.secondary{ border-color: var(--brand); }
  .cta.ghost{ border-color: var(--line); }
}
/* Tablet: FAQ besser tippbar */
@media (min-width:641px) and (max-width:1024px){
  .faq summary{ list-style: none; cursor: pointer; }
  .faq summary::-webkit-details-marker{ display:none; }
  .faq summary{ padding: 8px 0; }
  .faq details{ padding: 14px 16px; }
  .faq summary > *{ pointer-events: none; } /* Text selektiert, Klick bleibt auf summary */
}
/* Tablet: gleiche Elevation & Kantenradien; Icons monochrom blau */
@media (min-width:641px) and (max-width:1024px){
  .card{ border-radius: 14px; box-shadow: 0 8px 20px rgba(2,6,23,.06); }
  .service h3, .why .point strong{ color: var(--ink); }
  /* Falls Icons als <svg> ohne Klasse: einfärben */
  .card svg *{ fill: var(--brand) !important; stroke: var(--brand) !important; }
}
/* Tablet: Footer enger, Links in eine Zeile */
@media (min-width:641px) and (max-width:1024px){
  footer{ padding: 24px 0; }
  footer .links{ gap: 8px; }
}
/* Tablet: globale Mindest-Tap-Targets */
@media (min-width:641px) and (max-width:1024px){
  a, button, summary{ min-height: 44px; }
  .seg{ padding: 10px 16px; } /* Variant-Switcher */
}
/* Tablet: klar sichtbarer Fokus-Ring für Keyboard */
@media (min-width:641px) and (max-width:1024px){
  :where(a, button, summary, .cta):focus-visible{
    outline: 3px solid var(--brand-2);
    outline-offset: 2px;
    border-radius: 10px;
  }
}
/* Tablet: etwas dunklerer Text auf hellblauen Hintergründen */
@media (min-width:641px) and (max-width:1024px){
  .pill{ background: #e2e8ff; color:#1e2f7a; }
  .hero .panel{ background: linear-gradient(160deg,#eaf2ff 0%,#ffffff 55%); }
}
/* Tablet: Sticky-CTA schmaler Balken, nicht zu präsent */
@media (min-width:641px) and (max-width:1024px){
  .sticky-cta{ display:flex; padding: 10px; }
  .sticky-cta .cta{ padding:.55rem .9rem; }
}
/* Tablet: Inputs komfortabel, aber kompakt */
@media (min-width:641px) and (max-width:1024px){
  input, textarea{ font-size: 1rem; }
  #kontakt .grid-2, #m-kontakt .grid-2{ gap: 10px; }
}
/* Systemweit: weiches Scrollen */
html{ scroll-behavior: smooth; }
@media (min-width:641px) and (max-width:1024px){
  h1{ font-size: 1.6rem !important; line-height: 1.3 !important; }
  h2{ font-size: 1.25rem !important; line-height: 1.35 !important; }
  h3{ font-size: 1.05rem !important; }
  p, li{ font-size: .95rem !important; line-height: 1.7 !important; }
}
/* Header über allem */
@media (min-width:641px) and (max-width:1024px){
  .site-header,
  .elementor-location-header,
  .header{
    position: sticky;        /* oder fixed, falls du es so nutzt */
    top: 0;
    z-index: 9999;           /* deutlich höher als Hero/Karten */
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid #e2e8f0;
  }
}
/* Platz schaffen, damit der erste Abschnitt nicht unter den Header rutscht */
@media (min-width:641px) and (max-width:1024px){
  :root{ --hdrH: 64px; }   /* an reale Headerhöhe anpassen (z. B. 72px) */
  body{ padding-top: var(--hdrH); }
  /* WordPress-Adminbar berücksichtigen */
  body.admin-bar{ padding-top: calc(var(--hdrH) + 46px); }
}
/* Verhindert, dass der Header unter die iOS-Statusleiste rutscht */
@supports (padding: max(0px)){
  @media (min-width:641px) and (max-width:1024px){
    body{ padding-top: max(var(--hdrH), env(safe-area-inset-top)); }
    .site-header,
    .elementor-location-header,
    .header{ padding-top: env(safe-area-inset-top); }
  }
}
/* Falls ein Vorfahr overflow/transform nutzt und neue Stacking-Contexts erzeugt */
@media (min-width:641px) and (max-width:1024px){
  .hero,
  .elementor-section,
  .elementor-container{ position: relative; z-index: 0; }
  /* Sicherheitsnetz: nichts darf den Header überdecken */
  .hero, .hero *{ z-index: auto; }
}
/* Alternative: Fixed Header */
@media (min-width:641px) and (max-width:1024px){
  .site-header,
  .elementor-location-header,
  .header{
    position: fixed; left:0; right:0; top:0;
    height: var(--hdrH);
  }
  main, #content, .elementor-location-single, .elementor{
    /* Ersten Inhaltscontainer nach unten schieben */
    margin-top: var(--hdrH);
  }
}
/* Elementor: Dropdown vollflächig, über allem */
@media (min-width:641px) and (max-width:1024px){
  /* Container der Dropdown-Ebene */
  .elementor-nav-menu--dropdown, 
  .elementor-nav-menu__container{
    position: fixed !important;
    inset: 0 !important;            /* top/right/bottom/left: 0 */
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: auto !important;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(6px);
    z-index: 9998 !important;       /* unter dem Close-Button, über Inhalt */
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Innenabstände & Safe-Area (Notch) */
  .elementor-nav-menu--dropdown .elementor-nav-menu{
    padding: max(16px, env(safe-area-inset-top)) 24px 24px 24px;
  }

  /* Link-Liste: große Tap-Ziele */
  .elementor-nav-menu--dropdown .elementor-item{
    display:block;
    padding: 14px 6px;
    font-size: 1.05rem;
    line-height: 1.4;
    border-bottom: 1px solid #e5e7eb;
  }
}
/* Toggle-Button immer sichtbar und über dem Overlay */
@media (min-width:641px) and (max-width:1024px){
  .elementor-menu-toggle{
    position: relative;
    z-index: 10000 !important;
  }
  /* Optional: runden Button etwas hervorheben */
  .elementor-menu-toggle{
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(2,6,23,.08);
  }
}
/* Solange das Dropdown sichtbar ist: Seite nicht scrollen */
@media (min-width:641px) and (max-width:1024px){
  .elementor-nav-menu--dropdown[style*="display: block"],
  .elementor-nav-menu__container[style*="display: block"]{
    /* Marker-Klasse für :has() Fallback unten */
  }

  /* Modern: :has() – sperrt Body, wenn Dropdown sichtbar */
  body:has(.elementor-nav-menu--dropdown[style*="display: block"]),
  body:has(.elementor-nav-menu__container[style*="display: block"]){
    overflow: hidden;
    touch-action: none;
  }
}
@media (min-width:641px) and (max-width:1024px){
  :root{ --hdrH: 64px; } /* ggf. anpassen */
  .elementor-nav-menu--dropdown, 
  .elementor-nav-menu__container{
    padding-top: calc(var(--hdrH) + env(safe-area-inset-top));
  }
}
@media (min-width:641px) and (max-width:1024px){
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu__container{
    opacity: 0; pointer-events: none; transition: opacity .2s ease;
  }
  .elementor-nav-menu--dropdown[style*="display: block"],
  .elementor-nav-menu__container[style*="display: block"]{
    opacity: 1; pointer-events: auto;
  }
@media (max-width:1024px){
  /* Vollflächiges Menü hell */
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu__container{
    background: #ffffff !important;       /* weiß statt gold */
    color: #0f172a !important;            /* dunkler Text */
  }

  /* Links farblich anpassen */
  .elementor-nav-menu--dropdown .elementor-item,
  .elementor-nav-menu__container .elementor-item{
    color: #1e3a8a !important;            /* dein Brand-Blau */
  }
/* Tablet/Mobile: Dropdown/Offcanvas in Weiß statt Gold */
@media (max-width:1024px){
  /* alle gängigen Dropdown-Wrapper des Elementor Nav Menu */
  body .elementor .elementor-widget-nav-menu .elementor-nav-menu--dropdown,
  body .elementor .elementor-widget-nav-menu .elementor-nav-menu__container,
  body .elementor .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu,
  body .elementor .elementor-widget-nav-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: auto !important;

    background: #ffffff !important;      /* <-- weiß statt gold */
    background-color: #ffffff !important; /* doppelt für Sicherheit */
    box-shadow: none !important;
    z-index: 9998 !important;
  }

  /* Links im Overlay */
  .elementor-nav-menu--dropdown .elementor-item,
  .elementor-nav-menu__container .elementor-item{
    color:#1e3a8a !important;
  }
  .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-nav-menu__container .elementor-item:hover{
    color:#0ea5e9 !important;
  }

  /* falls ein Pseudo-Overlay die Goldfläche liefert */
  .elementor-nav-menu--dropdown::before,
  .elementor-nav-menu__container::before{
    content:none !important;
    background:transparent !important;
  }

  /* Toggle / Close nicht golden */
  .elementor-menu-toggle.elementor-active{
    background:#fff !important;
    border:1px solid #e5e7eb !important;
  }
  .elementor-menu-toggle.elementor-active svg,
  .elementor-menu-toggle.elementor-active i{
    color:#0f172a !important;
  }
}
/* ===== DataProtected – Icons/Text-Block – Tablet-Fix ===== */
/* Äußerer Container: data-id="4757a0c"  |  Grid mit 6 Items: data-id="2615a21" */

@media (min-width:641px) and (max-width:1200px){

  /* 1) 3×2-Grid aktivieren (Icons oben, Texte unten) */
  .elementor-element[data-id="2615a21"] > .e-con-inner{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    grid-auto-rows:auto !important;
    gap:12px 20px !important;            /* row/col gaps */
    justify-items:center !important;
    align-items:start !important;
    text-align:center !important;
  }

  /* 2) EXAKTE Platzierung – ICONS (Reihe 1) */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="49d552"]{ grid-column:1 !important; grid-row:1 !important; }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="6a565e"]{ grid-column:2 !important; grid-row:1 !important; }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="da8443"]{ grid-column:3 !important; grid-row:1 !important; }

  /* 3) EXAKTE Platzierung – TEXTE (Reihe 2) */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="1628ba9"]{ grid-column:1 !important; grid-row:2 !important; }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="48aad3"]{ grid-column:2 !important; grid-row:2 !important; }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="aa54c0"]{ grid-column:3 !important; grid-row:2 !important; }

  /* 4) Feinschliff (ohne :is() – kompatibel & parser-sicher) */
  .elementor-element[data-id="4757a0c"] img,
  .elementor-element[data-id="4757a0c"] svg{
    width:48px !important; height:48px !important; object-fit:contain !important;
  }
  .elementor-element[data-id="4757a0c"] p,
  .elementor-element[data-id="4757a0c"] h3{
    margin:6px 0 0 !important;
    line-height:1.5 !important;
    max-width:26ch !important;
    text-align:center !important;
  }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element{
    margin:0 !important;
  }
}
/* ===== Icons/Text-Block (Container 2615a21) – Tablet Layout ===== */
@media (min-width:641px) and (max-width:1200px){
  /* 3 Spalten, Auto-Placement spaltenweise */
  .elementor-element[data-id="2615a21"] > .e-con-inner{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: auto !important;
    grid-auto-flow: column !important;   /* füllt Spalten von links nach rechts */
    gap: 12px 20px !important;
    justify-items: center !important;
    align-items: start !important;
    text-align: center !important;
  }

  /* Alle ICON-Widgets in die obere Reihe */
  .elementor-element[data-id="2615a21"] > .e-con-inner
  > .elementor-element[data-widget_type="icon.default"]{
    grid-row: 1 !important;
  }

  /* Alle HEADING-Widgets in die untere Reihe */
  .elementor-element[data-id="2615a21"] > .e-con-inner
  > .elementor-element[data-widget_type="heading.default"]{
    grid-row: 2 !important;
  }

  /* Feinschliff */
  .elementor-element[data-id="2615a21"] img,
  .elementor-element[data-id="2615a21"] svg{
    width: 48px !important; height: 48px !important; object-fit: contain !important;
  }
  .elementor-element[data-id="2615a21"] h3,
  .elementor-element[data-id="2615a21"] p{
    margin: 6px 0 0 !important; line-height: 1.5 !important; max-width: 26ch !important;
  }
}
/* ===== Icons/Text-Block (Container data-id="2615a21") – Tablet via FLEX ===== */
@media (min-width:641px) and (max-width:1200px){
  /* der Container, der die 6 Widgets enthält */
  .elementor-element[data-id="2615a21"] > .e-con-inner{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 12px 20px !important;         /* Reihen-/Spaltenabstand */
    text-align: center !important;
  }

  /* ICON-Widgets: erste Reihe (links->rechts), 3 Spalten */
  .elementor-element[data-id="2615a21"] > .e-con-inner
  > .elementor-element[data-widget_type="icon.default"]{
    width: calc(33.333% - 20px) !important;  /* 3 Spalten */
    order: 1 !important;                     /* vor den Texten */
  }

  /* TEXT-Widgets (Heading): zweite Reihe, 3 Spalten */
  .elementor-element[data-id="2615a21"] > .e-con-inner
  > .elementor-element[data-widget_type="heading.default"]{
    width: calc(33.333% - 20px) !important;
    order: 2 !important;
    margin: 0 !important;
  }

  /* Feinschliff */
  .elementor-element[data-id="2615a21"] img,
  .elementor-element[data-id="2615a21"] svg{
    width:48px !important; height:48px !important; object-fit:contain !important;
  }
  .elementor-element[data-id="2615a21"] h3,
  .elementor-element[data-id="2615a21"] p{
    margin:6px 0 0 !important; line-height:1.5 !important; max-width:26ch !important;
  }
}

/* Optional: Mobile <640px -> 1 Spalte, Icon über Text */
@media (max-width:640px){
  .elementor-element[data-id="2615a21"] > .e-con-inner{
    display:flex !important; flex-wrap:wrap !important; gap:8px 0 !important;
  }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element{
    width:100% !important;
  }
  .elementor-element[data-id="2615a21"] > .e-con-inner
  > .elementor-element[data-widget_type="icon.default"]{ order:1 !important; }
  .elementor-element[data-id="2615a21"] > .e-con-inner
  > .elementor-element[data-widget_type="heading.default"]{ order:2 !important; }
}
/* Tablet Layout Icons + Texte */
@media (min-width:641px) and (max-width:1024px){

  /* Grid-Container überschreiben */
  .elementor-element[data-id="2615a21"].e-grid{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* 3 Spalten */
    grid-template-rows: auto auto !important;         /* 2 Reihen */
    justify-items: center !important;
    align-items: start !important;
    gap: 12px 20px !important;
    text-align: center !important;
  }

  /* Icons in Reihe 1 */
  .elementor-element[data-id="49dd552"],
  .elementor-element[data-id="f6a565e"],
  .elementor-element[data-id="da8443d"]{
    grid-row: 1 !important;
  }

  /* Texte in Reihe 2 */
  .elementor-element[data-id="1628ba9"],
  .elementor-element[data-id="48aad3"],
  .elementor-element[data-id="aa54fc0"]{
    grid-row: 2 !important;
  }

  /* Optional: Styling feinjustieren */
  .elementor-element[data-id="2615a21"] img,
  .elementor-element[data-id="2615a21"] svg{
    width:48px !important; height:48px !important;
  }
  .elementor-element[data-id="2615a21"] h3{
    margin:6px 0 0 !important;
    font-size:1rem !important;
    line-height:1.5 !important;
  }
}
/* Tablet/iPad */
@media (min-width:641px) and (max-width:1200px){

  /* Grid sauber definieren */
  .elementor-element[data-id="2615a21"].e-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:12px 24px !important;
    justify-items:center !important;
    align-items:start !important;
    text-align:center !important;
  }

  /* ICONS (Reihe 1, links→rechts) */
  .elementor-element[data-id="49dd552"]{ grid-column:1 !important; grid-row:1 !important; }
  .elementor-element[data-id="f6a565e"]{ grid-column:2 !important; grid-row:1 !important; }
  .elementor-element[data-id="da8443d"]{ grid-column:3 !important; grid-row:1 !important; }

  /* TEXTE (Reihe 2)  ➜ 1: Jurist:innen, 2: Spezialisierung, 3: Start-Ups */
  .elementor-element[data-id="1628ba9"]{ grid-column:1 !important; grid-row:2 !important; } /* Hochqualifizierte Jurist:innen */
  .elementor-element[data-id="aa54fc0"]{ grid-column:2 !important; grid-row:2 !important; } /* Langjährige Spezialisierung … */
  .elementor-element[data-id="48aad3"]{ grid-column:3 !important; grid-row:2 !important; } /* Für Start-Ups … */
}
@media (min-width:641px) and (max-width:1200px){
  /* keine Beschneidung */
  .elementor-element[data-id="2615a21"],
  .elementor-element[data-id="4757a0c"]{ overflow: visible !important; }

  /* Headings sauber umbrechen (de-Hyphen) */
  .elementor-element[data-id="2615a21"] h3{
    max-width: none !important;
    white-space: normal !important;
    letter-spacing: 0 !important;
    hyphens: auto !important;           /* funktioniert gut, da <html lang="de"> */
    overflow-wrap: anywhere !important;  /* bricht sehr lange Wörter */
    text-overflow: clip !important;
  }
}
/* ===== Icons/Text-Block (Grid 2615a21) – Tablet-Fix: Reihenfolge + kein Cutoff ===== */
@media (min-width:641px) and (max-width:1200px){
  /* 1) Grid sauber definieren (3 Spalten, 2 Reihen, benannte Areas) */
  .elementor-element[data-id="2615a21"]{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important; /* minmax(0,1fr) verhindert „Abschneiden“ */
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "icon1 icon2 icon3"
      "txt1  txt2  txt3" !important;
    column-gap: 24px !important;
    row-gap: 12px !important;
    justify-items: center !important;
    align-items: start !important;
    text-align: center !important;
    overflow: visible !important; /* nichts abschneiden */
  }

  /* 2) ICONS zuweisen (obere Reihe) */
  .elementor-element[data-id="49dd552"]{ grid-area: icon1 !important; } /* Birne */
  .elementor-element[data-id="f6a565e"]{ grid-area: icon2 !important; } /* Schild */
  .elementor-element[data-id="da8443d"]{ grid-area: icon3 !important; } /* Gebäude */

  /* 3) TEXTE zuweisen (untere Reihe) — gewünschte Reihenfolge siehe oben */
  .elementor-element[data-id="1628ba9"]{ grid-area: txt1 !important; } /* Hochqualifizierte Jurist:innen */
  .elementor-element[data-id="48aad3"]{ grid-area: txt2 !important; } /* Für Start-Ups … */
  .elementor-element[data-id="aa54fc0"]{ grid-area: txt3 !important; } /* Langjährige Spezialisierung … */

  /* 4) Headings: zuverlässig umbrechen, nichts verstecken */
  .elementor-element[data-id="2615a21"] .elementor-widget-heading{ width:100% !important; }
  .elementor-element[data-id="2615a21"] .elementor-widget-container{ overflow: visible !important; }

  .elementor-element[data-id="2615a21"] h3{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;           /* <html lang="de"> hilft beim Silbentrennen */
    line-height: 1.35 !important;
    max-width: 32ch !important;         /* begrenzt Zeilenlänge ohne Abschneiden */
    margin: 6px 0 0 !important;
  }

  /* 5) Icons konsistent */
  .elementor-element[data-id="2615a21"] img,
  .elementor-element[data-id="2615a21"] svg{
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
  }
}
/* Icon-List: Icon + Text auf einer Linie */
.elementor-widget-icon-list .elementor-icon-list-items{
  display:flex;
  flex-direction:column;
  gap:8px; /* Abstand zwischen den Punkten */
}

.elementor-widget-icon-list .elementor-icon-list-item{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;   /* Abstand Icon ↔ Text */
  line-height:1.5 !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:20px; /* hält die Spalte gleichmäßig */
}
/* Milchglas-Button */
.elementor-button{
  background: rgba(255,255,255,0.2) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  border-radius: 12px !important;
  color:#fff !important;
  font-weight:600 !important;
  padding: 12px 24px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
  transition: all .25s ease !important;
}

.elementor-button:hover{
  background: rgba(255,255,255,0.3) !important;
  border-color: rgba(255,255,255,0.6) !important;
}
/* ==== Icon-List (Elementor) – saubere Ausrichtung ==== */
.elementor-widget-icon-list .elementor-icon-list-items{
  display:flex !important;
  flex-direction:column !important;
  row-gap:12px !important;
  padding:0 !important;
  margin:0 !important;
}

.elementor-widget-icon-list .elementor-icon-list-item{
  display:flex !important;
  align-items:flex-start !important;    /* Text beginnt oben neben dem Icon */
  column-gap:12px !important;
  margin:0 !important;
  line-height:1.5 !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon{
  flex:0 0 24px !important;             /* feste Icon-Spalte */
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-widget-icon-list .elementor-icon-list-icon svg{
  width:20px !important;
  height:20px !important;
  line-height:1 !important;
}

.elementor-widget-icon-list .elementor-icon-list-text{
  flex:1 1 auto !important;
  margin:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
}
/* ===== Icons oben, Texte darunter – Bereich a6d2c6d (Tablet) ===== */
@media (min-width:641px) and (max-width:1200px){
  /* 1) 3×2-Grid definieren (mit benannten Areas) */
  .elementor-element[data-id="a6d2c6d"]{
    display:grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "icon1 icon2 icon3"
      "txt1  txt2  txt3" !important;
    column-gap:24px !important;
    row-gap:12px !important;
    justify-items:center !important;
    align-items:start !important;
    text-align:center !important;
    overflow:visible !important;
  }

  /* 2) ICONS → obere Reihe */
  .elementor-element[data-id="6198c36"]{ grid-area: icon1 !important; }
  .elementor-element[data-id="7920a7d"]{ grid-area: icon2 !important; }
  .elementor-element[data-id="a7ef516"]{ grid-area: icon3 !important; }

  /* 3) TEXTE → untere Reihe (Reihenfolge hier anpassbar) */
  .elementor-element[data-id="3bc347f"]{ grid-area: txt1 !important; }
  .elementor-element[data-id="75f5ecf"]{ grid-area: txt2 !important; }
  .elementor-element[data-id="2fee950"]{ grid-area: txt3 !important; }

  /* 4) Feinschliff: keine Cuts, saubere Umbrüche, konsistente Icongröße */
  .elementor-element[data-id="a6d2c6d"] .elementor-widget-container{ overflow:visible !important; }
  .elementor-element[data-id="a6d2c6d"] h3{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:initial !important;
    overflow-wrap:anywhere !important;
    hyphens:auto !important;
    line-height:1.35 !important;
    max-width:32ch !important;
    margin:6px 0 0 !important;
  }
  .elementor-element[data-id="a6d2c6d"] img,
  .elementor-element[data-id="a6d2c6d"] svg{
    width:48px !important;
    height:48px !important;
    object-fit:contain !important;
  }
}
  @media (max-width: 767.98px){
  /* einspaltig, hübsche Abstände – unabhängig von Grid vs Flex */
  .elementor-element[data-id="2615a21"] > .e-con-inner,
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    align-items:center !important;
    text-align:center !important;
  }
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element,
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element{
    width:100% !important;
  }
  /* Lesbarkeit */
  .elementor-element[data-id="2615a21"] h3,
  .elementor-element[data-id="a6d2c6d"] h3{
    margin:6px 0 0 !important; line-height:1.35 !important;
    white-space:normal !important; overflow-wrap:anywhere !important; hyphens:auto !important;
  }
  .elementor-element[data-id="2615a21"] img, .elementor-element[data-id="2615a6d"] img,
  .elementor-element[data-id="2615a21"] svg, .elementor-element[data-id="2615a6d"] svg{
    width:42px !important; height:42px !important; object-fit:contain !important;
  }
}
/* ============ Mobile Cards (DSGVO & NIS2) < 768px ============ */
@media (max-width: 767.98px){

  /* 0) IDs der beiden Karten-Container */
  .elementor-element[data-id="b3e704a"],
  .elementor-element[data-id="8cfdae3"]{
    padding: 24px 18px !important;     /* weniger Innenabstand */
    border-radius: 18px !important;
  }

  /* 1) Headline kompakter & lesbarer */
  .elementor-element[data-id="b3e704a"] h2,
  .elementor-element[data-id="8cfdae3"] h2{
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    margin: 14px 0 10px !important;
    text-align: center !important;
  }

  /* 2) Icon oben etwas kleiner */
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon svg,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon svg{
    width: 56px !important; height: 56px !important;
  }

  /* 3) Liste: Häkchen + Text sauber ausgerichtet */
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon-list .elementor-icon-list-items,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon-list .elementor-icon-list-items{
    display: flex !important;
    flex-direction: column !important;
    row-gap: 10px !important;
    margin: 10px 0 18px !important;
  }
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon-list .elementor-icon-list-item,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon-list .elementor-icon-list-item{
    display: flex !important;
    align-items: flex-start !important;
    column-gap: 10px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon-list .elementor-icon-list-icon,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon-list .elementor-icon-list-icon{
    flex: 0 0 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon-list .elementor-icon-list-icon i,
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon-list .elementor-icon-list-icon svg,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon-list .elementor-icon-list-icon i,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon-list .elementor-icon-list-icon svg{
    width: 18px !important; height: 18px !important;
  }
  .elementor-element[data-id="b3e704a"] .elementor-widget-icon-list .elementor-icon-list-text,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-icon-list .elementor-icon-list-text{
    margin: 0 !important;
    font-size: 1rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  /* 4) Button: Milchglas, volle Breite, guter Tap-Bereich */
  .elementor-element[data-id="b3e704a"] .elementor-button-wrapper,
  .elementor-element[data-id="8cfdae3"] .elementor-button-wrapper{
    width: 100% !important; display: flex; justify-content: center;
  }
  .elementor-element[data-id="b3e704a"] .elementor-button,
  .elementor-element[data-id="8cfdae3"] .elementor-button{
    width: 100% !important; max-width: 420px !important;
    background: rgba(255,255,255,0.18) !important;
    backdrop-filter: blur(12px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,0.45) !important;
    border-radius: 16px !important;
    color: #0f172a !important;                  /* dunkler Text auf hellem Glas */
    font-weight: 700 !important;
    padding: 14px 20px !important;
    box-shadow: 0 10px 30px rgba(2,6,23,.12) !important;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease !important;
  }
  .elementor-element[data-id="b3e704a"] .elementor-button:hover,
  .elementor-element[data-id="8cfdae3"] .elementor-button:hover{
    background: rgba(255,255,255,0.26) !important;
    border-color: rgba(255,255,255,0.6) !important;
    transform: translateY(-1px) !important;
  }

  /* 5) Letzte Kleinigkeiten: saubere Kanten & Verläufe */
  .elementor-element[data-id="b3e704a"] .elementor-widget-container,
  .elementor-element[data-id="8cfdae3"] .elementor-widget-container{
    overflow: visible !important;
  }
}
/* ===== DESKTOP RESET (>= 1025px) – beide Grids wieder 3×2 ===== */
@media (min-width: 1025px){

  /* Gemeinsame Grid-Definition */
  .elementor-element[data-id="2615a21"] > .e-con-inner,
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    grid-auto-flow: row !important;
    grid-template-rows: auto auto !important;
    gap: 14px 24px !important;
    justify-items: center !important;
    align-items: start !important;
    text-align: center !important;
  }

  /* Mobile-Reste neutralisieren */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element,
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element{
    width: auto !important;
    order: initial !important;
  }

  /* === Grid 1: Icons oben, Texte unten === */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="49dd552"]{ grid-row:1 !important; } /* Icon 1 */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="f6a565e"]{  grid-row:1 !important; } /* Icon 2 */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="da8443d"]{ grid-row:1 !important; } /* Icon 3 */

  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="1628ba9"]{ grid-row:2 !important; } /* Text 1 */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="48aad3"]{  grid-row:2 !important; } /* Text 2 */
  .elementor-element[data-id="2615a21"] > .e-con-inner > .elementor-element[data-id="aa54fc0"]{ grid-row:2 !important; } /* Text 3 */

  /* === Grid 2: Icons oben, Texte unten === */
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element[data-id="6198c36"]{ grid-row:1 !important; } /* Icon 1 */
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element[data-id="7920a7d"]{ grid-row:1 !important; } /* Icon 2 */
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element[data-id="a7ef516"]{ grid-row:1 !important; } /* Icon 3 */

  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element[data-id="3bc347f"]{  grid-row:2 !important; } /* Text 1 */
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element[data-id="75f5ecf"]{  grid-row:2 !important; } /* Text 2 */
  .elementor-element[data-id="a6d2c6d"] > .e-con-inner > .elementor-element[data-id="2fee950"]{ grid-row:2 !important; } /* Text 3 */
}
/* ==== FAQ – Grundlayout & Glas-Karte ==== */
.dp-faq .elementor-accordion .elementor-accordion-item{
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 6px 24px rgba(2,6,23,.06);
  overflow:hidden;
}
.dp-faq .elementor-accordion .elementor-accordion-item + .elementor-accordion-item{
  margin-top:10px;
}

/* Header: große Klickfläche, klare Typo */
.dp-faq .elementor-accordion .elementor-tab-title{
  display:flex; align-items:center; gap:12px;
  padding:16px 18px;
  font-weight:700; font-size:1.05rem; line-height:1.3;
  color:#0f172a;
  transition:background .18s ease, box-shadow .18s ease;
}
.dp-faq .elementor-accordion .elementor-tab-title:hover{
  background:#f8fafc;
}
.dp-faq .elementor-accordion .elementor-tab-title:focus-visible{
  outline:3px solid #0ea5e9; outline-offset:2px; border-radius:10px;
}

/* Icon links, animierte Drehung */
.dp-faq .elementor-accordion .elementor-accordion-icon{
  order:-1; /* Icon nach links */
  width:28px; height:28px;
  border-radius:999px;
  display:grid; place-items:center;
  background:#eef2ff; border:1px solid #cbd5e1;
}
.dp-faq .elementor-accordion .elementor-accordion-icon svg,
.dp-faq .elementor-accordion .elementor-accordion-icon i{
  transition:transform .2s ease;
}
.dp-faq .elementor-accordion .elementor-tab-title.elementor-active
  .elementor-accordion-icon svg,
.dp-faq .elementor-accordion .elementor-tab-title.elementor-active
  .elementor-accordion-icon i{
  transform:rotate(180deg);
}

/* Content: luftiger, gute Lesbarkeit */
.dp-faq .elementor-accordion .elementor-tab-content{
  padding:18px 22px 20px;
  border-top:1px solid #e2e8f0;
  background:#fff;
  color:#0f172a;
  line-height:1.7;
}
.dp-faq .elementor-accordion .elementor-tab-content p{ margin:0 0 .8em; }
.dp-faq .elementor-accordion .elementor-tab-content p:last-child{ margin-bottom:0; }

/* Überschrift des Bereichs etwas kompakter */
.dp-faq h2{
  letter-spacing:0; line-height:1.2;
  margin-bottom:18px;
}

/* Responsive Feinschliff */
@media (max-width: 1024px){
  .dp-faq .elementor-accordion .elementor-tab-title{ font-size:1rem; padding:14px 16px; }
  .dp-faq .elementor-accordion .elementor-tab-content{ padding:16px 18px; }
}
@media (max-width: 767px){
  .dp-faq h2{ font-size:1.6rem; line-height:1.25; }
  .dp-faq .elementor-accordion .elementor-tab-title{ font-size:.98rem; }
}
/* Verhindert, dass Widgets im Elementor-Editor abgeschnitten werden */
.elementor-editor-active .elementor-element,
.elementor-editor-active .elementor-widget,
.elementor-editor-active .elementor-widget-container {
  overflow: visible !important;
}

/* Icon List sicher darstellen */
.elementor-editor-active .elementor-icon-list-items,
.elementor-editor-active .elementor-icon-list-item {
  overflow: visible !important;
  line-height: 1.4 !important;
}
h1.nv-page-title {
    display: none !important;
}
.nv-page-title-wrap .nv-page-title {
    display: none !important;
} /* --- Mobile: sinnvolle Umbrüche erlauben --- */
@media (max-width: 768px) {
  h1, h2, h3,
  .elementor-widget-heading .elementor-heading-title,
  .dp-hero-box .elementor-widget-text-editor p,
  .dp-services .elementor-icon-box-description {
    hyphens: auto !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important; /* darf an "guten" Stellen brechen */
    text-wrap: balance; /* optional */
  }

  /* Besonders wichtig: Icon-Box-Titel in Karten */
  .elementor-widget-icon-box .elementor-icon-box-title {
    hyphens: auto !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
}
/* Heading-Abstände im Content auf Mobil reduzieren */
@media (max-width: 768px) {
  .elementor-section .elementor-widget-heading h2,
  .elementor-section .elementor-widget-heading h3 {
    margin-bottom: 12px !important;
    line-height: 1.25 !important; /* falls global noch px-Werte kursieren */
  }

  /* Unmittelbar nach einer Überschrift: ersten Block näher heranholen */
  .elementor-section .elementor-widget-heading + .elementor-widget {
    margin-top: 6px !important;
  }

  /* Übervorsicht: evtl. eingefügte Spacer mobil neutralisieren */
  .elementor-widget-spacer {
    height: 0 !important;
    min-height: 0 !important;
  }
}
/* ===============================
   MOBILE LAYOUT CLEANUP (Elementor)
   =============================== */
@media (max-width: 768px) {

  /* 1. Abstand Button → Liste */
  .elementor-widget-button + .elementor-widget-icon-list {
    margin-top: 16px !important;
  }

  /* 2. Zu große Section-Abstände reduzieren */
  .elementor-section,
  .elementor-container,
  .elementor-widget {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Nur gezielt nach Textabschnitt kleine Lücke */
  .elementor-widget-text-editor + .elementor-widget-icon-box {
    margin-top: 8px !important;
  }

  /* 3. Überschriften dichter + Stil angleichen */
  h2.elementor-heading-title,
  h3.elementor-heading-title {
    margin-bottom: 12px !important;
    color: var(--dp-primary, #1D3557) !important;
    line-height: 1.25 !important;
  }

  /* 4. Icon-Boxen gleichmäßig & Stil aus Desktop übernehmen */
  .elementor-widget-icon-box {
    background: var(--dp-alt, #F7FAFC) !important;
    border-radius: 16px !important;
    padding: 20px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.05) !important;
  }

  .elementor-widget-icon-box .elementor-icon {
    color: var(--dp-secondary, #2A9D8F) !important;
  }

  .elementor-widget-icon-box .elementor-icon-box-title {
    color: var(--dp-primary, #1D3557) !important;
  }

  /* 5. Sicherheit: hero/cta Buttons auf 90% Breite */
  .elementor-button {
    max-width: 90% !important;
    margin: 0 auto 12px auto !important;
  }
}
/* === GLOBAL LINE-HEIGHT & OVERFLOW FIX (mobile + desktop) === */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  line-height: 1.25 !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

.elementor-widget-text-editor p,
.elementor-icon-list-item,
.elementor-icon-list-text {
  line-height: 1.5 !important;
  overflow: visible !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

/* Buttons & Listen – vermeiden, dass Zeilen kollidieren */
.elementor-button,
.elementor-button span,
.elementor-icon-list-item {
  line-height: 1.4 !important;
}

/* Mobile: Schriftgröße automatisch etwas verkleinern, um sauberen Zeilenumbruch zu fördern */
@media (max-width: 768px) {
  h1, h2, h3 {
    font-size: clamp(24px, 6vw, 34px) !important;
  }
  .elementor-icon-list-item {
    font-size: 16px !important;
  }
}/* End custom CSS */