/* ==========================================================================
   nachbau-beratung.css – Brücke: Divi-Modul-Markup -> beratung.css
   ========================================================================== */

/* --- Hero ---------------------------------------------------------------- */
body.cl-divi-rebuild .br-hero.et_pb_section { display: flex; align-items: center; }
body.cl-divi-rebuild .et_pb_column.br-hero-content { float: none; margin: 0 auto !important; max-width: 680px; }
body.cl-divi-rebuild .br-line-mod .et_pb_text_inner { display: flex; justify-content: center; }

/* --- Container-Spalten, die zu Grids werden ------------------------------- */
body.cl-divi-rebuild .et_pb_column.br-stats, body.cl-divi-rebuild .et_pb_column.br-services-grid,
body.cl-divi-rebuild .et_pb_column.br-team-grid, body.cl-divi-rebuild .et_pb_column.br-steps,
body.cl-divi-rebuild .et_pb_column.br-pricing-grid {
  float: none; margin-left: auto !important; margin-right: auto !important;
}
body.cl-divi-rebuild .br-stats > .et_pb_text, body.cl-divi-rebuild .br-services-grid > .et_pb_blurb,
body.cl-divi-rebuild .br-team-grid > .et_pb_text, body.cl-divi-rebuild .br-steps > .et_pb_text,
body.cl-divi-rebuild .br-pricing-grid > .et_pb_text { margin: 0 !important; }
/* Karten mit eigenem Innenaufbau: Modul-Inneres transparent machen */
body.cl-divi-rebuild .br-team-card > .et_pb_text_inner, body.cl-divi-rebuild .br-price-card > .et_pb_text_inner { display: contents; }
body.cl-divi-rebuild .et_pb_text.br-stat { text-align: center; }
body.cl-divi-rebuild .et_pb_column.br-services-grid, body.cl-divi-rebuild .et_pb_column.br-steps { margin-top: 48px; }
/* Im Original kollabiert margin-bottom des Untertitels (48) mit margin-top
   des Grids (48); über zwei Rows verteilt darf nur einer wirken. */
/* Der Kopfbereich endet im Original direkt vor dem Raster: dort kollabiert der
   untere Abstand mit dem margin-top (48px) des Rasters. Über zwei Rows verteilt
   muss der untere Abstand des letzten Kopfelements daher entfallen. */
body.cl-divi-rebuild .br-services-headmod .et_pb_code_inner > *:last-child,
body.cl-divi-rebuild .br-services-headmod .et_pb_text_inner > *:last-child,
body.cl-divi-rebuild .br-process-headmod .et_pb_code_inner > *:last-child,
body.cl-divi-rebuild .br-process-headmod .et_pb_text_inner > *:last-child { margin-bottom: 0; }

/* --- Split-Sektion: die Row ist das Grid --------------------------------- */
body.cl-divi-rebuild .br-split.et_pb_row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
body.cl-divi-rebuild .br-split.et_pb_row::before, body.cl-divi-rebuild .br-split.et_pb_row::after { content: none; display: none; }
body.cl-divi-rebuild .br-split > .et_pb_column { width: auto !important; max-width: none !important; margin: 0 !important; float: none; }
body.cl-divi-rebuild .br-split-textmod > .et_pb_text_inner, body.cl-divi-rebuild .br-split-visualmod .et_pb_code_inner { display: contents; }

