/* Urban CFD Tutorial — Custom CSS
   Palette: Dark Blue #1B3A6B | Grey #5A6472 | Gold #C8A430
*/

:root {
    --color-primary:   #1B3A6B;   /* dark blue  */
    --color-secondary: #5A6472;   /* grey       */
    --color-accent:    #C8A430;   /* gold       */
    --color-light-bg:  #f0f4f8;
    --color-border:    #d0d8e4;
}

/* ── Sidebar / navigation background ───────────────────────────────────────── */
.wy-nav-side,
.wy-side-nav-search {
    background-color: var(--color-primary) !important;
}

.wy-side-nav-search {
    background-color: #142d56 !important;  /* slightly darker for search bar */
}

.wy-side-nav-search input[type=text] {
    border-color: var(--color-accent);
}

/* Active nav link */
.wy-menu-vertical li.current > a,
.wy-menu-vertical li.current > a:hover {
    background-color: #264d8e !important;
    border-left: 4px solid var(--color-accent) !important;
    color: #fff !important;
}

.wy-menu-vertical a:hover {
    background-color: #233f72 !important;
    color: #fff !important;
}

/* Nav caption (section headers in sidebar) */
.wy-menu-vertical p.caption {
    color: var(--color-accent) !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78em;
}

/* ── Content headings ───────────────────────────────────────────────────────── */
.rst-content h1 {
    color: var(--color-primary);
    border-bottom: 3px solid var(--color-accent);
    padding-bottom: 8px;
}

.rst-content h2 {
    color: var(--color-primary);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 4px;
}

.rst-content h3 {
    color: var(--color-secondary);
}

/* ── Admonitions ────────────────────────────────────────────────────────────── */
.rst-content .note .admonition-title {
    background: var(--color-primary);
}

.rst-content .warning .admonition-title {
    background: #b05c1a;
}

.rst-content .tip .admonition-title,
.rst-content .hint .admonition-title {
    background: #27682e;
}

.rst-content .seealso .admonition-title {
    background: var(--color-secondary);
}

/* Gold accent for "important" */
.rst-content .important .admonition-title {
    background: var(--color-accent);
    color: #1a1a1a;
}

/* ── Code blocks ────────────────────────────────────────────────────────────── */
.highlight {
    border-left: 4px solid var(--color-accent);
    border-radius: 0 4px 4px 0;
}

div[class^="highlight"] pre {
    background-color: #f5f7fa;
}

/* Inline code */
.rst-content code.literal {
    color: var(--color-primary);
    background-color: #eef2f8;
    border: 1px solid var(--color-border);
    padding: 1px 4px;
    border-radius: 3px;
}

/* ── Tables ─────────────────────────────────────────────────────────────────── */
table.docutils {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid var(--color-border);
}

table.docutils th {
    background-color: var(--color-primary);
    color: #ffffff;
    padding: 8px 10px;
    font-weight: 600;
}

table.docutils td {
    padding: 6px 10px;
    border-bottom: 1px solid var(--color-border);
}

table.docutils tr:nth-child(even) td {
    background-color: var(--color-light-bg);
}

table.docutils tr:hover td {
    background-color: #e6ecf5;
}

/* ── Equations ──────────────────────────────────────────────────────────────── */
.math {
    overflow-x: auto;
    padding: 0.5em 0;
}

/* ── Breadcrumb / top bar ───────────────────────────────────────────────────── */
.wy-nav-top {
    background-color: var(--color-primary) !important;
}

/* ── Buttons & links ────────────────────────────────────────────────────────── */
.rst-content a {
    color: #1d4a8c;
}

.rst-content a:hover {
    color: var(--color-accent);
    text-decoration: underline;
}

/* ── sphinx-design dropdowns ────────────────────────────────────────────────── */
.sd-summary-title {
    color: var(--color-primary) !important;
    font-weight: 600;
}

details.sd-dropdown summary {
    border-left: 4px solid var(--color-accent);
    padding-left: 8px;
}

/* ── Footer ─────────────────────────────────────────────────────────────────── */
footer {
    border-top: 2px solid var(--color-accent);
    color: var(--color-secondary);
    font-size: 0.85em;
}

/* ── Scrollbar (Chrome/Edge) ────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--color-light-bg); }
::-webkit-scrollbar-thumb {
    background: var(--color-secondary);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--color-primary); }
