/* ── sphinx_autodoc_api_style ─────────────────────────────
 * Card treatment and layout for Python API entries.
 *
 * Badge colour tokens have moved to sab_palettes.css in
 * sphinx-ux-badges.  This file only contains the
 * card-level and field-list layout rules.
 * ────────────────────────────────────────────────────────── */

/* ── Deprecated entry muting ───────────────────────────── */
dl.py.gp-sphinx-badge--state-deprecated > dt {
  opacity: 0.7;
}

/* ── Card treatment for top-level API entries ──────────── */
dl.py:not(.fixture) {
  border: 1px solid var(--color-background-border);
  border-radius: 0.5rem;
  padding: 0;
  margin-bottom: 1.5rem;
  overflow: visible;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

dl.py:not(.fixture) > dt {
  background: var(--color-background-secondary);
  border-bottom: 1px solid var(--color-background-border);
  padding: 0.5rem 0.75rem;
  text-indent: 0;
  margin: 0;
  padding-left: 1rem;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  min-height: 2rem;
  transition: background 100ms ease-out;
}

dl.py:not(.fixture) > dt:hover {
  background: var(--color-api-background-hover);
}

dl.py:not(.fixture) > dd {
  padding: 0.75rem 1rem;
  margin-left: 0 !important;
}

/* Nested API entries (methods inside classes) get lighter treatment */
dl.py:not(.fixture) dd dl.py:not(.fixture) {
  border-color: var(--color-background-border);
  box-shadow: none;
  margin-bottom: 1rem;
}

dl.py:not(.fixture) dd dl.py:not(.fixture) > dt {
  background: transparent;
  border-bottom-color: var(--color-background-border);
  padding-left: 0.75rem;
  transition: background 100ms ease-out;
}

dl.py:not(.fixture) dd dl.py:not(.fixture) > dt:hover {
  background: var(--color-api-background-hover);
}

/* ── Metadata fields (compact grid) ────────────────────── */
dl.py:not(.fixture) > dd > dl.field-list {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.25rem 1rem;
  border-top: 1px solid var(--color-background-border);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}

dl.py:not(.fixture) > dd > dl.field-list > dt {
  grid-column: 1;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 0.85em;
  letter-spacing: 0.025em;
}

dl.py:not(.fixture) > dd > dl.field-list > dd {
  grid-column: 2;
  margin-left: 0;
}

@media (max-width: 52rem) {
  dl.py:not(.fixture) > dd > dl.field-list {
    grid-template-columns: 1fr;
  }
  dl.py:not(.fixture) > dd > dl.field-list > dt,
  dl.py:not(.fixture) > dd > dl.field-list > dd {
    grid-column: 1;
  }
}
