/* ============================================================
   dark-mode.css — Configuração de Temas Claro e Escuro
   ============================================================

   COMO PERSONALIZAR:
   ─ Tema ESCURO → edite as variáveis --dm-* em html.dark-mode
   ─ Tema CLARO  → edite as variáveis --lm-* em :root
     (as variáveis do tema claro afetam: forced-light em sistemas
      escuros; e servem de referência para os valores padrão)

   Não é necessário mexer em nada abaixo de "FIM DA CONFIGURAÇÃO"
   ============================================================ */


/* ============================================================
   TEMA CLARO — edite as variáveis abaixo
   ============================================================ */
:root {
  /* Cores base */
  --lm-bg:                 #ffffff;
  --lm-text:               #404040;
  --lm-link:               #008AFF;
  --lm-link-hover:         #0085a1;
  --lm-selection-bg:       #0085a1;
  --lm-selection-text:     #ffffff;

  /* Navbar */
  --lm-nav-bg:             #F5F5F5;
  --lm-nav-border:         #EAEAEA;
  --lm-nav-text:           #404040;
  --lm-nav-hover:          #0085a1;
  --lm-nav-dropdown-bg:    #f5f5f5;
  --lm-nav-dropdown-border:#eaeaea;
  --lm-nav-active-bg:      #eeeeee;

  /* Footer */
  --lm-footer-bg:          #F5F5F5;
  --lm-footer-border:      #EAEAEA;
  --lm-footer-text:        #404040;
  --lm-disclaimer-bg:      #fdf5d4;
  --lm-disclaimer-border:  #f1c40f;

  /* Posts e metadados */
  --lm-post-border:        #eeeeee;
  --lm-post-link:          #404040;
  --lm-post-link-hover:    #0085a1;
  --lm-meta-text:          #808080;
  --lm-meta-link:          #404040;

  /* Tags */
  --lm-tag-text:           #999999;
  --lm-tag-link:           #008AFF;
  --lm-tag-hover-bg:       #cccccc;

  /* Blockquote */
  --lm-blockquote-border:  #dddddd;

  /* Botões (pager, disqus) */
  --lm-btn-bg:             #ffffff;
  --lm-btn-text:           #404040;
  --lm-btn-border:         #cccccc;
  --lm-btn-hover-bg:       #0085a1;
  --lm-btn-hover-text:     #ffffff;
  --lm-btn-hover-border:   #0085a1;

  /* Compartilhamento social */
  --lm-share-bg:           #b5c6ce;

  /* Tabelas */
  --lm-table-bg:           #ffffff;
  --lm-table-border:       #cccccc;
  --lm-table-alt-bg:       #f8f8f8;

  /* Código — Highlight.js */
  --lm-code-bg:            #f8f8f8;
  --lm-code-text:          #333333;
  --lm-code-comment:       #998877;
  --lm-code-keyword:       #333333;
  --lm-code-string:        #d14040;
  --lm-code-number:        #008080;
  --lm-code-title:         #900000;
  --lm-code-attr:          #000080;
  --lm-code-builtin:       #0086b3;
  --lm-code-meta:          #999999;
  --lm-code-del-bg:        #ffdddd;
  --lm-code-add-bg:        #ddffdd;

  /* Botão copiar código */
  --lm-copy-bg:            #f5f5f5;
  --lm-copy-border:        #cccccc;
  --lm-copy-text:          #333333;
  --lm-copy-hover-bg:      #e0e0e0;

  /* Bootstrap: wells, panels, list groups */
  --lm-well-bg:            #f5f5f5;
  --lm-well-border:        #e3e3e3;
  --lm-panel-bg:           #ffffff;
  --lm-panel-header-bg:    #f5f5f5;
  --lm-panel-border:       #dddddd;
  --lm-list-item-bg:       #ffffff;
  --lm-list-item-border:   #dddddd;

  /* Modal / Pagefind */
  --lm-modal-bg:           #ffffff;
  --lm-modal-header-bg:    #f5f5f5;
  --lm-modal-border:       #dee2e6;
  --lm-modal-text:         #404040;
  --lm-modal-close:        #404040;
}


/* ============================================================
   TEMA ESCURO — edite as variáveis abaixo
   ============================================================ */
