.elementor-200 .elementor-element.elementor-element-21186e45{--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;--border-radius:24px 24px 24px 24px;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-200 .elementor-element.elementor-element-21186e45:not(.elementor-motion-effects-element-type-background), .elementor-200 .elementor-element.elementor-element-21186e45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-200 .elementor-element.elementor-element-4446293d{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-200 .elementor-element.elementor-element-673b63bf{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-79a30c5f{--display:flex;}.elementor-200 .elementor-element.elementor-element-3187cd05 img{width:120px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-200 .elementor-element.elementor-element-3741ba52{text-align:center;}.elementor-200 .elementor-element.elementor-element-3741ba52 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:40px;color:#0F5FBE;}.elementor-200 .elementor-element.elementor-element-252b6718{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-13929bf4{font-family:"Inter", Sans-serif;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-200 .elementor-element.elementor-element-7c08c7b9 .elementor-button{background-color:#0F5FBE;fill:#FFFFFF;color:#FFFFFF;}.elementor-200 .elementor-element.elementor-element-2b9b42a5{--spacer-size:50px;}.elementor-200 .elementor-element.elementor-element-7ffe189a{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-200 .elementor-element.elementor-element-7447a3ab .elementor-heading-title{font-family:"Inter", Sans-serif;color:#0F5FBE;}.elementor-200 .elementor-element.elementor-element-3bb1909c{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-4479d210{--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;}.elementor-200 .elementor-element.elementor-element-147f30f7{--display:flex;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-200 .elementor-element.elementor-element-52d2cbdf .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-52d2cbdf .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-52d2cbdf .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-52d2cbdf .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-a4a9a1e{--display:flex;}.elementor-200 .elementor-element.elementor-element-16750dfb .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-16750dfb .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-16750dfb .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-16750dfb .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-468403ae{--display:flex;}.elementor-200 .elementor-element.elementor-element-5602a5e8 .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-5602a5e8 .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-5602a5e8 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-5602a5e8 .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-5f6ca668{--display:flex;}.elementor-200 .elementor-element.elementor-element-1bd0630b .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-1bd0630b .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-1bd0630b .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-1bd0630b .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-3fa5750b{--display:flex;--border-radius:24px 24px 24px 24px;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-200 .elementor-element.elementor-element-3fa5750b:not(.elementor-motion-effects-element-type-background), .elementor-200 .elementor-element.elementor-element-3fa5750b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAF3FF;}.elementor-200 .elementor-element.elementor-element-6f7ad6bc .elementor-heading-title{font-family:"Inter", Sans-serif;color:#0F5FBE;}.elementor-200 .elementor-element.elementor-element-17abe48c{--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;}.elementor-200 .elementor-element.elementor-element-5d64a87d{--display:flex;}.elementor-200 .elementor-element.elementor-element-5ced90d6 .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-5ced90d6 .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-5ced90d6 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-5ced90d6 .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-a681fdb{--display:flex;}.elementor-200 .elementor-element.elementor-element-66e6d3c0 .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-66e6d3c0 .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-66e6d3c0 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-66e6d3c0 .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-6d8f9628{--display:flex;}.elementor-200 .elementor-element.elementor-element-e41d8c0 .elementor-icon-box-wrapper{gap:15px;}.elementor-200 .elementor-element.elementor-element-e41d8c0 .elementor-icon-box-title, .elementor-200 .elementor-element.elementor-element-e41d8c0 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:34px;}.elementor-200 .elementor-element.elementor-element-e41d8c0 .elementor-icon-box-description{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-2324b767{--display:flex;--border-radius:24px 24px 24px 24px;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-200 .elementor-element.elementor-element-2324b767:not(.elementor-motion-effects-element-type-background), .elementor-200 .elementor-element.elementor-element-2324b767 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F5FBE;}.elementor-200 .elementor-element.elementor-element-32bc0b84 .elementor-heading-title{font-family:"Inter", Sans-serif;color:#FFFFFF;}.elementor-200 .elementor-element.elementor-element-7b15afbd{font-family:"Inter", Sans-serif;}.elementor-200 .elementor-element.elementor-element-1d26cea7 .elementor-button{background-color:var( --e-global-color-b1f268f );font-family:"Inter", Sans-serif;fill:#0F5FBE;color:#0F5FBE;}.elementor-200 .elementor-element.elementor-element-2c3342cf{--display:flex;--border-radius:24px 24px 24px 24px;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-200 .elementor-element.elementor-element-2c3342cf:not(.elementor-motion-effects-element-type-background), .elementor-200 .elementor-element.elementor-element-2c3342cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAF3FF;}.elementor-200 .elementor-element.elementor-element-1838558d .elementor-heading-title{font-family:"Inter", Sans-serif;color:#0F5FBE;}.elementor-200 .elementor-element.elementor-element-5aa1e496{--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;}.elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-reviews .elementor-testimonial__name{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-reviews .elementor-testimonial__text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-200 .elementor-element.elementor-element-4de2bb1 .elementor-swiper-button{font-size:20px;}.elementor-200 .elementor-element.elementor-element-654d0a81{width:var( --container-widget-width, 41.808% );max-width:41.808%;--container-widget-width:41.808%;--container-widget-flex-grow:0;text-align:center;}.elementor-200 .elementor-element.elementor-element-654d0a81.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-reviews .elementor-testimonial__name{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-reviews .elementor-testimonial__text{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-reviews .elementor-testimonial__name{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-reviews .elementor-testimonial__text{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for reviews, class: .elementor-element-4de2bb1 *//* =========================================
   ULTRA GOOGLE-BEWERTUNGEN CSS
   ========================================= */

:root {
  --ke-blue: #0f5fbe;
  --ke-blue-dark: #0a4a94;
  --ke-orange: #f39a2d;
  --ke-orange-dark: #db8418;
  --ke-text: #10233f;
  --ke-muted: #5f6f86;
  --ke-line: rgba(16, 35, 63, 0.08);
  --ke-white: #ffffff;
}

/* Gesamter Bewertungsbereich */
.reviews-section,
.google-reviews-section,
.ke-reviews,
.ke-google-reviews {
  position: relative;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* Container schöner */
.reviews-section .elementor-container,
.google-reviews-section .elementor-container,
.ke-reviews .elementor-container,
.ke-google-reviews .elementor-container {
  max-width: 1200px !important;
}

/* Überschrift */
.reviews-section h2,
.google-reviews-section h2,
.ke-reviews h2,
.ke-google-reviews h2 {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: var(--ke-blue-dark) !important;
  margin-bottom: 14px !important;
}

/* Einleitung */
.reviews-section p,
.google-reviews-section p,
.ke-reviews p,
.ke-google-reviews p {
  color: var(--ke-muted) !important;
  line-height: 1.75 !important;
}

/* Bewertungsgrid */
.reviews-grid,
.ke-reviews-grid,
.google-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}

/* Einzelne Review Card */
.review-card,
.google-review,
.ke-review-card,
.elementor-widget-testimonial {
  position: relative;
  height: 100%;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--ke-line);
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 12px 30px rgba(16, 35, 63, 0.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
  overflow: hidden;
}

/* feiner Glow */
.review-card::before,
.google-review::before,
.ke-review-card::before,
.elementor-widget-testimonial::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  background: rgba(243, 154, 45, 0.08);
  border-radius: 50%;
  filter: blur(10px);
  pointer-events: none;
}

/* Hover Effekt */
.review-card:hover,
.google-review:hover,
.ke-review-card:hover,
.elementor-widget-testimonial:hover {
  transform: translateY(-4px);
  box-shadow:
    0 18px 40px rgba(15, 95, 190, 0.12),
    0 0 20px rgba(243, 154, 45, 0.10);
  border-color: rgba(15, 95, 190, 0.18);
}

/* Sterne */
.review-stars,
.ke-review-stars,
.google-stars {
  display: flex;
  gap: 4px;
  margin-bottom: 14px;
  color: var(--ke-orange);
  font-size: 1rem;
  line-height: 1;
}

/* Zitat / Text */
.review-text,
.google-review-text,
.ke-review-text,
.elementor-testimonial__text {
  color: var(--ke-text) !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  margin-bottom: 18px !important;
}

/* Name */
.review-author,
.google-review-author,
.ke-review-author,
.elementor-testimonial__name {
  color: var(--ke-blue-dark) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
}

/* Zusatz */
.review-role,
.google-review-role,
.ke-review-role,
.elementor-testimonial__title {
  color: var(--ke-muted) !important;
  font-size: 0.9rem !important;
}

/* Google Badge / Bewertungszahl */
.google-rating-box,
.ke-rating-box {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--ke-line);
  box-shadow: 0 10px 24px rgba(16, 35, 63, 0.05);
}

.google-rating-box strong,
.ke-rating-box strong {
  color: var(--ke-blue-dark);
  font-size: 1rem;
}

.google-rating-box span,
.ke-rating-box span {
  color: var(--ke-muted);
  font-size: 0.92rem;
}

/* CTA Button unter Bewertungen */
.reviews-section .elementor-button,
.google-reviews-section .elementor-button,
.ke-reviews .elementor-button {
  min-height: 50px !important;
  padding: 14px 22px !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, var(--ke-blue), var(--ke-blue-dark)) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 95, 190, 0.22) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.reviews-section .elementor-button:hover,
.google-reviews-section .elementor-button:hover,
.ke-reviews .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15, 95, 190, 0.28) !important;
}

