/* kostenvoranschlag-sofort.de – EINHEITLICHER Header (namespaced .ksnav, kollisionsfrei auf allen Seiten).
   Optik = Startseite (Lila #7033ff / Navy). Enthält Dienstleistungen-Dropdown (Desktop hover/klick + mobil). */
nav.ksnav{position:sticky;top:0;z-index:100;background:rgba(253,253,253,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e7e7ee;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;box-shadow:none}
nav.ksnav *{box-sizing:border-box}
nav.ksnav .kswrap{max-width:1080px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
nav.ksnav .kslogo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-.03em;color:#0a0a0b;text-decoration:none;flex:none}
nav.ksnav .kslogo .ksmark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#7033ff;color:#fff;box-shadow:0 8px 18px -8px rgba(112,51,255,.6);flex:none}
nav.ksnav .kslogo .kslogotext{display:flex;flex-direction:column;line-height:1.05}
nav.ksnav .kslogo small{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;font-size:10.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#525252}
nav.ksnav .kslinks{display:flex;gap:26px;align-items:center;list-style:none;margin:0;padding:0}
nav.ksnav .kslinks>li{position:relative;margin:0}
nav.ksnav .kslinks a{font-size:15px;font-weight:600;color:#525252;text-decoration:none;white-space:nowrap}
nav.ksnav .kslinks a:hover{color:#0a0a0b}
nav.ksnav .ksdropbtn{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#525252;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}
nav.ksnav .ksdropbtn:hover,nav.ksnav .ksdrop.open .ksdropbtn{color:#0a0a0b}
nav.ksnav .ksarr{font-size:10px;transition:transform .2s}
nav.ksnav .ksdrop.open .ksarr{transform:rotate(180deg)}
nav.ksnav .ksdropmenu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);min-width:274px;background:#fff;border:1px solid #e7e7ee;border-radius:14px;box-shadow:0 18px 44px -18px rgba(40,24,110,.34);padding:8px;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s,visibility .16s;z-index:200}
nav.ksnav .ksdrop:hover .ksdropmenu,nav.ksnav .ksdrop.open .ksdropmenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
nav.ksnav .ksdropmenu a{display:flex;flex-direction:column;gap:1px;padding:10px 14px;border-radius:9px;color:#0a0a0b;font-weight:700}
nav.ksnav .ksdropmenu a:hover{background:#f5f3ff;color:#0a0a0b}
nav.ksnav .ksdropmenu a small{font-size:12.5px;font-weight:500;color:#7a7a86}
nav.ksnav .kscta{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15px;border-radius:999px;padding:12px 22px;background:#7033ff;color:#fff;text-decoration:none;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(112,51,255,.55);border:none;cursor:pointer;flex:none}
nav.ksnav .kscta:hover{background:#5a24e0}
nav.ksnav .ksburger{display:none;background:none;border:none;font-size:24px;color:#0a0a0b;cursor:pointer;line-height:1;padding:4px}
nav.ksnav .kscta-m{display:none}
@media(max-width:900px){
  nav.ksnav .ksburger{display:block}
  nav.ksnav .kswrap>.kscta{display:none}
  nav.ksnav .kslinks{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #e7e7ee;padding:6px 22px 18px;box-shadow:0 20px 40px -24px rgba(40,24,110,.3)}
  nav.ksnav.ksopen .kslinks{display:flex}
  nav.ksnav .kslinks>li{width:100%}
  nav.ksnav .kslinks>li>a,nav.ksnav .ksdropbtn{padding:15px 0;border-bottom:1px solid #eee;width:100%;font-size:16px}
  nav.ksnav .ksdropbtn{justify-content:space-between}
  nav.ksnav .ksdropmenu{position:static;transform:none;opacity:1;visibility:visible;min-width:0;box-shadow:none;border:none;border-radius:0;padding:2px 0 8px 14px;display:none}
  nav.ksnav .ksdrop.open .ksdropmenu{display:block;transform:none;left:auto}
  nav.ksnav .ksdropmenu a{padding:9px 0}
  nav.ksnav .kscta-m{display:block}
  nav.ksnav .kscta-m .kscta{width:100%;margin-top:14px}
}