/* --- Leistungs-Icons als Pseudo-Element --------------------------------- */
body.cl-divi-rebuild .br-service-card::before {
  content: ''; display: inline-flex; width: 48px; height: 48px; border-radius: 14px;
  margin-bottom: 20px; background-color: var(--br-gold-bg);
  background-repeat: no-repeat; background-position: center; background-size: 24px 24px;
}
body.cl-divi-rebuild .br-service-card .et_pb_blurb_content { text-align: inherit !important; }
body.cl-divi-rebuild .br-service-card .et_pb_blurb_container { text-align: inherit !important; font-size: 16px; line-height: 1.7em; }
body.cl-divi-rebuild .br-service-card h3.et_pb_module_header {
  font-family: "Montserrat", sans-serif !important; font-size: 18px; font-weight: 700;
  color: var(--br-dark); margin: 0 0 10px; padding-bottom: 10px; letter-spacing: -0.02em;
  line-height: 1em; text-align: inherit !important;
}
body.cl-divi-rebuild .br-services-grid > .br-service-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=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><polyline points=%2223 6 13.5 15.5 8.5 10.5 1 18%22></polyline><polyline points=%2217 6 23 6 23 12%22></polyline></svg>"); }
body.cl-divi-rebuild .br-services-grid > .br-service-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=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%2212%22 r=%2210%22></circle><path d=%22M12 6v6l4 2%22></path></svg>"); }
body.cl-divi-rebuild .br-services-grid > .br-service-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=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M12 20h9%22></path><path d=%22M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z%22></path></svg>"); }
body.cl-divi-rebuild .br-services-grid > .br-service-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=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M22 11.08V12a10 10 0 1 1-5.93-9.14%22></path><polyline points=%2222 4 12 14.01 9 11.01%22></polyline></svg>"); }
body.cl-divi-rebuild .br-services-grid > .br-service-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=%221.5%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 .br-services-grid > .br-service-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=%221.5%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 */
body.cl-divi-rebuild .br-services-grid > .br-service-card:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .br-services-grid > .br-service-card:nth-child(2) { --delay: 1; }
body.cl-divi-rebuild .br-services-grid > .br-service-card:nth-child(3) { --delay: 2; }
body.cl-divi-rebuild .br-services-grid > .br-service-card:nth-child(4) { --delay: 3; }
body.cl-divi-rebuild .br-services-grid > .br-service-card:nth-child(5) { --delay: 4; }
body.cl-divi-rebuild .br-services-grid > .br-service-card:nth-child(6) { --delay: 5; }
body.cl-divi-rebuild .br-steps > .br-step:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .br-steps > .br-step:nth-child(2) { --delay: 1; }
body.cl-divi-rebuild .br-steps > .br-step:nth-child(3) { --delay: 2; }
body.cl-divi-rebuild .br-steps > .br-step:nth-child(4) { --delay: 3; }
body.cl-divi-rebuild .br-stats > .br-stat:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .br-pricing-grid > .br-price-card:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .br-stats > .br-stat:nth-child(2) { --delay: 1; }
body.cl-divi-rebuild .br-pricing-grid > .br-price-card:nth-child(2) { --delay: 1; }
body.cl-divi-rebuild .br-stats > .br-stat:nth-child(3) { --delay: 2; }
body.cl-divi-rebuild .br-pricing-grid > .br-price-card:nth-child(3) { --delay: 2; }
body.cl-divi-rebuild .br-team-grid > .br-team-card:nth-child(1) { --delay: 0; }
body.cl-divi-rebuild .br-team-grid > .br-team-card:nth-child(2) { --delay: 1; }

/* Divi gibt Listen in Textmodulen einen unteren Innenabstand – im Original nicht. */
body.cl-divi-rebuild .br-price-card ul.br-price-features, body.cl-divi-rebuild .br-split-content ul.br-check-list { padding-bottom: 0; }

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

/* --- Responsive wie beratung.css ---------------------------------------- */
@media (max-width: 960px) {
  body.cl-divi-rebuild .et_pb_column.br-services-grid, body.cl-divi-rebuild .et_pb_column.br-steps { grid-template-columns: repeat(2, 1fr); }
  body.cl-divi-rebuild .et_pb_column.br-pricing-grid { grid-template-columns: 1fr; max-width: 440px; }
  body.cl-divi-rebuild .br-split.et_pb_row { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
  body.cl-divi-rebuild .br-hero.et_pb_section { padding: 120px 0 60px; min-height: auto; }
  body.cl-divi-rebuild .br-section.et_pb_section { padding: 60px 0; }
  body.cl-divi-rebuild .et_pb_column.br-stats { grid-template-columns: 1fr; max-width: 360px; }
  body.cl-divi-rebuild .et_pb_column.br-services-grid { grid-template-columns: 1fr; }
  body.cl-divi-rebuild .et_pb_column.br-steps { grid-template-columns: 1fr; max-width: 400px; }
  body.cl-divi-rebuild .et_pb_column.br-team-grid { grid-template-columns: 1fr; max-width: 480px; }
}

/* --- Listen des Designs: eigene Marker, kein Divi-Punkt ---------------- */
body.cl-divi-rebuild .br-check-list, body.cl-divi-rebuild .br-price-features { list-style: none; padding-left: 0; }
body.cl-divi-rebuild .br-check-list li, body.cl-divi-rebuild .br-price-features li { list-style: none; }