/* Wenn Elementor Testimonial Widget genutzt wird */
.elementor-widget-testimonial {
  padding: 24px !important;
}

.elementor-testimonial__content {
  padding: 0 !important;
}

.elementor-testimonial__footer {
  margin-top: 10px !important;
}

/* Mobile */
@media (max-width: 767px) {
  .reviews-section,
  .google-reviews-section,
  .ke-reviews,
  .ke-google-reviews {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  .reviews-grid,
  .ke-reviews-grid,
  .google-review-grid {
    grid-template-columns: 1fr;
  }

  .review-card,
  .google-review,
  .ke-review-card,
  .elementor-widget-testimonial {
    padding: 20px;
    border-radius: 18px;
  }
}/* End custom CSS */
/* Start custom CSS *//* =========================================
   ULTRA HERO CSS
   Für den oberen Startseitenbereich
   ========================================= */

:root {
  --ke-bg: #f4f7fb;
  --ke-white: #ffffff;
  --ke-text: #10233f;
  --ke-muted: #5f6f86;

  --ke-blue: #0f5fbe;
  --ke-blue-dark: #0a4a94;
  --ke-blue-soft: #eaf3ff;

  --ke-orange: #f39a2d;
  --ke-orange-dark: #db8418;
  --ke-orange-soft: #fff3e6;

  --ke-line: rgba(16, 35, 63, 0.08);
  --ke-shadow-sm: 0 12px 30px rgba(16, 35, 63, 0.06);
  --ke-shadow-md: 0 20px 60px rgba(15, 95, 190, 0.10);
  --ke-shadow-lg: 0 30px 80px rgba(15, 95, 190, 0.14);

  --ke-radius-md: 20px;
  --ke-radius-lg: 28px;
}

/* Hero-Sektion */
.hero-section,
.ke-hero,
body .elementor-section:first-of-type {
  position: relative;
  padding-top: 56px !important;
  padding-bottom: 72px !important;
  background:
    radial-gradient(circle at top left, rgba(15, 95, 190, 0.08), transparent 34%),
    radial-gradient(circle at bottom right, rgba(243, 154, 45, 0.08), transparent 32%),
    transparent;
}

/* Hauptkarte */
.hero-section .elementor-container,
.ke-hero .elementor-container,
body .elementor-section:first-of-type .elementor-container {
  position: relative;
  max-width: 1200px !important;
  display: grid !important;
  align-items: center !important;
  gap: 54px !important;

  background: rgba(255, 255, 255, 0.84);
  border: 1px solid var(--ke-line);
  border-radius: var(--ke-radius-lg);
  padding: 38px !important;
  box-shadow: var(--ke-shadow-md);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Feiner Glow im Hintergrund */
.hero-section .elementor-container::before,
.ke-hero .elementor-container::before,
body .elementor-section:first-of-type .elementor-container::before {
  content: "";
  position: absolute;
  inset: auto -40px -40px auto;
  width: 220px;
  height: 220px;
  background: rgba(243, 154, 45, 0.10);
  border-radius: 50%;
  filter: blur(30px);
  pointer-events: none;
}

/* Linke Bildspalte */
.hero-section .elementor-widget-image,
.ke-hero .elementor-widget-image,
body .elementor-section:first-of-type .elementor-widget-image {
  position: relative;
}

.hero-section .elementor-widget-image img,
.ke-hero .elementor-widget-image img,
body .elementor-section:first-of-type .elementor-widget-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(16, 35, 63, 0.12);
  background: #dfe8f4;
}

/* Optionales Badge über dem Bild */
.hero-badge,
.ke-hero-badge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  max-width: 280px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(16, 35, 63, 0.08);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 12px 30px rgba(16, 35, 63, 0.08);
}

