/* ===========================================================================
   moa-ab – Designsystem für die Ablauf-Seite
   Eigenes Namespace .ab-sec, damit nichts ins Theme ausstrahlt.
   Farben aus der moarepair-Palette (Grün), Akzent Limette sparsam.
   =========================================================================== */
:root{
  --ab-green:#2e9e5b; --ab-deep:#1f7a44; --ab-soft:#eaf6ef; --ab-lime:#b9f24d;
  --ab-ink:#0d1713; --ab-body:#44544c; --ab-line:#e1e8e3;
  --ab-paper:#f3f7f4; --ab-night:#0b1510; --ab-night-2:#122019;
  --ab-warn:#e0533d; --ab-amber:#c98a00;
  --ab-r:18px;
}
.ab-sec{font-family:inherit;color:var(--ab-ink);line-height:1.6;}
/* Inhalt bleibt mittig, der Hintergrund laeuft bis zum Rand. */
.ab-sec > .elementor-container{max-width:1240px;margin-inline:auto;}
.ab-sec *,.ab-sec *::before,.ab-sec *::after{box-sizing:border-box;}
.ab-sec img,.ab-sec svg{max-width:100%;}
.ab-sec p{margin:0 0 1em;}
.ab-sec ul{margin:0;padding:0;list-style:none;}
.ab-sec a{color:var(--ab-deep);text-decoration:underline;text-underline-offset:2px;}
.ab-sec a:hover{color:var(--ab-green);}

