.elementor-418 .elementor-element.elementor-element-0a2aa5a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;--padding-top:80px;--padding-bottom:80px;--padding-left:80px;--padding-right:80px;}.elementor-418 .elementor-element.elementor-element-0a2aa5a::before, .elementor-418 .elementor-element.elementor-element-0a2aa5a > .elementor-background-video-container::before, .elementor-418 .elementor-element.elementor-element-0a2aa5a > .e-con-inner > .elementor-background-video-container::before, .elementor-418 .elementor-element.elementor-element-0a2aa5a > .elementor-background-slideshow::before, .elementor-418 .elementor-element.elementor-element-0a2aa5a > .e-con-inner > .elementor-background-slideshow::before, .elementor-418 .elementor-element.elementor-element-0a2aa5a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://ddk-bedachung.grantech-solutions.de/wp-content/uploads/2021/10/shape-13.png");--background-overlay:'';}.elementor-418 .elementor-element.elementor-element-068f56f{--display:flex;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-418 .elementor-element.elementor-element-86040e8{--display:flex;}.elementor-418 .elementor-element.elementor-element-86040e8:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-86040e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://ddk-bedachung.grantech-solutions.de/wp-content/uploads/2026/02/shape-13.png");background-size:cover;}.elementor-418 .elementor-element.elementor-element-63929d7{--display:flex;--overlay-opacity:0.5;}.elementor-418 .elementor-element.elementor-element-63929d7:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-63929d7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ddk-bedachung.grantech-solutions.de/wp-content/uploads/2022/03/shape-19.png");}.elementor-418 .elementor-element.elementor-element-63929d7::before, .elementor-418 .elementor-element.elementor-element-63929d7 > .elementor-background-video-container::before, .elementor-418 .elementor-element.elementor-element-63929d7 > .e-con-inner > .elementor-background-video-container::before, .elementor-418 .elementor-element.elementor-element-63929d7 > .elementor-background-slideshow::before, .elementor-418 .elementor-element.elementor-element-63929d7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-418 .elementor-element.elementor-element-63929d7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-418 .elementor-element.elementor-element-27b23f7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-418 .elementor-element.elementor-element-27b23f7:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-27b23f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ddk-bedachung.grantech-solutions.de/wp-content/uploads/2026/02/shape-13.png");background-size:cover;}.elementor-418 .elementor-element.elementor-element-d29a886{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-d29a886:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-d29a886 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);}.elementor-418 .elementor-element.elementor-element-7d2bbe0{--display:flex;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-acaaa40{text-align:center;}.elementor-418 .elementor-element.elementor-element-6c6a708{text-align:center;}.elementor-418 .elementor-element.elementor-element-6c6a708 .elementor-heading-title{font-size:35px;}.elementor-418 .elementor-element.elementor-element-fafeefb{text-align:center;}.elementor-418 .elementor-element.elementor-element-2ce7ef3{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-c26d926{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-418 .elementor-element.elementor-element-40d69ab > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-418 .elementor-element.elementor-element-a192d1c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;--align-content:flex-start;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-3421fbe{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#25D366;--border-color:#25D366;--border-radius:20px 20px 20px 20px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-418 .elementor-element.elementor-element-3421fbe:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-3421fbe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E6F3EC;}.elementor-418 .elementor-element.elementor-element-7706654{text-align:center;font-family:"Roboto", Sans-serif;font-size:15px;font-weight:300;}.elementor-418 .elementor-element.elementor-element-7a39758 .elementor-button{background-color:#25D366;font-family:"Roboto", Sans-serif;font-size:16px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:12px 12px 12px 12px;padding:14px 26px 14px 26px;}.elementor-418 .elementor-element.elementor-element-7a39758 .elementor-button-content-wrapper{flex-direction:row;}.elementor-418 .elementor-element.elementor-element-a76186b{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#6366F142;--border-color:#6366F142;--border-radius:20px 20px 20px 20px;box-shadow:0px 20px 60px 0px rgba(2.0000000000000013, 5.999999999999986, 23, 0.1);--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-418 .elementor-element.elementor-element-a76186b:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-a76186b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-418 .elementor-element.elementor-element-9bb2270 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-418 .elementor-element.elementor-element-9bb2270 .elementor-icon-box-title{margin-block-end:2px;}.elementor-418 .elementor-element.elementor-element-9bb2270.elementor-view-stacked .elementor-icon{background-color:#ED202B14;fill:#ED202B;color:#ED202B;}.elementor-418 .elementor-element.elementor-element-9bb2270.elementor-view-framed .elementor-icon, .elementor-418 .elementor-element.elementor-element-9bb2270.elementor-view-default .elementor-icon{fill:#ED202B14;color:#ED202B14;border-color:#ED202B14;}.elementor-418 .elementor-element.elementor-element-9bb2270.elementor-view-framed .elementor-icon{background-color:#ED202B;}.elementor-418 .elementor-element.elementor-element-9bb2270 .elementor-icon{font-size:15px;border-radius:10px 10px 10px 10px;}.elementor-418 .elementor-element.elementor-element-9bb2270 .elementor-icon-box-title, .elementor-418 .elementor-element.elementor-element-9bb2270 .elementor-icon-box-title a{font-family:"Roboto", Sans-serif;font-size:13px;font-weight:300;}.elementor-418 .elementor-element.elementor-element-9bb2270 .elementor-icon-box-description{font-size:15px;font-weight:600;}.elementor-418 .elementor-element.elementor-element-9749528 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-418 .elementor-element.elementor-element-9749528 .elementor-icon-box-title{margin-block-end:2px;}.elementor-418 .elementor-element.elementor-element-9749528.elementor-view-stacked .elementor-icon{background-color:#ED202B14;fill:#ED202B;color:#ED202B;}.elementor-418 .elementor-element.elementor-element-9749528.elementor-view-framed .elementor-icon, .elementor-418 .elementor-element.elementor-element-9749528.elementor-view-default .elementor-icon{fill:#ED202B14;color:#ED202B14;border-color:#ED202B14;}.elementor-418 .elementor-element.elementor-element-9749528.elementor-view-framed .elementor-icon{background-color:#ED202B;}.elementor-418 .elementor-element.elementor-element-9749528 .elementor-icon{font-size:15px;border-radius:10px 10px 10px 10px;}.elementor-418 .elementor-element.elementor-element-9749528 .elementor-icon-box-title, .elementor-418 .elementor-element.elementor-element-9749528 .elementor-icon-box-title a{font-family:"Roboto", Sans-serif;font-size:13px;font-weight:300;}.elementor-418 .elementor-element.elementor-element-9749528 .elementor-icon-box-description{font-size:15px;font-weight:600;}.elementor-418 .elementor-element.elementor-element-9f1a473 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-418 .elementor-element.elementor-element-9f1a473 .elementor-icon-box-title{margin-block-end:2px;}.elementor-418 .elementor-element.elementor-element-9f1a473.elementor-view-stacked .elementor-icon{background-color:#ED202B14;fill:#ED202B;color:#ED202B;}.elementor-418 .elementor-element.elementor-element-9f1a473.elementor-view-framed .elementor-icon, .elementor-418 .elementor-element.elementor-element-9f1a473.elementor-view-default .elementor-icon{fill:#ED202B14;color:#ED202B14;border-color:#ED202B14;}.elementor-418 .elementor-element.elementor-element-9f1a473.elementor-view-framed .elementor-icon{background-color:#ED202B;}.elementor-418 .elementor-element.elementor-element-9f1a473 .elementor-icon{font-size:15px;border-radius:10px 10px 10px 10px;}.elementor-418 .elementor-element.elementor-element-9f1a473 .elementor-icon-box-title, .elementor-418 .elementor-element.elementor-element-9f1a473 .elementor-icon-box-title a{font-family:"Roboto", Sans-serif;font-size:13px;font-weight:300;}.elementor-418 .elementor-element.elementor-element-9f1a473 .elementor-icon-box-description{font-size:15px;font-weight:600;}.elementor-418 .elementor-element.elementor-element-d15e4e6{--display:flex;--gap:010px 010px;--row-gap:010px;--column-gap:010px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#ED202B1F;--border-color:#ED202B1F;--border-radius:20px 20px 20px 20px;box-shadow:0px 20px 60px 0px rgba(2.0000000000000013, 5.999999999999986, 23, 0.1);--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-418 .elementor-element.elementor-element-d15e4e6:not(.elementor-motion-effects-element-type-background), .elementor-418 .elementor-element.elementor-element-d15e4e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ED202B14;}.elementor-418 .elementor-element.elementor-element-ea0047d{font-family:"Roboto", Sans-serif;font-size:15px;font-weight:300;}@media(min-width:768px){.elementor-418 .elementor-element.elementor-element-d29a886{--content-width:1280px;}.elementor-418 .elementor-element.elementor-element-c26d926{--width:65%;}.elementor-418 .elementor-element.elementor-element-a192d1c{--width:35%;}}@media(max-width:767px){.elementor-418 .elementor-element.elementor-element-0a2aa5a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-d29a886{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-418 .elementor-element.elementor-element-7d2bbe0{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-418 .elementor-element.elementor-element-7d2bbe0.e-con{--order:-99999 /* order start hack */;}.elementor-418 .elementor-element.elementor-element-2ce7ef3{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-c26d926{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-c26d926.e-con{--order:-99999 /* order start hack */;}.elementor-418 .elementor-element.elementor-element-40d69ab > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-418 .elementor-element.elementor-element-a192d1c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-418 .elementor-element.elementor-element-a192d1c.e-con{--order:-99999 /* order start hack */;}}/* Start custom CSS for html, class: .elementor-element-e33fc69 *//* =========================================================
   DDK ABOUT – FINAL (PATCHED)
   - Content beginnt höher (weniger padding-top)
   - Mobile: Bild zuerst (Reihenfolge via Flex-Order)
   ========================================================= */

