/* ── Títulos ## de las páginas de referencia ────────────────────────────── */

.md-typeset h2:not(.doc-heading) {
  margin-top: 2.8em;
  padding-bottom: 0.25em;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(90deg,
      var(--md-default-fg-color--light) 0%,
      transparent 65%) 1;
}

/* ── Separador superior de cada clase documentada ──────────────────────── */

.doc-class {
  position: relative;
  margin-top: 2em;
  padding-top: 1.6em;
}

/* Línea punteada */
.doc-class::before {
  content: '';
  position: absolute;
  top: 0.45em;
  left: 0;
  right: 0;
  height: 1px;
  background-image: repeating-linear-gradient(
    90deg,
    var(--md-default-fg-color--light) 0,
    var(--md-default-fg-color--light) 8px,
    transparent 8px,
    transparent 22px
  );
}

/* Etiqueta centrada sobre la línea */
.doc-class::after {
  content: '« class »';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.1em 0.9em;
  background: var(--md-default-bg-color);
  color: var(--md-default-fg-color--light);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

/* ── Docstring summary (first text section) ─────────────────────────────── */

.doc-summary {
  margin: 1.8em 2.5em 2.8em 2.5em;
  padding: 0.9em 1.3em;
  border: none;
  border-radius: 5px;
  line-height: 1.7;

  /* Glow neutro: basado en el color de texto del tema (negro/blanco según modo) */
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--md-default-fg-color) 12%, transparent),
    0 0 5px 1px color-mix(in srgb, var(--md-default-fg-color) 14%, transparent),
    0 0 12px 3px color-mix(in srgb, var(--md-default-fg-color) 5%, transparent);
}

.doc-summary p {
  margin: 0 0 1em 0;
}

.doc-summary p:last-child {
  margin-bottom: 0;
}

[data-md-color-scheme="slate"] .doc-summary {
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--md-default-fg-color) 22%, transparent),
    0 0 6px 2px color-mix(in srgb, var(--md-default-fg-color) 28%, transparent),
    0 0 16px 5px color-mix(in srgb, var(--md-default-fg-color) 10%, transparent);
}