/* ===== Contenido enriquecido (front) ===== */
.aca-rich { line-height:1.7; color:var(--text-primary, #e6edf3); }
.aca-rich > *:first-child { margin-top:0; }
.aca-rich h2 { font-family:var(--font-head, inherit); font-size:20px; margin:22px 0 10px; color:var(--text-primary,#e6edf3); }
.aca-rich h3 { font-family:var(--font-head, inherit); font-size:16px; margin:18px 0 8px; color:var(--cyan,#00d4ff); }
.aca-rich h4 { font-size:14px; margin:14px 0 6px; }
.aca-rich p  { margin:0 0 14px; }
.aca-rich ul, .aca-rich ol { margin:0 0 14px; padding-left:22px; }
.aca-rich li { margin:4px 0; }
.aca-rich a  { color:var(--cyan,#00d4ff); }
.aca-rich blockquote {
  margin:14px 0; padding:10px 16px; border-left:3px solid var(--cyan,#00d4ff);
  background:rgba(0,212,255,.06); border-radius:0 8px 8px 0; color:var(--text-muted,#9aa7b2);
}
.aca-rich code { font-family:var(--font-mono, monospace); background:rgba(255,255,255,.06); padding:1px 5px; border-radius:4px; font-size:.92em; }
.aca-rich pre  { background:var(--bg-surface,#0f1722); border:1px solid var(--border,#243); border-radius:8px; padding:12px; overflow:auto; }
.aca-rich hr {
  border:0; height:0; margin:22px 0;
  border-top:1px solid var(--border,#243);
  position:relative;
}
.aca-rich hr::after {
  content:"❖"; position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:var(--bg-card,#0d1520); color:var(--cyan,#00d4ff); padding:0 10px; font-size:12px;
}
/* columnas */
.aca-rich .aca-cols { display:flex; gap:20px; margin:14px 0; }
.aca-rich .aca-col  { flex:1; min-width:0; }
@media (max-width:640px){ .aca-rich .aca-cols { flex-direction:column; gap:6px; } }

/* ===== Editor WYSIWYG ===== */
.aca-wys { border:1px solid var(--border,#243); border-radius:10px; overflow:hidden; background:var(--bg-surface,#0f1722); }
.aca-wys-tb { display:flex; flex-wrap:wrap; gap:3px; padding:6px; border-bottom:1px solid var(--border,#243); background:var(--bg-card,#0d1520); }
.aca-wys-tb button {
  background:transparent; border:1px solid transparent; color:var(--text-muted,#9aa7b2);
  border-radius:6px; min-width:30px; height:28px; padding:0 7px; cursor:pointer; font-size:13px; line-height:1;
  font-family:inherit;
}
.aca-wys-tb button:hover { background:rgba(255,255,255,.07); color:var(--text-primary,#e6edf3); border-color:var(--border,#243); }
.aca-wys-tb .sep { width:1px; background:var(--border,#243); margin:2px 4px; }
.aca-wys-area {
  min-height:120px; max-height:520px; overflow:auto; padding:12px 14px; outline:none;
  color:var(--text-primary,#e6edf3); line-height:1.7; font-family:inherit; font-size:14px;
}
.aca-wys-area:empty::before { content:attr(data-ph); color:var(--text-dim,#5b6b78); }
.aca-wys-area .aca-cols { display:flex; gap:14px; }
.aca-wys-area .aca-col { flex:1; min-width:0; border:1px dashed var(--border,#243); border-radius:6px; padding:6px 8px; }
.aca-wys-area blockquote { border-left:3px solid var(--cyan,#00d4ff); margin:10px 0; padding:6px 12px; color:var(--text-muted,#9aa7b2); }
.aca-wys-area hr { border:0; border-top:1px solid var(--cyan,#00d4ff); margin:14px 0; }
