/* ==========================================================================
   nachbau-partner.css – Brücke: Divi-Modul-Markup -> partner.css
   partner.css bleibt unverändert.
   ========================================================================== */

/* --- Hero ---------------------------------------------------------------
   Die Dekorations-Row liegt absolut über der Sektion: so hängen die Nodes
   wie im Original am Hero und stören die Flex-Zentrierung nicht. */
body.cl-divi-rebuild .pa-hero.et_pb_section { display: flex; align-items: center; }
body.cl-divi-rebuild .pa-hero-decor.et_pb_row {
  position: absolute; inset: 0; width: 100%; max-width: 100%;
  margin: 0; padding: 0 !important; pointer-events: none; z-index: 1;
}
body.cl-divi-rebuild .pa-hero-decor .et_pb_column, body.cl-divi-rebuild .pa-hero-decor .et_pb_module,
body.cl-divi-rebuild .pa-hero-decor .et_pb_code_inner { position: static !important; margin: 0 !important; }
body.cl-divi-rebuild .pa-hero-decor .pa-hero-node { pointer-events: auto; }
body.cl-divi-rebuild .pa-hero > .pa-container.et_pb_row { position: relative; z-index: 3; }
body.cl-divi-rebuild .et_pb_column.pa-hero-content { float: none; margin: 0 auto !important; }
body.cl-divi-rebuild .pa-line-mod .et_pb_text_inner { display: flex; justify-content: center; }

/* --- Einleitung ---------------------------------------------------------- */
/* Im Original hatte .pa-intro padding-top:0, die Karte klebte damit direkt
   unter dem Hero. Jetzt derselbe obere Abstand wie bei den anderen
   Sektionen (Kundenwunsch 18.08.). */
body.cl-divi-rebuild .pa-intro.et_pb_section { padding-top: 80px; }

body.cl-divi-rebuild .et_pb_column.pa-intro-card {
  float: none; margin-left: auto !important; margin-right: auto !important;
}

/* --- Karten-Raster ------------------------------------------------------- */
body.cl-divi-rebuild .et_pb_column.pa-cat-grid, body.cl-divi-rebuild .et_pb_column.pa-why-grid {
  float: none; margin-left: auto !important; margin-right: auto !important;
}
body.cl-divi-rebuild .et_pb_column.pa-cat-grid { margin-top: 48px; }
/* Im Original kollabieren margin-bottom der H2 und margin-top des Grids
   (20 vs. 48 -> 48). Über zwei Rows verteilt kollabiert nichts mehr. */
body.cl-divi-rebuild .pa-cat-headrow h2 { margin-bottom: 0; }
body.cl-divi-rebuild .pa-cat-grid > .et_pb_blurb, body.cl-divi-rebuild .pa-why-grid > .et_pb_blurb { margin: 0 !important; }
body.cl-divi-rebuild .pa-why-card.et_pb_blurb { text-align: center; }
body.cl-divi-rebuild .pa-cat-card .et_pb_blurb_content, body.cl-divi-rebuild .pa-why-card .et_pb_blurb_content {
  display: flex; flex-direction: column; flex: 1; text-align: inherit !important;
}
body.cl-divi-rebuild .pa-cat-card .et_pb_blurb_container, body.cl-divi-rebuild .pa-why-card .et_pb_blurb_container {
  display: flex; flex-direction: column; flex: 1; text-align: inherit !important;
  font-size: 16px; line-height: 1.7em;
}
body.cl-divi-rebuild .pa-cat-card .et_pb_blurb_description, body.cl-divi-rebuild .pa-why-card .et_pb_blurb_description {
  display: flex; flex-direction: column; flex: 1;
}

/* Blurb-Überschrift wie .pa-cat-title / .pa-why-title */
body.cl-divi-rebuild .pa-cat-card h3.et_pb_module_header, body.cl-divi-rebuild .pa-why-card h3.et_pb_module_header {
  font-family: "Montserrat", sans-serif !important; font-size: 18px; font-weight: 700;
  color: var(--pa-dark); margin: 0 0 10px; padding-bottom: 10px; letter-spacing: -0.02em;
  line-height: 1em; text-align: inherit !important;
}

/* Icon-Kachel als ein Pseudo-Element (Fläche + Glyphe als zwei Backgrounds),
   damit die Zeilenbox exakt der des Original-DIVs entspricht. */
