/* ============================================================
   IT-SicherAhr Header – Elementor-Widget (eigenstaendig, gescoped)
   Alle Selektoren unter .swh-root, Praefix swh-  -> keine Kollision
   mit Theme/Elementor, keine doppelten IDs.
   ============================================================ */
.swh-root{
  --swh-bg:#070A14; --swh-bg2:#0B1022;
  --swh-line:rgba(140,150,200,.14);
  --swh-ink:#EBEEFA; --swh-muted:#8B93B6; --swh-muted2:#5A628A;
  --swh-cyan:#22D3EE;
  --swh-grad:linear-gradient(110deg,#8B5CF6 0%,#22D3EE 55%,#5CE1B0 100%);
  --swh-display:"Space Grotesk",-apple-system,system-ui,sans-serif;
  --swh-brand:"Outfit","Space Grotesk",system-ui,sans-serif;
  --swh-body:"Inter",-apple-system,system-ui,sans-serif;
  --swh-mono:"JetBrains Mono",ui-monospace,monospace;
  --swh-maxw:1180px; --swh-gutter:28px; --swh-head-h:74px; --swh-adminbar:0px;
}
.swh-root *{box-sizing:border-box}
body.admin-bar .swh-root{--swh-adminbar:32px}
@media screen and (max-width:782px){ body.admin-bar .swh-root{--swh-adminbar:46px} }
@media(max-width:920px){ .swh-root{--swh-gutter:24px} }
@media(max-width:560px){ .swh-root{--swh-gutter:20px} }

/* ---------- Fixierter Header ---------- */
.swh-head{
  position:fixed; top:var(--swh-adminbar); left:0; right:0; z-index:9990;
  font-family:var(--swh-body); border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s,box-shadow .4s;
}
.swh-head.swh-scrolled{
  background:rgba(11,16,34,.62); -webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%); border-bottom:1px solid var(--swh-line);
  box-shadow:0 8px 30px rgba(0,0,0,.28);
}
.swh-wrap{max-width:var(--swh-maxw);margin:0 auto;padding:0 var(--swh-gutter);position:relative}
.swh-nav{display:flex;align-items:center;justify-content:space-between;height:var(--swh-head-h)}

.swh-logo{display:flex;align-items:center;gap:11px;font-family:var(--swh-brand);font-weight:700;font-size:21px;letter-spacing:-.01em;color:var(--swh-ink);text-decoration:none}
.swh-mark{width:30px;height:30px;border-radius:9px;background:var(--swh-grad);position:relative;box-shadow:0 6px 22px rgba(139,92,246,.45);flex:none}
.swh-mark::after{content:"";position:absolute;inset:6px;border:2px solid rgba(7,10,20,.85);border-radius:5px}

.swh-links{display:flex;gap:34px;align-items:center;margin:0;list-style:none;padding:0}
.swh-item{position:relative}
.swh-item>a{font-size:14.5px;color:var(--swh-muted);font-weight:500;transition:color .25s;display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-decoration:none}
.swh-item>a:hover{color:var(--swh-ink)}
.swh-caret{font-size:10px;opacity:.7;transition:transform .25s}
.swh-has-mega.open .swh-caret{transform:rotate(180deg)}
.swh-has-mega>a{cursor:pointer}

/* ---------- Mega-Menue (absolut im fixen Header -> robust auch bei backdrop-filter) ---------- */
.swh-mega{
  position:absolute; top:calc(var(--swh-head-h) - 4px); left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(var(--swh-maxw),94vw);
  max-height:calc(100vh - var(--swh-adminbar) - var(--swh-head-h) - 24px);overflow-y:auto;
  background:rgba(9,13,27,.985); -webkit-backdrop-filter:blur(26px) saturate(150%);
  backdrop-filter:blur(26px) saturate(150%);
  border:1px solid var(--swh-line); border-radius:18px; padding:28px;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .25s ease,transform .25s ease; z-index:9991;
}
.swh-mega::before{content:"";position:absolute;top:-16px;left:0;right:0;height:18px}
.swh-has-mega.open .swh-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.swh-mega-inner{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.swh-mega-h{font-family:var(--swh-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--swh-muted2);margin-bottom:14px;display:block}
.swh-mega-col a{display:flex;align-items:center;gap:9px;color:var(--swh-muted);font-size:14px;padding:7px 0;transition:color .2s,padding .2s;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;text-decoration:none}
.swh-mega-col a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--swh-grad);opacity:.6;flex:none}
.swh-mega-col a:hover{color:var(--swh-ink);padding-left:5px}
.swh-mega-col.ki a::before{background:linear-gradient(120deg,#22D3EE,#5CE1B0)}

/* ---------- Buttons ---------- */
.swh-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--swh-body);font-weight:600;font-size:14.5px;cursor:pointer;border:none;padding:12px 22px;border-radius:999px;transition:transform .25s,box-shadow .25s;text-decoration:none;white-space:nowrap}
.swh-btn-primary{background:var(--swh-grad);color:#06080F;box-shadow:0 8px 26px rgba(34,211,238,.28)}
.swh-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(34,211,238,.45)}

/* ---------- Hamburger ---------- */
.swh-burger{display:none;background:none;border:none;color:var(--swh-ink);font-size:26px;line-height:1;cursor:pointer;padding:4px 6px}

/* ---------- Mobiles Menue ---------- */
.swh-mnav{
  position:fixed; inset:0; z-index:9995;
  background:rgba(7,10,20,.94); -webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%);
  transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.7,.2,1);
  display:flex; flex-direction:column; padding:92px 28px 40px; overflow-y:auto;
}
.swh-mnav.open{transform:none}
.swh-mnav>a,.swh-mnav .swh-mh{font-family:var(--swh-display);font-size:22px;font-weight:600;color:var(--swh-ink);padding:16px 0;border-bottom:1px solid var(--swh-line);display:flex;justify-content:space-between;align-items:center;text-decoration:none}
.swh-mnav .swh-mh{cursor:pointer}
.swh-mgroup.open .swh-mh .swh-caret{transform:rotate(180deg)}
.swh-msub{max-height:0;overflow:hidden;transition:max-height .35s ease;padding-left:4px}
.swh-mgroup.open .swh-msub{max-height:760px}
.swh-msub a{font-family:var(--swh-body);font-size:16px;color:var(--swh-muted);padding:11px 0;display:block;text-decoration:none}
.swh-msub a:hover{color:var(--swh-ink)}
.swh-mnav .swh-btn{margin-top:24px;justify-content:center}
.swh-close{position:absolute;top:22px;right:24px;background:none;border:none;color:var(--swh-ink);font-size:34px;line-height:1;cursor:pointer}

/* ---------- Umschaltpunkt Desktop <-> Mobile ---------- */
@media(max-width:1180px){ .swh-mega-inner{grid-template-columns:repeat(3,1fr);gap:18px 22px} }
@media(max-width:920px){
  .swh-links,.swh-cta{display:none}
  .swh-burger{display:block}
}

/* Im Elementor-Editor den fixen Header sichtbar/handhabbar lassen */
.elementor-editor-active .swh-head{position:absolute}

/* Bild-Logo (optional, ersetzt Text+Mark) */
.swh-logo--img{gap:11px}
.swh-logo-txt{font-family:var(--swh-brand);font-weight:700;font-size:21px;letter-spacing:-.01em;color:var(--swh-ink);line-height:1}
.swh-logo-img{display:block;width:auto;max-width:220px;object-fit:contain}
