/* ============================================================
   MEKA <-> Divi Bruecke
   Divi legt eigene Container um jedes Modul. Diese Datei mappt
   sie auf das Original-Layout, damit die Seite identisch aussieht.
   NIEMALS overflow:hidden auf html/body -> killt position:sticky
   der Kamerafahrten.
   ============================================================ */

/* Divi-Standardkopf und -fuss aus, MEKA bringt eigene mit */
#main-header, #top-header, #et-secondary-nav, #main-footer, .et_pb_scroll_top { display:none !important; }
#page-container { padding-top:0 !important; margin-top:0 !important; }
#et-main-area, #main-content { overflow:visible !important; }

/* Divi-Container neutralisieren: Sektionen und Reihen randlos */
.et_pb_section { padding:0 !important; background-color:transparent; }
.et_pb_row { width:100% !important; max-width:100% !important; padding:0 !important; margin:0 auto !important; }
.et_pb_column { margin-right:0 !important; width:100% !important; float:none; }
.et_pb_module { margin-bottom:0 !important; }
.et_pb_text_inner > *:last-child { margin-bottom:0; }

/* Innenabstand kommt wieder ueber die MEKA-Klassen */
.et_pb_section.section-pad { padding:clamp(72px,11vw,140px) 0 !important; }
.et_pb_row.wrap, .et_pb_section.wrap > .et_pb_row {
  max-width:var(--max) !important; padding:0 24px !important;
}

/* ---- Hero ---- */
.et_pb_section.meka-hero {
  min-height:90vh; display:flex; align-items:center;
  background-size:cover; background-position:center; position:relative;
}
.et_pb_section.meka-hero::before {
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(90deg,rgba(14,17,22,.86) 0%,rgba(14,17,22,.62) 46%,rgba(14,17,22,.18) 100%);
}
.et_pb_section.meka-hero > .et_pb_row {
  position:relative; z-index:2;
  max-width:var(--max) !important; padding:0 24px !important;
}
.meka-hero .meka-h1 { margin-bottom:14px; }
.meka-hero .meka-claim { margin-bottom:16px; }
.meka-hero .meka-lead { margin-bottom:30px; max-width:56ch; }
.meka-hero .et_pb_text_inner p.lead { color:rgba(255,255,255,.82); }

/* ---- Leistungsraster: Divi-Spalten werden die Karten ---- */
.et_pb_row.svc-grid {
  display:grid !important; grid-template-columns:repeat(6,1fr); gap:18px;
  max-width:var(--max) !important; padding:0 24px !important;
}
.et_pb_row.svc-grid > .et_pb_column.svc-card {
  grid-column:span 2; width:auto !important; display:flex; flex-direction:column;
}
.et_pb_row.svc-grid > .et_pb_column.svc-card.wide { grid-column:span 4; flex-direction:row; }
.svc-card .svc-media { margin:0 !important; }
.svc-card .svc-media img { width:100%; height:100%; object-fit:cover; display:block; }
.svc-card .svc-body { padding:26px 24px 28px; }
@media (max-width:1100px){
  .et_pb_row.svc-grid { grid-template-columns:1fr 1fr; }
  .et_pb_row.svc-grid > .et_pb_column.svc-card,
  .et_pb_row.svc-grid > .et_pb_column.svc-card.wide { grid-column:span 1; flex-direction:column; }
}
@media (max-width:640px){ .et_pb_row.svc-grid { grid-template-columns:1fr; } }

/* ---- Warum MEKA: zwei echte Spalten ---- */
.et_pb_row.split { display:grid !important; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
  max-width:var(--max) !important; padding:0 24px !important; }
.et_pb_row.split > .et_pb_column { width:auto !important; }
@media (max-width:880px){ .et_pb_row.split { grid-template-columns:1fr; gap:40px; } }

/* ---- FAQ: Divi-Accordion im MEKA-Look ---- */
.meka-faq .et_pb_accordion .et_pb_toggle {
  background:transparent; border:none; border-bottom:1px solid var(--line);
  padding:24px 50px 24px 0; margin:0;
}
.meka-faq .et_pb_toggle_title {
  font-family:var(--font-display,var(--font)); font-size:1.18rem; font-weight:700;
  letter-spacing:-.02em; color:var(--ink); padding:0;
}
.meka-faq .et_pb_toggle_title:before { color:var(--green-700); right:6px; }
.meka-faq .et_pb_toggle_content { padding:0 40px 26px 0; color:var(--slate); font-size:16px; }
.meka-faq .et_pb_accordion { max-width:840px; margin:0 auto; }

/* ---- Kamerafahrten: Divi darf sie nicht beschneiden ---- */
.et_pb_section.meka-scrub-wrap, .et_pb_section.meka-passthrough,
.meka-scrub-wrap .et_pb_row, .meka-passthrough .et_pb_row,
.meka-scrub-wrap .et_pb_column, .meka-passthrough .et_pb_column,
.meka-scrub-wrap .et_pb_code, .meka-passthrough .et_pb_code,
.meka-scrub-wrap .et_pb_code_inner, .meka-passthrough .et_pb_code_inner {
  overflow:visible !important; transform:none !important; position:static;
}
.meka-scrub-wrap .et_pb_code_inner > .scrub, .meka-passthrough .et_pb_code_inner > .scrub { position:relative; }

/* Chrome-Leisten (Chat, WhatsApp, nach oben) frei stellen */
.meka-chrome .et_pb_row, .meka-chrome .et_pb_column,
.meka-chrome .et_pb_code, .meka-chrome .et_pb_code_inner { overflow:visible !important; position:static; }

/* Hero-Rhythmus exakt wie im Original */
.meka-hero .meka-h1 .et_pb_text_inner h1.display { margin:0; }
.meka-hero .meka-claim { margin-top:18px !important; }
.meka-hero .meka-lead  { margin-top:18px !important; }
.meka-hero .meka-herocta { margin-top:34px !important; }

/* Trust-Leiste: Icons wieder auf Linie */
.trustbar .trust-row { display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.trustbar .trust-item { display:flex; align-items:center; gap:10px; }

/* Divi nummeriert <ol> automatisch - die Zeitachse hat eigene Punkte */
.stufen, .et_pb_text_inner ol.stufen { list-style:none !important; padding-left:0 !important; margin-left:0 !important; }
.stufen > li, .et_pb_text_inner ol.stufen > li { list-style:none !important; }
.stufen > li::marker { content:none !important; }
/* Divi-Listenabstaende in MEKA-Bloecken neutralisieren */
.et_pb_text_inner ul:not(.svc-list), .et_pb_text_inner ol:not(.stufen) { padding-left:1.2em; }
