/* ============================================
   QA Overflow - Tema Escuro
   ============================================ */

/* --- MODO ESCURO --- */

:root {
    /* Fundos */
    --bg-primary: #0F172A;
    --bg-secondary: #1E293B;
    --bg-code: #334155;
    --bg-code-block: #020617;
    --bg-tip: #1E293B;

    /* Texto */
    --text-primary: #E2E8F0;
    --text-secondary: #94A3B8;
    --text-code: #F472B6;
    --text-code-block: #CBD5E1;

    /* Títulos */
    --heading-color: #F1F5F9;
    --heading-secondary: #CBD5E1;

    /* Links */
    --link-color: #60A5FA;
    --link-hover: #93C5FD;

    /* Bordas */
    --border-color: #334155;
    --border-tip: #475569;

    /* Botões */
    --btn-primary: #E76F51;
    --btn-primary-hover: #F77F65;

    /* Citações */
    --blockquote-border: #475569;
    --blockquote-bg: #1E293B;
}

/* --- APLICAÇÃO DOS ESTILOS --- */

/* Body */
body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.7;
    margin-top: 75px;
    transition: background-color 0.3s ease, color 0.3s ease;
    text-align: justify;
}

/* Títulos */
h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.75em;
}

h1 { font-size: 2.25rem; }
h2 { font-size: 1.875rem; }
h3 { font-size: 1.5rem; }

/* Parágrafos */
p {
    color: var(--text-primary);
    margin-bottom: 1em;
    text-align: justify;
    text-justify: inter-word;
}

/* Links */
a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}

/* Código inline */
code {
    background-color: var(--bg-code);
    color: var(--text-code);
    padding: 0.2em 0.4em;
    border-radius: 4px;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.9em;
}

/* Blocos de código */
pre {
    background-color: var(--bg-code-block);
    color: var(--text-code-block);
    padding: 1.25em;
    border-radius: 8px;
    overflow-x: auto;
    margin: 1.5em 0;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.875rem;
    line-height: 1.6;
}

pre code {
    background: none;
    padding: 0;
    color: inherit;
}

/* Citações */
blockquote {
    border-left: 4px solid var(--border-tip);
    background-color: var(--bg-tip);
    padding: 1em 1.5em;
    margin: 1.5em 0;
    border-radius: 0 8px 8px 0;
    color: var(--text-secondary);
    font-style: italic;
    text-align: justify;
}

/* Botões primários */
.btn-primary, button.btn-primary, a.btn-primary, input[type="submit"].btn-primary {
    background-color: var(--btn-primary);
    border-color: var(--btn-primary);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.5em 1.25em;
    border-radius: 6px;
    transition: all 0.2s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.btn-primary:hover, button.btn-primary:hover {
    background-color: var(--btn-primary-hover);
    border-color: var(--btn-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(231, 111, 81, 0.3);
}

/* Bordas */
hr {
    border: none;
    border-top: 1px solid var(--border-color);
    margin: 2em 0;
}

/* Listas */
ul, ol {
    color: var(--text-primary);
    margin-bottom: 1em;
    padding-left: 1.5em;
    text-align: justify;
}

li {
    margin-bottom: 0.5em;
}

/* Tabelas */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
}

th, td {
    padding: 0.75em 1em;
    border: 1px solid var(--border-color);
    text-align: left;
}

th {
    background-color: var(--bg-code);
    color: var(--heading-color);
    font-weight: 600;
}

tr:nth-child(even) {
    background-color: var(--bg-tip);
}

/* Navbar */
.navbar {
    background-color: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color);
}

.navbar-default .navbar-brand,
.navbar-default .navbar-nav > li > a {
    color: var(--text-primary) !important;
}

/* Panels */
.panel {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

.panel-heading {
    background-color: var(--bg-tip);
    border-bottom-color: var(--border-color);
    color: var(--heading-color);
}

.panel-primary {
    border-color: var(--border-color);
}

.panel-primary > .panel-heading {
    background-color: var(--bg-tip);
    border-color: var(--border-color);
    color: var(--heading-color);
}

/* List group */
.list-group-item {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

.list-group-item a {
    color: var(--link-color);
}

/* Form controls */
.form-control {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

input::placeholder {
    color: var(--text-secondary);
}

/* Footer */
footer {
    background-color: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
    margin-top: 3em;
    padding: 2em 0;
}

footer p {
    color: var(--text-secondary);
}

footer a {
    color: var(--link-color);
}

/* Artigos */
article {
    margin-bottom: 2em;
}

article h3 a {
    color: var(--heading-color);
    text-decoration: none;
}

article h3 a:hover {
    color: var(--link-color);
    text-decoration: none;
}

/* Ícones */
.glyphicon {
    color: var(--text-secondary);
}

/* Search */
.searchQuery {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

/* Posts page */
.post-content {
    color: var(--text-primary);
    text-align: justify;
    text-justify: inter-word;
}

.post-info {
    color: var(--text-secondary);
    margin-top: 1em;
}

.post-info a {
    color: var(--link-color);
}

/* Categorias */
.category-link, .archive_link a, .tag_cloud {
    color: var(--link-color);
}

.category-link:hover, .archive_link a:hover, .tag_cloud:hover {
    color: var(--link-hover);
}

/* Nav links */
.nav.navbar-nav.page-links a {
    color: var(--heading-color);
}

.nav.navbar-nav.page-links a:hover {
    color: var(--link-color);
    text-decoration: none;
}

/* Responsividade */
@media (max-width: 768px) {
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    
    body {
        font-size: 16px;
    }
}