.hero-badge strong,
.ke-hero-badge strong {
  display: block;
  font-size: 0.98rem;
  margin-bottom: 2px;
  color: var(--ke-blue-dark);
}

.hero-badge span,
.ke-hero-badge span {
  color: var(--ke-orange-dark);
  font-size: 0.92rem;
  font-style: italic;
}

/* Oberer kleiner Bereich mit Logo/Label */
.hero-top,
.ke-hero-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.hero-top img,
.ke-hero-top img,
.ke-hero-logo {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain;
  flex-shrink: 0;
}

.hero-eyebrow,
.ke-eyebrow,
.hero-section .elementor-widget-text-editor strong:first-child {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--ke-blue);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.82rem;
}

/* Headline */
.hero-section h1,
.ke-hero h1,
body .elementor-section:first-of-type h1 {
  font-size: clamp(2.5rem, 5.2vw, 4.8rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.05em !important;
  color: var(--ke-blue-dark) !important;
  margin-bottom: 18px !important;
}

/* Unterzeile / Einleitung */
.hero-subtitle,
.ke-hero-subtitle {
  font-size: 1.12rem;
  color: var(--ke-muted);
  margin-bottom: 20px;
  max-width: 640px;
}

.hero-lead,
.ke-hero-lead,
.hero-section p,
.ke-hero p,
body .elementor-section:first-of-type p {
  font-size: 1.05rem;
  color: var(--ke-muted) !important;
  line-height: 1.75 !important;
}

/* Buttons */
.hero-section .elementor-button,
.ke-hero .elementor-button,
.hero-cta .elementor-button {
  min-height: 52px !important;
  padding: 14px 22px !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease !important;
}

.hero-section .elementor-button:hover,
.ke-hero .elementor-button:hover,
.hero-cta .elementor-button:hover {
  transform: translateY(-2px);
}

/* Primärer CTA */
.hero-section .elementor-button.elementor-size-md,
.hero-section .elementor-button.elementor-size-lg,
.ke-hero .elementor-button-primary,
.hero-cta .ke-btn-primary {
  background: linear-gradient(135deg, var(--ke-blue), var(--ke-blue-dark)) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(15, 95, 190, 0.22) !important;
}

/* Sekundärer CTA */
.hero-cta .ke-btn-secondary,
.hero-section .elementor-button.ke-secondary {
  background: #ffffff !important;
  color: var(--ke-blue) !important;
  border: 1px solid rgba(16, 35, 63, 0.10) !important;
  box-shadow: 0 10px 30px rgba(15, 95, 190, 0.08) !important;
}

/* Highlight-Boxen unter dem Hero */
.hero-highlights,
.ke-hero-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.hero-highlight,
.ke-highlight {
  background: #ffffff;
  border: 1px solid var(--ke-line);
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: var(--ke-shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.hero-highlight:hover,
.ke-highlight:hover {
  transform: translateY(-3px);
  box-shadow:
    0 16px 34px rgba(15, 95, 190, 0.10),
    0 0 18px rgba(243, 154, 45, 0.10);
  border-color: rgba(15, 95, 190, 0.16);
}

.hero-highlight strong,
.ke-highlight strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.98rem;
  color: var(--ke-blue-dark);
}

.hero-highlight span,
.ke-highlight span {
  color: var(--ke-muted);
  font-size: 0.94rem;
}

/* Mobile */
@media (max-width: 1100px) {
  .hero-section .elementor-container,
  .ke-hero .elementor-container,
  body .elementor-section:first-of-type .elementor-container {
    grid-template-columns: 1fr !important;
  }

  .hero-section .elementor-widget-image img,
  .ke-hero .elementor-widget-image img,
  body .elementor-section:first-of-type .elementor-widget-image img {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 760px) {
  .hero-section,
  .ke-hero,
  body .elementor-section:first-of-type {
    padding-top: 24px !important;
    padding-bottom: 40px !important;
  }

  .hero-section .elementor-container,
  .ke-hero .elementor-container,
  body .elementor-section:first-of-type .elementor-container {
    padding: 20px !important;
    gap: 26px !important;
    border-radius: 22px;
  }

  .hero-section .elementor-widget-image img,
  .ke-hero .elementor-widget-image img,
  body .elementor-section:first-of-type .elementor-widget-image img {
    aspect-ratio: 4 / 5;
    border-radius: 18px;
  }

  .hero-badge,
  .ke-hero-badge {
    position: static;
    margin-top: 14px;
    max-width: 100%;
  }

  .hero-top img,
  .ke-hero-top img,
  .ke-hero-logo {
    width: 56px !important;
    height: 56px !important;
  }

  .hero-highlights,
  .ke-hero-highlights {
    grid-template-columns: 1fr;
  }

  .hero-section .elementor-button,
  .ke-hero .elementor-button {
    width: 100%;
  }
}/* End custom CSS */