html.dark-mode {
  /* Cores base */
  --dm-bg:                 #1a1a1a;
  --dm-text:               #e8e8e8;
  --dm-link:               #60b8ff;
  --dm-link-hover:         #40c8d0;
  --dm-selection-bg:       #40c8d0;
  --dm-selection-text:     #1a1a1a;

  /* Navbar */
  --dm-nav-bg:             #2d2d2d;
  --dm-nav-border:         #555555;
  --dm-nav-text:           #c0c0c0;
  --dm-nav-hover:          #b0e0ff;
  --dm-nav-dropdown-bg:    #252525;
  --dm-nav-dropdown-border:#555555;
  --dm-nav-active-bg:      #383838;

  /* Footer */
  --dm-footer-bg:          #242424;
  --dm-footer-border:      #555555;
  --dm-footer-text:        #aaaaaa;
  --dm-disclaimer-bg:      #2a2000;
  --dm-disclaimer-border:  #806b00;

  /* Posts e metadados */
  --dm-post-border:        #333333;
  --dm-post-link:          #c0c0c0;
  --dm-post-link-hover:    #b0e0ff;
  --dm-meta-text:          #888888;
  --dm-meta-link:          #aaaaaa;

  /* Tags */
  --dm-tag-text:           #777777;
  --dm-tag-link:           #60b8ff;
  --dm-tag-hover-bg:       #3a3a3a;

  /* Blockquote */
  --dm-blockquote-border:  #555555;

  /* Botões (pager, disqus) */
  --dm-btn-bg:             #2d2d2d;
  --dm-btn-text:           #e8e8e8;
  --dm-btn-border:         #555555;
  --dm-btn-hover-bg:       #40c8d0;
  --dm-btn-hover-text:     #1a1a1a;
  --dm-btn-hover-border:   #40c8d0;

  /* Compartilhamento social */
  --dm-share-bg:           #4a5a62;

  /* Tabelas */
  --dm-table-bg:           #1e1e1e;
  --dm-table-border:       #444444;
  --dm-table-alt-bg:       #272727;

  /* Código — Highlight.js (tema Atom One Dark) */
  --dm-code-bg:            #282c34;
  --dm-code-text:          #abb2bf;
  --dm-code-comment:       #5c6370;
  --dm-code-keyword:       #c678dd;
  --dm-code-string:        #98c379;
  --dm-code-number:        #d19a66;
  --dm-code-title:         #61afef;
  --dm-code-attr:          #e5c07b;
  --dm-code-builtin:       #56b6c2;
  --dm-code-meta:          #7f848e;
  --dm-code-del-bg:        #3d1f1f;
  --dm-code-add-bg:        #1f3d1f;

  /* Botão copiar código */
  --dm-copy-bg:            #333333;
  --dm-copy-border:        #555555;
  --dm-copy-text:          #e8e8e8;
  --dm-copy-hover-bg:      #444444;

  /* Bootstrap: wells, panels, list groups */
  --dm-well-bg:            #252525;
  --dm-well-border:        #444444;
  --dm-panel-bg:           #222222;
  --dm-panel-header-bg:    #2d2d2d;
  --dm-panel-border:       #555555;
  --dm-list-item-bg:       #2d2d2d;
  --dm-list-item-border:   #444444;

  /* Modal / Pagefind */
  --dm-modal-bg:           #2d2d2d;
  --dm-modal-header-bg:    #242424;
  --dm-modal-border:       #555555;
  --dm-modal-text:         #e8e8e8;
  --dm-modal-close:        #c0c0c0;
}


/* ============================================================
   FIM DA CONFIGURAÇÃO
   O que está abaixo aplica as variáveis — não precisa editar.
   ============================================================ */


/* ── TEMA ESCURO ──────────────────────────────────────────── */

/* Body */
html.dark-mode body {
  background: var(--dm-bg);
  color: var(--dm-text);
}

/* Links */
html.dark-mode a {
  color: var(--dm-link);
}
html.dark-mode p a {
  color: var(--dm-link);
}
html.dark-mode a:hover,
html.dark-mode a:focus {
  color: var(--dm-link-hover);
}

/* Seleção de texto */
html.dark-mode ::selection {
  background: var(--dm-selection-bg);
  color: var(--dm-selection-text);
}
html.dark-mode ::-moz-selection {
  background: var(--dm-selection-bg);
  color: var(--dm-selection-text);
}

/* Blockquote */
html.dark-mode blockquote {
  border-left: 5px solid var(--dm-blockquote-border);
}

