/* ============================================================
   qma-zdu-ioc.css v1.0 — IOC Evidence Section
   2026-05-15 · Opus spec → CC deploy
   
   Deploy: /wp-content/themes/qma-child/css/qma-zdu-ioc.css
   Enqueue: site-wide (depende de qma-zdu), inerte sin clases .zdu-ioc
   ============================================================ */

.zdu-ioc {
  background: var(--zdu-surface, #111927);
  border: 1px solid rgba(45,212,191,0.08);
  border-radius: 12px;
  padding: 2rem 2.25rem;
  margin: 3rem 0;
}
.zdu-ioc__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 1.5rem;
}
.zdu-ioc__kicker {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #2DD4BF;
  margin-bottom: 6px;
}
.zdu-ioc__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #e2e8f0;
  margin: 0;
}
.zdu-ioc__ap-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 88px;
  min-height: 80px;
  background: rgba(45,212,191,0.06);
  border: 1px solid rgba(45,212,191,0.15);
  border-radius: 10px;
  padding: 10px 8px 8px;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.zdu-ioc__ap-block:hover {
  background: rgba(45,212,191,0.12);
  border-color: rgba(45,212,191,0.35);
}
.zdu-ioc__ap-num {
  font-size: 26px;
  font-weight: 900;
  font-family: "SF Mono","Fira Code","Menlo",monospace;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #2DD4BF;
}
.zdu-ioc__ap-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #64748b;
  margin-top: 4px;
}
.zdu-ioc__ap-link {
  font-size: 8px;
  font-weight: 600;
  color: #2DD4BF;
  text-decoration: none;
  margin-top: 3px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.zdu-ioc__ap-block:hover .zdu-ioc__ap-link { opacity: 1; }
.zdu-ioc__ap-block--dim {
  opacity: 0.3;
  border-color: rgba(148,163,184,0.08);
  background: rgba(148,163,184,0.03);
}
.zdu-ioc__ap-block--dim .zdu-ioc__ap-num { color: #475569; font-size: 22px; }

/* Meta strip */
.zdu-ioc__meta-strip {
  display: flex;
  gap: 1px;
  background: rgba(45,212,191,0.06);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 1.25rem;
}
.zdu-ioc__meta-item {
  flex: 1;
  background: var(--zdu-card, #0D1321);
  padding: 10px 12px;
  text-align: center;
}
.zdu-ioc__meta-val {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: #e2e8f0;
  font-family: "SF Mono","Fira Code",monospace;
}
.zdu-ioc__meta-label {
  display: block;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #475569;
  margin-top: 2px;
}

/* IOC table */
.zdu-ioc__table-wrap { overflow-x: auto; margin-bottom: 1rem; }
.zdu-ioc__table { width: 100%; border-collapse: collapse; font-size: 13px; }
.zdu-ioc__table th {
  text-align: left;
  padding: 8px 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #475569;
  border-bottom: 1px solid rgba(45,212,191,0.12);
}
.zdu-ioc__table td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(148,163,184,0.05);
  color: #94a3b8;
  vertical-align: middle;
}
.zdu-ioc__row:hover td { background: rgba(45,212,191,0.02); }
.zdu-ioc__value code {
  font-family: "SF Mono","Fira Code",monospace;
  font-size: 12px;
  color: #cbd5e1;
  word-break: break-all;
}

/* Type badges */
.zdu-ioc__type-badge {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
}
.zdu-ioc__type--ip { color: #fca5a5; background: rgba(239,68,68,0.1); }
.zdu-ioc__type--hash { color: #fdba74; background: rgba(251,146,60,0.1); }
.zdu-ioc__type--domain { color: #2DD4BF; background: rgba(45,212,191,0.1); }
.zdu-ioc__type--url { color: #c4b5fd; background: rgba(167,139,250,0.1); }

/* Confidence */
.zdu-ioc__conf { font-weight: 700; font-size: 12px; }
.zdu-ioc__conf--high { color: #2DD4BF; }
.zdu-ioc__conf--med { color: #EAB308; }
.zdu-ioc__conf--low { color: #94a3b8; }

/* Pivot links */
.zdu-ioc__actions { white-space: nowrap; }
.zdu-ioc__pivot {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  color: #2DD4BF;
  background: rgba(45,212,191,0.06);
  border: 1px solid rgba(45,212,191,0.12);
  border-radius: 3px;
  text-decoration: none;
  margin-right: 4px;
  transition: background 0.15s;
}
.zdu-ioc__pivot:hover { background: rgba(45,212,191,0.15); }

/* Context strip */
.zdu-ioc__context {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 1rem;
  padding: 12px 0;
  border-top: 1px solid rgba(148,163,184,0.06);
  border-bottom: 1px solid rgba(148,163,184,0.06);
}
.zdu-ioc__context-group { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.zdu-ioc__ctx-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #475569;
  margin-right: 4px;
}
.zdu-ioc__ctx-tag {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  background: rgba(45,212,191,0.06);
  border: 1px solid rgba(45,212,191,0.1);
  color: #2DD4BF;
  border-radius: 3px;
}
.zdu-ioc__ctx-tag--actor {
  color: #fca5a5;
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.15);
}
.zdu-ioc__ctx-tag--comply {
  color: #D1DF48;
  background: rgba(209,223,72,0.06);
  border-color: rgba(209,223,72,0.12);
}

/* Sources */
.zdu-ioc__sources {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 11px;
  color: #475569;
  margin-bottom: .75rem;
}
.zdu-ioc__source-label { font-weight: 700; }
.zdu-ioc__source {
  padding: 2px 6px;
  background: rgba(148,163,184,0.06);
  border-radius: 3px;
  color: #94a3b8;
}
.zdu-ioc__source-note { font-style: italic; opacity: 0.6; }

/* Disclaimer */
.zdu-ioc__disclaimer {
  font-size: 11px;
  color: #475569;
  line-height: 1.5;
  padding: 10px 14px;
  background: rgba(148,163,184,0.03);
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 768px) {
  .zdu-ioc { padding: 1.25rem; }
  .zdu-ioc__header { flex-direction: column-reverse; }
  .zdu-ioc__ap-block {
    width: 100%;
    flex-direction: row;
    gap: 12px;
    min-height: auto;
    padding: 10px 16px;
  }
  .zdu-ioc__ap-link { opacity: 1; }
  .zdu-ioc__meta-strip { flex-wrap: wrap; }
  .zdu-ioc__meta-item { min-width: 30%; }
}

/* ============================================================
   PATCH v1.1 — UX readability fixes (2026-05-15)
   - bump font sizes table 13→15px, base values 9→11/12px
   - code element: dark teal-tint bg (overrides Astra inherit white)
   - type badges, pivot links: larger touch targets
   - context tags + kicker + sources + disclaimer: bumped
   ============================================================ */

/* Tabla: tipografía 14-16px base */
.zdu-ioc__table { font-size: 15px; }
.zdu-ioc__table th { font-size: 12px; padding: 10px 14px; }
.zdu-ioc__table td { padding: 10px 14px; font-size: 14px; }

/* CRITICAL: code background dark — overrides Astra <code> herencia blanca */
.zdu-ioc__value code {
  font-family: "SF Mono","Fira Code","Menlo",monospace;
  font-size: 13px;
  color: #e2e8f0;
  background: rgba(45,212,191,0.06) !important;
  padding: 3px 6px;
  border-radius: 3px;
  border: 1px solid rgba(45,212,191,0.08);
  word-break: break-all;
  display: inline-block;
  max-width: 320px;
}

/* Type badges */
.zdu-ioc__type-badge { font-size: 11px; padding: 3px 8px; }

/* Confidence */
.zdu-ioc__conf { font-size: 14px; font-weight: 700; }

/* Pivot links */
.zdu-ioc__pivot { font-size: 12px; padding: 4px 8px; margin-right: 6px; }

/* Meta strip */
.zdu-ioc__meta-val { font-size: 17px; }
.zdu-ioc__meta-label { font-size: 10px; }

/* Header */
.zdu-ioc__kicker { font-size: 12px; }
.zdu-ioc__title { font-size: 1.4rem; }

/* Context tags */
.zdu-ioc__ctx-tag { font-size: 12px; padding: 3px 8px; }
.zdu-ioc__ctx-label { font-size: 11px; }

/* Sources */
.zdu-ioc__sources { font-size: 13px; }

/* Disclaimer */
.zdu-ioc__disclaimer { font-size: 13px; }

/* ============================================================
   v1.2 — VT enrichment columns (2026-05-14)
   ============================================================ */
.zdu-ioc__vt {
  font-family: "SF Mono","Fira Code","Menlo",monospace;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-align: center;
}
.zdu-ioc__vt--malicious { color: #EF4444; }
.zdu-ioc__vt--suspicious { color: #F97316; }
.zdu-ioc__vt--clean     { color: #2DD4BF; }
.zdu-ioc__vt--pending   { color: #475569; opacity: 0.5; font-weight: 400; }

.zdu-ioc__threat {
  font-size: 12px;
  color: #94a3b8;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "SF Mono","Fira Code","Menlo",monospace;
}

.zdu-ioc__conf--vt {
  background: rgba(45,212,191,0.12);
  border: 1px solid rgba(45,212,191,0.35);
  color: #2DD4BF;
  letter-spacing: .03em;
  font-weight: 700;
}

/* Mobile: hide Threat column (least critical) */
@media (max-width: 720px) {
  .zdu-ioc__table th:nth-child(6),
  .zdu-ioc__table td:nth-child(6) { display: none; }
}