body.cl-divi-rebuild .pa-cat-card::before {
  content: ''; display: inline-flex; flex: 0 0 auto; width: 48px; height: 48px;
  border-radius: 14px; margin-bottom: 20px;
  background-color: var(--pa-gold-bg);
  background-repeat: no-repeat; background-position: center;
  background-size: 24px 24px;
  transition: background 0.4s ease, transform 0.4s ease;
}
body.cl-divi-rebuild .pa-cat-card:hover::before { transform: scale(1.05); }
body.cl-divi-rebuild .pa-why-card::before {
  content: ''; display: inline-flex; width: 48px; height: 48px;
  border-radius: 14px; margin: 0 auto 20px;
  background-color: var(--pa-gold-bg);
  background-repeat: no-repeat; background-position: center;
  background-size: 24px 24px;
}
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(1)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z%22></path></svg>"); }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(1):hover::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z%22></path></svg>"), var(--pa-gold-gradient); background-color: transparent; background-size: 24px 24px, auto; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(2)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%2212%22 r=%223%22></circle><path d=%22M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z%22></path></svg>"); }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(2):hover::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%2212%22 r=%223%22></circle><path d=%22M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z%22></path></svg>"), var(--pa-gold-gradient); background-color: transparent; background-size: 24px 24px, auto; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(3)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%222%22 y=%223%22 rx=%222%22 ry=%222%22></rect><line x1=%228%22 y1=%2221%22 x2=%2216%22 y2=%2221%22></line><line x1=%2212%22 y1=%2217%22 x2=%2212%22 y2=%2221%22></line></svg>"); }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(3):hover::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%222%22 y=%223%22 rx=%222%22 ry=%222%22></rect><line x1=%228%22 y1=%2221%22 x2=%2216%22 y2=%2221%22></line><line x1=%2212%22 y1=%2217%22 x2=%2212%22 y2=%2221%22></line></svg>"), var(--pa-gold-gradient); background-color: transparent; background-size: 24px 24px, auto; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(4)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%222%22 y=%224%22 rx=%222%22></rect><path d=%22M7 15h0M2 9.5h20%22></path></svg>"); }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(4):hover::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect x=%222%22 y=%224%22 rx=%222%22></rect><path d=%22M7 15h0M2 9.5h20%22></path></svg>"), var(--pa-gold-gradient); background-color: transparent; background-size: 24px 24px, auto; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(5)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><polyline points=%2216 18 22 12 16 6%22></polyline><polyline points=%228 6 2 12 8 18%22></polyline></svg>"); }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(5):hover::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><polyline points=%2216 18 22 12 16 6%22></polyline><polyline points=%228 6 2 12 8 18%22></polyline></svg>"), var(--pa-gold-gradient); background-color: transparent; background-size: 24px 24px, auto; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(6)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z%22></path></svg>"); }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(6):hover::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z%22></path></svg>"), var(--pa-gold-gradient); background-color: transparent; background-size: 24px 24px, auto; }
body.cl-divi-rebuild .pa-why-grid > .pa-why-card:nth-child(1)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z%22></path><polyline points=%229 12 12 15 16 10%22></polyline></svg>"); }
body.cl-divi-rebuild .pa-why-grid > .pa-why-card:nth-child(2)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z%22></path><path d=%22M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z%22></path></svg>"); }
body.cl-divi-rebuild .pa-why-grid > .pa-why-card:nth-child(3)::before { background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23BFA762%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2%22></path><circle cx=%229%22 cy=%227%22 r=%224%22></circle><path d=%22M23 21v-2a4 4 0 0 0-3-3.87%22></path><path d=%22M16 3.13a4 4 0 0 1 0 7.75%22></path></svg>"); }

/* Reveal-Verzögerungen wie im Original (style="--delay:n") */
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(2) { --delay: 1; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(3) { --delay: 2; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(4) { --delay: 3; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(5) { --delay: 4; }
body.cl-divi-rebuild .pa-cat-grid > .pa-cat-card:nth-child(6) { --delay: 5; }
body.cl-divi-rebuild .pa-why-grid > .pa-why-card:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .pa-why-grid > .pa-why-card:nth-child(2) { --delay: 1; }
body.cl-divi-rebuild .pa-why-grid > .pa-why-card:nth-child(3) { --delay: 2; }

/* --- Kontakt: verschachtelte Prozentbasis .pa-container > .cl-contact-layout */
body.cl-divi-rebuild .pa-contact .cl-contact-layout.et_pb_row {
  width: 100%; max-width: min(85.5%, 1083px); margin: 0 auto;
}

/* --- Responsive wie partner.css ----------------------------------------- */
@media (max-width: 960px) {
  body.cl-divi-rebuild .et_pb_column.pa-cat-grid, body.cl-divi-rebuild .et_pb_column.pa-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  body.cl-divi-rebuild .pa-hero.et_pb_section { min-height: auto; padding-top: 120px; padding-bottom: 60px; }
  body.cl-divi-rebuild .et_pb_column.pa-cat-grid, body.cl-divi-rebuild .et_pb_column.pa-why-grid {
    grid-template-columns: 1fr; max-width: 480px;
  }
  body.cl-divi-rebuild .pa-section.et_pb_section { padding-top: 60px; padding-bottom: 60px; }
}
