/* AIGIS Landing RC7 — Entwurf C — Komponenten: Buttons, Kicker, Karten, Chips, Zitate,
   Rechts-Dialoge, Speicher-Hinweis, Umschalter, FAQ-Karten. */

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:12px; font-weight:800; font-size:14.5px;
  border:1px solid var(--line); background:var(--panel-2); color:var(--tx);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  text-decoration:none; white-space:nowrap;
}
.btn:hover{ text-decoration:none; transform:translateY(-2px); border-color:color-mix(in srgb, var(--blue) 50%, var(--line)); }
.btn:active{ transform:translateY(0); }
.btn.pri{
  background:var(--blue-deep);   /* CI: ruhige Fläche statt Verlauf */
  border-color:transparent; color:#FFFFFF; box-shadow:var(--glow-blue);
}
.btn.pri:hover{ box-shadow:var(--shadow-1); }
.btn.lime{ background:var(--lime); color:var(--lime-ink); border-color:transparent; box-shadow:var(--glow-lime); }
.btn.lime:hover{ box-shadow:var(--shadow-1); }
.btn.gho{ background:transparent; }
.btn.sm{ padding:8px 14px; font-size:13px; border-radius:10px; }

/* ── Kicker + Sektionstitel ─────────────────────────────────────────────── */
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12.5px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:var(--blue); margin-bottom:16px; font-family:var(--mono);
}
.kicker::before{ content:""; width:28px; height:3px; background:var(--lime); border-radius:2px; }
.kicker.plain::before{ content:none; }
.sec-lead{ color:var(--mut); font-size:clamp(16px, 1.4vw, 18px); max-width:820px; line-height:1.7; }
.statement{ font-size:clamp(22px, 2.8vw, 36px); line-height:1.2; letter-spacing:-.015em; max-width:960px; margin:0 0 26px; color:var(--tx-strong); font-weight:700; }
.lead{ font-size:clamp(18px, 2vw, 24px); line-height:1.5; max-width:920px; color:var(--tx); }
.eyebrow{ font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--lime-text); font-weight:900; font-family:var(--mono); margin-bottom:14px; }

/* ── Karten ─────────────────────────────────────────────────────────────── */
.card{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); padding:26px;
  box-shadow:var(--shadow-1); position:relative;
  transition:transform .25s cubic-bezier(.2,.9,.3,1.2), border-color .25s ease, box-shadow .25s ease;
}
.card:hover{ transform:translateY(-4px); border-color:color-mix(in srgb, var(--blue) 45%, var(--line)); }
.card.static:hover{ transform:none; border-color:var(--line); }
.grid{ display:grid; gap:18px; }
.g2{ grid-template-columns:repeat(2, 1fr); }
.g3{ grid-template-columns:repeat(3, 1fr); }
.g4{ grid-template-columns:repeat(4, 1fr); }
.tag{ font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:900; color:var(--c, var(--blue)); font-family:var(--mono); margin-bottom:10px; }
.mini{ font-size:13px; color:var(--mut); font-family:var(--mono); letter-spacing:.01em; }

/* ── Chips ──────────────────────────────────────────────────────────────── */
.chip{
  display:inline-block; padding:6px 12px; border-radius:999px;
  border:1px solid var(--line); background:var(--panel-2);
  font-size:12.5px; font-weight:700; color:var(--tx); margin:3px 4px 3px 0; white-space:nowrap;
}
.chip.lime{ background:var(--lime); color:var(--lime-ink); border-color:transparent; }
.chip.blue{ background:var(--blue); color:#fff; border-color:transparent; }
.chip.ice{ background:var(--ice); color:var(--ice-ink); border-color:transparent; }

/* ── Zitat-Balken ───────────────────────────────────────────────────────── */
.quote{
  margin:26px 0 0; padding:6px 0 6px 22px; border-left:4px solid var(--lime);
  font-size:clamp(19px, 2vw, 25px); font-weight:800; line-height:1.3; color:var(--tx-strong); letter-spacing:-.01em;
}

/* ── Rechts-Dialoge (Mechanik + Klassennamen wie produktiv) ─────────────── */
.imp-bd{
  position:fixed; inset:0; z-index:120; display:none;
  background:rgba(6,8,12,.74); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
  padding:26px 16px; overflow-y:auto;
}
.imp-bd.open{ display:flex; align-items:flex-start; justify-content:center; }
.imp{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-lg);
  max-width:760px; width:100%; padding:28px 30px; margin:auto 0;
  box-shadow:var(--shadow-2); font-size:14px;
}
.imp h3{ margin-top:0; font-size:22px; }
.imp h4{ margin:14px 0 4px; color:var(--blue); }

/* ── Speicher-Hinweis (kein Consent-Gate — es gibt nichts Ablehnbares) ──── */
.cookie{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:110;
  display:none; gap:14px; align-items:center; justify-content:space-between;
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:14px 18px; box-shadow:var(--shadow-2); font-size:13px;
  max-width:900px; margin:0 auto;
}
.cookie.show{ display:flex; flex-wrap:wrap; }
.cookie p{ margin:0; color:var(--mut); }

/* ── Sprach-/Theme-Umschalter ───────────────────────────────────────────── */
.lang-toggle{ display:inline-flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.lang-toggle button{
  background:transparent; border:0; color:var(--mut); font-size:12px; font-weight:800;
  padding:7px 9px; letter-spacing:.04em;
}
.lang-toggle button[aria-pressed="true"]{ background:var(--lime); color:var(--lime-ink); }
.theme-toggle{
  background:transparent; border:1px solid var(--line); border-radius:10px;
  width:38px; height:34px; color:var(--tx); font-size:15px; line-height:1;
}

/* ── FAQ (Markup wörtlich von der produktiven Seite; nur Optik ist neu) ─── */
.faq-grid .card h3{ font-size:18px; margin-bottom:8px; }
.faq-grid .card p{ color:var(--mut); line-height:1.65; margin:0; }
.faq-grid .card::before{
  content:"?"; position:absolute; right:18px; top:12px;
  font-size:44px; font-weight:900; line-height:1; color:color-mix(in srgb, var(--lime) 28%, transparent);
  font-family:var(--mono);
}