/* --- Sektionen ----------------------------------------------------------- */
.ab-sec{padding:84px 24px;border-radius:0;margin:0;scroll-margin-top:90px;}
.ab-sec--paper{background:var(--ab-paper);}
.ab-sec--white{background:#fff;}
.ab-sec--dark{background:var(--ab-night);color:#eaf2ed;position:relative;overflow:hidden;}
.ab-sec--paper + .ab-sec--paper,.ab-sec--white + .ab-sec--white,
.ab-sec--dark + .ab-sec--dark{padding-top:0;}
.ab-sec--dark::after{content:"";position:absolute;inset:auto -10% -40% 40%;height:420px;
  background:radial-gradient(circle at 50% 50%, rgba(46,158,91,.30), transparent 68%);pointer-events:none;}
.ab-sec--dark > *{position:relative;z-index:1;}
.ab-sec--dark p{color:#b4c7bd;}
.ab-sec--dark a{color:var(--ab-lime);}

/* --- Eyebrow + Display-Headline ------------------------------------------ */
.ab-eyebrow{display:flex;align-items:center;gap:12px;font-size:.76rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:800;color:var(--ab-deep);margin:0 0 18px;}
.ab-eyebrow::before{content:"";width:34px;height:3px;border-radius:2px;background:var(--ab-green);}
.ab-sec--dark .ab-eyebrow{color:var(--ab-lime);}
.ab-sec--dark .ab-eyebrow::before{background:var(--ab-lime);}

.ab-display{font-family:inherit;font-weight:900;letter-spacing:-.025em;line-height:.98;
  text-transform:uppercase;margin:0 0 .3em;color:var(--ab-ink);overflow-wrap:break-word;
  font-size:clamp(2rem,1.1rem + 3.6vw,3.6rem);}
/* fuer lange Komposita in einer schmalen Spalte */
.ab-display--long{font-size:clamp(1.8rem,.9rem + 2.6vw,2.7rem);letter-spacing:-.02em;}
.ab-sec--dark .ab-display{color:#fff;}
.ab-display .hl{color:var(--ab-green);display:block;}
.ab-sec--dark .ab-display .hl{color:#5fd68f;}
.ab-sub{font-size:1.06rem;color:var(--ab-body);max-width:46ch;margin:0;}
.ab-sec--dark .ab-sub{color:#b4c7bd;}

.ab-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:30px;align-items:end;margin:0 0 44px;}

/* --- Buttons ------------------------------------------------------------- */
.ab-btns{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;}
.ab-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ab-green);
  color:#fff!important;text-decoration:none!important;padding:13px 24px;border-radius:999px;
  font-weight:700;font-size:.97rem;line-height:1.2;border:2px solid var(--ab-green);
  transition:transform .15s ease,background .15s ease,border-color .15s ease;}
.ab-btn:hover{transform:translateY(-2px);background:var(--ab-deep);border-color:var(--ab-deep);}
.ab-btn--ghost{background:transparent;color:var(--ab-ink)!important;border-color:var(--ab-ink);}
.ab-btn--ghost:hover{background:var(--ab-ink);color:#fff!important;}
.ab-sec--dark .ab-btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.5);}
.ab-sec--dark .ab-btn--ghost:hover{background:#fff;color:var(--ab-ink)!important;border-color:#fff;}
.ab-btn--lime{background:var(--ab-lime);border-color:var(--ab-lime);color:var(--ab-ink)!important;}
.ab-btn--lime:hover{background:#a8e633;border-color:#a8e633;color:var(--ab-ink)!important;}

/* --- Timeline ------------------------------------------------------------ */
.ab-track{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:stretch;}
.ab-step{position:relative;display:flex;flex-direction:column;}
.ab-node{display:flex;align-items:center;gap:0;margin:0 0 18px;}
.ab-num{flex:0 0 auto;width:58px;height:58px;border-radius:50%;background:var(--ab-ink);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.02rem;
  box-shadow:0 0 0 7px rgba(46,158,91,.12);}
.ab-step:last-child .ab-num{background:var(--ab-green);box-shadow:0 0 0 7px rgba(46,158,91,.22);}
.ab-rail{flex:1 1 auto;height:2px;background:var(--ab-line);margin-left:4px;}
.ab-step:last-child .ab-rail{background:transparent;}

.ab-card{background:#fff;border:1px solid var(--ab-line);border-radius:var(--ab-r);
  padding:22px 20px;flex:1 1 auto;display:flex;flex-direction:column;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.ab-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(13,23,19,.08);
  border-color:rgba(46,158,91,.45);}
.ab-tile{width:46px;height:46px;border-radius:13px;background:var(--ab-soft);color:var(--ab-deep);
  display:flex;align-items:center;justify-content:center;margin:0 0 15px;}
.ab-tile svg{width:23px;height:23px;}
.ab-card h3{font-family:inherit;font-size:1.06rem;font-weight:800;line-height:1.3;
  margin:0 0 .45em;color:var(--ab-ink);}
.ab-card p{font-size:.92rem;color:var(--ab-body);margin:0 0 1em;flex:1 1 auto;}
.ab-tag{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;letter-spacing:.09em;
  text-transform:uppercase;font-weight:800;color:var(--ab-deep);margin-top:auto;}
.ab-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ab-lime);
  box-shadow:0 0 0 3px rgba(185,242,77,.3);}

/* --- Split / Pfade ------------------------------------------------------- */
.ab-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:38px;align-items:start;}
.ab-path{display:flex;gap:16px;background:var(--ab-night-2);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--ab-r);padding:20px;margin:0 0 14px;}
.ab-path--lead{border-color:rgba(95,214,143,.5);background:rgba(46,158,91,.14);}
.ab-path-ico{flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:rgba(95,214,143,.16);
  color:#5fd68f;display:flex;align-items:center;justify-content:center;}
.ab-path-ico svg{width:23px;height:23px;}
.ab-path h3{font-family:inherit;font-size:1.06rem;font-weight:800;margin:0 0 .5em;color:#fff;}
.ab-path ul li{font-size:.9rem;color:#b4c7bd;padding-left:20px;position:relative;margin-bottom:6px;}
.ab-path ul li::before{content:"";position:absolute;left:0;top:.52em;width:9px;height:9px;
  border-radius:50%;border:2px solid #5fd68f;}
.ab-merge{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(185,242,77,.1);
  border:1px solid rgba(185,242,77,.35);border-radius:var(--ab-r);padding:16px 20px;margin-top:4px;}
.ab-merge strong{color:var(--ab-lime);font-size:.95rem;}
.ab-merge span{font-size:.9rem;color:#b4c7bd;}

/* --- Chips --------------------------------------------------------------- */
.ab-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:0 0 18px;}
.ab-chip{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid var(--ab-line);
  border-radius:13px;padding:14px 16px;font-size:.93rem;color:var(--ab-ink);}
.ab-sec--dark .ab-chip{background:var(--ab-night-2);border-color:rgba(255,255,255,.1);color:#eaf2ed;}
.ab-chip-ico{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:.78rem;font-weight:900;margin-top:1px;}
.ab-chip--do .ab-chip-ico{background:var(--ab-soft);color:var(--ab-deep);}
.ab-sec--dark .ab-chip--do .ab-chip-ico{background:rgba(95,214,143,.18);color:#5fd68f;}
.ab-chip--no .ab-chip-ico{background:#fdeeec;color:var(--ab-warn);}

/* --- Fälle --------------------------------------------------------------- */
.ab-case{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;
  background:#fff;border:1px solid var(--ab-line);border-radius:var(--ab-r);padding:18px 20px;margin:0 0 12px;}
.ab-case-ico{width:52px;height:52px;border-radius:14px;background:var(--ab-soft);color:var(--ab-deep);
  display:flex;align-items:center;justify-content:center;}
.ab-case-ico svg{width:25px;height:25px;}
.ab-case--warn .ab-case-ico{background:#fdf8ea;color:var(--ab-amber);}
.ab-case--stop .ab-case-ico{background:#fdeeec;color:var(--ab-warn);}
.ab-case-k{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;
  color:var(--ab-deep);display:block;margin-bottom:3px;}
.ab-case h3{font-family:inherit;font-size:1.05rem;font-weight:800;margin:0 0 .3em;color:var(--ab-ink);}
.ab-case p{font-size:.9rem;color:var(--ab-body);margin:0;}
.ab-pill{display:inline-flex;align-items:center;gap:7px;background:var(--ab-lime);color:var(--ab-ink);
  border-radius:999px;padding:8px 15px;font-size:.78rem;font-weight:800;white-space:nowrap;}
.ab-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ab-ink);}

.ab-promise{background:var(--ab-night);color:#fff;border-radius:var(--ab-r);padding:26px 28px;margin:22px 0 0;}
.ab-promise .ab-case-k{color:var(--ab-lime);}
.ab-promise strong{display:block;font-size:1.14rem;font-weight:800;line-height:1.4;color:#fff;}
.ab-mini{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 0;}
.ab-mini-s{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);
  border-radius:999px;padding:9px 17px;}
.ab-mini-n{width:25px;height:25px;border-radius:50%;background:var(--ab-lime);color:var(--ab-ink);
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;}
.ab-mini-s span{font-size:.86rem;color:#eaf2ed;font-weight:600;}
.ab-mini-arrow{color:#5fd68f;font-size:1.05rem;}

/* --- Stats --------------------------------------------------------------- */
.ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0 0;}
.ab-stat{background:#fff;border:1px solid var(--ab-line);border-radius:var(--ab-r);
  padding:22px 18px;text-align:center;}
.ab-sec--dark .ab-stat{background:var(--ab-night-2);border-color:rgba(255,255,255,.1);}
.ab-stat b{display:block;font-size:1.82rem;font-weight:900;color:var(--ab-deep);line-height:1.05;
  margin-bottom:5px;letter-spacing:-.02em;}
.ab-sec--dark .ab-stat b{color:#5fd68f;}
.ab-stat span{font-size:.83rem;color:var(--ab-body);line-height:1.4;}
.ab-sec--dark .ab-stat span{color:#b4c7bd;}

/* --- Tabelle ------------------------------------------------------------- */
.ab-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--ab-r);
  border:1px solid var(--ab-line);background:#fff;}
.ab-tablewrap table{width:100%;border-collapse:collapse!important;font-size:.95rem;min-width:560px;
  display:table!important;margin:0!important;}
.ab-tablewrap thead{display:table-header-group!important;}
.ab-tablewrap tbody{display:table-row-group!important;}
.ab-tablewrap tr{display:table-row!important;}
.ab-tablewrap th,.ab-tablewrap td{display:table-cell!important;text-align:left;
  padding:15px 18px!important;border:0!important;border-bottom:1px solid var(--ab-line)!important;vertical-align:top;}
.ab-tablewrap thead th{background:var(--ab-ink)!important;color:#fff;font-weight:800;font-size:.8rem;
  letter-spacing:.07em;text-transform:uppercase;}
.ab-tablewrap tbody th{font-weight:700;color:var(--ab-ink);}
.ab-tablewrap tbody tr:last-child th,.ab-tablewrap tbody tr:last-child td{border-bottom:0!important;}
.ab-tablewrap tbody tr:nth-child(even) th,.ab-tablewrap tbody tr:nth-child(even) td{background:#fafcfb;}
.ab-price{color:var(--ab-deep);font-weight:800;white-space:nowrap;}

/* --- FAQ ----------------------------------------------------------------- */
/* FAQ: Grundfarben hell. Die dunklen Werte gelten nur in dunklen Sektionen. */
.ab-faq{border-top:1px solid var(--ab-line);}
.ab-faq details{border-bottom:1px solid var(--ab-line);}
.ab-faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 42px;
  gap:14px;align-items:center;padding:19px 0;}
.ab-faq summary::-webkit-details-marker{display:none;}
.ab-faq-n{font-size:.76rem;font-weight:800;color:var(--ab-deep);letter-spacing:.06em;}
.ab-faq h3,.ab-faq .ab-faq-q{font-family:inherit;font-size:1.04rem;font-weight:800;
  margin:0;color:var(--ab-ink);line-height:1.35;}
.ab-faq-t{width:42px;height:42px;border-radius:50%;background:var(--ab-soft);color:var(--ab-deep);
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:400;
  transition:background .15s ease,color .15s ease,transform .2s ease;}
.ab-faq summary:hover .ab-faq-t{background:var(--ab-green);color:#fff;}
.ab-faq details[open] .ab-faq-t{background:var(--ab-green);color:#fff;transform:rotate(45deg);}
.ab-faq-a{padding:0 56px 22px;color:var(--ab-body);font-size:.95rem;}
.ab-faq-a p:last-child{margin-bottom:0;}

.ab-sec--dark .ab-faq{border-top-color:rgba(255,255,255,.12);}
.ab-sec--dark .ab-faq details{border-bottom-color:rgba(255,255,255,.12);}
.ab-sec--dark .ab-faq-n{color:#5fd68f;}
.ab-sec--dark .ab-faq h3,.ab-sec--dark .ab-faq .ab-faq-q{color:#fff;}
.ab-sec--dark .ab-faq-t{background:rgba(95,214,143,.14);color:#5fd68f;}
.ab-sec--dark .ab-faq-a{color:#b4c7bd;}
.ab-ask{background:var(--ab-night-2);border-left:4px solid var(--ab-lime);border-radius:0 14px 14px 0;
  padding:22px 24px;margin:26px 0 0;}
.ab-ask strong{display:block;color:#fff;font-size:1.06rem;margin-bottom:.35em;}

/* --- Tipp / Hinweis ------------------------------------------------------ */
.ab-tip{border-left:4px solid var(--ab-lime);background:rgba(185,242,77,.1);
  border-radius:0 14px 14px 0;padding:18px 22px;margin:22px 0 0;font-size:.95rem;}
.ab-sec--white .ab-tip,.ab-sec--paper .ab-tip{background:#f7fcef;color:var(--ab-ink);}
.ab-tip b{color:var(--ab-deep);}
.ab-sec--dark .ab-tip b{color:var(--ab-lime);}

/* --- Kontakt ------------------------------------------------------------- */
.ab-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:34px;align-items:center;}
.ab-rows{display:grid;gap:9px;margin:18px 0 0;font-size:.95rem;color:#b4c7bd;}
.ab-rows span{color:#5fd68f;font-weight:700;}

/* --- Verwandte Seiten ---------------------------------------------------- */
.ab-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 0;}
.ab-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;
  border:1px solid var(--ab-line);border-radius:14px;padding:16px 20px;text-decoration:none!important;
  font-weight:700;color:var(--ab-ink)!important;transition:border-color .15s ease,transform .15s ease;}
.ab-link:hover{border-color:var(--ab-green);transform:translateY(-2px);color:var(--ab-deep)!important;}
.ab-link::after{content:"\2192";color:var(--ab-green);font-weight:900;}

/* --- Varianten (Einsendeseite) ------------------------------------------- */
.ab-track--4{grid-template-columns:repeat(4,1fr);}
.ab-track--3{grid-template-columns:repeat(3,1fr);}
.ab-quote{margin:26px 0 0;padding:0 0 0 18px;border-left:4px solid var(--ab-lime);
  font-size:1.15rem;font-weight:800;font-style:italic;color:var(--ab-ink);}
.ab-sec--dark .ab-quote{color:#fff;}
.ab-figure{margin:0;border-radius:var(--ab-r);overflow:hidden;background:var(--ab-soft);}
.ab-figure img{display:block;width:100%;height:auto;}
.ab-logo{max-width:210px;height:auto;display:block;margin:0 0 20px;}
.ab-prose > h2:first-child,.ab-prose > h3:first-child{margin-top:0;}
.ab-prose h2{font-family:inherit;font-size:clamp(1.45rem,1.1rem + 1.1vw,2rem);font-weight:800;
  line-height:1.22;margin:1.5em 0 .5em;color:var(--ab-ink);}
.ab-prose h3{font-family:inherit;font-size:1.22rem;font-weight:800;margin:1.4em 0 .45em;
  color:var(--ab-ink);}
.ab-sec--dark .ab-prose h2,.ab-sec--dark .ab-prose h3{color:#fff;}
.ab-cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;}
.ab-head--solo{grid-template-columns:1fr;margin-bottom:34px;}
.ab-head--top{align-items:start;}
.ab-head--top .ab-prose > p:first-child{margin-top:0;}
.ab-kicker{font-size:1rem;font-weight:700;color:var(--ab-deep);margin:0 0 14px;}
.ab-sec--dark .ab-kicker{color:#7fe3ac;}
.ab-sec--dark .ab-card{background:var(--ab-night-2);border-color:rgba(255,255,255,.1);}
.ab-sec--dark .ab-card h3{color:#fff;}
.ab-sec--dark .ab-card p{color:#b4c7bd;}
.ab-sec--dark .ab-tile{background:rgba(95,214,143,.14);color:#5fd68f;}
.ab-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ab-tiles2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.ab-count{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:13px;background:var(--ab-ink);color:#fff;font-weight:900;font-size:.92rem;margin:0 0 15px;}
.ab-badges{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0;}
.ab-badge{background:#fff;border-radius:12px;padding:5px 15px;display:inline-flex;
  box-shadow:0 7px 35px rgba(0,0,0,.11);}
.ab-badge img{display:block;max-width:150px;height:auto;border-radius:10px;}
.ab-inline{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 15px;
  font-weight:700;font-size:.85rem;text-decoration:none!important;color:#fff!important;
  background:var(--ab-green);margin:6px 5px 0 0;}
.ab-inline:hover{background:var(--ab-deep);color:#fff!important;}
.ab-inline--wa{background:#25d366;}
.ab-inline--wa:hover{background:#1ebe5c;}
.ab-mascot{display:block;max-width:250px;height:auto;margin:0 0 0 auto;}
.ab-formwrap{margin:0;}

/* --- Uebergabe an den Hersteller-Block ----------------------------------- */
.ab-handoff{display:flex;align-items:center;gap:10px;margin:26px 0 0;padding:16px 20px;
  border-radius:14px;background:var(--ab-soft);border:1px solid rgba(46,158,91,.28);
  font-weight:700;color:var(--ab-ink);font-size:.98rem;}
.ab-handoff::before{content:"";flex:0 0 auto;width:26px;height:26px;border-radius:50%;
  background:var(--ab-green);
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M6 13l6 6 6-6"/></svg>') center/16px no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M6 13l6 6 6-6"/></svg>') center/16px no-repeat;}

/* --- Optik ohne Ueberschriften-Ebene ------------------------------------- */
.ab-card .ab-ct{font-family:inherit;font-size:1.06rem;font-weight:800;line-height:1.3;
  margin:0 0 .45em;color:var(--ab-ink);}
.ab-sec--dark .ab-card .ab-ct{color:#fff;}
.ab-faq-q{font-family:inherit;font-size:1rem;font-weight:800;line-height:1.35;
  margin:0;color:inherit;}

/* --- Inhaltsverzeichnis -------------------------------------------------- */
.ab-toc{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px;}
.ab-toc a{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ab-line);
  border-radius:999px;padding:9px 17px;font-size:.88rem;font-weight:700;color:var(--ab-ink)!important;
  text-decoration:none!important;transition:border-color .15s ease,background .15s ease;}
.ab-toc a:hover{border-color:var(--ab-green);background:var(--ab-soft);}
.ab-toc a b{color:var(--ab-green);font-size:.76rem;}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width:1080px){
  .ab-track{grid-template-columns:repeat(2,1fr);gap:22px;}
  .ab-rail{display:none;}
  .ab-stats{grid-template-columns:repeat(2,1fr);}
  .ab-links{grid-template-columns:1fr;}
  .ab-grid3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:1080px){
  .ab-sec{padding:68px 22px;}
}
@media (max-width:860px){
  .ab-sec{padding:54px 18px;}
  .ab-head{grid-template-columns:1fr;gap:16px;align-items:start;margin-bottom:32px;}
  .ab-split,.ab-cta{grid-template-columns:1fr;gap:26px;}
  .ab-case{grid-template-columns:46px minmax(0,1fr);row-gap:12px;}
  .ab-case .ab-pill{grid-column:1 / -1;justify-self:start;}
  .ab-tiles2{grid-template-columns:1fr;}
  .ab-cols2{grid-template-columns:1fr;gap:4px;}
  .ab-mascot{margin:0 auto;}
}
@media (max-width:560px){
  .ab-track{grid-template-columns:1fr;}
  .ab-grid3{grid-template-columns:1fr;}
  .ab-chips{grid-template-columns:1fr;}
  .ab-stats{grid-template-columns:1fr;}
  .ab-btn{flex:1 1 100%;justify-content:center;}
  .ab-faq summary{grid-template-columns:34px 1fr 36px;gap:10px;}
  .ab-faq-a{padding-left:44px;padding-right:0;}
  .ab-faq-t{width:36px;height:36px;}
}
@media (prefers-reduced-motion:reduce){
  .ab-sec *{transition:none!important;}
}
@media print{ .ab-toc,.ab-btns,.ab-cta{display:none;} }


/* --- Zahlenkarte (ersetzt die Elementor-Counter) -------------------------- */
.ab-numbers{background:#fff;border-radius:22px;padding:30px 20px;margin:0;
  box-shadow:0 18px 44px rgba(13,23,19,.10);border-bottom:4px solid var(--ab-green);
  display:grid;grid-template-columns:repeat(4,1fr);}
.ab-numbers div{text-align:center;padding:4px 14px;}
.ab-numbers div + div{border-left:1px solid var(--ab-line);}
.ab-numbers b{display:block;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.1rem);font-weight:900;
  color:var(--ab-ink);line-height:1.1;letter-spacing:-.02em;}
.ab-numbers span{display:block;margin-top:6px;font-size:.92rem;color:var(--ab-body);}
@media (max-width:760px){
  .ab-numbers{grid-template-columns:repeat(2,1fr);row-gap:22px;}
  .ab-numbers div:nth-child(odd) + div{border-left:1px solid var(--ab-line);}
  .ab-numbers div:nth-child(3){border-left:0;}
}

/* --- Einblenden beim Scrollen -------------------------------------------- */
/* Die Startwerte setzt erst das Skript ueber .moa-rev-on. Ohne JavaScript
   bleibt alles sichtbar - wichtig, damit nichts versteckt ausgeliefert wird. */
.ab-rev-on [data-rev]{opacity:0;transform:translateY(20px);
  transition:opacity .62s ease,transform .62s cubic-bezier(.22,.8,.3,1);}
.ab-rev-on [data-rev].is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .ab-rev-on [data-rev]{opacity:1!important;transform:none!important;transition:none!important;}
}


/* ===========================================================================
   Elementor-Widgets
   Eine CSS-Klasse landet bei Elementor am Wrapper-DIV, nicht am <h2> oder <p>
   darin. Diese Regeln greifen deshalb beides ab: das Element selbst und den
   Wrapper mit dem Element darin.
   =========================================================================== */
.ab-display .elementor-heading-title{font-family:inherit;font-weight:inherit;
  letter-spacing:inherit;line-height:inherit;text-transform:inherit;
  font-size:inherit;color:inherit;margin:0;}
.ab-eyebrow .elementor-heading-title{font:inherit;color:inherit;margin:0;
  letter-spacing:inherit;text-transform:inherit;}
.ab-sub .elementor-heading-title{font:inherit;color:inherit;margin:0;}
.ab-quote .elementor-widget-container > blockquote,
.ab-sec blockquote.ab-quote{margin:0;}

/* Buttons */
.ab-w-btn .elementor-button{display:inline-flex;align-items:center;gap:8px;
  background:var(--ab-green);color:#fff!important;text-decoration:none!important;
  padding:13px 24px;border-radius:999px;font-weight:700;font-size:.97rem;
  line-height:1.2;border:2px solid var(--ab-green);
  transition:transform .15s ease,background .15s ease,border-color .15s ease;}
.ab-w-btn .elementor-button:hover{transform:translateY(-2px);background:var(--ab-deep);
  border-color:var(--ab-deep);}
.ab-w-btn--lime .elementor-button{background:var(--ab-lime);border-color:var(--ab-lime);
  color:var(--ab-ink)!important;}
.ab-w-btn--lime .elementor-button:hover{background:#a8e339;border-color:#a8e339;
  color:var(--ab-ink)!important;}
.ab-w-btn--ghost .elementor-button{background:transparent;color:var(--ab-ink)!important;
  border-color:var(--ab-line);}
.ab-w-btn--ghost .elementor-button:hover{background:var(--ab-ink);color:#fff!important;
  border-color:var(--ab-ink);}
.ab-sec--dark .ab-w-btn--ghost .elementor-button,
.ab-sec--hero .ab-w-btn--ghost .elementor-button{color:#fff!important;
  border-color:rgba(255,255,255,.5);}
.ab-sec--dark .ab-w-btn--ghost .elementor-button:hover,
.ab-sec--hero .ab-w-btn--ghost .elementor-button:hover{background:#fff;
  color:var(--ab-ink)!important;border-color:#fff;}

/* Bilder */
.ab-w-figure img{border-radius:var(--ab-r);display:block;}
.ab-w-logo img{max-width:210px;height:auto;}
.ab-w-mascot img{max-width:250px;height:auto;margin-left:auto;display:block;}

/* Aufzaehlung mit Haken */
.ab-w-list .elementor-icon-list-items{display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ab-w-list .elementor-icon-list-item{background:#fff;border:1px solid var(--ab-line);
  border-radius:14px;padding:14px 16px;align-items:flex-start;}
.ab-w-list .elementor-icon-list-icon{color:var(--ab-green);margin-top:3px;}
.ab-w-list .elementor-icon-list-text{color:var(--ab-body);font-size:.94rem;line-height:1.55;}
.ab-w-list .elementor-icon-list-text b{color:var(--ab-ink);}
@media (max-width:860px){
  .ab-w-list .elementor-icon-list-items{grid-template-columns:1fr;}
}

/* Elementor-Spalten als Karte */
.ab-col-card{background:#fff;border:1px solid var(--ab-line);border-radius:var(--ab-r);
  padding:26px 24px;}
.ab-sec--dark .ab-col-card{background:var(--ab-night-2);border-color:rgba(255,255,255,.1);}

/* Abstaende zwischen den Widgets einer Sektion */
.ab-sec .elementor-widget:not(:last-child){margin-bottom:18px;}
.ab-sec .ab-eyebrow.elementor-widget:not(:last-child){margin-bottom:12px;}

/* Fehlende Hilfsklassen fuer die Startseite */
.ab-sec--tight{padding-top:0;padding-bottom:26px;}
.ab-sec--top .elementor-column{align-items:flex-start;}
.ab-h2,.ab-h2 .elementor-heading-title{font-family:inherit;
  font-size:clamp(1.45rem,1.1rem + 1.1vw,2rem);font-weight:800;line-height:1.22;
  margin:0;color:var(--ab-ink);}
.ab-h3,.ab-h3 .elementor-heading-title{font-family:inherit;font-size:1.22rem;
  font-weight:800;line-height:1.3;margin:0;color:var(--ab-ink);}
.ab-sec--dark .ab-h2 .elementor-heading-title,
.ab-sec--dark .ab-h3 .elementor-heading-title{color:#fff;}
.ab-prose > *:last-child{margin-bottom:0;}

/* Buttons nebeneinander statt untereinander */
.ab-sec .ab-w-btn{width:auto!important;display:inline-block;vertical-align:top;
  margin:0 10px 10px 0;}
.ab-sec .ab-w-btn .elementor-widget-container{display:inline-block;}


/* --- Zahlenkarte ueberlappt das Band darueber ---------------------------- */
.ab-sec--lift{padding-top:0;padding-bottom:40px;}
.ab-sec--lift .ab-numbers{margin-top:-66px;position:relative;z-index:3;}
@media (max-width:760px){ .ab-sec--lift .ab-numbers{margin-top:-40px;} }

/* --- Hover wie auf den Leistungskacheln ---------------------------------- */
.ab-w-list .elementor-icon-list-item{transition:border-color .16s ease,transform .16s ease,
  box-shadow .16s ease;}
.ab-w-list .elementor-icon-list-item:hover{border-color:var(--ab-green);
  transform:translateY(-2px);box-shadow:0 12px 26px rgba(13,23,19,.07);}
.ab-col-card{transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;}
.ab-col-card:hover{border-color:rgba(46,158,91,.45);transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(13,23,19,.08);}

/* Icon-Kachel auf den Spalten-Karten, ohne zusaetzliches Widget */
.ab-col-card--icon{position:relative;padding-top:92px;}
.ab-col-card--icon::before{content:"";position:absolute;top:26px;left:24px;
  width:46px;height:46px;border-radius:13px;background:var(--ab-soft);}
.ab-col-card--icon::after{content:"";position:absolute;top:37px;left:35px;
  width:24px;height:24px;background:var(--ab-deep);
  -webkit-mask-size:24px;mask-size:24px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;}
.ab-col-card--lock::after{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="10.5" width="16" height="10.5" rx="2.4"/><path d="M8 10.5V7.2a4 4 0 0 1 8 0v3.3"/></svg>');
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="10.5" width="16" height="10.5" rx="2.4"/><path d="M8 10.5V7.2a4 4 0 0 1 8 0v3.3"/></svg>');}
.ab-col-card--bolt::after{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M13.2 2.5 4.6 13.4h6L10.4 21.5l8.9-11.1h-6.3z"/></svg>');
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M13.2 2.5 4.6 13.4h6L10.4 21.5l8.9-11.1h-6.3z"/></svg>');}

/* ===========================================================================
   Hero, grosse Schrittzahlen, Illustrationen
   =========================================================================== */
.ab-sec--hero{background:var(--ab-night);color:#eaf2ed;position:relative;overflow:hidden;}
.ab-sec--hero::before{content:"";position:absolute;inset:-20% -10% auto 40%;height:640px;
  background:radial-gradient(circle at 50% 50%,rgba(46,158,91,.38),transparent 66%);
  pointer-events:none;}
.ab-sec--hero > *{position:relative;z-index:1;}
.ab-sec--hero .ab-display,.ab-sec--hero .ab-display .elementor-heading-title{color:#fff;}
.ab-sec--hero .ab-display .hl{color:#5fd68f;}
.ab-sec--hero .ab-prose,.ab-sec--hero .ab-prose p{color:#b4c7bd;}
.ab-sec--hero .ab-prose b,.ab-sec--hero .ab-prose strong{color:#fff;}
.ab-sec--hero a{color:var(--ab-lime);}
.ab-sec--hero .ab-quote{color:#fff;}
.ab-sec--hero .elementor-column{align-items:center;}
.ab-w-figure--glow{position:relative;}
.ab-w-figure--glow::before{content:"";position:absolute;inset:-14%;border-radius:50%;
  background:radial-gradient(circle,rgba(95,214,143,.30),transparent 68%);pointer-events:none;}
.ab-w-figure--glow img{position:relative;border-radius:24px;
  box-shadow:0 30px 70px rgba(0,0,0,.45);}

/* Grosse Geister-Ziffern wie auf der Referenz */
.ab-track--big{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;}
.ab-track--big .ab-bigstep{position:relative;padding-top:4px;}
.ab-track--big .ab-bignum{font-size:clamp(4.4rem,3rem + 6vw,8rem);font-weight:900;
  line-height:.85;letter-spacing:-.04em;color:rgba(255,255,255,.07);display:block;
  margin:0 0 -18px;}
.ab-sec--paper .ab-track--big .ab-bignum,.ab-sec--white .ab-track--big .ab-bignum{
  color:rgba(13,23,19,.07);}
.ab-track--big .ab-bigstep:last-child .ab-bignum{color:rgba(185,242,77,.22);}
.ab-track--big .ab-bigicon{width:44px;height:44px;border-radius:13px;
  background:rgba(95,214,143,.14);color:#5fd68f;display:flex;align-items:center;
  justify-content:center;margin:0 0 14px;position:relative;}
.ab-track--big .ab-bigicon svg{width:22px;height:22px;}
.ab-track--big .ab-ct{font-family:inherit;font-size:1.08rem;font-weight:800;
  margin:0 0 .4em;color:#fff;}
.ab-track--big p{font-size:.94rem;color:#b4c7bd;margin:0;}
.ab-sec--paper .ab-track--big .ab-ct,.ab-sec--white .ab-track--big .ab-ct{color:var(--ab-ink);}
.ab-sec--paper .ab-track--big p,.ab-sec--white .ab-track--big p{color:var(--ab-body);}
@media (max-width:860px){ .ab-track--big{grid-template-columns:1fr;gap:18px;} }

/* Illustrationen */
.ab-illu{width:100%;height:auto;display:block;margin:0;border-radius:20px;}
.ab-illu--inline{margin-top:26px;max-width:460px;}

/* Hero erbt die Dunkel-Regeln der uebrigen Bausteine */
.ab-sec--hero .ab-eyebrow{color:var(--ab-lime);}
.ab-sec--hero .ab-eyebrow::before{background:var(--ab-lime);}
.ab-sec--hero .ab-sub{color:#b4c7bd;}

/* Konfigurator im Hero: die weisse Karte darf etwas atmen */
.ab-sec--hero .ab-w-konfig{width:100%;}
.ab-sec--hero .ab-w-konfig .elementor-widget-container > *{max-width:100%;}
.ab-sec--hero .elementor-col-40{width:calc(40% - 15px);}
.ab-sec--hero .elementor-col-60{width:calc(60% - 15px);}

/* Hero braucht etwas Hoehe, damit Bild und Konfigurator nicht gequetscht wirken */
.ab-sec--hero{padding-top:64px;padding-bottom:64px;}
.ab-sec--hero .ab-w-figure--glow img{width:100%;}

/* Auf dem Handy steht der Konfigurator vor dem Bild (Elementor-Klasse) */
@media (max-width:767px){
  .ab-sec--hero .elementor-container{flex-direction:column-reverse;}
}

/* Explosionszeichnung im Hero */
.ab-illu--explo{max-width:420px;margin:0 auto;border-radius:0;
  filter:drop-shadow(0 24px 50px rgba(0,0,0,.45));}
@media (max-width:860px){ .ab-illu--explo{max-width:300px;} }

/* Hero mit Produktbild als Hintergrund */
.ab-sec--shot{min-height:600px;display:flex;align-items:center;
  background-color:#05100b;}
.ab-sec--shot > .elementor-container{width:100%;}
.ab-sec--shot .ab-w-konfig{max-width:580px;margin-left:auto;}
@media (max-width:1080px){
  .ab-sec--shot{min-height:0;background-position:center center;}
  .ab-sec--shot .ab-w-konfig{max-width:none;margin-left:0;}
}

/* Overlay des Hero-Hintergrunds (Elementor legt es als eigenes Element an) */
.ab-sec--shot .elementor-background-overlay{position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(5,16,11,.97) 0%,rgba(5,16,11,.86) 38%,rgba(5,16,11,.15) 80%);}
.ab-sec--shot > .elementor-container{position:relative;z-index:1;}
@media (max-width:1080px){
  /* Auf schmalen Schirmen bleibt oben ein Streifen Bild sichtbar, darunter
     wird es dunkel genug fuer die weisse Karte. */
  .ab-sec--shot{padding-top:150px!important;background-position:28% center!important;}
  .ab-sec--shot .elementor-background-overlay{
    background-image:linear-gradient(180deg,rgba(5,16,11,.25) 0%,rgba(5,16,11,.72) 26%,rgba(5,16,11,.95) 52%);}
}

/* Hero mit Text auf dem Bild */
.ab-hero-text{max-width:700px;}
.ab-sec--shot .ab-hero-sub{font-size:1.1rem;max-width:30em;}
.ab-trust{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:26px 0 0;}
.ab-trust-badge{display:inline-flex;background:#fff;border-radius:10px;padding:4px 12px;
  box-shadow:0 7px 28px rgba(0,0,0,.28);text-decoration:none!important;}
.ab-trust-badge img{display:block;max-width:122px;height:auto;}
.ab-trust-item{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;
  font-weight:700;color:#eaf2ed;}
.ab-trust-item svg{width:18px;height:18px;color:var(--ab-lime);flex:0 0 auto;}

/* Google-Bewertung in der Vertrauenszeile */
.ab-rating{display:inline-flex;align-items:center;gap:10px;text-decoration:none!important;
  color:#eaf2ed!important;}
.ab-rating .ab-g{width:30px;height:30px;flex:0 0 auto;}
.ab-rating > span{display:flex;align-items:center;gap:8px;}
.ab-rating b{font-size:1.05rem;font-weight:800;color:#fff;}
.ab-stars{display:inline-flex;gap:2px;}
.ab-stars svg{width:15px;height:15px;fill:#ffb703;}
.ab-rating-sub{font-size:.82rem;color:#b4c7bd;}
@media (max-width:560px){
  .ab-rating{flex-wrap:wrap;}
  .ab-rating-sub{width:100%;}
}

/* Hero: Bild rechts als eigenes Element */
.ab-sec--hero .elementor-column{align-items:center;}
.ab-w-shot img{border-radius:20px;display:block;width:100%;}
.ab-w-laden img{border-radius:var(--ab-r);display:block;width:100%;
  box-shadow:0 18px 40px rgba(13,23,19,.12);}
@media (max-width:860px){
  .ab-hero-text{max-width:none;}
}