.ddk-about.ddk-about--theme{
  --ddk-accent: var(--thm-base, #e31b23);
  --ddk-text: var(--thm-black, #111);
  --ddk-green: #22c55e;
}

/* Block spacing */
.ddk-about.ddk-about--theme{
  position: relative;
  /* vorher: clamp(60px, 6vw, 110px)  -> startet jetzt sichtbar früher */
  padding-top: clamp(22px, 3vw, 60px);
  padding-bottom: clamp(60px, 6vw, 110px);
}

.ddk-about.ddk-about--theme .ddk-about__row{ align-items: center; }
.ddk-about.ddk-about--theme .ddk-about__cta{ margin-top: 18px; }

/* Title/Text spacing */
.ddk-about.ddk-about--theme .content-box > .sec-title{
  margin-bottom: 18px;
  padding-bottom: 0;
}

/* Kicker/H2 starten nicht “spät” */
.ddk-about.ddk-about--theme .content-box > .sec-title .sub-title,
.ddk-about.ddk-about--theme .content-box > .sec-title h2{
  margin-top: 0;
}

.ddk-about.ddk-about--theme .content-box > .sec-title h2{ margin-bottom: 0; }
.ddk-about.ddk-about--theme .content-box > .text{ margin-top: 0; padding-top: 0; }
.ddk-about.ddk-about--theme .ddk-about__list{ margin-top: 24px; }

/* Mobile-only elements hidden by default */
.ddk-about.ddk-about--theme .ddk-about__headline--mobile{ display: none; }
.ddk-about.ddk-about--theme .ddk-about__text--mobile{ display: none; }

/* Media wrapper */
.ddk-about.ddk-about--theme .ddk-about__media{
  position: relative;
  max-width: 560px;
  margin-left: auto;
  isolation: isolate;
}

/* Big image */
.ddk-about.ddk-about--theme .ddk-about__image{
  position: relative;
  z-index: 2;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(18,18,18,.12);
  transform: translateZ(0);
}
.ddk-about.ddk-about--theme .ddk-about__image img{
  width: 100%;
  height: auto;
  display: block;
}

/* Checks list */
.ddk-about.ddk-about--theme .ddk-about__list li{
  position: relative;
  padding-left: 28px;
}
.ddk-about.ddk-about--theme .ddk-about__list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:.15em;
  color: var(--ddk-accent);
  font-weight: 700;
}
.ddk-about.ddk-about--theme .ddk-about__li-title{
  display:block;
  font-weight: 600;
  line-height: 1.25;
}

/* Shapes */
.ddk-about.ddk-about--theme .ddk-shape{
  position:absolute;
  display:block;
  pointer-events:none;
  z-index:0;
}
.ddk-about.ddk-about--theme .ddk-shape--dots{
  right:-26px;
  top:34px;
  width:140px;
  height:140px;
  opacity:.20;
  background-image: radial-gradient(rgba(227,27,35,.55) 1.6px, transparent 1.6px);
  background-size:10px 10px;
  border-radius:26px;
  animation: ddk-rotate 18s linear infinite;
}
.ddk-about.ddk-about--theme .ddk-shape--blob{
  left:-26px;
  top:22px;
  width:240px;
  height:240px;
  background: rgba(227,27,35,.10);
  border-radius:34px;
  transform: rotate(14deg);
}

/* =========================================================
   MINI CARD – Premium interaction
   ========================================================= */
.ddk-about.ddk-about--theme a.ddk-mini-card{
  position:absolute;
  left:-52px;
  bottom:-34px;
  width:315px;
  z-index:3;

  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;

  background: rgba(255,255,255,.92);
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.05);
  box-shadow: 0 22px 55px rgba(18,18,18,.16);

  transform: translateZ(0);
  animation: ddk-float 5.5s ease-in-out infinite;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.ddk-about.ddk-about--theme a.ddk-mini-card:focus{ outline:none; }
.ddk-about.ddk-about--theme a.ddk-mini-card:focus-visible{
  outline: 2px solid rgba(34,197,94,.28);
  outline-offset: 3px;
}

.ddk-about.ddk-about--theme a.ddk-mini-card:hover,
.ddk-about.ddk-about--theme a.ddk-mini-card:focus-visible{
  transform: translate3d(0,-3px,0);
  box-shadow: 0 26px 66px rgba(18,18,18,.18);
}

.ddk-about.ddk-about--theme a.ddk-mini-card:active{
  transform: translate3d(0,0,0) scale(.99);
  box-shadow: 0 16px 44px rgba(18,18,18,.14);
}

/* Card image */
.ddk-about.ddk-about--theme .ddk-mini-card__img{
  position:relative;
  height:132px;
  overflow:hidden;
}
.ddk-about.ddk-about--theme .ddk-mini-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform: scale(1.02);
}
.ddk-about.ddk-about--theme .ddk-mini-card__img:after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.22) 100%);
  opacity:.45;
}

/* Card text */
.ddk-about.ddk-about--theme .ddk-mini-card__text{
  padding: 12px 40px 14px 14px;
  line-height: 1.2;
}
.ddk-about.ddk-about--theme .ddk-mini-card__title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  margin-bottom: 6px;
  color: var(--ddk-text);

  /* 1 Zeile Desktop */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ddk-about.ddk-about--theme .ddk-mini-card__desc{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

  font-size:13px;
  opacity:.78;
  color: var(--ddk-text);
}

/* Arrow */
.ddk-about.ddk-about--theme .ddk-mini-card__arrow{
  position:absolute;
  right:12px;
  bottom:12px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color: rgba(17,17,17,.70);
  background: rgba(17,17,17,.04);
  transition: transform .18s ease, background-color .18s ease, color .18s ease;
}
.ddk-about.ddk-about--theme a.ddk-mini-card:hover .ddk-mini-card__arrow,
.ddk-about.ddk-about--theme a.ddk-mini-card:focus-visible .ddk-mini-card__arrow{
  transform: translateX(3px);
  background: rgba(17,17,17,.06);
  color: rgba(17,17,17,.82);
}
.ddk-about.ddk-about--theme a.ddk-mini-card:active .ddk-mini-card__arrow{
  transform: translateX(1px);
}

/* Status dot (green + subtle pulse) */
.ddk-about.ddk-about--theme .ddk-status-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background: var(--ddk-green);
  position:relative;
  flex:0 0 auto;
}
.ddk-about.ddk-about--theme .ddk-status-dot::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  border: 2px solid rgba(34,197,94,.20);
  opacity:.9;
  animation: ddk-pulse 2.8s ease-out infinite;
}

/* =========================================================
   Tablet (max 991) – (bleibt drin, aber wird durch Patch unten sauber überschrieben)
   ========================================================= */
