.dci-claim-bild {
  --dci-bg: #d5ebea;
  --dci-text-align: left;
  --dci-valign: center;
  --dci-icon-width: 56px;
  --dci-banner-pad-y: 20px;
  --dci-banner-pad-x: 28px;
  --dci-content-pad: 24px;
  --dci-text-pad-x: 36px;
  --dci-column-gap: 40px;
  --dci-max-width: 1100px;

  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.dci-claim-bild *,
.dci-claim-bild *::before,
.dci-claim-bild *::after {
  box-sizing: border-box;
}

.dci-claim-bild__inner {
  width: 100%;
  max-width: var(--dci-max-width);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: var(--dci-valign);
  gap: var(--dci-column-gap);
}

.dci-claim-bild--text-image .dci-claim-bild__text {
  order: 1;
}

.dci-claim-bild--text-image .dci-claim-bild__media {
  order: 2;
}

.dci-claim-bild--image-text .dci-claim-bild__media {
  order: 1;
}

.dci-claim-bild--image-text .dci-claim-bild__text {
  order: 2;
}

.dci-claim-bild__text,
.dci-claim-bild__media {
  flex: 1 1 50%;
  width: 50%;
  max-width: 50%;
  min-width: 0;
}

.dci-claim-bild--no-media .dci-claim-bild__text {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}

.dci-claim-bild__text {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--dci-content-pad);
}

.dci-claim-bild__banner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 2vw, 24px);
  width: 100%;
  padding: var(--dci-banner-pad-y) var(--dci-banner-pad-x);
  background: var(--dci-bg);
  text-align: var(--dci-text-align);
}

.dci-claim-bild--icon-text .dci-claim-bild__icon {
  order: 1;
}

.dci-claim-bild--icon-text .dci-claim-bild__banner-content {
  order: 2;
}

.dci-claim-bild--text-icon .dci-claim-bild__banner-content {
  order: 1;
}

.dci-claim-bild--text-icon .dci-claim-bild__icon {
  order: 2;
}

.dci-claim-bild__banner-content {
  flex: 1 1 auto;
  min-width: 0;
}

.dci-claim-bild__banner-content h1,
.dci-claim-bild__banner-content h2,
.dci-claim-bild__banner-content h3,
.dci-claim-bild__banner-content h4,
.dci-claim-bild__banner-content h5,
.dci-claim-bild__banner-content h6,
.dci-claim-bild__banner-content p {
  margin: 0;
}

/* Keine eigenen Typo-Styles – Formatierung über Divi-Texteditor / Design-Tab */
.dci-claim-bild__banner-content > *:first-child,
.dci-claim-bild__content > *:first-child {
  margin-top: 0;
}

.dci-claim-bild__banner-content > *:last-child,
.dci-claim-bild__content > *:last-child {
  margin-bottom: 0;
}

.dci-claim-bild__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.dci-claim-bild__icon-image {
  display: block;
  width: var(--dci-icon-width);
  max-width: 100%;
  height: auto;
}

.dci-claim-bild__body {
  width: 100%;
  padding: 0 var(--dci-text-pad-x);
}

.dci-claim-bild__media {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.dci-claim-bild__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.et_pb_module.dci_claim_bild,
.et_pb_module.dci_claim_bild > .et_pb_module_inner {
  background: transparent;
  overflow: visible;
}

.et_pb_module.dci_claim_bild {
  width: 100%;
  max-width: none;
}

/* Tablet / Mobile: untereinander, Text oben · Bild darunter */
@media (max-width: 900px) {
  .dci-claim-bild__inner {
    flex-direction: column;
    align-items: stretch;
    gap: clamp(20px, 4vw, 32px);
  }

  .dci-claim-bild__text,
  .dci-claim-bild__media {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .dci-claim-bild--text-image .dci-claim-bild__text,
  .dci-claim-bild--image-text .dci-claim-bild__text {
    order: 1;
  }

  .dci-claim-bild--text-image .dci-claim-bild__media,
  .dci-claim-bild--image-text .dci-claim-bild__media {
    order: 2;
  }

  .dci-claim-bild__banner {
    padding: clamp(14px, 3vw, 20px) clamp(16px, 4vw, 24px);
  }

  .dci-claim-bild__body {
    padding: 0 max(12px, var(--dci-text-pad-x));
  }

  .dci-claim-bild__icon-image {
    width: min(var(--dci-icon-width), 18vw);
  }
}

@media (max-width: 480px) {
  .dci-claim-bild__banner {
    gap: 12px;
  }
}
