/* OptiSuite — página /cert/ (verificación de certificados OptiCert). Acento esmeralda → cian. */
.cv-wrap { max-width: 820px; padding-top: 80px; padding-bottom: 60px; }
.cv-back { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); font-size: 0.85rem; margin: 8px 0 18px; text-decoration: none; }
.cv-hero { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-bottom: 22px; }
.cv-logo { width: 64px; height: 64px; flex: 0 0 auto; border-radius: 16px; background: linear-gradient(135deg, #10b981, #0ea5e9);
  display: grid; place-items: center; box-shadow: 0 8px 24px rgba(16,185,129,.4); }
.cv-hero h1 { font-size: 1.9rem; margin: 0 0 4px; line-height: 1.15; }
.cv-grad { background: linear-gradient(135deg, #10b981, #0ea5e9); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cv-sub { color: var(--text-2); margin: 0; font-size: 0.95rem; }

.cv-card { border: 1px solid var(--border-mid); border-radius: 16px; padding: 20px; margin: 0 0 22px; background: var(--bg-surface); }
.cv-card p { color: var(--text-2); margin: 8px 0 0; }
.cv-status { font-size: 1.15rem; font-weight: 700; line-height: 1.35; }
.cv-ok  { border-color: rgba(16,185,129,.55); box-shadow: 0 0 0 1px rgba(16,185,129,.15), 0 10px 40px rgba(16,185,129,.12); }
.cv-ok .cv-status { color: #10b981; }
.cv-bad { border-color: rgba(239,91,91,.6); background: linear-gradient(0deg, rgba(239,91,91,.06), rgba(239,91,91,.06)), var(--bg-surface); }
.cv-bad .cv-status { color: var(--red); }
.cv-warn { border-color: rgba(245,158,11,.6); }
.cv-warn .cv-status { color: var(--linux); }

.cv-fp { margin: 16px 0; padding: 14px 16px; border-radius: 12px; border: 1px dashed rgba(14,165,233,.55); background: rgba(14,165,233,.07); }
.cv-fp-label { font-size: 0.8rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.cv-fp-value { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 1.5rem; font-weight: 700; letter-spacing: .06em; margin: 4px 0; color: var(--text); word-break: break-word; }
.cv-fp-help { font-size: 0.85rem; color: var(--text-2); }

.cv-table { width: 100%; border-collapse: collapse; font-size: 0.93rem; }
.cv-table th, .cv-table td { text-align: left; vertical-align: top; padding: 9px 6px; border-top: 1px solid var(--border); }
.cv-table th { color: var(--text-3); font-weight: 500; width: 38%; }
.cv-table td { color: var(--text); overflow-wrap: anywhere; }
.cv-note { font-size: 0.8rem; color: var(--text-3); margin-top: 3px; }
.cv-mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.85rem; }
.cv-yes { color: #10b981; font-weight: 700; }
.cv-no { color: var(--red); font-weight: 700; }

.cv-honest { border-left: 3px solid #0ea5e9; padding: 12px 16px; border-radius: 0 10px 10px 0; background: rgba(14,165,233,.07); color: var(--text-2); font-size: 0.92rem; margin: 0 0 26px; }
.cv-section h2 { font-size: 1.2rem; margin: 26px 0 10px; }
.cv-section p, .cv-section li { color: var(--text-2); font-size: 0.92rem; }
.cv-section ol, .cv-section ul { padding-left: 20px; margin: 6px 0; }
.cv-section li { margin: 5px 0; }
.cv-section dl { margin: 0; }
.cv-section dt { font-weight: 600; margin-top: 10px; color: var(--text); font-size: 0.93rem; }
.cv-section dd { margin: 2px 0 0; color: var(--text-2); font-size: 0.9rem; }

@media (max-width: 560px) {
  .cv-hero h1 { font-size: 1.5rem; }
  .cv-table th { width: auto; display: block; border-top: 1px solid var(--border); padding-bottom: 0; }
  .cv-table td { display: block; border-top: none; padding-top: 3px; }
  .cv-fp-value { font-size: 1.25rem; }
}
/* style.css quita las viñetas de las listas: aquí sí hacen falta */
.cv-wrap ol { list-style: decimal; }
.cv-wrap ul { list-style: disc; }
