/* ============================================================
   ESTILOS PERSONALIZADOS PARA SPHINX + SPHINXAWESOME
   Incluye: Blockquotes + Bloques de código + One Dark Highlighting
   ============================================================ */

/* -----------------------------
   BLOQUES DE CITA (blockquote)
   ----------------------------- */

blockquote {
  background: rgba(255, 255, 255, 0.05);
  border-left: 4px solid #4f8cff;
  padding: 1em 1.5em;
  margin: 1.5em 0;
  color: #e0e0e0;
  font-style: italic;
  border-radius: 6px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
  transition: background 0.3s ease, border-color 0.3s ease;
}

blockquote:hover {
  background: rgba(255, 255, 255, 0.1);
  border-left-color: #66aaff;
}

/* Versión clara */
@media (prefers-color-scheme: light) {
  blockquote {
    background: #f0f4ff;
    border-left: 4px solid #3a7afe;
    color: #222;
  }

  blockquote:hover {
    background: #eaf0ff;
    border-left-color: #005eff;
  }
}

/* -----------------------------
   BLOQUES DE CÓDIGO (pre, code)
   ----------------------------- */

pre, pre code {
  background: #1e1e1e; /* estilo VSCode oscuro */
  color: #f8f8f2;
  font-family: "Fira Code", "JetBrains Mono", monospace;
  font-size: 0.95em;
  line-height: 1.5;
  border-radius: 8px;
  padding: 1em 1.2em;
  overflow-x: auto;
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
  transition: background 0.3s ease, color 0.3s ease;
}

/* Código en línea */
code {
  background: rgba(255,255,255,0.08);
  color: #ffcc66;
  border-radius: 4px;
  padding: 0.15em 0.35em;
  font-size: 0.95em;
}

/* Tema claro */
@media (prefers-color-scheme: light) {
  pre, pre code {
    background: #f8f8f8;
    color: #2d2d2d;
    box-shadow: 0 0 6px rgba(0,0,0,0.1);
  }

  code {
    background: rgba(0,0,0,0.05);
    color: #d6336c;
  }
}

/* Scroll horizontal personalizado */
pre::-webkit-scrollbar {
  height: 8px;
}
pre::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2);
  border-radius: 4px;
}
pre:hover::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.4);
}

/* -----------------------------
   RESALTADO DE SINTAXIS (One Dark)
   ----------------------------- */

/* Palabras clave */
.highlight .k,
.highlight .kn,
.highlight .kd {
  color: #c678dd;
  font-weight: 500;
}

/* Funciones y métodos */
.highlight .nf,
.highlight .fm {
  color: #61afef;
}

/* Clases */
.highlight .nc {
  color: #e5c07b;
  font-weight: 600;
}

/* Strings */
.highlight .s,
.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s1,
.highlight .s2 {
  color: #98c379;
}

/* Números */
.highlight .m,
.highlight .mi,
.highlight .mf {
  color: #d19a66;
}

/* Comentarios */
.highlight .c,
.highlight .cm,
.highlight .c1 {
  color: #5c6370;
  font-style: italic;
}

/* Decoradores */
.highlight .nd {
  color: #e06c75;
}

/* Constantes o literales especiales */
.highlight .kc,
.highlight .kp {
  color: #56b6c2;
  font-weight: 500;
}

/* Operadores */
.highlight .o {
  color: #56b6c2;
}

/* Línea actual */
.highlight .hll {
  background-color: rgba(255, 255, 255, 0.1);
}


/* Soporte de topic*/
div.topic {
  border: 1px solid var(--color-border);
  background: var(--color-alert-info-bg);
  padding: 1em;
  border-left: 5px solid var(--color-accent);
  border-radius: 8px;
}
/* Opcional: estiliza el titulo como una alerta */
div.topic > .topic-title {
  font-weight: bold;
  font-style: normal;
  margin-bottom: 0.5em;
}
