
/* ====== SNODE STYLE v3 ====== */

/* Tema chiaro (default) */
:root {
  --bg: #ffffff;
  --surface: #f8fafc;
  --surface-2: #eef2f7;

  --text: #1e293b;
  --text-soft: #475569;

  --accent: #4f46e5;
  --accent-hover: #4338ca;
  --accent-light: rgba(79, 70, 229, 0.12);

  --border: rgba(15, 23, 42, 0.12);

  --code-bg: #f1f5f9;
  --code-text: #0f172a;

  --sidebar-bg: #f8fafc;
}

/* Tema scuro */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b1020;
    --surface: #111827;
    --surface-2: #1f2937;

    --text: #e5e7eb;
    --text-soft: #cbd5e1;

    --accent: #87CEEB;
    --accent-hover: #a5ddf4;
    --accent-light: rgba(135, 206, 235, 0.15);

    --border: rgba(255, 255, 255, 0.08);

    --code-bg: #0f172a;
    --code-text: #f8fafc;

    --sidebar-bg: #0f172a;
  }
}

/* ===== BASE ===== */

body {
  background-color: var(--bg);
  color: var(--text);
  font-family:
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;
  line-height: 1.65;
}

/* ===== TITOLI ===== */

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--accent);
  font-weight: 700;
}

h1 {
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.4rem;
}

/* ===== TESTO ===== */

p,
li,
td,
th {
  color: var(--text);
}

/* ===== LINK ===== */

a {
  color: var(--accent);
  text-decoration: none;
  transition: 0.15s ease;
}

a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* ===== SIDEBAR RTD ===== */

.wy-nav-side {
  background: var(--sidebar-bg);
  border-right: 1px solid var(--border);
}

.wy-menu-vertical li.current > a {
  background: var(--accent-light);
  border-left: 3px solid var(--accent);
}

.wy-menu-vertical a:hover {
  background: var(--accent-light);
}

/* ===== CODICE ===== */

code {
  background: var(--code-bg);
  color: var(--code-text);
  border-radius: 6px;
  padding: 2px 6px;
}

pre {
  background: var(--code-bg);
  color: var(--code-text);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
  overflow-x: auto;
}

/* ===== ADMONITIONS ===== */

.admonition {
  background: var(--surface);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
}

.admonition-title {
  color: var(--accent);
}

/* ===== TABELLE ===== */

table {
  border-collapse: collapse;
}

table th,
table td {
  border: 1px solid var(--border);
}

table th {
  background: var(--surface-2);
}

/* ===== BOTTONI ===== */

button,
.btn {
  background: var(--accent);
  color: white;
  border: none;
  border-radius: 8px;
  padding: 6px 12px;
  transition: 0.15s ease;
}

button:hover,
.btn:hover {
  background: var(--accent-hover);
}

/* ===== SELEZIONE ===== */

::selection {
  background: var(--accent);
  color: white;
}

/* ===== SCROLLBAR ===== */

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 999px;
}

/* ===== CODICE INLINE ===== */

code {
  background-color: var(--code-bg);
  color: var(--code-text);
  padding: 0.15rem 0.4rem;
  border-radius: 5px;
  border: 1px solid var(--border);
  font-size: 0.95em;
}

/* ===== BLOCCHI DI CODICE ===== */

pre {
  background-color: var(--code-bg);
  color: var(--code-text);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
  overflow-x: auto;
}

pre code {
  background: transparent;
  border: none;
  padding: 0;
}

/* ===== QUOTE ===== */

blockquote {
  background-color: var(--surface);
  border-left: 4px solid var(--accent);
  color: var(--text);
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  border-radius: 0 8px 8px 0;
}

blockquote p {
  color: var(--text);
}


/* Inline code */

code,
code.literal,
.rst-content code,
.rst-content code.literal {
  color: var(--code-text) !important;
  background-color: var(--code-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: 5px;
  padding: 2px 5px;
}

/* Non toccare il codice dentro i blocchi */

pre code,
.highlight code {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