@media (max-width: 991px){
  .ddk-about.ddk-about--theme .ddk-about__media{
    max-width: 991px;
    margin: 26px auto 0;
  }
  .ddk-about.ddk-about--theme a.ddk-mini-card{
    left: 10px;
    bottom: -18px;
    width: 500px;
  }
}
@media (max-width: 991px){
  .ddk-about.ddk-about--theme .ddk-about__list{
    columns: 1 !important;
    -webkit-columns: 1 !important;
  }
  .ddk-about.ddk-about--theme .ddk-about__list li{
    width: 100% !important;
    float: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* =========================================================
   PATCH: Tablet (768–991) wieder Desktop-Layout (2 Spalten)
   ========================================================= */
@media (min-width: 768px) and (max-width: 991px){

  .ddk-about.ddk-about--theme .ddk-about__row{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .ddk-about.ddk-about--theme .content-column,
  .ddk-about.ddk-about--theme .image-column{
    flex: 0 0 50%;
    max-width: 50%;
  }

  .ddk-about.ddk-about--theme .ddk-about__media{
    max-width: 560px;
    margin-left: auto;
    margin-top: 0 !important;
  }

  .ddk-about.ddk-about--theme a.ddk-mini-card{
    left: -52px;
    bottom: -34px;
    width: 315px;
  }

  .ddk-about.ddk-about--theme .ddk-about__list{
    columns: auto !important;
    -webkit-columns: auto !important;
  }
  .ddk-about.ddk-about--theme .ddk-about__list li{
    width: auto !important;
    float: none !important;
  }
}

/* =========================================================
   Mobile: Bild zuerst + Mobile-first Flow – bis 767px
   ========================================================= */
@media (max-width: 767px){

  /* Reihenfolge: Bild zuerst */
  .ddk-about.ddk-about--theme .ddk-about__row{
    display:flex;
    flex-direction:column;
  }
  .ddk-about.ddk-about--theme .image-column{ order: 1; }
  .ddk-about.ddk-about--theme .content-column{ order: 2; }

  /* Swap Headline/Text */
  .ddk-about.ddk-about--theme .ddk-about__headline--desktop{ display:none; }
  .ddk-about.ddk-about--theme .ddk-about__headline--mobile{ display:block; }

  .ddk-about.ddk-about--theme .ddk-about__text--desktop{ display:none; }
  .ddk-about.ddk-about--theme .ddk-about__text--mobile{ display:block; }

  /* CTA spacing */
  .ddk-about.ddk-about--theme .ddk-about__cta{
    margin-top: 18px;
    margin-bottom: 12px;
  }

  /* Bullets 1 Spalte */
  .ddk-about.ddk-about--theme .ddk-about__list{
    margin-top: 18px;
    columns: 1 !important;
    -webkit-columns: 1 !important;
  }
  .ddk-about.ddk-about--theme .ddk-about__list li{
    width: 100% !important;
    float: none !important;
  }

  /* Shapes weg */
  .ddk-about.ddk-about--theme .ddk-shape--dots,
  .ddk-about.ddk-about--theme .ddk-shape--blob{
    display:none;
  }

  /* Media */
  .ddk-about.ddk-about--theme .ddk-about__media{
    max-width:100%;
    margin: 0 auto 14px; /* oben kein extra Abstand, weil jetzt oben */
  }

  .ddk-about.ddk-about--theme .ddk-about__image{
    border-radius:18px;
  }
  .ddk-about.ddk-about--theme .ddk-about__image img{
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }

  /* Mini-Card: Glass Panel */
  .ddk-about.ddk-about--theme a.ddk-mini-card{
    left: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    width: min(86%, 360px);
    border-radius: 16px;

    border: 1px solid rgba(255,255,255,.42);
    background: rgba(255,255,255,.72);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    box-shadow: 0 18px 46px rgba(18,18,18,.16);
    animation: none; /* Mobile: kein Float */
  }

  .ddk-about.ddk-about--theme .ddk-mini-card__img{ display:none; }

  .ddk-about.ddk-about--theme .ddk-mini-card__text{
    padding: 13px 40px 13px 15px;
    line-height: 1.25;
  }

  /* Mobile: Titel darf umbrechen */
  .ddk-about.ddk-about--theme .ddk-mini-card__title{
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    font-size: 15px;
  }

  .ddk-about.ddk-about--theme .ddk-mini-card__desc{
    -webkit-line-clamp: 2;
    font-size: 13px;
    opacity: .82;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .ddk-about.ddk-about--theme .ddk-shape--dots{ animation:none !important; }
  .ddk-about.ddk-about--theme .ddk-status-dot::after{ animation:none !important; }
  .ddk-about.ddk-about--theme a.ddk-mini-card{ animation:none !important; }
  .ddk-about.ddk-about--theme a.ddk-mini-card,
  .ddk-about.ddk-about--theme .ddk-mini-card__arrow{
    transition:none !important;
  }
}

/* Animations */
@keyframes ddk-rotate{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}
@keyframes ddk-float{
  0%,100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(0,-8px,0); }
}
@keyframes ddk-pulse{
  0%{ transform: scale(.70); opacity:.55; }
  60%{ transform: scale(1.25); opacity:.14; }
  100%{ transform: scale(1.35); opacity:0; }
}
.ddk-hero-highlight{
  margin-top: 14px;
  padding-left: 14px;
  border-left: 3px solid var(--ddk-accent);
  font-weight: 600;
  color: rgba(0,0,0,.75);
}
/* =========================================================
   PATCH: Mobile – Bildhöhe im Hero etwas reduzieren
   ========================================================= */
@media (max-width: 767px){

  /* flacherer Zuschnitt */
  .ddk-about.ddk-about--theme .ddk-about__image img{
    aspect-ratio: 16 / 9;   /* vorher 16 / 10 */
    max-height: 240px;      /* Sicherheitsbremse für kleine Geräte */
    width: 100%;
    object-fit: cover;
  }

}
/* =========================================================
   PATCH: Mobile Abstände (Kicker näher an Titel, Checks näher an Text,
   mehr Luft VOR Button)
   ========================================================= */
@media (max-width: 767px){

  /* --- Kicker näher an den Titel --- */
  .ddk-about.ddk-about--theme .content-box .sec-title{
    margin-bottom: 10px !important; /* weniger Abstand nach Titelblock */
  }

  .ddk-about.ddk-about--theme .content-box .sec-title .sub-title{
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  .ddk-about.ddk-about--theme .content-box .sec-title .sub-title p{
    margin: 0 0 6px 0 !important;  /* Theme-Default killen */
    line-height: 1.1 !important;
  }

  .ddk-about.ddk-about--theme .content-box .sec-title h2{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* --- Beschreibung näher an Checks --- */
  .ddk-about.ddk-about--theme .content-box .ddk-about__text--mobile{
    margin-bottom: 6px !important;
  }

  .ddk-about.ddk-about--theme .content-box .ddk-about__text--mobile p{
    margin: 0 0 6px 0 !important; /* WICHTIG: das ist meist der Übeltäter */
  }

  /* Checks näher an Beschreibung + kontrollierte Abstände */
  .ddk-about.ddk-about--theme .content-box ul.ddk-about__list{
    margin-top: 12px !important;
    margin-bottom: 25px !important; /* mehr Luft NACH Checks */
  }

  /* Highlight: soll nicht extra Abstand addieren */
  .ddk-about.ddk-about--theme .content-box .ddk-hero-highlight{
    margin-top: 0 !important;
    margin-bottom: 0 !important; /* Platz kommt über CTA */
  }

  /* --- Button: mehr Luft nach oben (vor dem Button) --- */
  .ddk-about.ddk-about--theme .content-box .ddk-about__cta{
    margin-top: 22px !important;  /* mehr Abstand vom Highlight zum Button */
    margin-bottom: 12px !important;
  }
}
/* =========================================================
   PATCH: Mobile – mehr Luft NACH dem Foto
   ========================================================= */
@media (max-width: 767px){

  /* Mehr Abstand zwischen Bild (Media) und dem Kicker/Text-Block */
  .ddk-about.ddk-about--theme .ddk-about__media{
    margin-bottom: 25px !important;  /* z.B. 18–28px */
  }

}
/* =========================================================
   PATCH: Bullets – Desktop Umbruch nach Wort, Mobile kein Umbruch
   ========================================================= */
.ddk-about.ddk-about--theme .ddk-br{
  display:block; /* Desktop: Umbruch erzwingen */
  height:0;
  line-height:0;
}

@media (max-width: 767px){
  .ddk-about.ddk-about--theme .ddk-br{
    display:inline; /* Mobile: kein Umbruch */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c75954 *//* =========================================================
   DDK ULTRA TIMELINE — FINAL CLEAN
   JS steuert:
   - --lineFillPx (px)
   - Item: --conn (0..1), --connY (px)
   - Card: --hit (0..1), --bar (0..1), --ol (0..1)
   Klassen:
   - .is-focus / .is-past / .is-future
   - .ddk-justFocus (Marker-Pop beim Fokuswechsel)
   ========================================================= */

/* Wrapper */
.ddk-timeline-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:10px 0 20px;
}

/* Header */
.ddk-tl-head{
  text-align:center;
  margin:0 auto 26px;
  max-width:900px;
}
.ddk-tl-kicker{
  margin:0 0 10px;
  font-weight:800;
  letter-spacing:.22em;
  color:#ed202b;
  font-size:12px;
}
.ddk-tl-title{
  margin:0 0 10px;
  font-size:clamp(28px, 3.1vw, 42px);
  line-height:1.15;
  font-weight:900;
  color:#121417;
}
.ddk-tl-sub{
  margin:0 auto;
  color:#6b7280;
  font-size:16px;
  line-height:1.65;
}

/* Timeline base */
.ddk-ultra-timeline{
  --ac:#ed202b;
  --ac2:#b80f1a;

  --ink:#121417;
  --mut:#6b7280;
  --line:#e7e9f0;
  --card:#fff;
  --r:22px;

  position:relative;
  max-width:1150px;
  margin:0 auto;
  padding:10px 0 30px;
  isolation:isolate;
}

/* Track */
.ddk-ultra-timeline .ddk-tl-track{
  position:absolute;
  top:0; bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:10px;
  z-index:0;
  pointer-events:none;
}
.ddk-ultra-timeline .ddk-tl-track-bg,
.ddk-ultra-timeline .ddk-tl-track-fill{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:6px;
  border-radius:999px;
}
.ddk-ultra-timeline .ddk-tl-track-bg{
  top:0; bottom:0;
  background:var(--line);
  box-shadow:inset 0 0 0 1px rgba(18,20,23,.04);
}
.ddk-ultra-timeline .ddk-tl-track-fill{
  top:0;
  height:var(--lineFillPx, 0px);
  background:linear-gradient(180deg, var(--ac), var(--ac2));
  box-shadow:0 18px 60px rgba(237,32,43,.10);
}

/* Items */
.ddk-ultra-timeline .ddk-tl-item{
  position:relative;
  width:calc(50% - 58px);
  margin:56px 0;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:1;

  --conn:0;
  --connY:50%;
}
@media (min-width:1200px){
  .ddk-ultra-timeline .ddk-tl-item{ margin:64px 0; }
}
.ddk-ultra-timeline .ddk-tl-item.left{ margin-left:0; }
.ddk-ultra-timeline .ddk-tl-item.right{ margin-left:calc(50% + 58px); }

/* (Optionales altes Element: bleibt unsichtbar) */
.ddk-ultra-timeline .ddk-tl-dot{ display:none !important; }

/* Date pill */
.ddk-ultra-timeline .ddk-tl-date{
  display:inline-flex;
  align-self:flex-start;
  padding:10px 18px;
  border-radius:999px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, var(--ac), var(--ac2));
  box-shadow:0 14px 40px rgba(237,32,43,.14);
  white-space:nowrap;
  line-height:1;
}

/* Card */
.ddk-ultra-timeline .ddk-tl-card{
  --hit:0;
  --bar:0;
  --ol:0;

  position:relative;
  background:var(--card);
  border:1px solid rgba(18,20,23,.08);
  border-radius:var(--r);
  padding:24px 24px 24px 30px;
  overflow:hidden;
  isolation:isolate;

  box-shadow:0 12px 30px rgba(18,20,23,.08);
  transform:translateY(calc((1 - var(--hit)) * 4px));

  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
  will-change:transform;

  transition:
    opacity .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    filter .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}
.ddk-ultra-timeline .ddk-tl-card > *{
  position:relative;
  z-index:2;
}

/* Text */
.ddk-ultra-timeline .ddk-tl-card h3{
  margin:0 0 10px;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.2px;
  color:var(--ink);
}
.ddk-ultra-timeline .ddk-tl-card p{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:var(--mut);
}

/* Subtle tint (intensity via --hit) */
.ddk-ultra-timeline .ddk-tl-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg, rgba(237,32,43,.10), rgba(184,15,26,.05));
  opacity:calc(var(--hit) * .22);
  pointer-events:none;
}

/* Hover */
@media (hover:hover){
  .ddk-ultra-timeline .ddk-tl-card:hover{
    border-color:rgba(237,32,43,.18);
    box-shadow:0 18px 45px rgba(18,20,23,.10);
  }
}

/* Card side bar (JS injects) */
.ddk-ultra-timeline .ddk-tl-card .ddk-barHost{
  position:absolute;
  top:0; left:0;
  width:6px;
  height:100%;
  border-radius:999px;
  background:rgba(237,32,43,.10);
  z-index:3;
  overflow:hidden;
  pointer-events:none;
}
.ddk-ultra-timeline .ddk-tl-card .ddk-barFill{
  position:absolute;
  top:0; left:0;
  width:100%;
  height:calc(var(--bar, 0) * 100%);
  border-radius:999px;
  background:linear-gradient(180deg, var(--ac), var(--ac2));
  transition:height .22s linear;
}
.ddk-ultra-timeline .ddk-tl-item.right .ddk-tl-card .ddk-barHost{
  left:auto; right:0;
}

/* Outline draw (JS injects) — NO FILTER (crisp) */
.ddk-ultra-timeline .ddk-tl-card .ddk-outline{
  position:absolute;
  inset:0;
  border-radius:var(--r);
  pointer-events:none;
  z-index:4;

  opacity:calc(.08 + var(--ol) * .92);
  box-shadow:0 0 0 2px rgba(237,32,43, calc(.18 + var(--ol) * .35));

  filter:none;

  clip-path:inset(0 calc((1 - var(--ol)) * 100%) 0 0 round var(--r));
  transition:clip-path .18s linear, opacity .18s linear, box-shadow .18s linear;
}
.ddk-ultra-timeline .ddk-tl-item.right .ddk-tl-card .ddk-outline{
  clip-path:inset(0 0 0 calc((1 - var(--ol)) * 100%) round var(--r));
}

/* Connector (center -> card) */
.ddk-ultra-timeline .ddk-tl-item::after{
  content:"";
  position:absolute;
  top:var(--connY, 50%);
  transform:translateY(-50%) scaleX(var(--conn));
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--ac), var(--ac2));
  opacity:calc(.10 + var(--conn) * .90);
  transition:transform .20s linear, opacity .20s linear;
  pointer-events:none;
  z-index:2;
}
.ddk-ultra-timeline .ddk-tl-item.left::after{
  right:-58px;
  width:58px;
  transform-origin:right center;
}
.ddk-ultra-timeline .ddk-tl-item.right::after{
  left:-58px;
  width:58px;
  transform-origin:left center;
}

/* Spotlight / Depth stack */
.ddk-ultra-timeline .ddk-tl-item.is-focus{ z-index:4; }

.ddk-ultra-timeline .ddk-tl-item.is-focus .ddk-tl-card{
  opacity:1;
  transform:translateY(0);
  border-color:rgba(237,32,43,.22);
  box-shadow:
    0 16px 44px rgba(18,20,23,.14),
    0 6px 18px rgba(18,20,23,.08);
}
.ddk-ultra-timeline .ddk-tl-item.is-focus .ddk-tl-card::after{
  opacity:calc(var(--hit) * .26);
}

.ddk-ultra-timeline .ddk-tl-item.is-past .ddk-tl-card{
  opacity:.72;
  transform:translateY(14px);
  filter:saturate(.92);
  box-shadow:0 8px 22px rgba(18,20,23,.07);
}
.ddk-ultra-timeline .ddk-tl-item.is-future .ddk-tl-card{
  opacity:.60;
  transform:translateY(22px);
  filter:saturate(.88);
  box-shadow:0 6px 18px rgba(18,20,23,.06);
}

/* Typo focus (subtle) */
.ddk-ultra-timeline .ddk-tl-item.is-focus .ddk-tl-card h3{
  color:#0f1216;
  letter-spacing:-.25px;
}
.ddk-ultra-timeline .ddk-tl-item.is-focus .ddk-tl-card p{
  color:#555d6b;
}
.ddk-ultra-timeline .ddk-tl-item.is-past .ddk-tl-card p,
.ddk-ultra-timeline .ddk-tl-item.is-future .ddk-tl-card p{
  color:#7a8190;
}

/* Marker (Spine Dot) */
.ddk-ultra-timeline .ddk-tl-marker{
  position:absolute;
  top:var(--connY, 50%);
  transform:translateY(-50%);
  width:12px;
  height:12px;
  border-radius:50%;
  background:#cfd3dd;
  box-shadow:inset 0 0 0 2px rgba(18,20,23,.06);
  z-index:3;
  opacity:.95;
  transition:background .22s ease, transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}
.ddk-ultra-timeline .ddk-tl-item.left  .ddk-tl-marker{ right:-64px; }
.ddk-ultra-timeline .ddk-tl-item.right .ddk-tl-marker{ left:-64px; }

.ddk-ultra-timeline .ddk-tl-item.is-past .ddk-tl-marker{
  background:var(--ac);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.55),
    0 10px 24px rgba(237,32,43,.14);
}
.ddk-ultra-timeline .ddk-tl-item.is-future .ddk-tl-marker{
  opacity:.55;
}
.ddk-ultra-timeline .ddk-tl-item.is-focus .ddk-tl-marker{
  background:var(--ac);
  transform:translateY(-50%) scale(1.25);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.60),
    0 0 0 7px rgba(237,32,43,.10),
    0 14px 34px rgba(237,32,43,.14);
}