/* HR */
html.dark-mode hr {
  border-top-color: var(--dm-post-border);
}

/* Navbar */
html.dark-mode .navbar-custom {
  background: var(--dm-nav-bg);
  border-bottom: 1px solid var(--dm-nav-border);
}
html.dark-mode .navbar-custom .navbar-brand,
html.dark-mode .navbar-custom .nav li a {
  color: var(--dm-nav-text);
}
html.dark-mode .navbar-custom .navbar-brand:hover,
html.dark-mode .navbar-custom .navbar-brand:focus,
html.dark-mode .navbar-custom .nav li a:hover,
html.dark-mode .navbar-custom .nav li a:focus {
  color: var(--dm-nav-hover);
}
html.dark-mode .navbar-custom .navbar-toggle {
  border-color: var(--dm-nav-border);
}
html.dark-mode .navbar-custom .navbar-toggle:hover,
html.dark-mode .navbar-custom .navbar-toggle:focus {
  background-color: var(--dm-nav-active-bg);
}
html.dark-mode .navbar-custom .navbar-toggle .icon-bar {
  background-color: var(--dm-nav-text);
}

/* Navbar — dropdown desktop */
html.dark-mode .navbar-custom .nav .navlinks-container:hover {
  background: var(--dm-nav-active-bg);
}
html.dark-mode .navbar-custom .nav .navlinks-container .navlinks-children a {
  background: var(--dm-nav-dropdown-bg);
  border-color: var(--dm-nav-dropdown-border);
  color: var(--dm-nav-text);
}
html.dark-mode .navbar-custom .nav .navlinks-children a:hover,
html.dark-mode .navbar-custom .nav .navlinks-children a:focus {
  color: var(--dm-nav-hover);
}

/* Navbar — dropdown mobile */
html.dark-mode .navbar-custom .nav .navlinks-container.show-children {
  background: var(--dm-nav-active-bg);
}

/* Footer */
html.dark-mode footer {
  background: var(--dm-footer-bg);
  border-top: 1px solid var(--dm-footer-border);
  color: var(--dm-footer-text);
}
html.dark-mode footer a {
  color: var(--dm-footer-text);
}
html.dark-mode footer .fa-circle {
  color: var(--dm-nav-text);
}
html.dark-mode footer div.disclaimer {
  background-color: var(--dm-disclaimer-bg);
  border-color: var(--dm-footer-border);
  border-left-color: var(--dm-disclaimer-border);
  border-right-color: var(--dm-disclaimer-border);
  color: var(--dm-text);
}

/* Post preview */
html.dark-mode .post-preview {
  border-bottom-color: var(--dm-post-border);
}
html.dark-mode .post-preview a {
  color: var(--dm-post-link);
}
html.dark-mode .post-preview a:hover,
html.dark-mode .post-preview a:focus {
  color: var(--dm-post-link-hover);
}
html.dark-mode .post-preview .post-subtitle {
  color: var(--dm-meta-text);
}

/* Metadados (data, tempo de leitura) */
html.dark-mode .post-preview .post-meta,
html.dark-mode .post-heading .post-meta,
html.dark-mode .page-meta {
  color: var(--dm-meta-text);
}
html.dark-mode .post-preview .post-meta a,
html.dark-mode .post-heading .post-meta a,
html.dark-mode .page-meta a {
  color: var(--dm-meta-link);
}

/* Tags */
html.dark-mode .blog-tags {
  color: var(--dm-tag-text);
}
html.dark-mode .blog-tags a {
  color: var(--dm-tag-link);
}
html.dark-mode .blog-tags a:hover {
  color: var(--dm-tag-link);
  background-color: var(--dm-tag-hover-bg);
}

/* Header sem big-img */
html.dark-mode .header-section.has-img .no-img {
  box-shadow: 0 0 5px #000;
}

/* Pager */
html.dark-mode .pager li a {
  background: var(--dm-btn-bg);
  color: var(--dm-btn-text);
  border-color: var(--dm-btn-border);
}
html.dark-mode .pager li a:hover,
html.dark-mode .pager li a:focus {
  color: var(--dm-btn-hover-text);
  background: var(--dm-btn-hover-bg);
  border-color: var(--dm-btn-hover-border);
}

