/* ==========================================
   COMPLIANCE BADGE – Scoped Styles
   Ausgelagert aus index.php
   ========================================== */

.compliance-badge {
  --cb-teal-900: #0f2e32; --cb-teal-800: #1a3f44; --cb-teal-700: #1F6B75;
  --cb-teal-600: #2a8a96; --cb-teal-400: #4db8c8; --cb-teal-200: #a8dde6;
  --cb-teal-100: #d4eff3; --cb-teal-50: #edf9fb;
  --cb-gold: #c9a84c; --cb-gold-light: #f0d080;
  font-family: 'DM Sans', sans-serif;
}
.compliance-badge .cb-wrap { max-width: 900px; width: 100%; margin: 0 auto; }

/* Header */
.compliance-badge .cb-header {
  background: var(--cb-teal-900); border-radius: 20px 20px 0 0;
  padding: 48px 48px 40px; position: relative; overflow: hidden;
}
.compliance-badge .cb-header::before {
  content:''; position:absolute; top:-80px; right:-80px; width:280px; height:280px;
  background:radial-gradient(circle,rgba(77,184,200,.15) 0%,transparent 70%); border-radius:50%;
}
.compliance-badge .cb-header::after {
  content:''; position:absolute; bottom:-60px; left:40px; width:200px; height:200px;
  background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%); border-radius:50%;
}
.compliance-badge .cb-top {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:24px; flex-wrap:wrap; position:relative; z-index:1;
}
.compliance-badge .cb-title h2 {
  font-size:clamp(22px,4vw,34px); font-weight:600; color:#fff;
  line-height:1.15; letter-spacing:-.5px; margin:0;
}
.compliance-badge .cb-title h2 span { color:var(--cb-teal-400); }
.compliance-badge .cb-title p {
  margin-top:10px; font-size:15px; color:var(--cb-teal-200);
  font-weight:300; line-height:1.5; max-width:480px;
}

/* Seal */
.compliance-badge .cb-seal { flex-shrink:0; width:108px; height:108px; position:relative; }
.compliance-badge .cb-seal svg { width:100%; height:100%; animation:cbSpin 30s linear infinite; }
@keyframes cbSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.compliance-badge .cb-seal-inner {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; animation:cbSpin 30s linear infinite reverse;
}
.compliance-badge .cb-seal-inner .cb-check { font-size:28px; color:var(--cb-gold); line-height:1; }
.compliance-badge .cb-seal-inner .cb-seal-lbl {
  font-family:'DM Mono',monospace; font-size:8px; color:var(--cb-gold-light);
  letter-spacing:1px; margin-top:3px;
}

/* Stats */
.compliance-badge .cb-stats {
  display:flex; gap:32px; margin-top:36px; padding-top:28px;
  border-top:1px solid rgba(255,255,255,.08); position:relative; z-index:1; flex-wrap:wrap;
}
.compliance-badge .cb-stat { display:flex; flex-direction:column; gap:2px; }
.compliance-badge .cb-stat-num {
  font-size:32px; font-weight:600; color:var(--cb-teal-400);
  line-height:1; font-variant-numeric:tabular-nums;
}
.compliance-badge .cb-stat-lbl {
  font-size:12px; color:var(--cb-teal-200); font-weight:400;
  text-transform:uppercase; letter-spacing:.8px;
}

/* Body */
.compliance-badge .cb-body {
  background:var(--cb-teal-50); border:1px solid var(--cb-teal-100); border-top:none;
  padding:32px 48px; display:grid; grid-template-columns:1fr 1fr; gap:32px;
}
.compliance-badge .cb-section-lbl {
  font-family:'DM Mono',monospace; font-size:10px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--cb-teal-700); font-weight:500;
  margin-bottom:14px; padding-bottom:8px; border-bottom:1px solid var(--cb-teal-200);
}
.compliance-badge .cb-list { display:flex; flex-direction:column; gap:8px; }
.compliance-badge .cb-item {
  display:flex; align-items:center; gap:10px;
  opacity:0; transform:translateX(-8px); transition:opacity .4s ease,transform .4s ease;
}
.compliance-badge .cb-item.visible { opacity:1; transform:translateX(0); }
.compliance-badge .cb-icon {
  width:18px; height:18px; border-radius:50%; background:var(--cb-teal-700);
  flex-shrink:0; display:flex; align-items:center; justify-content:center;
}
.compliance-badge .cb-icon svg {
  width:10px; height:10px; stroke:#fff; stroke-width:2.5;
  fill:none; stroke-linecap:round; stroke-linejoin:round;
}
.compliance-badge .cb-text { font-size:13.5px; color:var(--cb-teal-900); line-height:1.3; }
.compliance-badge .cb-text strong { font-weight:600; color:var(--cb-teal-700); margin-right:3px; }

/* Docs */
.compliance-badge .cb-docs {
  grid-column:1/-1; background:#fff; border:1px solid var(--cb-teal-200);
  border-radius:12px; padding:20px 24px;
}
.compliance-badge .cb-docs-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px;
}
.compliance-badge .cb-pill {
  display:flex; align-items:center; gap:10px; padding:10px 14px;
  background:var(--cb-teal-50); border:1px solid var(--cb-teal-100); border-radius:8px;
  opacity:0; transform:translateY(6px); transition:opacity .5s ease,transform .5s ease;
}
.compliance-badge .cb-pill.visible { opacity:1; transform:translateY(0); }
.compliance-badge .cb-pill-icon {
  width:32px; height:32px; background:var(--cb-teal-700); border-radius:7px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.compliance-badge .cb-pill-icon svg {
  width:16px; height:16px; stroke:#fff; fill:none;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}
.compliance-badge .cb-pill-text { font-size:12.5px; color:var(--cb-teal-900); font-weight:500; line-height:1.3; }
.compliance-badge .cb-pill-text span {
  display:block; font-size:11px; color:var(--cb-teal-600); font-weight:400; margin-top:1px;
}

/* Footer */
.compliance-badge .cb-footer {
  background:var(--cb-teal-900); border-radius:0 0 20px 20px;
  padding:16px 48px; display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.compliance-badge .cb-tags { display:flex; gap:8px; flex-wrap:wrap; }
.compliance-badge .cb-tag {
  font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.5px;
  padding:4px 10px; border-radius:20px; border:1px solid rgba(77,184,200,.3);
  color:var(--cb-teal-400); background:rgba(77,184,200,.06);
}
.compliance-badge .cb-footer-date {
  font-size:11px; color:rgba(168,221,230,.5); font-family:'DM Mono',monospace;
}

/* Responsive */
@media(max-width:640px){
  .compliance-badge .cb-body { grid-template-columns:1fr; padding:24px; }
  .compliance-badge .cb-header { padding:32px 24px 28px; }
  .compliance-badge .cb-stats { gap:20px; }
  .compliance-badge .cb-docs-grid { grid-template-columns:1fr; }
  .compliance-badge .cb-footer { padding:16px 24px; }
}