/* ── Horizontal overflow prevention ─────────────────── */
/* overflow-x handled per-element */
body {  max-width: 100vw !important; }
* { box-sizing: border-box !important; }

/* ── WhatsApp floating button ────────────────────────── */
.wa-btn {
  position: fixed !important;
  bottom: 28px !important;
  right: 20px !important;
  z-index: 400 !important;
  width: 52px !important;
  height: 52px !important;
  background: #25D366 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(37,211,102,.5) !important;
  text-decoration: none !important;
}

/* ── Nav burger ──────────────────────────────────────── */
.nav-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 202;
  flex-shrink: 0;
}
.nav-burger span {
  display: block;
  width: 22px;
  height: 2.5px;
  background: #fff;
  border-radius: 2px;
  transition: transform .25s, opacity .2s;
}
nav.nav-open .nav-burger span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
nav.nav-open .nav-burger span:nth-child(2) { opacity: 0; }
nav.nav-open .nav-burger span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ── Light section text fixes ────────────────────────── */
/* process section (teal-ghost bg) */
.process h2, .process h3, .process .step-title,
.process .eyebrow, .process .s-tag { color: #0d1f1e !important; }
.process p, .process .step-body, .process .lead { color: #5a706e !important; }

/* transparenz section */
.transparenz h2, .transparenz h3 { color: #0d1f1e !important; }
.transparenz p, .transparenz .lead { color: #5a706e !important; }

/* about-strip */
.about-strip h2, .about-strip h3 { color: #0d1f1e !important; }
.about-strip p, .about-strip .stat-label { color: #5a706e !important; }
.about-strip .stat-val { color: #2a8a7f !important; }

/* wf-diagram (workflow section) */
.wf-diagram { background: #fff !important; border: 1px solid #d0dedd !important; }
.wf-header { color: #5a706e !important; }
.wf-body h4 { color: #0d1f1e !important; }
.wf-body p  { color: #5a706e !important; }
.wf-chip.me { background: #f4f6f5 !important; color: #5a706e !important; border: 1px solid #d0dedd !important; }
.wf-icon.me { background: #edf7f6 !important; color: #2a8a7f !important; border: 2px solid #2a8a7f !important; }

/* article highlights / focus boxes */
.article-highlight, .focus-box {
  background: #f4f6f5 !important;
  border-left: 3px solid #2a8a7f !important;
}
.article-highlight *, .focus-box * { color: #0d1f1e !important; }
.focus-box h3, .article-highlight h3 { color: #2a8a7f !important; }
.focus-box p, .article-highlight p { color: #5a706e !important; }

/* article warning */
.article-warning { background: #fffbf0 !important; border-left: 3px solid #c8a96e !important; }
.article-warning * { color: #0d1f1e !important; }
.warning-title { color: #7a5c1a !important; }
.article-warning p { color: #5a706e !important; }

/* article infobox */
.article-infobox { background: #edf7f6 !important; border-left: 3px solid #2a8a7f !important; }
.article-infobox * { color: #0d1f1e !important; }
.infobox-title { color: #0e3d38 !important; }
.article-infobox p { color: #5a706e !important; }

/* sol-num */
.sol-num { background: #edf7f6 !important; border: 2px solid #2a8a7f !important; color: #2a8a7f !important; }

/* freelancer-box */
.freelancer-box { background: #edf7f6 !important; }
.freelancer-box * { color: #0d1f1e !important; }
.freelancer-box p { color: #5a706e !important; }

/* kalkbox */
.kalkbox { background: #f4f6f5 !important; border: 1px solid #d0dedd !important; }
.kalkbox * { color: #0d1f1e !important; }

/* ── MOBILE ≤768px ───────────────────────────────────── */
@media (max-width: 768px) {
  /* Burger visible */
  .nav-burger { display: flex !important; }

  /* Hide desktop CTA */
  .nav-cta { display: none !important; }

  /* Nav dropdown */
  .nav-links {
    position: fixed !important;
    top: 68px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(13,31,30,.97) !important;
    padding: 1rem 5% 1.5rem !important;
    border-bottom: 1px solid rgba(74,173,160,.2) !important;
    z-index: 199 !important;
    list-style: none !important;
    margin: 0 !important;
    gap: 0 !important;
    display: none !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  nav.nav-open .nav-links { display: flex !important; }

  .nav-links li, .nav-links li a {
    display: block !important;
    width: 100% !important;
    padding: .85rem 0 !important;
    font-size: .95rem !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.85) !important;
    text-decoration: none !important;
  }
  .nav-links li:last-child a { border-bottom: none !important; }
  .nav-cta-mobile {
    display: block !important;
    margin-top: .9rem !important;
    background: #1a6b62 !important;
    color: #fff !important;
    text-align: center !important;
    padding: 13px 0 !important;
    border-radius: 3px !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: .8rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  /* WhatsApp above sticky bars */
  .wa-btn { bottom: 80px !important; }

  /* Prevent overflow */
  section, .wrap, .wrap--narrow, .article-body, main {
    max-width: 100% !important;
    
  }
  table { display: block !important; overflow-x: auto !important; width: 100% !important; }
  img, video, svg { max-width: 100% !important; height: auto !important; }
  iframe { max-width: 100% !important; }

  /* Grid → single column */
  .prob-grid, .service-grid, .pos-grid, .blog-grid,
  .about-grid, .solution-grid, .faq-grid,
  .problem-grid, .policy-grid, .lp-prob-grid,
  .lp-policy-grid, .lp-fw-grid, .slp-pain-grid,
  .slp-fw-grid, .about-facts, .lp-facts-grid,
  .lp-sol-grid, .slp-sol-grid, .footer-inner {
    grid-template-columns: 1fr !important;
  }
  /* Process → single column */
  .proc-row, .process-steps, .lp-process-row, .slp-steps {
    grid-template-columns: 1fr !important;
  }
  /* Hide decorative arrows between steps */
  .proc-step::after, .slp-step::after, .lp-proc-step::after { display: none !important; }

  /* Hero card hidden on mobile */
  .hero-card, .lp-pain-card, .slp-pain-card { display: none !important; }

  /* Portrait hidden on mobile */
  .about-portrait, .lp-portrait { display: none !important; }

  /* Body padding for sticky */
  body { padding-bottom: 72px !important; }
}
