/* erp-software.org clean main-nav v2026 */
:root{
  /* Brand */
  --c-primary:#0649d1;
  --c-primary-dark:#0535a0;
  /* Text-Tokens (D4: 3 statt 7 Gray-Töne) */
  --c-text:#0c1628;          /* primary heading + body */
  --c-text-body:#1f2937;     /* body text default */
  --c-text-muted:#475569;    /* secondary, captions */
  --c-text-subtle:#94a3b8;   /* very low emphasis */
  /* Surfaces */
  --c-border:#e3eaf5;
  --c-bg:#fff;
  --c-bg-soft:#f7f9fc;
  --c-bg-alt:#fafbfd;
  /* Type-Scale (D5: 16px Base) */
  --fs-base:16px;
  --fs-sm:14px;
  --fs-lg:18px;
}

/* MAIN NAV — sticky on scroll */
.aa-main-nav{font-family:'Roboto',sans-serif;font-size:15px;background:#fff;border-bottom:1px solid #e5e5e5;position:sticky;top:0;z-index:99999;box-shadow:0 1px 3px rgba(0,0,0,.04);backdrop-filter:saturate(180%) blur(6px)}
@supports (backdrop-filter:blur(6px)){.aa-main-nav{background:rgba(255,255,255,.95)}}
.aa-main-nav *{box-sizing:border-box}
.aa-nav-toggle{display:none}
.aa-nav-list{list-style:none;margin:0 auto;padding:0 12px;display:flex;flex-wrap:nowrap;align-items:stretch;max-width:880px;white-space:nowrap;box-sizing:border-box}
.aa-nav-list > li{position:relative;flex:0 0 auto}
.aa-nav-list a{display:block;padding:16px 18px;color:var(--c-text);text-decoration:none;font-weight:500;line-height:1.2;white-space:nowrap;transition:background .15s,color .15s}
.aa-nav-list a:hover,.aa-nav-list a:focus,.aa-nav-list .has-sub:hover>a,.aa-nav-list .has-sub.aa-open>a{background:var(--c-bg-soft);color:#000;outline:0}
.aa-nav-list .has-sub > a::after{content:" \25BE";font-size:.75em;color:#888;margin-left:4px}
.aa-subnav{list-style:none;margin:0;padding:6px 0;position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e5e5;box-shadow:0 6px 24px rgba(0,0,0,.08);min-width:240px;display:none;z-index:99999}
/* Hover-Bridge zwischen Level-1 und Level-2: invisible 12px area über dem Submenu */
.aa-nav-list > .has-sub > .aa-subnav::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;background:transparent}
/* Level-3: 20px Overlap nach links — robust gegen Maus-Off-By-Few-Pixels */
.aa-subnav .aa-subnav{top:-7px;left:calc(100% - 4px);margin-left:0;padding-left:4px}
/* Wide invisible Hover-Bridge nach links (24px) — Maus-Pfad zwischen Level-2 und Level-3 ist robust */
.aa-subnav .has-sub > .aa-subnav::before{content:"";position:absolute;top:-8px;bottom:-8px;left:-24px;width:24px;background:transparent}
/* Selektion: bei has-sub-Hover bleibt Eltern-Item visuell aktiv (visueller Verbindungs-Hint) */
.aa-subnav .has-sub:hover > a,.aa-subnav .has-sub.aa-open > a{background:var(--c-bg-soft);color:#000;font-weight:500}
.aa-subnav .has-sub > a::after{content:" \25B8"}
.aa-nav-list .has-sub:hover > .aa-subnav,.aa-nav-list .has-sub:focus-within > .aa-subnav,.aa-nav-list .has-sub.aa-open > .aa-subnav,.aa-nav-list .has-sub.aa-hover-open > .aa-subnav{display:block}
.aa-subnav li{position:relative;border-bottom:1px solid #f0f0f0}
.aa-subnav li:last-child{border-bottom:0}
.aa-subnav a{padding:10px 16px;font-weight:400}
.aa-nav-list .aa-nav-cta{margin-left:auto;display:flex;align-items:center}
.aa-nav-list .aa-nav-cta > a{background:var(--c-primary);color:#fff;padding:8px 16px;margin:8px 12px;border-radius:4px;font-weight:600;font-size:14px;transition:background .15s,transform .15s}
.aa-nav-list .aa-nav-cta > a:hover{background:var(--c-primary-dark);color:#fff;transform:translateY(-1px)}

@media (max-width:900px){
/* M3: Floating-Hamburger statt Bar + Slide-In-Panel statt Stack */
.aa-nav-toggle{
  display:flex;align-items:center;justify-content:center;
  position:fixed;top:14px;right:16px;
  width:48px;height:48px;
  background:var(--c-text);color:#fff;border:0;border-radius:50%;
  padding:0;cursor:pointer;
  font-size:0;
  box-shadow:0 4px 14px rgba(12,22,40,.20);
  z-index:100000;
  transition:background .15s,transform .15s;
}
.aa-nav-toggle:hover,.aa-nav-toggle:focus-visible{background:var(--c-primary);transform:scale(1.05)}
.aa-nav-toggle::before{content:"\2630";font-size:22px;line-height:1;color:#fff}
.aa-nav-toggle[aria-expanded="true"]::before{content:"\2715"}
/* Slide-In Panel von rechts */
.aa-nav-list{
  position:fixed;top:0;right:-340px;
  width:320px;max-width:88vw;height:100vh;
  background:#fff;
  flex-direction:column;flex-wrap:nowrap;display:flex !important;white-space:normal;
  margin:0;padding:72px 0 24px;
  box-shadow:-8px 0 32px rgba(0,0,0,.14);
  transition:right .25s ease-out;
  overflow-y:auto;
  z-index:99999;
}
.aa-nav-list.aa-open{right:0}
/* Backdrop bei offen */
.aa-nav-list.aa-open::before{
  content:"";position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(12,22,40,.45);z-index:-1;
}
/* Body-Scroll-Lock wenn Panel offen */
body.aa-nav-locked{overflow:hidden;height:100vh}
.aa-nav-list > li{width:100%;border-bottom:1px solid #f0f0f0}
.aa-nav-list a{padding:14px 20px}
/* Sub-Indikator: ► statt ▾ auf Mobile, dreht bei Open */
.aa-nav-list .has-sub > a::after{content:"\25B8";font-size:1em;color:var(--c-primary);transition:transform .15s;display:inline-block;float:right}
.aa-nav-list .has-sub.aa-open > a::after{transform:rotate(90deg)}
.aa-subnav{position:static;box-shadow:none;border:0;border-top:1px solid #f0f0f0;padding:0;background:#f8fafc;border-left:3px solid var(--c-primary)}
.aa-subnav .aa-subnav{margin-left:0;background:#eff3f9;border-left:3px solid var(--c-primary-dark)}
/* Bei Mobile NICHT auto-display bei hover, nur bei aa-open click */
.aa-nav-list .has-sub:hover > .aa-subnav,.aa-nav-list .has-sub:focus-within > .aa-subnav,.aa-nav-list .has-sub.aa-hover-open > .aa-subnav{display:none}
.aa-nav-list .has-sub.aa-open > .aa-subnav{display:block}
.aa-subnav a{padding:12px 24px}
.aa-subnav .aa-subnav a{padding-left:40px;font-size:.95em}
.aa-nav-list .aa-nav-cta{margin-left:0;border-bottom:0}
.aa-nav-list .aa-nav-cta > a{margin:8px 18px;text-align:center;display:block}
/* Hover-Bridges auf Mobile deaktivieren */
.aa-nav-list > .has-sub > .aa-subnav::before,
.aa-subnav .has-sub > .aa-subnav::before{display:none}
}

.aa-skip-link{position:absolute;top:-100px;left:0;background:var(--c-primary);color:#fff;padding:10px 18px;z-index:999999;text-decoration:none;font-weight:600}
.aa-skip-link:focus{top:0}
.scroll-top,.assistive-text,.screen-reader-text{position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}
.skip-link.screen-reader-text:focus,.assistive-text:focus{width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;clip-path:none !important;white-space:normal !important;position:fixed !important;top:6px !important;left:6px !important;background:#0c1628 !important;color:#fff !important;padding:8px 16px !important;z-index:999999 !important;font-weight:600 !important;border-radius:4px !important;text-decoration:none !important}

html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.aa-main-nav a,.aa-main-nav button,.aa-skip-link{touch-action:manipulation}
*:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:2px}
.aa-main-nav a:focus-visible,.aa-main-nav button:focus-visible{outline-width:3px}

/* THE7-THEME-RESET: Theme setzt .wf-wrap auf 1300px max-width LINKSBÜNDIG.
   Wir machen alle Theme-Container full-width, damit unser eigenes Centering greift. */
#main,
#main .wf-wrap,
#main .wf-container-main,
#main .content,
#main .wpb-content-wrapper{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  float:none !important;
}

/* HEADER — 1080px Breite. Logo + Banner passen nebeneinander. Auf Desktop
   leichter Unterschied zur 880px-Body-Breite (100px pro Seite) — visuell akzeptabel */
header.header-bar{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;gap:24px !important;justify-content:space-between !important;max-width:1080px !important;margin:0 auto !important;padding:16px 24px !important;box-sizing:border-box !important}

/* The7-Reste die auf Desktop sichtbar sind — explizit ausblenden */
nav.aa-slim-bc{display:none !important}                  /* Alte "Start > Anbieter" breadcrumb */
.dt-mobile-header{display:none !important}              /* Mobile-Close-Icon (3 Striche oben links) */
.pswp[aria-hidden="true"]{display:none !important}      /* PhotoSwipe-Lightbox UI (5 Pill-Buttons unten links) */
@media (max-width:900px){
  /* Auch auf Mobile ausblenden — wir haben unser eigenes Menü */
  .dt-mobile-header{display:none !important}
}
header.header-bar > .branding{flex:0 0 auto !important;order:1 !important}
header.header-bar > .aa-editorial-cta{order:2 !important;flex:1 1 auto !important;justify-self:center !important}
header.header-bar > #primary-menu{display:none !important}
/* Editorial CTA / Banner — dezent, Editorial-Style */
.aa-editorial-cta{display:inline-flex;align-items:center;gap:10px;background:#f0f4ff;border:1px solid #d6e1f7;color:var(--c-text);padding:10px 18px;border-radius:8px;text-decoration:none;font-size:.92em;line-height:1.4;max-width:560px;transition:background .15s,border-color .15s,box-shadow .15s}
.aa-editorial-cta:hover{background:#e6edfb;border-color:var(--c-primary);box-shadow:0 2px 8px rgba(6,73,209,.10)}
.aa-editorial-cta .aa-ec-icon{font-size:1.05em;flex:0 0 auto}
.aa-editorial-cta .aa-ec-text{flex:1 1 auto;color:#3d4a5e}
.aa-editorial-cta .aa-ec-text strong{color:#0c1628;font-weight:600}
.aa-editorial-cta .aa-ec-cta{flex:0 0 auto;color:var(--c-primary);font-weight:600;white-space:nowrap}
@media (max-width:780px){
header.header-bar{flex-direction:column !important;gap:14px !important;padding:14px 24px !important}
header.header-bar > .branding{align-self:center !important}
header.header-bar > .aa-editorial-cta{width:100% !important;max-width:480px !important;justify-content:center;text-align:center;flex-wrap:wrap}
/* M1: Logo auf <780px schrumpfen */
header.header-bar > .branding img{max-width:220px !important;height:auto !important}
}
@media (max-width:480px){
/* M1 verschärft: <480px noch kleiner */
header.header-bar > .branding img{max-width:180px !important}
/* M2: Banner ausblenden — auf sehr kleinen Screens reine Platzverschwendung */
header.header-bar > .aa-editorial-cta{display:none !important}
}

/* ANBIETER-PAGE */
.aa-anbieter-page{max-width:840px;margin:0 auto;padding:50px 24px;font-family:'Roboto',sans-serif;color:var(--c-text);line-height:1.65}
.aa-anbieter-page h1{font-size:2em;margin:24px 0 12px;line-height:1.2;text-wrap:balance}
.aa-anbieter-page h2{font-size:1.4em;margin:36px 0 12px;color:var(--c-text);text-wrap:balance;border-left:4px solid var(--c-primary);padding-left:14px}
.aa-anbieter-page p{font-size:1.08em;margin:14px 0}
.aa-anbieter-page ul{padding-left:24px}
.aa-anbieter-page ul li{margin:8px 0;font-size:1.08em}
.aa-anbieter-page .aa-anb-logo{text-align:center;margin:0 0 30px}
.aa-anbieter-page .aa-anb-logo img{max-width:300px;height:auto;display:inline-block}
.aa-anbieter-page .aa-anb-meta{display:flex;flex-wrap:wrap;gap:14px 30px;margin:18px 0 30px;padding:14px 20px;background:var(--c-bg-soft);border-radius:6px;font-size:.95em}
.aa-anbieter-page .aa-anb-meta div{flex:1 1 200px}
.aa-anbieter-page .aa-anb-meta strong{display:block;color:var(--c-primary);font-size:.85em;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.aa-anbieter-page .aa-anb-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}
.aa-anbieter-page .aa-anb-cta a{padding:12px 26px;border-radius:4px;text-decoration:none;font-weight:500;transition:background .15s,color .15s}
.aa-anbieter-page .aa-anb-cta .aa-btn-primary{background:var(--c-primary);color:#fff}
.aa-anbieter-page .aa-anb-cta .aa-btn-primary:hover{background:var(--c-primary-dark)}
.aa-anbieter-page .aa-anb-cta .aa-btn-secondary{background:#fff;color:var(--c-text);border:1px solid #d0d3d8}
.aa-anbieter-page .aa-anb-cta .aa-btn-secondary:hover{background:var(--c-bg-soft)}

/* BODY-CONTENT-WRAPPER */
.wpb-content-wrapper{font-family:'Roboto',sans-serif;line-height:1.7;color:var(--c-text-body);font-size:var(--fs-base)}
.wpb-content-wrapper > h1,.wpb-content-wrapper > h2,.wpb-content-wrapper > h3,.wpb-content-wrapper > h4,.wpb-content-wrapper > h5,.wpb-content-wrapper > h6,.wpb-content-wrapper > p,.wpb-content-wrapper > ul,.wpb-content-wrapper > ol,.wpb-content-wrapper > table,.wpb-content-wrapper > blockquote,.wpb-content-wrapper > figure,.wpb-content-wrapper > pre,.wpb-content-wrapper > .aa-faq,.wpb-content-wrapper > .aa-meta-table,.wpb-content-wrapper > .aa-discovery,.wpb-content-wrapper > .aa-related-topics,.wpb-content-wrapper > .aa-pricing,.wpb-content-wrapper > .aa-top-providers,.wpb-content-wrapper > .aa-use-cases,.wpb-content-wrapper > .aa-homepage-screenshot,.wpb-content-wrapper > .aa-last-updated,.wpb-content-wrapper > div:not(.aa-home-hero):not(.aa-logo-marquee):not(.aa-anbieter-page){max-width:880px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.wpb-content-wrapper > h1{font-size:2.2em;line-height:1.15;text-wrap:balance;margin-top:32px;margin-bottom:16px;color:var(--c-text);font-weight:700;letter-spacing:-.015em}
.wpb-content-wrapper > h2{font-size:1.45em;line-height:1.3;text-wrap:balance;margin-top:42px;margin-bottom:14px;color:var(--c-text);border-left:4px solid var(--c-primary);padding-left:18px !important}
.wpb-content-wrapper > h3{font-size:1.2em;margin-top:30px;margin-bottom:10px;color:var(--c-text)}
.wpb-content-wrapper > p{font-size:var(--fs-base);margin:16px auto;line-height:1.7}
.wpb-content-wrapper > ul,.wpb-content-wrapper > ol{font-size:var(--fs-base);padding-left:48px;line-height:1.75}
/* Hub-Pages (Software, Branchen, Glossar, Vergleich, Dienstleister): H1 prominenter */
body.page-id-54191 .wpb-content-wrapper > h1, /* /software/ */
body.tax-hub .wpb-content-wrapper > h1,
.aa-anbieter-page > h1[data-hub]{font-size:2.6em;letter-spacing:-.02em}
.aa-home-hero,.aa-logo-marquee,.aa-pcta,.aa-skip-link,.aa-main-nav{max-width:none !important}
/* Trust-Strip auf 880px begrenzen — gleiche Breite wie Body, perfekt fluchtend */
.aa-trust-strip{max-width:880px !important;margin-left:auto !important;margin-right:auto !important}
/* Theme-Wrapper Constraint: Content auf 880px zentriert.
   AUSGENOMMEN: aa-home-hero (full-bleed Gradient), aa-logo-marquee, aa-trust-strip (eigene max-width). */
/* Outermost wrapper bekommt Padding — innere KEINE (sonst 4x stacked) */
.wpb-content-wrapper > .vc_row.wpb_row{
  max-width:880px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  box-sizing:border-box !important;
  float:none !important;
}
.wpb-content-wrapper > .vc_row.wpb_row > .wpb_column,
.wpb-content-wrapper > .vc_row.wpb_row > .wpb_column > .vc_column-inner,
.wpb-content-wrapper > .vc_row.wpb_row > .wpb_column > .vc_column-inner > .wpb_wrapper{
  max-width:none !important;
  width:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  float:none !important;
  box-sizing:border-box !important;
}
/* 227 Pages ohne vc_row OR aa-anbieter-page — direkte Children der wpb-content-wrapper begrenzen */
.wpb-content-wrapper > h1,
.wpb-content-wrapper > h2,
.wpb-content-wrapper > h3,
.wpb-content-wrapper > h4,
.wpb-content-wrapper > p,
.wpb-content-wrapper > ul,
.wpb-content-wrapper > ol,
.wpb-content-wrapper > table,
.wpb-content-wrapper > blockquote,
.wpb-content-wrapper > figure,
.wpb-content-wrapper > .aa-faq,
.wpb-content-wrapper > .aa-meta-table{
  max-width:880px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
@media (max-width:920px){.wpb-content-wrapper > h1{font-size:1.7em}.wpb-content-wrapper > h2{font-size:1.25em}}

/* LINKS BODY */
.wpb-content-wrapper p a,.wpb-content-wrapper li a,.aa-anbieter-page p a,.aa-anbieter-page li a{color:var(--c-primary);text-decoration:underline;text-decoration-color:rgba(6,73,209,.4);text-decoration-thickness:1px;text-underline-offset:2px;transition:text-decoration-color .15s,text-decoration-thickness .15s}
.wpb-content-wrapper p a:hover,.wpb-content-wrapper li a:hover,.aa-anbieter-page p a:hover,.aa-anbieter-page li a:hover{text-decoration-color:var(--c-primary);text-decoration-thickness:2px}
/* D1: Konsolidierter primary-Link-Style (12.158 inline-blue ersetzt) */
.aa-link-primary{color:var(--c-primary);text-decoration:none;transition:color .15s,text-decoration-color .15s,text-decoration-thickness .15s}
.aa-link-primary:hover,.aa-link-primary:focus-visible{color:var(--c-primary-dark);text-decoration:underline;text-decoration-thickness:2px}

/* D2: Vergleichs-Pages bekommen breiteren Container für Funktions-Matrix */
body.page-vergleich .aa-anbieter-page,
body.page-template-vergleich .aa-anbieter-page,
.aa-anbieter-page.is-vergleich{max-width:1100px}
/* Funktions-Matrix Section selber ist schon flex/scrollable via overflow-x:auto im inline-style */
.aa-funktions-matrix{max-width:1080px !important}

/* TABLES — global mobile-safe via CSS scrollable wrapper */
.wpb-content-wrapper table,.aa-anbieter-page table{border-collapse:collapse;width:100%;margin:18px 0;font-size:.95em;display:table}
@media (max-width:680px){
  .wpb-content-wrapper table,.aa-anbieter-page table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;max-width:100%}
  .wpb-content-wrapper table th,.wpb-content-wrapper table td,.aa-anbieter-page table th,.aa-anbieter-page table td{white-space:normal}
}
.wpb-content-wrapper th,.aa-anbieter-page th{text-align:left;padding:10px 12px;background:var(--c-bg-soft);border-bottom:2px solid var(--c-border);font-weight:600;color:var(--c-text)}
.wpb-content-wrapper td,.aa-anbieter-page td{padding:10px 12px;border-bottom:1px solid #f0f3f8;vertical-align:top}
.wpb-content-wrapper tr:hover td,.aa-anbieter-page tr:hover td{background:var(--c-bg-alt)}

/* BLOCKQUOTES */
.aa-anbieter-page blockquote,.wpb-content-wrapper blockquote{margin:24px 0;padding:14px 22px;border-left:4px solid var(--c-primary);background:var(--c-bg-alt);font-style:italic;color:var(--c-text-muted)}

::selection{background:var(--c-primary);color:#fff}

/* CARDS HOVER */
.aa-similar-anbieter a{transition:transform .15s,box-shadow .15s,border-color .15s}
.aa-similar-anbieter a:hover,.aa-similar-anbieter a:focus-visible{border-color:var(--c-primary) !important;box-shadow:0 4px 12px rgba(6,73,209,.12) !important;transform:translateY(-1px)}
.aa-cat-filter a:hover,.aa-cat-filter a:focus-visible{transform:translateY(-2px);box-shadow:0 4px 12px rgba(6,73,209,.15);border-color:var(--c-primary) !important}
.aa-cat-filter a{transition:transform .15s,box-shadow .15s,border-color .15s}
.aa-glossar-az .aa-az-btn:hover,.aa-glossar-az .aa-az-btn:focus-visible{background:var(--c-primary-dark) !important;transform:translateY(-1px)}
.aa-glossar-az .aa-az-btn{transition:background .15s,transform .15s}

@media print{
header,footer,.aa-pcta,.aa-logo-marquee,.aa-related-topics,.aa-similar-anbieter,nav{display:none !important}
body{font-size:12pt;line-height:1.5;color:#000;background:#fff}
.aa-anbieter-page{max-width:100%}
a{color:#000;text-decoration:underline}
a::after{content:" (" attr(href) ")";font-size:.85em;color:#555}
h1,h2,h3{page-break-after:avoid}
}

body,.wpb-content-wrapper,.aa-anbieter-page{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