/* Tabelas */
html.dark-mode table tr {
  background-color: var(--dm-table-bg);
  border-top-color: var(--dm-table-border);
}
html.dark-mode table tr:nth-child(2n) {
  background-color: var(--dm-table-alt-bg);
}
html.dark-mode table tr th,
html.dark-mode table tr td {
  border-color: var(--dm-table-border);
}

/* Compartilhamento social */
html.dark-mode ul.share li a {
  background-color: var(--dm-share-bg);
}

/* Botão Disqus (delayed) */
html.dark-mode .disqus-comments button {
  background: var(--dm-btn-bg);
  color: var(--dm-btn-text);
  border-color: var(--dm-btn-border);
}
html.dark-mode .disqus-comments button:hover,
html.dark-mode .disqus-comments button:focus {
  color: var(--dm-btn-hover-text);
  background: var(--dm-btn-hover-bg);
  border-color: var(--dm-btn-hover-border);
}

/* Bootstrap: Wells */
html.dark-mode .well {
  background-color: var(--dm-well-bg);
  border-color: var(--dm-well-border);
}

/* Bootstrap: Panels */
html.dark-mode .panel {
  background-color: var(--dm-panel-bg);
  border-color: var(--dm-panel-border);
}
html.dark-mode .panel-default > .panel-heading {
  background-color: var(--dm-panel-header-bg);
  border-color: var(--dm-panel-border);
  color: var(--dm-text);
}
html.dark-mode .panel-body {
  color: var(--dm-text);
}

/* Bootstrap: List groups */
html.dark-mode .list-group-item {
  background-color: var(--dm-list-item-bg);
  border-color: var(--dm-list-item-border);
  color: var(--dm-text);
}
html.dark-mode div.panel-body a.list-group-item {
  background-color: var(--dm-list-item-bg);
  color: var(--dm-link);
}
html.dark-mode div.panel-body a.list-group-item:hover {
  background-color: var(--dm-nav-active-bg);
}

/* Imagens com fundo branco explícito */
html.dark-mode figure:not(.dark) img,
html.dark-mode img.white {
  background-color: #ffffff;
}

/* ── Código — Highlight.js ──────────────────────────────── */

html.dark-mode code {
  background-color: var(--dm-code-bg);
  color: var(--dm-code-text);
}
html.dark-mode pre code {
  color: var(--dm-code-text);
  background-color: transparent;
}
html.dark-mode .hljs {
  background: var(--dm-code-bg);
  color: var(--dm-code-text);
}
html.dark-mode .hljs-comment,
html.dark-mode .hljs-quote {
  color: var(--dm-code-comment);
  font-style: italic;
}
html.dark-mode .hljs-keyword,
html.dark-mode .hljs-selector-tag,
html.dark-mode .hljs-subst {
  color: var(--dm-code-keyword);
}
html.dark-mode .hljs-string,
html.dark-mode .hljs-doctag,
html.dark-mode .hljs-regexp,
html.dark-mode .hljs-link {
  color: var(--dm-code-string);
}
html.dark-mode .hljs-number,
html.dark-mode .hljs-literal,
html.dark-mode .hljs-variable,
html.dark-mode .hljs-template-variable,
html.dark-mode .hljs-tag .hljs-attr {
  color: var(--dm-code-number);
}
html.dark-mode .hljs-title,
html.dark-mode .hljs-section,
html.dark-mode .hljs-selector-id {
  color: var(--dm-code-title);
  font-weight: bold;
}
html.dark-mode .hljs-type,
html.dark-mode .hljs-class .hljs-title,
html.dark-mode .hljs-tag,
html.dark-mode .hljs-name,
html.dark-mode .hljs-attribute {
  color: var(--dm-code-attr);
}
html.dark-mode .hljs-symbol,
html.dark-mode .hljs-bullet {
  color: var(--dm-code-keyword);
}
html.dark-mode .hljs-built_in,
html.dark-mode .hljs-builtin-name {
  color: var(--dm-code-builtin);
}
html.dark-mode .hljs-meta {
  color: var(--dm-code-meta);
  font-weight: bold;
}
html.dark-mode .hljs-deletion {
  background: var(--dm-code-del-bg);
}
html.dark-mode .hljs-addition {
  background: var(--dm-code-add-bg);
}

/* ── Código — Chroma (pygments/server-side) ─────────────── */

