/* ihp media – KI-Fundament-Check (Self-Service). Helles Premium-Layout, Navy/Gold als Akzent. */
.ihp-kc{ max-width:820px; margin:2rem auto; font-family:Inter,sans-serif; color:#1F2D3D; }
.ihp-kc *{ box-sizing:border-box; }
.ihp-kc .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ihp-kc [hidden]{ display:none !important; }

/* Gemeinsamer Panel-Look */
.ihp-kc-hero, .ihp-kc-dash, .ihp-kc-result{
  position:relative; border-radius:22px; background:#fff; border:1px solid #E7ECF2;
  box-shadow:0 24px 60px -34px rgba(14,47,80,.35); }

/* ============ Hero-Eingabe-Panel ============ */
.ihp-kc-hero{ overflow:hidden; padding:2.6rem 2.4rem;
  background:linear-gradient(168deg,#FFFFFF 0%,#F7FAFD 100%); }
.ihp-kc-hero-inner{ position:relative; }

.ihp-kc-badge{ display:inline-flex; align-items:center; gap:.5rem; padding:.4rem .85rem; border-radius:999px;
  background:rgba(230,177,31,.13); border:1px solid rgba(230,177,31,.4); color:#8A6400;
  font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ihp-kc-badge svg{ color:#C6921A; }

.ihp-kc-hl{ font-family:Sora,sans-serif; color:#0E2F50; font-size:2rem; line-height:1.12; font-weight:700; margin:1rem 0 .5rem; }
.ihp-kc-lead{ color:#4A5C70; font-size:1.02rem; line-height:1.55; margin:0 0 1.6rem; max-width:38em; }

.ihp-kc-inputrow{ display:flex; gap:.7rem; flex-wrap:wrap; }
.ihp-kc-inputwrap{ position:relative; flex:1; min-width:240px; display:flex; align-items:center; }
.ihp-kc-input-icon{ position:absolute; left:1.15rem; color:#9AACBE; pointer-events:none; z-index:1; }
/* Gegen Divi/Theme-Input-Styles gehaertet. */
.ihp-kc .ihp-kc-i{ width:100%; font:inherit !important; font-size:1.05rem !important; font-weight:500 !important;
  color:#1F2D3D !important; background:#F1F5FA !important; border:1.5px solid #D6E0EC !important; border-radius:13px !important;
  padding:1.05rem 1.1rem 1.05rem 3.25rem !important; line-height:1.3 !important; height:auto !important;
  box-shadow:none !important; transition:border-color .25s, box-shadow .25s, background .25s; }
.ihp-kc .ihp-kc-i::placeholder{ color:#93A3B5 !important; font-weight:400 !important; }
.ihp-kc .ihp-kc-i:focus{ outline:none; border-color:#E6B11F !important; background:#fff !important; box-shadow:0 0 0 4px rgba(230,177,31,.16) !important; }

.ihp-kc-btn{ background:#E6B11F; color:#3A2705; border:0; border-radius:13px; padding:1.05rem 1.9rem;
  font-weight:700; font-size:15px; cursor:pointer; white-space:nowrap;
  box-shadow:0 14px 30px -12px rgba(230,177,31,.65); transition:transform .3s, box-shadow .3s, filter .3s; }
.ihp-kc-btn:hover{ transform:translateY(-3px); box-shadow:0 22px 44px -14px rgba(230,177,31,.75); filter:brightness(1.04); }
.ihp-kc-btn:disabled{ opacity:.62; cursor:wait; transform:none; }
.ihp-kc-btn:focus-visible{ outline:3px solid #0E2F50; outline-offset:2px; }

.ihp-kc-privacy{ margin:.85rem 0 0; color:#7A8A9B; font-size:.76rem; line-height:1.5; max-width:46em; }
.ihp-kc-privacy a{ color:#4A5C70; text-decoration:underline; }

.ihp-kc-trust{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin:1.5rem 0 0; padding:1.3rem 0 0; border-top:1px solid #EDF1F6; }
.ihp-kc-trust li{ display:flex; align-items:center; gap:.45rem; color:#5F6E7D; font-size:.85rem; }
.ihp-kc-trust svg{ color:#1E9E5A; flex:0 0 auto; }

.ihp-kc-err{ color:#C0442A; font-weight:600; }

/* ============ Scan-Dashboard ============ */
.ihp-kc-dash{ padding:3rem 1.6rem; display:flex; flex-direction:column; align-items:center; text-align:center; gap:1.6rem;
  background:linear-gradient(168deg,#FFFFFF 0%,#F7FAFD 100%); }
.ihp-kc-gauge{ position:relative; width:186px; height:186px; }
.ihp-kc-gauge-ring{ position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(var(--gauge-color,#E6B11F) calc(var(--pct,0) * 1%), #E8EEF5 0);
  transition:background .5s ease; }
.ihp-kc-gauge-ring::after{ content:""; position:absolute; inset:15px; border-radius:50%; background:#fff; box-shadow:0 6px 20px -10px rgba(14,47,80,.25); }
.ihp-kc-gauge-inner{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ihp-kc-gauge-pct{ font-family:Sora,sans-serif; font-size:2.6rem; font-weight:700; color:#0E2F50; line-height:1; }
.ihp-kc-gauge.is-score .ihp-kc-gauge-pct{ font-size:3.5rem; color:var(--gauge-color,#0E2F50); }
.ihp-kc-gauge-label{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#93A3B5; margin-top:.4rem; }
.ihp-kc-gauge.is-score .ihp-kc-gauge-label{ font-weight:700; color:#55677B; }

.ihp-kc-status{ display:flex; flex-direction:column; align-items:center; gap:.45rem; }
.ihp-kc-status-title{ font-family:Sora,sans-serif; color:#0E2F50; font-size:1.22rem; font-weight:600; }
.ihp-kc-status-step{ display:inline-flex; align-items:center; gap:.5rem; color:#55677B; font-size:.94rem; min-height:1.3em; }
.ihp-kc-pulse{ width:9px; height:9px; border-radius:50%; background:#E6B11F; flex:0 0 auto; animation:ihp-kc-pulse 1.1s ease-in-out infinite; }
@keyframes ihp-kc-pulse{ 0%,100%{ opacity:1; transform:scale(1); box-shadow:0 0 0 0 rgba(230,177,31,.45); } 50%{ opacity:.65; transform:scale(.82); box-shadow:0 0 0 7px rgba(230,177,31,0); } }
@media (prefers-reduced-motion: reduce){ .ihp-kc-pulse{ animation:none; } }
.ihp-kc-dash.is-done .ihp-kc-pulse{ display:none; }
.ihp-kc-dash.is-done .ihp-kc-status-step{ color:#4A5C70; max-width:36rem; }

/* ============ Ergebnis ============ */
.ihp-kc-result{ padding:2rem; line-height:1.6; }
.ihp-kc-bench{ background:#F1F6FC; border:1px solid #E7ECF2; border-left:4px solid #E6B11F; border-radius:10px;
  padding:.9rem 1.1rem; color:#0E2F50; font-size:1rem; margin:0 0 1.4rem; }
.ihp-kc-bench b{ color:#0E2F50; }

/* Share-Kachel (Wordle-Prinzip): Score + 6 Ampel-Bloecke + Kopieren */
.ihp-kc-share{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin:0 0 1.4rem; }
.ihp-kc-share-tile{ display:inline-flex; align-items:center; gap:.8rem; background:#0E2F50; border-radius:12px; padding:.65rem 1rem; }
.ihp-kc-share-score{ font-family:Sora,sans-serif; font-weight:700; color:#fff; font-size:1.02rem; white-space:nowrap; }
.ihp-kc-share-blocks{ display:inline-flex; gap:4px; }
.ihp-kc-share-block{ width:16px; height:16px; border-radius:4px; background:#93A3B5; }
.ihp-kc-share-block.gruen{ background:#1E9E5A; }
.ihp-kc-share-block.gelb{ background:#E6B11F; }
.ihp-kc-share-block.rot{ background:#E4574A; }
.ihp-kc-share-btn{ display:inline-flex; align-items:center; gap:.45rem; background:#fff; border:1.5px solid #D6E0EC; color:#33475C;
  border-radius:999px; padding:.55rem 1.1rem; font-weight:600; font-size:.86rem; cursor:pointer; transition:border-color .25s, color .25s; }
.ihp-kc-share-btn:hover{ border-color:#0E2F50; color:#0E2F50; }
.ihp-kc-share-btn:disabled{ cursor:default; }

.ihp-kc-groups{ display:flex; flex-direction:column; gap:.9rem; }
.ihp-kc-group{ border:1px solid #E7ECF2; border-radius:14px; overflow:hidden; }
.ihp-kc-group-head{ display:flex; align-items:center; gap:.7rem; padding:.9rem 1.1rem; background:#FAFCFE; border-bottom:1px solid #EEF2F7; }
.ihp-kc-group-dot{ width:13px; height:13px; border-radius:50%; flex:0 0 auto; }
.ihp-kc-group.gruen .ihp-kc-group-dot{ background:#1E9E5A; box-shadow:0 0 0 4px rgba(30,158,90,.15); }
.ihp-kc-group.gelb .ihp-kc-group-dot{ background:#B58900; box-shadow:0 0 0 4px rgba(181,137,0,.15); }
.ihp-kc-group.rot .ihp-kc-group-dot{ background:#B3261E; box-shadow:0 0 0 4px rgba(179,38,30,.15); }
.ihp-kc-group.grau .ihp-kc-group-dot{ background:#93A3B5; box-shadow:0 0 0 4px rgba(147,163,181,.18); }
.ihp-kc-group-title{ font-family:Sora,sans-serif; font-weight:600; color:#0E2F50; font-size:1.02rem; flex:1; }
.ihp-kc-group-pts{ font-family:Sora,sans-serif; font-weight:700; color:#4A5C70; font-size:.9rem; white-space:nowrap; }

.ihp-kc-checks{ list-style:none; margin:0; padding:.3rem 1.1rem .6rem; }
.ihp-kc-ck{ display:flex; gap:.7rem; align-items:flex-start; padding:.55rem 0; border-bottom:1px solid #F3F6F9; }
.ihp-kc-ck:last-child{ border-bottom:0; }
.ihp-kc-ck-sym{ flex:0 0 auto; width:1.4rem; height:1.4rem; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:.8rem; font-weight:700; margin-top:.1rem; }
.ihp-kc-ck.ok .ihp-kc-ck-sym{ background:#E7F4EC; color:#1E7A46; }
.ihp-kc-ck.warn .ihp-kc-ck-sym{ background:#FBF1CE; color:#8A6400; }
.ihp-kc-ck.miss .ihp-kc-ck-sym{ background:#F7DAD7; color:#B3261E; }
.ihp-kc-ck.na .ihp-kc-ck-sym{ background:#EDF1F6; color:#64748B; }
.ihp-kc-ck-body{ display:flex; flex-direction:column; }
.ihp-kc-ck-body b{ color:#0E2F50; font-size:.94rem; font-weight:600; }
.ihp-kc-ck-det{ color:#55677B; font-size:.88rem; line-height:1.45; }

/* E-Mail-Gate vor dem PDF (Score bleibt frei) */
.ihp-kc-gate{ margin:1.6rem 0 0; padding:1.4rem 1.5rem; border:1px solid #E7ECF2; border-radius:14px;
  background:linear-gradient(168deg,#FDFBF4 0%,#FAF4E2 100%); }
.ihp-kc-gate-title{ font-family:Sora,sans-serif; color:#0E2F50; font-weight:600; font-size:1.05rem; margin:0 0 .25rem; }
.ihp-kc-gate-sub{ color:#4A5C70; font-size:.92rem; margin:0 0 .9rem; }
.ihp-kc-gate-row{ display:flex; gap:.6rem; flex-wrap:wrap; }
.ihp-kc .ihp-kc-mail{ flex:1; min-width:210px; font:inherit !important; font-size:.98rem !important;
  color:#1F2D3D !important; background:#fff !important; border:1.5px solid #D6E0EC !important; border-radius:11px !important;
  padding:.8rem 1rem !important; line-height:1.3 !important; height:auto !important; box-shadow:none !important; }
.ihp-kc .ihp-kc-mail:focus{ outline:none; border-color:#E6B11F !important; box-shadow:0 0 0 4px rgba(230,177,31,.16) !important; }
.ihp-kc-gate-btn{ background:#E6B11F; color:#3A2705; border:0; border-radius:11px; padding:.8rem 1.4rem;
  font-weight:700; font-size:14px; cursor:pointer; white-space:nowrap; transition:transform .3s, filter .3s; }
.ihp-kc-gate-btn:hover{ transform:translateY(-2px); filter:brightness(1.04); }
.ihp-kc-gate-btn:disabled{ opacity:.62; cursor:wait; transform:none; }
.ihp-kc-gate-err{ color:#C0442A; font-weight:600; font-size:.88rem; margin:.6rem 0 0; }
.ihp-kc-gate-legal{ color:#7A8A9B; font-size:.76rem; line-height:1.5; margin:.9rem 0 0; }
.ihp-kc-gate-legal a{ color:#4A5C70; text-decoration:underline; }
.ihp-kc-gate .ihp-kc-pdfbtn{ margin-top:.6rem; }

/* Erklaer-Video (Ergebnisseite) */
.ihp-kc-video{ margin:1.6rem 0 0; }
.ihp-kc-video-title{ font-family:Sora,sans-serif; color:#0E2F50; font-weight:600; font-size:1.05rem; margin:0 0 .7rem; }
.ihp-kc-video video{ width:100%; border-radius:14px; display:block; background:#0E2F50; box-shadow:0 18px 44px -26px rgba(14,47,80,.5); }

.ihp-kc-actions{ display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; margin:1.6rem 0 0; }
.ihp-kc-pdfbtn{ display:inline-flex; align-items:center; gap:.5rem; background:#E6B11F; color:#3A2705; border-radius:999px; padding:.85rem 1.7rem;
  font-weight:700; text-decoration:none; box-shadow:0 14px 30px -14px rgba(230,177,31,.6); transition:transform .3s, filter .3s; }
.ihp-kc-pdfbtn:hover{ transform:translateY(-2px); filter:brightness(1.04); }
.ihp-kc-ctabtn{ display:inline-block; background:#E6B11F; border:1.5px solid #E6B11F; color:#3A2705; border-radius:999px;
  padding:.9rem 1.8rem; font-weight:700; text-decoration:none; box-shadow:0 14px 30px -14px rgba(230,177,31,.6);
  transition:transform .3s, filter .3s; }
.ihp-kc-ctabtn:hover{ transform:translateY(-2px); filter:brightness(1.04); }
.ihp-kc-again{ background:none; border:0; color:#4A5C70; font-weight:600; cursor:pointer; font-size:.9rem; text-decoration:underline; padding:.5rem; }
.ihp-kc-again:hover{ color:#0E2F50; }

.ihp-kc-disc{ font-size:.78rem; color:#8896A6; margin-top:1.5rem; padding-top:1rem; border-top:1px solid #F0F3F7; line-height:1.5; }

/* Erklaertext unter dem Tool (Seiten-Content .ihp-kc-page-info).
   Abstands- und FAQ-Regeln wie auf den uebrigen Seiten (Sektion endet mit 72px,
   FAQ-Item mit feiner Trennlinie #DCE6F2, Frage Sora 600 17px Navy, Antwort Inter 15px). */
.ihp-kc-page-info{ margin-top:4rem !important; padding-bottom:72px; color:#3d4f63; }
.ihp-kc-page-info h2{ font-family:Sora,sans-serif; color:#0E2F50; font-size:1.55rem; line-height:1.25;
  margin:2.6rem 0 1rem; }
.ihp-kc-page-info h2:first-child{ margin-top:0; }
.ihp-kc-page-info > p, .ihp-kc-page-info > div > p{ font-size:1rem; line-height:1.8; margin:0 0 1.3rem; }
.ihp-kc-page-info a{ color:#0E2F50; }

/* FAQ im Site-Standard (Klassen/Mechanik aus premium.css, Werte von der Leistungsseite) */
.ihp-kc-page-info .ihp-faq-item{ border-bottom:1px solid #DCE6F2; padding:0 0 14px; margin:0 0 16px; }
.ihp-kc-page-info .ihp-faq-item h3{ margin:0; font-family:Sora,sans-serif; }
.ihp-kc-page-info .ihp-faq-qt{ font-family:Sora,sans-serif; font-weight:600; font-size:17px; line-height:1.35; color:#0E2F50; }
.ihp-kc-page-info .ihp-faq-ai p{ font-family:Inter,sans-serif; font-weight:500; font-size:15px; line-height:1.65; color:#2A3744; margin:.7rem 0 0; }
/* Fallback ohne JS (keine .ihp-faq-item-Struktur): h3-Fragen luftig lassen */
.ihp-kc-page-info h3{ font-family:Sora,sans-serif; color:#0E2F50; font-size:17px; margin:1.6rem 0 .5rem; }
.ihp-kc-page-info .ihp-faq-item h3{ margin:0; }

/* Methodik-Erklaerung (aufklappbar) */
.ihp-kc-methodik{ margin:1.2rem 0 0; border:1px solid #E7ECF2; border-radius:14px; background:#FAFCFE; padding:0; }
.ihp-kc-methodik summary{ cursor:pointer; padding:1rem 1.3rem; font-family:Sora,sans-serif; font-weight:600; color:#0E2F50; font-size:.95rem; }
.ihp-kc-methodik summary:hover{ color:#16416b; }
.ihp-kc-methodik-body{ padding:0 1.3rem 1.2rem; color:#4A5C70; font-size:.9rem; line-height:1.6; }
.ihp-kc-methodik-body ul{ margin:.6rem 0; padding-left:1.2rem; }
.ihp-kc-methodik-body li{ margin:.25rem 0; }
.ihp-kc-methodik-body b{ color:#0E2F50; }

@media(max-width:620px){
  .ihp-kc-hero{ padding:2rem 1.4rem; }
  .ihp-kc-hl{ font-size:1.6rem; }
  .ihp-kc-gauge{ width:158px; height:158px; }
  .ihp-kc-gauge-pct{ font-size:2.1rem; }
  .ihp-kc-group-head{ flex-wrap:wrap; }
}