/* Marker Pop (only on focus change) */
@keyframes ddkMarkerPop{
  0%   { transform:translateY(-50%) scale(1); }
  45%  { transform:translateY(-50%) scale(1.35); }
  100% { transform:translateY(-50%) scale(1.25); }
}
.ddk-ultra-timeline .ddk-tl-item.ddk-justFocus .ddk-tl-marker{
  animation:ddkMarkerPop .38s cubic-bezier(.22,1,.36,1) both;
}

/* Responsive */
@media (max-width:900px){
  .ddk-ultra-timeline .ddk-tl-track{
    left:18px;
    transform:none;
  }
  .ddk-ultra-timeline .ddk-tl-item,
  .ddk-ultra-timeline .ddk-tl-item.right{
    width:calc(100% - 62px);
    margin-left:62px;
    margin:44px 0;
  }
  .ddk-ultra-timeline .ddk-tl-item.left::after,
  .ddk-ultra-timeline .ddk-tl-item.right::after{
    left:-44px;
    right:auto;
    width:44px;
    transform-origin:left center;
  }
  .ddk-ultra-timeline .ddk-tl-marker{
    left:-44px !important;
    right:auto !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .ddk-ultra-timeline .ddk-tl-card,
  .ddk-ultra-timeline .ddk-tl-item::after,
  .ddk-ultra-timeline .ddk-tl-card .ddk-outline{
    transition:none !important;
    animation:none !important;
  }
}
/* Timeline-Kicker wie Startseite */
.ddk-timeline-wrap .ddk-tl-kicker,
.ddk-timeline-wrap .ddk-tl-kicker p{
  color: rgb(237, 32, 43) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.96px !important;
  text-transform: uppercase !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  text-align: center;
  margin: 0 0 16px 0;
}
/* =========================================================
   DDK TIMELINE — MOBILE PATCH (Option A)
   Ziel:
   - Desktop bleibt 100% wie gehabt
   - Mobile: alle Items verhalten sich konsistent (kein "right"-Look mehr)
   - Fix: margin-left wird nicht mehr überschrieben
   - Mehr Luft zwischen Spine/Line und Cards
   ========================================================= */

@media (max-width:900px){

  /* 1) Mehr Luft rechts von der Spine (damit es nicht "klebt") */
  .ddk-ultra-timeline .ddk-tl-track{
    left:18px;         /* wie gehabt */
    transform:none;    /* wie gehabt */
  }

  /* Wichtig: NICHT margin-left und margin in einer Regel mischen */
  .ddk-ultra-timeline .ddk-tl-item,
  .ddk-ultra-timeline .ddk-tl-item.right{
    width:calc(100% - 78px) !important;  /* vorher 62px -> mehr Luft */
    margin:44px 0 !important;            /* vertikaler Abstand */
    margin-left:78px !important;         /* sauber gesetzt, wird nicht überschrieben */
  }

  /* 2) Connector-Linie & Marker: etwas länger, damit optisch sauberer */
  .ddk-ultra-timeline .ddk-tl-item.left::after,
  .ddk-ultra-timeline .ddk-tl-item.right::after{
    left:-56px !important;               /* vorher -44px -> etwas mehr "Ausleger" */
    right:auto !important;
    width:56px !important;               /* vorher 44px */
    transform-origin:left center !important;
  }

  .ddk-ultra-timeline .ddk-tl-marker{
    left:-56px !important;               /* Marker sitzt exakt auf Spine/Connector */
    right:auto !important;
  }

  /* 3) Mobile-Konsistenz: "right" darf NICHT anders wirken
        -> Side-Bar immer links, Outline immer von links zeichnen */
  .ddk-ultra-timeline .ddk-tl-item.right .ddk-tl-card .ddk-barHost{
    left:0 !important;
    right:auto !important;
  }

  .ddk-ultra-timeline .ddk-tl-item.right .ddk-tl-card .ddk-outline{
    /* gleiche Richtung wie links: von links nach rechts "zeichnen" */
    clip-path:inset(0 calc((1 - var(--ol)) * 100%) 0 0 round var(--r)) !important;
  }

  /* Optional: Date-Pill optisch etwas ruhiger positioniert (bleibt links) */
  .ddk-ultra-timeline .ddk-tl-date{
    align-self:flex-start !important;
  }

  /* 4) Extra Bottom-Padding, damit Floating Buttons nichts überdecken */
  .ddk-ultra-timeline{
    padding-bottom:60px !important;
  }
}
/* --- DDK TIMELINE — Mobile overflow fix (rechts nicht abschneiden) --- */
@media (max-width:900px){

  /* 1) Root bekommt rechts Luft (verhindert Abschneiden) */
  .ddk-timeline-wrap{
    padding-right:14px !important;
  }

  /* 2) Timeline selbst ebenfalls etwas Luft (falls Theme Wrapper anders ist) */
  .ddk-ultra-timeline{
    padding-right:14px !important;
  }

  /* 3) Optional: letzte Sicherheitsleine gegen horizontal scroll */
  .ddk-ultra-timeline,
  .ddk-ultra-timeline *{
    max-width:100%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-47bd214 *//* =========================
   DDK Reviews Google – FINAL
   ========================= */

/* Section spacing (Theme Rhythmus) */
.ddk-sec-reviews-google{ padding:90px 0; }
@media (max-width:991px){ .ddk-sec-reviews-google{ padding:70px 0; } }
@media (max-width:767px){ .ddk-sec-reviews-google{ padding:55px 0; } }

/* Reset nur innerhalb der Sektion */
.ddk-sec-reviews-google p{ margin:0; }

/* -------------------------
   Title (Premium + enger)
   ------------------------- */
.ddk-sec-reviews-google .sec-title.centered{
  text-align:center;
  margin-bottom:30px; /* enger: Title + Summary zusammengehörig */
  padding-bottom:0;
}
.ddk-sec-reviews-google .sec-title .sub-title{ margin:0; padding:0; }
.ddk-sec-reviews-google .sec-title .sub-title p{ margin:0 0 16px 0; }

.ddk-sec-reviews-google .sec-title h2{
  margin:0 0 8px 0;
  font-weight:700;
  letter-spacing:-0.01em;
  font-size:clamp(28px, 3.1vw, 44px);
  line-height:1.12;
}

.ddk-sec-reviews-google .sec-title .text{
  max-width:760px;
  margin:4px auto 0;
  line-height:1.6;
  opacity:1;
  color:rgba(17,17,17,.72);
}

/* Stars */
.ddk-sec-reviews-google .ddk-stars{ display:flex; gap:3px; line-height:1; }
.ddk-sec-reviews-google .ddk-stars span{ color:var(--thm-primary); font-size:16px; }
.ddk-sec-reviews-google .ddk-stars--sm span{ font-size:15px; }

/* -------------------------
   Summary Bar
   ------------------------- */
.ddk-sec-reviews-google .ddk-gsum{
  margin:0 auto 26px;
  max-width:920px;
  padding:18px 20px;
  background:#fff;
  border:1px solid rgba(var(--thm-base-rgb), .08);
  border-radius:14px;
  display:flex;
  gap:18px;
  justify-content:space-between;
  align-items:center;
}
.ddk-sec-reviews-google .ddk-gsum__left{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ddk-sec-reviews-google .ddk-gsum__score{ display:flex; align-items:baseline; gap:6px; font-family:var(--thm-font-2); color:var(--thm-black); }
.ddk-sec-reviews-google .ddk-gsum__num{ font-size:28px; font-weight:700; line-height:1; }
.ddk-sec-reviews-google .ddk-gsum__outof{ font-size:14px; color:var(--thm-gray); }
.ddk-sec-reviews-google .ddk-gsum__based{ color:var(--thm-gray); font-size:14px; }
.ddk-sec-reviews-google .ddk-gsum__right{ display:flex; align-items:center; gap:12px; }
.ddk-sec-reviews-google .ddk-googlemark{ display:inline-flex; align-items:center; justify-content:center; transform:translateY(1px); opacity:.95; }
.ddk-sec-reviews-google .ddk-gsum__link{
  font-family:var(--thm-font);
  color:var(--thm-black);
  text-decoration:none;
  border-bottom:1px solid rgba(var(--thm-base-rgb), .18);
  transition:all .25s ease;
}
.ddk-sec-reviews-google .ddk-gsum__link:hover{ border-bottom-color:rgba(var(--thm-base-rgb), .45); }

/* Grid */
.ddk-sec-reviews-google .ddk-ggrid{ display:flex; gap:24px; flex-wrap:wrap; }

/* -------------------------
   Cards (premium ambient)
   ------------------------- */
.ddk-sec-reviews-google .ddk-gcard{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:22px 22px 18px;
  flex:1 1 calc(33.333% - 16px);
  min-width:260px;
  display:flex;
  flex-direction:column;

  box-shadow:
    0 10px 30px rgba(17,17,17,.06),
    0 2px 10px rgba(17,17,17,.03);

  transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease;
}
@media (hover:hover){
  .ddk-sec-reviews-google .ddk-gcard:hover{
    transform:translateY(-2px);
    box-shadow:
      0 14px 44px rgba(17,17,17,.08),
      0 4px 14px rgba(17,17,17,.04);
    border-color:rgba(0,0,0,.08);
  }
}

/* Card header */
.ddk-sec-reviews-google .ddk-gcard__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:10px; }
.ddk-sec-reviews-google .ddk-gcard__who{ display:flex; gap:12px; align-items:center; }
.ddk-sec-reviews-google .ddk-gcard__avatar{
  width:34px; height:34px; border-radius:999px;
  background:rgba(227,27,35,.06);
  color:var(--thm-black);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--thm-font-2); font-weight:700;
}
.ddk-sec-reviews-google .ddk-gcard__name{ font-family:var(--thm-font-2); color:var(--thm-black); font-weight:700; font-size:16px; line-height:1.2; }
.ddk-sec-reviews-google .ddk-gcard__nameLink{ color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:all .2s ease; }
.ddk-sec-reviews-google .ddk-gcard__nameLink:hover{ border-bottom-color:rgba(var(--thm-base-rgb), .35); }
.ddk-sec-reviews-google .ddk-gcard__date{ font-size:13px; color:var(--thm-gray); }

.ddk-sec-reviews-google .ddk-gcard__badge{
  width:28px; height:28px; border-radius:999px;
  background:transparent;
  display:flex; align-items:center; justify-content:center;
}

/* Review text (dunkler + smooth toggle) */
.ddk-sec-reviews-google .ddk-gcard .ddk-stars{ margin:6px 0 12px; }

.ddk-sec-reviews-google .ddk-gcard__text{
  color:rgba(17,17,17,.78);
  line-height:1.65;
  font-size:15px;
  margin-bottom:10px;

  overflow:hidden;
  max-height:6.6em;               /* ~4 Zeilen */
  transition:max-height .35s ease;
  will-change:max-height;
}
.ddk-sec-reviews-google .ddk-gcard__text.is-open{
  overflow:hidden; /* max-height wird via JS gesetzt */
}

/* Actions */
.ddk-sec-reviews-google .ddk-gcard__actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.ddk-sec-reviews-google .ddk-gcard__more{
  background:transparent;
  border:0;
  padding:8px 0 0;
  cursor:pointer;
  font-family:var(--thm-font);
  color:var(--thm-black);
  text-align:left;
  opacity:.82;
  transition:opacity .2s ease, color .2s ease;
}
.ddk-sec-reviews-google .ddk-gcard__more:hover{ opacity:1; color:var(--thm-base); }
.ddk-sec-reviews-google .ddk-gcard__more::after{ content:" →"; opacity:.75; }

.ddk-sec-reviews-google .ddk-gcard__openLink{
  padding-top:8px;
  font-size:12px;
  line-height:1;
  color:var(--thm-gray);
  opacity:.75;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:all .2s ease;
  white-space:nowrap;
}
.ddk-sec-reviews-google .ddk-gcard__openLink::before{ content:"↗"; font-size:12px; opacity:.75; }
.ddk-sec-reviews-google .ddk-gcard__openLink:hover{ opacity:1; color:var(--thm-base); }

/* Responsive */
@media (max-width:991px){
  .ddk-sec-reviews-google .ddk-gsum{ flex-direction:column; align-items:flex-start; }
  .ddk-sec-reviews-google .ddk-gcard{ flex:1 1 calc(50% - 12px); }
}
@media (max-width:767px){
  .ddk-sec-reviews-google .ddk-ggrid{ gap:16px; }
  .ddk-sec-reviews-google .ddk-gcard{ flex:1 1 100%; }
}

/* -------------------------
   Mobile Deck (Stacked Cards)
   ------------------------- */
.ddk-sec-reviews-google .ddk-deck-nav{ display:none; }

@media (max-width:767px){
  .ddk-sec-reviews-google .ddk-ggrid{
    position:relative;
    display:block;
    max-width:420px;
    margin:0 auto;
    padding-bottom:14px;
  }

  .ddk-sec-reviews-google .ddk-gcard{
    position:absolute;
    left:0; right:0;
    top:0;
    width:100%;
    opacity:0;
    transform:translateY(18px) scale(.98);
    pointer-events:none;
    transition:
      transform .42s cubic-bezier(.2,.9,.2,1),
      opacity  .42s ease,
      filter   .42s ease;
    will-change:transform, opacity;
  }

  .ddk-sec-reviews-google .ddk-gcard.is-active{
    position:relative;
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
    z-index:3;
    will-change:transform;
    transform:translateZ(0);
    backface-visibility:hidden;
  }

  .ddk-sec-reviews-google .ddk-gcard.is-next{
    opacity:1;
    transform:translateY(14px) scale(.98);
    z-index:2;
    pointer-events:none;
    filter:blur(.2px);
    box-shadow:0 8px 18px rgba(0,0,0,.08);
  }

  .ddk-sec-reviews-google .ddk-gcard.is-next2{
    opacity:1;
    transform:translateY(26px) scale(.965);
    z-index:1;
    pointer-events:none;
    filter:blur(.2px);
    box-shadow:0 6px 14px rgba(0,0,0,.06);
  }

  .ddk-sec-reviews-google .ddk-ggrid.is-anim-next .ddk-gcard.is-active{
    transform:translateX(-10px) translateY(-4px) scale(.995);
    opacity:0;
  }
  .ddk-sec-reviews-google .ddk-ggrid.is-anim-prev .ddk-gcard.is-active{
    transform:translateX(10px) translateY(-4px) scale(.995);
    opacity:0;
  }
  .ddk-sec-reviews-google .ddk-ggrid.is-anim-next .ddk-gcard.is-next,
  .ddk-sec-reviews-google .ddk-ggrid.is-anim-prev .ddk-gcard.is-next{
    transform:translateY(0) scale(1);
  }

  .ddk-sec-reviews-google .ddk-deck-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:14px;
    user-select:none;
  }

  .ddk-sec-reviews-google .ddk-deck-btn{
    width:42px; height:42px;
    border-radius:999px;
    border:1px solid rgba(var(--thm-base-rgb), .10);
    background:#fff;
    box-shadow:0 10px 22px rgba(0,0,0,.06);
    color:var(--thm-black);
    font-size:20px;
    line-height:1;
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .ddk-sec-reviews-google .ddk-deck-btn:active{
    transform:scale(.94);
    box-shadow:0 6px 14px rgba(0,0,0,.12);
  }

  .ddk-sec-reviews-google .ddk-deck-ind{
    font-size:13px;
    color:var(--thm-gray);
    min-width:70px;
    text-align:center;
  }
}

/* -------------------------
   Trustbar (ultra-clean)
   ------------------------- */
.ddk-sec-reviews-google .ddk-trustbar{
  margin:18px auto 16px;
  max-width:920px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
}

.ddk-sec-reviews-google .ddk-trustbar__item{
  background:#fff;
  border:1px solid rgba(227,27,35,.04);
  border-radius:999px;
  padding:6px 10px;
  display:flex;
  align-items:center;
  gap:10px;
  box-shadow:0 6px 14px rgba(0,0,0,.02);
}

.ddk-sec-reviews-google .ddk-trustbar__icon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(227,27,35,.035);
  font-size:12px;
}

.ddk-sec-reviews-google .ddk-trustbar__text{
  font-size:12px;
  font-weight:500;
  color:rgba(17,17,17,.64);
  line-height:1.15;
}

/* -------------------------
   CTA (clean + black hover)
   ------------------------- */
.ddk-sec-reviews-google .ddk-reviews-cta{
  margin-top:30px;
  text-align:center;
}

.ddk-sec-reviews-google .ddk-reviews-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:50px;
  padding:0 28px;
  border-radius:999px;

  background:#fff;
  color:var(--thm-black);
  text-decoration:none;

  font-family:var(--thm-font-2);
  font-weight:650;
  font-size:15px;
  letter-spacing:-0.01em;

  border:1px solid rgba(17,17,17,.18);
  box-shadow:0 12px 30px rgba(17,17,17,.10);

  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.ddk-sec-reviews-google .ddk-reviews-cta__btn:hover{
  transform:translateY(-1px);
  background:#111;
  color:#fff;
  border-color:rgba(17,17,17,.55);
  box-shadow:0 18px 44px rgba(17,17,17,.18);
}

.ddk-sec-reviews-google .ddk-reviews-cta__btn:active{
  transform:translateY(0);
  background:#0b0b0b;
  color:#fff;
  box-shadow:0 12px 30px rgba(17,17,17,.14);
}

.ddk-sec-reviews-google .ddk-reviews-cta__btn:focus{ outline:none; }
.ddk-sec-reviews-google .ddk-reviews-cta__btn:focus-visible{
  box-shadow:0 0 0 4px rgba(17,17,17,.18), 0 12px 30px rgba(17,17,17,.10);
  border-color:rgba(17,17,17,.55);
}

.ddk-sec-reviews-google .ddk-reviews-cta__hint{
  margin-top:8px;
  font-size:12px;
  font-weight:400;
  color:rgba(17,17,17,.55);
}

@media (max-width:767px){
  .ddk-sec-reviews-google .ddk-reviews-cta__btn{
    width:100%;
    max-width:420px;
  }
}
/* =========================
   DDK Reviews Google – Mobile Patch
   (nur max-width:767px)
   ========================= */
@media (max-width:767px){

  /* 1) Summary kompakter: wirkt wie Info-Badge */
  .ddk-sec-reviews-google .ddk-gsum{
    padding:12px 14px;            /* weniger vertikal */
    gap:10px;
    margin:0 auto 16px;           /* enger zum Deck */
    border-radius:12px;
  }

  /* links kompakter */
  .ddk-sec-reviews-google .ddk-gsum__left{
    gap:10px;
    flex-wrap:wrap;
  }

  /* Score etwas kleiner */
  .ddk-sec-reviews-google .ddk-gsum__num{ font-size:24px; }
  .ddk-sec-reviews-google .ddk-gsum__outof{ font-size:12px; }

  /* Sterne + "Basierend auf ..." in eine Zeile */
  .ddk-sec-reviews-google .ddk-gsum__left .ddk-stars{
    order:3;
    display:inline-flex;
    align-items:center;
    transform:translateY(1px);
  }
  .ddk-sec-reviews-google .ddk-gsum__based{
    order:4;
    font-size:12px;
    white-space:nowrap;
  }

  /* rechts: Google-Link kleiner, unter dem Icon */
  .ddk-sec-reviews-google .ddk-gsum__right{
    gap:6px;
    align-items:flex-start;
  }
  .ddk-sec-reviews-google .ddk-googlemark svg{
    width:26px; height:26px;
  }
  .ddk-sec-reviews-google .ddk-gsum__link{
    font-size:12px;
    line-height:1.2;
    opacity:.85;
    border-bottom-color:rgba(var(--thm-base-rgb), .14);
    display:block;
    margin-top:2px;
  }

  /* Optional: wenn es auf sehr kleinen Geräten zu eng wird */
  @media (max-width:380px){
    .ddk-sec-reviews-google .ddk-gsum__based{ white-space:normal; }
  }


  /* 3) Deck-Navigation näher an die Karten */
  .ddk-sec-reviews-google .ddk-ggrid{
    padding-bottom:8px;           /* weniger "Boden" unterm Deck */
  }
  .ddk-sec-reviews-google .ddk-deck-nav{
    margin-top:8px;              /* war 14px */
    gap:10px;
  }
  .ddk-sec-reviews-google .ddk-deck-btn{
    width:40px; height:40px;     /* minimal kompakter */
  }
  .ddk-sec-reviews-google .ddk-deck-ind{
    font-size:12px;
    min-width:62px;
  }


  /* 4) Trustbar auf Mobile: default ausblenden (cleaner) */
  .ddk-sec-reviews-google .ddk-trustbar{
    display:none;
  }

  /* CTA etwas näher (weil Trustbar weg ist) */
  .ddk-sec-reviews-google .ddk-reviews-cta{
    margin-top:18px;             /* war 30px */
  }
}
@media (max-width:767px){

  /* Mehr Luft unter dem Deck, damit peek-cards + Schatten nicht in die Nav rutschen */
  .ddk-sec-reviews-google .ddk-ggrid{
    padding-bottom:34px;   /* war 14px / 8px – jetzt genug Reserve */
    margin-bottom:6px;
  }

  /* Nav etwas weiter weg von den Karten */
  .ddk-sec-reviews-google .ddk-deck-nav{
    margin-top:14px;       /* war 14px (oder in deinem Patch 8px) – hier bewusst mehr Luft */
    position:relative;
    z-index:5;             /* sicher über Schatten */
  }

  /* Optional: wenn es immer noch eng wirkt → aktive Karte minimal „anheben“ */
  /* .ddk-sec-reviews-google .ddk-gcard.is-active{ margin-bottom:6px; } */
}
@media (max-width:767px){

  /* Summary-Box auf Mobile weg (sonst redundant) */
  .ddk-sec-reviews-google .ddk-gsum{ display:none; }

  /* Mobile Google Chip */
  .ddk-sec-reviews-google .ddk-gchip{
    max-width:420px;
    margin:6px auto 16px;          /* direkt unter Subline */
    padding:10px 14px;
    display:flex;
    align-items:center;
    gap:10px;

    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    border-radius:999px;

    text-decoration:none;
    color:var(--thm-black);

    box-shadow:0 8px 18px rgba(17,17,17,.05); /* sehr dezent */
  }

  .ddk-sec-reviews-google .ddk-gchip__g{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    opacity:.95;
    transform:translateY(1px);
    flex:0 0 auto;
  }

  .ddk-sec-reviews-google .ddk-gchip__stars{
    display:inline-flex;
    gap:2px;
    flex:0 0 auto;
  }
  .ddk-sec-reviews-google .ddk-gchip__stars span{ font-size:14px; }

  .ddk-sec-reviews-google .ddk-gchip__txt{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-width:0;
    flex:1 1 auto;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .ddk-sec-reviews-google .ddk-gchip__score{
    font-family:var(--thm-font-2);
    font-weight:700;
    letter-spacing:-0.01em;
  }
  .ddk-sec-reviews-google .ddk-gchip__sep{
    opacity:.45;
  }
  .ddk-sec-reviews-google .ddk-gchip__count{
    font-size:13px;
    color:rgba(17,17,17,.70);
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .ddk-sec-reviews-google .ddk-gchip__chev{
    flex:0 0 auto;
    font-size:18px;
    opacity:.55;
    transform:translateY(-1px);
  }

  /* Tap feel */
  .ddk-sec-reviews-google .ddk-gchip:active{
    transform:scale(.99);
  }
}
/* Google Chip: default AUS (Desktop/Tablet) */
.ddk-sec-reviews-google .ddk-gchip{ display:none; }

@media (max-width:767px){
  .ddk-sec-reviews-google .ddk-gchip{ display:flex; }
}
@media (max-width:767px){

  /* noch badge-artiger */
  .ddk-sec-reviews-google .ddk-gchip{
    padding:8px 12px;        /* war 10px 14px */
    gap:8px;                 /* war 10px */
    box-shadow:0 6px 14px rgba(17,17,17,.04); /* noch ruhiger */
  }

  .ddk-sec-reviews-google .ddk-gchip__count{
    font-size:13px;
    color:rgba(17,17,17,.68);
  }

  .ddk-sec-reviews-google .ddk-gchip__chev{
    font-size:17px;
    opacity:.5;
  }
}
@media (max-width:767px){

  /* Mehr Luft NACH dem Slider (Nav) Richtung CTA */
  .ddk-sec-reviews-google .ddk-deck-nav{
    margin-bottom:40px;  /* neu: Abstand nach unten */
  }

  /* Falls du Trustbar auf Mobile ausgeblendet hast, CTA trotzdem nicht zu nah */
  .ddk-sec-reviews-google .ddk-reviews-cta{
    margin-top:26px;     /* war 18px/30px – hier etwas mehr Luft */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-86040e8 *//* ===== DDK Reviews: Section Spacing wie Theme ===== */
.ddk-sec-reviews-google{
  padding: 90px 0;
}
@media (max-width: 991px){
  .ddk-sec-reviews-google{ padding: 70px 0; }
}
@media (max-width: 767px){
  .ddk-sec-reviews-google{ padding: 55px 0; }
}

/* ===== Title Spacing fix (Kicker + H2 + Text enger & zentriert) ===== */
.ddk-sec-reviews-google .sec-title.centered{
  text-align: center;
  margin-bottom: 34px;
}
.ddk-sec-reviews-google .sec-title .sub-title{ margin-bottom: 10px; }
.ddk-sec-reviews-google .sec-title h2{ margin-bottom: 12px; }
.ddk-sec-reviews-google .sec-title .text{
  max-width: 760px;
  margin: 0 auto;
}

/* ===== Typo Guardrail: erzwinge Theme-Fonts im Block ===== */
.ddk-sec-reviews-google,
.ddk-sec-reviews-google p,
.ddk-sec-reviews-google a,
.ddk-sec-reviews-google button{
  font-family: var(--thm-font);
}
.ddk-sec-reviews-google h2,
.ddk-sec-reviews-google .ddk-gsum__num,
.ddk-sec-reviews-google .ddk-gcard__name{
  font-family: var(--thm-font-2);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fc3b6f8 *//* ==========================================================
   DDK Principles – CLEAN FINAL (Desktop Grid / Mobile Swipe)
   Scope: .ddk-principles.ddk-principles--theme
   Fixes:
   - NO clamp/ellipsis (theme-proof)
   - Only ONE dots/counter (HTML container, JS fills)
========================================================== */

.ddk-principles.ddk-principles--theme{
  --ddk-accent: var(--thm-base);
  --ddk-accent-rgb: var(--thm-base-rgb);
  --ddk-radius: 22px;
  --ddk-gap: 14px;

  position: relative;
  padding: 90px 0;
}

/* Section spacing */
@media (max-width: 991px){
  .ddk-principles.ddk-principles--theme{ padding: 70px 0; }
}

/* ----------------------------------------------------------
   Title / Intro
---------------------------------------------------------- */
.ddk-principles.ddk-principles--theme .ddk-principles__title{
  text-align: center;
}

.ddk-principles.ddk-principles--theme .sec-title h2,
.ddk-principles.ddk-principles--theme .sec-title h2.elementor-heading-title{
  color: var(--thm-white, #fff) !important;
}

.ddk-principles.ddk-principles--theme .ddk-principles__intro{
  max-width: 780px;
  margin: 18px auto 0; /* mehr Luft unter H2 */
  text-align: center;  /* subtitle immer zentriert */
}

/* hard reset vs theme */
.ddk-principles.ddk-principles--theme .ddk-principles__intro,
.ddk-principles.ddk-principles--theme .ddk-principles__intro p{
  position: static !important;
  transform: none !important;
  filter: none !important;
  letter-spacing: normal !important;
  white-space: normal !important;
}

.ddk-principles.ddk-principles--theme .ddk-principles__intro p{
  margin: 0;
  line-height: 1.65;
  color: rgba(255,255,255,.86);
}

/* Intro switch */
.ddk-principles.ddk-principles--theme .ddk-intro--mobile{ display:none; }
.ddk-principles.ddk-principles--theme .ddk-intro--desktop{ display:block; }

/* ----------------------------------------------------------
   Grid (Desktop)
---------------------------------------------------------- */
.ddk-principles.ddk-principles--theme .ddk-principles__grid{
  margin-top: 34px;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ddk-gap);
}

@media (min-width: 768px){
  .ddk-principles.ddk-principles--theme .ddk-principles__grid{
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    grid-auto-rows: 1fr;
    align-items: stretch;
  }
}

@media (min-width: 992px){
  .ddk-principles.ddk-principles--theme .ddk-principles__grid{
    gap: 20px 24px;
  }
}

/* ----------------------------------------------------------
   Card (Base)
---------------------------------------------------------- */
.ddk-principles.ddk-principles--theme .ddk-principle{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--ddk-radius);
  padding: 22px 22px 20px;

  background:
    radial-gradient(900px 220px at 12% 0%,
      rgba(0,0,0,.035),
      rgba(0,0,0,0) 55%
    ),
    #fff;

  border: 1px solid rgba(15,23,42,.10);

  box-shadow:
    0 18px 45px rgba(0,0,0,.22),
    0 2px 0 rgba(255,255,255,.25) inset;

  transform: translateZ(0);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

/* roof texture */
.ddk-principles.ddk-principles--theme .ddk-principle::before{
  content:"";
  position:absolute;
  top:-10px;
  right:-55px;
  width:240px;
  height:130px;
  pointer-events:none;
  z-index:0;

  background: rgba(248,246,241,.95);
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 0% 100%);
  opacity: 1;
}

/* subtle highlight edge */
.ddk-principles.ddk-principles--theme .ddk-principle::after{
  content:"";
  position:absolute;
  top: 24px;
  right:-60px;
  width:260px;
  height:2px;
  background: rgba(0,0,0,.06);
  transform: rotate(-12deg);
  pointer-events:none;
  z-index:0;
}

/* content above shapes */
.ddk-principles.ddk-principles--theme .ddk-principle > *{
  position: relative;
  z-index: 1;
}

/* hover (desktop feel) */
.ddk-principles.ddk-principles--theme .ddk-principle:hover{
  transform: translateY(-6px);
  border-color: rgba(var(--ddk-accent-rgb), .22);
  box-shadow:
    0 26px 70px rgba(0,0,0,.32),
    0 2px 0 rgba(255,255,255,.25) inset;
}

/* icon */
.ddk-principles.ddk-principles--theme .ddk-principle__icon{
  width: 56px;
  height: 56px;
  border-radius: 16px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  position: relative;
  overflow: hidden;

  background: #f8fafc;
  outline: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);

  color: var(--ddk-accent);
  margin-bottom: 12px;

  transition: transform .22s ease, box-shadow .22s ease, outline-color .22s ease, color .22s ease;
}

/* fill layer (hover) */
.ddk-principles.ddk-principles--theme .ddk-principle__icon::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--ddk-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
  z-index: 0;
}

.ddk-principles.ddk-principles--theme .ddk-principle__icon svg{
  width: 28px;
  height: 28px;
  display: block;
  position: relative;
  z-index: 1;
}

.ddk-principles.ddk-principles--theme .ddk-principle__icon svg *{
  vector-effect: non-scaling-stroke;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ddk-principles.ddk-principles--theme .ddk-principle:hover .ddk-principle__icon{
  transform: translateY(-1px);
  color: #fff;
  outline-color: rgba(var(--ddk-accent-rgb), .35);
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}
.ddk-principles.ddk-principles--theme .ddk-principle:hover .ddk-principle__icon::before{
  transform: scaleX(1);
}

/* text */
.ddk-principles.ddk-principles--theme .ddk-principle__title{
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: #0f172a;
}

.ddk-principles.ddk-principles--theme .ddk-principle__text{
  margin: 0;
  line-height: 1.65;
  color: rgba(15,23,42,.78);

  /* theme-proof: never clamp/ellipsis */
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
}

/* ----------------------------------------------------------
   Mobile helpers
---------------------------------------------------------- */
.ddk-mobile-only{ display:none; }

/* ----------------------------------------------------------
   Swipe UI (styles)
---------------------------------------------------------- */
.ddk-swipe-ui{
  margin-top: 10px;
  text-align: center;
}
.ddk-swipe-dots{
  display:flex;
  justify-content:center;
  gap: 7px;
  padding-bottom: 4px;
}
.ddk-swipe-dot{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.28);
  transition: transform .2s ease, background .2s ease;
  border: 0;
  padding: 0;
}
.ddk-swipe-dot.is-active{
  background: rgba(255,255,255,.85);
  transform: scale(1.25);
}
.ddk-swipe-count{
  font-size: 12.5px;
  color: rgba(255,255,255,.70);
  margin-top: 6px;
}

/* ----------------------------------------------------------
   Mobile: Swipe Layout (only when JS enables)
---------------------------------------------------------- */
@media (max-width: 767px){

  .ddk-principles.ddk-principles--theme{
    min-height: 100svh;
    padding-top: clamp(72px, 10vh, 96px);
    padding-bottom: 56px;
  }

  .ddk-mobile-only{ display:block; }

  /* Intro switch */
  .ddk-principles.ddk-principles--theme .ddk-intro--desktop{ display:none !important; }
  .ddk-principles.ddk-principles--theme .ddk-intro--mobile{
    display:block !important;
    font-size: 15.5px;
    line-height: 1.6;
    max-width: 34ch;
    margin: 0 auto;
    text-align: center;
    color: rgba(255,255,255,.86);
  }

  /* enable swipe only when JS adds .ddk-swipe-enabled */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principles__grid{
    margin-top: 18px;

    display: flex;
    gap: 14px;

    overflow-x: auto;
    overflow-y: visible;

    padding: 0 16px 10px;          /* shadows + peek */
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;     /* must match JS leftPad */
    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
  }
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principles__grid::-webkit-scrollbar{
    display:none;
  }

  /* card sizing */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle{
    flex: 0 0 86%;
    scroll-snap-align: start;
    scroll-snap-stop: always;

    padding: 20px 18px 18px;
    border-radius: 18px;

    transform: none;
  }

  /* disable hover tricks */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle:hover{
    transform: none;
    border-color: rgba(15,23,42,.10);
    box-shadow:
      0 18px 45px rgba(0,0,0,.22),
      0 2px 0 rgba(255,255,255,.25) inset;
  }
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle:hover .ddk-principle__icon::before{
    transform: scaleX(0);
  }
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle:hover .ddk-principle__icon{
    color: var(--ddk-accent);
    transform: none;
    outline-color: rgba(15,23,42,.10);
  }

  /* icon (mobile) */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle__icon{
    width: 54px;
    height: 54px;
    border-radius: 16px;
    margin: 0 0 10px;
    background: rgba(var(--ddk-accent-rgb), .10);
    box-shadow: none;
  }
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle__icon svg{
    width: 24px;
    height: 24px;
  }

  /* title */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle__title{
    margin: 0 0 8px;
    font-size: 19px;
    line-height: 1.22;
    letter-spacing: -0.01em;
  }

  /* text fully readable */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle__text{
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 14px;
  }

  /* shapes: smaller/subtle */
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle::before{
    right:-120px;
    top:-16px;
    width:170px;
    height:92px;
    opacity:.35;
    background: rgba(248,246,241,.70);
  }
  .ddk-principles.ddk-principles--theme.ddk-swipe-enabled .ddk-principle::after{
    display:none;
  }

  /* bullets (mobile only) */
  .ddk-principles.ddk-principles--theme .ddk-principle__bullets{
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
  }
  .ddk-principles.ddk-principles--theme .ddk-principle__bullets li{
    position: relative;
    padding-left: 28px;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.35;
    color: rgba(15,23,42,.88);
  }
  .ddk-principles.ddk-principles--theme .ddk-principle__bullets li::before{
    content: "✓";
    position: absolute;
    left: 0;
    top: -1px;
    font-size: 17px;
    font-weight: 900;
    color: var(--ddk-accent);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .ddk-principles.ddk-principles--theme .ddk-principle,
  .ddk-principles.ddk-principles--theme .ddk-principle__icon,
  .ddk-principles.ddk-principles--theme .ddk-principle__icon::before{
    transition: none !important;
  }
}
/* FIX: Intro/Subline unter H2 zentrieren (Theme-Override) */
.ddk-principles.ddk-principles--theme .ddk-principles__intro,
.ddk-principles.ddk-principles--theme .ddk-principles__intro p,
.ddk-principles.ddk-principles--theme .ddk-intro--desktop,
.ddk-principles.ddk-principles--theme .ddk-intro--mobile{
  text-align: center !important;
}

/* Falls Theme dem Absatz eine feste Breite/Block-Layout gibt -> sauber mittig */
.ddk-principles.ddk-principles--theme .ddk-principles__intro p{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: den kurzen Text wirklich mittig „blocken“ */
@media (max-width: 767px){
  .ddk-principles.ddk-principles--theme .ddk-intro--mobile{
    display: block !important;
    max-width: 34ch;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9b0de44 *//* =========================================
   DDK Audience (Roofplan-safe)
   Scope: nur .ddk-audience.ddk-audience--theme
========================================= */

.ddk-audience.ddk-audience--theme{
  position: relative;
  padding-top: clamp(60px, 6vw, 110px);
  padding-bottom: clamp(60px, 6vw, 110px);
}

.ddk-audience.ddk-audience--theme > .auto-container{
  position: relative;
}

/* --- Title area: ALWAYS centered + kill theme pseudo/transform effects --- */
.ddk-audience.ddk-audience--theme .ddk-audience__title{
  text-align: center;
}

.ddk-audience.ddk-audience--theme .ddk-audience__title *{
  text-align: center;
}

/* Roofplan/Theme kann hier gerne mit ::before/::after arbeiten -> aus in diesem Block */
.ddk-audience.ddk-audience--theme .ddk-audience__title::before,
.ddk-audience.ddk-audience--theme .ddk-audience__title::after,
.ddk-audience.ddk-audience--theme .ddk-audience__title .sub-title::before,
.ddk-audience.ddk-audience--theme .ddk-audience__title .sub-title::after,
.ddk-audience.ddk-audience--theme .ddk-audience__title h2::before,
.ddk-audience.ddk-audience--theme .ddk-audience__title h2::after{
  content: none !important;
  display: none !important;
}

/* Sub-title p: Theme margins manchmal wild */
.ddk-audience.ddk-audience--theme .ddk-audience__title .sub-title p{
  margin: 0;
}

/* Intro unter H2: Overlap-Fix (Theme transforms/positioning neutralisieren) */
.ddk-audience.ddk-audience--theme .ddk-audience__intro{
  max-width: 760px;
  margin: 0 auto;
  display: block;
  position: relative;
  z-index: 1;
  transform: none !important;
}

.ddk-audience.ddk-audience--theme .ddk-audience__intro,
.ddk-audience.ddk-audience--theme .ddk-audience__intro *{
  position: static;
  transform: none !important;
  filter: none !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  opacity: 1 !important;
}

.ddk-audience.ddk-audience--theme .ddk-audience__intro::before,
.ddk-audience.ddk-audience--theme .ddk-audience__intro::after,
.ddk-audience.ddk-audience--theme .ddk-audience__intro p::before,
.ddk-audience.ddk-audience--theme .ddk-audience__intro p::after{
  content: none !important;
  display: none !important;
}

.ddk-audience.ddk-audience--theme .ddk-audience__intro p{
  margin: 0;
  line-height: 1.6;
}

/* Grid spacing */
.ddk-audience.ddk-audience--theme .ddk-audience__grid{
  margin-top: 26px;
}

/* Spalten */
.ddk-audience.ddk-audience--theme .ddk-audience__col{
  margin-bottom: 22px;
}

/* Card */
.ddk-audience.ddk-audience--theme .ddk-card{
  position: relative;
  height: 100%;
  background: #fff;
  border-radius: 20px;
  padding: 22px 22px 18px;
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 20px 55px rgba(18,18,18,.08);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ddk-audience.ddk-audience--theme .ddk-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 28px 70px rgba(18,18,18,.12);
  border-color: rgba(0,0,0,.08);
}

/* Icon Badge */
.ddk-audience.ddk-audience--theme .ddk-card__icon{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(227,27,35,.08);
  color: var(--ddk-accent, #e31b23);
  margin-bottom: 12px;
}
.ddk-audience.ddk-audience--theme .ddk-card__icon svg{
  width: 24px;
  height: 24px;
  display: block;
}

/* Title/Text */
.ddk-audience.ddk-audience--theme .ddk-card__title{
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.2;
}
.ddk-audience.ddk-audience--theme .ddk-card__text{
  margin: 0 0 14px;
  opacity: .88;
}

/* Liste: normalisieren */
.ddk-audience.ddk-audience--theme .ddk-card__list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.ddk-audience.ddk-audience--theme .ddk-card__list li{
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
}
.ddk-audience.ddk-audience--theme .ddk-card__list li:last-child{
  margin-bottom: 0;
}
.ddk-audience.ddk-audience--theme .ddk-card__list li:before{
  content: "✓";
  position: absolute;
  left: 0;
  top: .05em;
  color: var(--ddk-accent, #e31b23);
  font-weight: 700;
}

/* CTA */
.ddk-audience.ddk-audience--theme .ddk-audience__cta{
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

/* Mobile: Buttons full width */
@media (max-width: 575px){
  .ddk-audience.ddk-audience--theme .ddk-audience__cta{
    justify-content: stretch;
  }
  .ddk-audience.ddk-audience--theme .ddk-audience__cta .theme-btn{
    width: 100%;
    text-align: center;
  }
}

/* Dezent: Highlight-Shape */
.ddk-audience.ddk-audience--theme .ddk-card:after{
  content:"";
  position: absolute;
  right: -60px;
  top: -60px;
  width: 160px;
  height: 160px;
  background: rgba(227,27,35,.06);
  border-radius: 40px;
  transform: rotate(18deg);
  pointer-events: none;
}/* End custom CSS */