html.dark-mode pre.chroma {
  background-color: var(--dm-code-bg);
  color: var(--dm-code-text);
}
html.dark-mode pre.chroma .k,
html.dark-mode pre.chroma .kd,
html.dark-mode pre.chroma .kn,
html.dark-mode pre.chroma .kr,
html.dark-mode pre.chroma .ky {
  color: var(--dm-code-keyword);
}
html.dark-mode pre.chroma .kt {
  color: var(--dm-code-attr);
}
html.dark-mode pre.chroma .s,
html.dark-mode pre.chroma .s1,
html.dark-mode pre.chroma .s2,
html.dark-mode pre.chroma .sb,
html.dark-mode pre.chroma .sc,
html.dark-mode pre.chroma .sd,
html.dark-mode pre.chroma .sh,
html.dark-mode pre.chroma .si,
html.dark-mode pre.chroma .sr,
html.dark-mode pre.chroma .ss {
  color: var(--dm-code-string);
}
html.dark-mode pre.chroma .mi,
html.dark-mode pre.chroma .mf,
html.dark-mode pre.chroma .mh,
html.dark-mode pre.chroma .mo {
  color: var(--dm-code-number);
}
html.dark-mode pre.chroma .c,
html.dark-mode pre.chroma .c1,
html.dark-mode pre.chroma .cm,
html.dark-mode pre.chroma .cs,
html.dark-mode pre.chroma .cp {
  color: var(--dm-code-comment);
  font-style: italic;
}
html.dark-mode pre.chroma .nb,
html.dark-mode pre.chroma .bp {
  color: var(--dm-code-builtin);
}
html.dark-mode pre.chroma .nf,
html.dark-mode pre.chroma .nc,
html.dark-mode pre.chroma .nn {
  color: var(--dm-code-title);
}
html.dark-mode pre.chroma .o,
html.dark-mode pre.chroma .ow {
  color: var(--dm-code-meta);
}
html.dark-mode pre.chroma .na,
html.dark-mode pre.chroma .nt {
  color: var(--dm-code-attr);
}

/* Botão copiar código */
html.dark-mode .copyCodeButton {
  background-color: var(--dm-copy-bg);
  border-color: var(--dm-copy-border);
  color: var(--dm-copy-text);
}
html.dark-mode .copyCodeButton:hover {
  background-color: var(--dm-copy-hover-bg);
}

/* ── Modal e Pagefind ───────────────────────────────────── */

html.dark-mode .modal-content {
  background-color: var(--dm-modal-bg);
  color: var(--dm-modal-text);
  border-color: var(--dm-modal-border);
}
html.dark-mode .modal-header {
  background-color: var(--dm-modal-header-bg);
  border-bottom-color: var(--dm-modal-border);
}
html.dark-mode .modal-footer {
  border-top-color: var(--dm-modal-border);
}
html.dark-mode .modal-header .close {
  color: var(--dm-modal-close);
  text-shadow: none;
  opacity: 0.8;
}
html.dark-mode .modal-header .close:hover {
  opacity: 1;
}

/* Pagefind UI — variáveis internas da biblioteca */
html.dark-mode #pagefind-search {
  --pagefind-ui-primary:    var(--dm-link);
  --pagefind-ui-text:       var(--dm-modal-text);
  --pagefind-ui-background: var(--dm-modal-bg);
  --pagefind-ui-border:     var(--dm-modal-border);
  --pagefind-ui-tag:        var(--dm-nav-active-bg);
}


/* ============================================================
   TEMA CLARO FORÇADO
   Sobrescreve prefers-color-scheme:dark para usuários que
   ativaram manualmente o tema claro (classe html.light-mode).
   ============================================================ */
@media (prefers-color-scheme: dark) {

  /* Body */
  html.light-mode body {
    background: var(--lm-bg) !important;
    color: var(--lm-text) !important;
  }

  /* Links */
  html.light-mode a { color: var(--lm-link) !important; }
  html.light-mode p a { color: var(--lm-link) !important; }
  html.light-mode a:hover,
  html.light-mode a:focus { color: var(--lm-link-hover) !important; }

  /* Seleção de texto */
  html.light-mode ::selection {
    background: var(--lm-selection-bg) !important;
    color: var(--lm-selection-text) !important;
  }

  /* Blockquote */
  html.light-mode blockquote {
    border-left-color: var(--lm-blockquote-border) !important;
  }

  /* HR */
  html.light-mode hr {
    border-top-color: var(--lm-post-border) !important;
  }

  /* Navbar */
  html.light-mode .navbar-custom {
    background: var(--lm-nav-bg) !important;
    border-bottom-color: var(--lm-nav-border) !important;
  }
  html.light-mode .navbar-custom .navbar-brand,
  html.light-mode .navbar-custom .nav li a {
    color: var(--lm-nav-text) !important;
  }
  html.light-mode .navbar-custom .navbar-brand:hover,
  html.light-mode .navbar-custom .navbar-brand:focus,
  html.light-mode .navbar-custom .nav li a:hover,
  html.light-mode .navbar-custom .nav li a:focus {
    color: var(--lm-nav-hover) !important;
  }
  html.light-mode .navbar-custom .navbar-toggle {
    border-color: var(--lm-nav-border) !important;
  }
  html.light-mode .navbar-custom .navbar-toggle .icon-bar {
    background-color: var(--lm-nav-text) !important;
  }
  html.light-mode .navbar-custom .nav .navlinks-container:hover {
    background: var(--lm-nav-active-bg) !important;
  }
  html.light-mode .navbar-custom .nav .navlinks-container .navlinks-children a {
    background: var(--lm-nav-dropdown-bg) !important;
    border-color: var(--lm-nav-dropdown-border) !important;
    color: var(--lm-nav-text) !important;
  }
  html.light-mode .navbar-custom .nav .navlinks-container.show-children {
    background: var(--lm-nav-active-bg) !important;
  }

  /* Footer */
  html.light-mode footer {
    background: var(--lm-footer-bg) !important;
    border-top-color: var(--lm-footer-border) !important;
    color: var(--lm-footer-text) !important;
  }
  html.light-mode footer a { color: var(--lm-footer-text) !important; }
  html.light-mode footer div.disclaimer {
    background-color: var(--lm-disclaimer-bg) !important;
    border-left-color: var(--lm-disclaimer-border) !important;
    border-right-color: var(--lm-disclaimer-border) !important;
  }

  /* Post preview */
  html.light-mode .post-preview {
    border-bottom-color: var(--lm-post-border) !important;
  }
  html.light-mode .post-preview a { color: var(--lm-post-link) !important; }
  html.light-mode .post-preview a:hover,
  html.light-mode .post-preview a:focus {
    color: var(--lm-post-link-hover) !important;
  }
  html.light-mode .post-preview .post-meta,
  html.light-mode .post-heading .post-meta,
  html.light-mode .page-meta {
    color: var(--lm-meta-text) !important;
  }
  html.light-mode .post-preview .post-meta a,
  html.light-mode .post-heading .post-meta a,
  html.light-mode .page-meta a {
    color: var(--lm-meta-link) !important;
  }

  /* Tags */
  html.light-mode .blog-tags { color: var(--lm-tag-text) !important; }
  html.light-mode .blog-tags a { color: var(--lm-tag-link) !important; }
  html.light-mode .blog-tags a:hover {
    color: var(--lm-tag-link) !important;
    background-color: var(--lm-tag-hover-bg) !important;
  }

  /* Pager */
  html.light-mode .pager li a {
    background: var(--lm-btn-bg) !important;
    color: var(--lm-btn-text) !important;
    border-color: var(--lm-btn-border) !important;
  }
  html.light-mode .pager li a:hover,
  html.light-mode .pager li a:focus {
    color: var(--lm-btn-hover-text) !important;
    background: var(--lm-btn-hover-bg) !important;
    border-color: var(--lm-btn-hover-border) !important;
  }

  /* Tabelas */
  html.light-mode table tr {
    background-color: var(--lm-table-bg) !important;
    border-top-color: var(--lm-table-border) !important;
  }
  html.light-mode table tr:nth-child(2n) {
    background-color: var(--lm-table-alt-bg) !important;
  }
  html.light-mode table tr th,
  html.light-mode table tr td {
    border-color: var(--lm-table-border) !important;
  }

  /* Social share */
  html.light-mode ul.share li a {
    background-color: var(--lm-share-bg) !important;
  }

  /* Disqus button */
  html.light-mode .disqus-comments button {
    background: var(--lm-btn-bg) !important;
    color: var(--lm-btn-text) !important;
    border-color: var(--lm-btn-border) !important;
  }
  html.light-mode .disqus-comments button:hover,
  html.light-mode .disqus-comments button:focus {
    color: var(--lm-btn-hover-text) !important;
    background: var(--lm-btn-hover-bg) !important;
    border-color: var(--lm-btn-hover-border) !important;
  }

  /* Wells, panels, list groups */
  html.light-mode .well {
    background-color: var(--lm-well-bg) !important;
    border-color: var(--lm-well-border) !important;
  }
  html.light-mode .panel {
    background-color: var(--lm-panel-bg) !important;
    border-color: var(--lm-panel-border) !important;
  }
  html.light-mode .panel-default > .panel-heading {
    background-color: var(--lm-panel-header-bg) !important;
    color: var(--lm-text) !important;
  }
  html.light-mode .list-group-item {
    background-color: var(--lm-list-item-bg) !important;
    border-color: var(--lm-list-item-border) !important;
    color: var(--lm-text) !important;
  }

  /* Imagens */
  html.light-mode figure:not(.dark) img,
  html.light-mode img.white {
    background-color: transparent !important;
  }

  /* Código — Highlight.js */
  html.light-mode code {
    background-color: var(--lm-code-bg) !important;
    color: var(--lm-code-text) !important;
  }
  html.light-mode pre code {
    color: var(--lm-code-text) !important;
    background-color: transparent !important;
  }
  html.light-mode .hljs {
    background: var(--lm-code-bg) !important;
    color: var(--lm-code-text) !important;
  }
  html.light-mode .hljs-comment,
  html.light-mode .hljs-quote {
    color: var(--lm-code-comment) !important;
  }
  html.light-mode .hljs-keyword,
  html.light-mode .hljs-selector-tag,
  html.light-mode .hljs-subst {
    color: var(--lm-code-keyword) !important;
  }
  html.light-mode .hljs-string,
  html.light-mode .hljs-doctag { color: var(--lm-code-string) !important; }
  html.light-mode .hljs-number,
  html.light-mode .hljs-literal { color: var(--lm-code-number) !important; }
  html.light-mode .hljs-title,
  html.light-mode .hljs-section { color: var(--lm-code-title) !important; }
  html.light-mode .hljs-built_in,
  html.light-mode .hljs-builtin-name { color: var(--lm-code-builtin) !important; }
  html.light-mode .hljs-deletion { background: var(--lm-code-del-bg) !important; }
  html.light-mode .hljs-addition { background: var(--lm-code-add-bg) !important; }

  /* Código — Chroma */
  html.light-mode pre.chroma {
    background-color: var(--lm-code-bg) !important;
    color: var(--lm-code-text) !important;
  }

  /* Botão copiar código */
  html.light-mode .copyCodeButton {
    background-color: var(--lm-copy-bg) !important;
    border-color: var(--lm-copy-border) !important;
    color: var(--lm-copy-text) !important;
  }
  html.light-mode .copyCodeButton:hover {
    background-color: var(--lm-copy-hover-bg) !important;
  }

  /* Modal */
  html.light-mode .modal-content {
    background-color: var(--lm-modal-bg) !important;
    color: var(--lm-modal-text) !important;
    border-color: var(--lm-modal-border) !important;
  }
  html.light-mode .modal-header {
    background-color: var(--lm-modal-header-bg) !important;
    border-bottom-color: var(--lm-modal-border) !important;
  }
  html.light-mode .modal-footer {
    border-top-color: var(--lm-modal-border) !important;
  }
  html.light-mode .modal-header .close {
    color: var(--lm-modal-close) !important;
  }

  /* Pagefind UI */
  html.light-mode #pagefind-search {
    --pagefind-ui-primary:    var(--lm-link);
    --pagefind-ui-text:       var(--lm-modal-text);
    --pagefind-ui-background: var(--lm-modal-bg);
    --pagefind-ui-border:     var(--lm-modal-border);
    --pagefind-ui-tag:        var(--lm-table-alt-bg);
  }
}


/* ============================================================
   Botão de toggle do tema (☀️ / 🌙)
   ============================================================ */
.theme-toggle-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  padding: 14px 10px;
  line-height: 20px;
  color: inherit;
  vertical-align: middle;
  display: inline-block;
}
.theme-toggle-btn:hover,
.theme-toggle-btn:focus {
  outline: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .theme-toggle-btn {
    padding: 10px 15px;
    display: block;
    width: 100%;
    text-align: left;
  }
}
