/* Dark mode do site LoopHost.
   Ativado por html[data-theme="dark"] (definido no <head> do Layout antes da pintura:
   escolha salva em localStorage "lh_theme" ou, sem escolha, prefers-color-scheme).
   Sobrescreve só as superfícies do tema (styles.css); cores de marca e heroes escuros ficam. */

html[data-theme="dark"] {
  color-scheme: dark;
  --lh-bg: #0e1120;
  --lh-bg-alt: #13172b;
  --lh-surface: #191d34;
  --lh-surface-2: #20253f;
  --lh-border: #2b3150;
  --lh-text: #cfd4e4;
  --lh-heading: #f2f3f9;
  --lh-muted: #97a0b8;
  --lh-link: #a58bff;
}

/* Base */
html[data-theme="dark"] body,
html[data-theme="dark"] main { background-color: var(--lh-bg); color: var(--lh-text); }
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3,
html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6,
html[data-theme="dark"] .h1, html[data-theme="dark"] .h2, html[data-theme="dark"] .h3,
html[data-theme="dark"] .h4, html[data-theme="dark"] .h5, html[data-theme="dark"] .h6,
html[data-theme="dark"] .display-4 { color: var(--lh-heading); }
/* O tema pinta p/li de #54657e (contraste 3:1 no escuro) */
html[data-theme="dark"] p, html[data-theme="dark"] li, html[data-theme="dark"] td,
html[data-theme="dark"] .lead { color: var(--lh-text); }
html[data-theme="dark"] .text-dark,
html[data-theme="dark"] strong.text-dark { color: var(--lh-heading) !important; }
html[data-theme="dark"] .text-muted { color: var(--lh-muted) !important; }
html[data-theme="dark"] .text-primary { color: var(--lh-link) !important; }
html[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item) { color: var(--lh-link); }
html[data-theme="dark"] hr, html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top, html[data-theme="dark"] .border-bottom { border-color: var(--lh-border) !important; }

/* Seções e superfícies claras */
html[data-theme="dark"] .bg-white { background-color: var(--lh-bg) !important; }
html[data-theme="dark"] .bg-section-secondary,
html[data-theme="dark"] .bg-secondary,
html[data-theme="dark"] .bg-light { background-color: var(--lh-bg-alt) !important; }
html[data-theme="dark"] .fill-white { fill: var(--lh-bg) !important; }
html[data-theme="dark"] .fill-section-secondary { fill: var(--lh-bg-alt) !important; }

/* Navbar */
html[data-theme="dark"] .navbar.bg-white,
html[data-theme="dark"] .navbar-light { background-color: var(--lh-bg-alt) !important; box-shadow: 0 1px 0 var(--lh-border); }
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link { color: rgba(230, 233, 245, .78); }
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
html[data-theme="dark"] .navbar-light .navbar-nav .show > .nav-link { color: #fff; }
html[data-theme="dark"] .navbar-light .navbar-toggler { border-color: var(--lh-border); }
html[data-theme="dark"] .navbar-light .navbar-toggler-icon { filter: invert(1) brightness(1.6); }
html[data-theme="dark"] .navbar .btn-light { background: var(--lh-surface-2); border-color: var(--lh-border); color: var(--lh-text); }
html[data-theme="dark"] .navbar-collapse { background-color: var(--lh-bg-alt); }
html[data-theme="dark"] .subnavbar { background-color: var(--lh-bg-alt) !important; border-color: var(--lh-border) !important; }
html[data-theme="dark"] .subnavbar .nav-link { color: var(--lh-muted); }
html[data-theme="dark"] .subnavbar .nav-link:hover { color: #fff; }

/* Troca de logo */
.logo-dark { display: none; }
html[data-theme="dark"] .logo-light { display: none; }
html[data-theme="dark"] .logo-dark { display: inline-block; }

/* Dropdowns e listas */
html[data-theme="dark"] .dropdown-menu { background-color: var(--lh-surface); border-color: var(--lh-border); box-shadow: 0 12px 30px rgba(0, 0, 0, .45); }
html[data-theme="dark"] .dropdown-item,
html[data-theme="dark"] .list-group-item { background-color: transparent; color: var(--lh-text); border-color: var(--lh-border); }
html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .list-group-item-action:hover,
html[data-theme="dark"] .list-group-item-action:focus { background-color: var(--lh-surface-2); color: #fff; }
html[data-theme="dark"] .dropdown-menu .h6,
html[data-theme="dark"] .dropdown-menu h6 { color: var(--lh-heading); }

/* Cards, jumbotron, modal, accordion */
html[data-theme="dark"] .card,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .popover { background-color: var(--lh-surface); border-color: var(--lh-border); color: var(--lh-text); }
html[data-theme="dark"] .card-header,
html[data-theme="dark"] .card-footer { background-color: transparent; border-color: var(--lh-border); }
html[data-theme="dark"] .card.bg-white,
html[data-theme="dark"] .card-header.bg-white { background-color: var(--lh-surface) !important; }
html[data-theme="dark"] .shadow, html[data-theme="dark"] .shadow-sm { box-shadow: 0 4px 18px rgba(0, 0, 0, .35) !important; }
html[data-theme="dark"] .btn-link.text-dark { color: var(--lh-heading) !important; }

/* Tabelas */
html[data-theme="dark"] .table { color: var(--lh-text); }
html[data-theme="dark"] .table.bg-white { background-color: var(--lh-surface) !important; }
html[data-theme="dark"] .table td, html[data-theme="dark"] .table th { border-color: var(--lh-border); }
html[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, .025); }
html[data-theme="dark"] .table-hover tbody tr:hover { background-color: rgba(255, 255, 255, .05); color: var(--lh-heading); }

/* Formulários */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .custom-select,
html[data-theme="dark"] .input-group-text { background-color: var(--lh-surface-2); border-color: var(--lh-border); color: var(--lh-heading); }
html[data-theme="dark"] .form-control::placeholder { color: var(--lh-muted); }
html[data-theme="dark"] .form-control:focus { background-color: var(--lh-surface-2); color: #fff; border-color: #6a4de0; }
html[data-theme="dark"] label { color: var(--lh-text); }

/* Botões claros */
html[data-theme="dark"] .btn-white { background-color: var(--lh-surface-2); border-color: var(--lh-border); color: #fff; }
html[data-theme="dark"] .btn-white:hover { background-color: #2a3052; color: #fff; }
html[data-theme="dark"] .btn-outline-secondary { border-color: var(--lh-border); color: var(--lh-text); }
html[data-theme="dark"] .btn-outline-primary { border-color: var(--lh-link); color: var(--lh-link); }
html[data-theme="dark"] .btn-outline-primary:hover { background-color: var(--lh-link); color: #0e1120; }

/* Badges suaves e alerts */
html[data-theme="dark"] .badge-secondary { background-color: var(--lh-surface-2); color: var(--lh-text); }
html[data-theme="dark"] .alert-light,
html[data-theme="dark"] .alert-secondary { background-color: var(--lh-surface-2); border-color: var(--lh-border); color: var(--lh-text); }

/* Conteúdo legal (contratos/políticas) */
html[data-theme="dark"] .legal-content td { border-color: var(--lh-border); }

/* Botão de alternância de tema */
.theme-toggle { width: 34px; height: 34px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 1px solid rgba(31, 45, 61, .15); background: transparent; color: #481FA0; cursor: pointer; transition: background .15s; }
.theme-toggle:hover { background: rgba(72, 31, 160, .08); }
.theme-toggle .fa-sun-o { display: none; }
html[data-theme="dark"] .theme-toggle { border-color: var(--lh-border); color: #ffd166; }
html[data-theme="dark"] .theme-toggle:hover { background: var(--lh-surface-2); }
html[data-theme="dark"] .theme-toggle .fa-sun-o { display: inline; }
html[data-theme="dark"] .theme-toggle .fa-moon-o { display: none; }

/* Página de dedicados: cards de plano no mobile */
html[data-theme="dark"] .plans-table tr { background: var(--lh-surface) !important; border-color: var(--lh-border) !important; }
html[data-theme="dark"] .plans-table td:first-child { border-color: var(--lh-border) !important; }
html[data-theme="dark"] .plans-table td[data-label]::before { color: var(--lh-muted); }

/* Seções do tema (.slice tem fundo branco próprio) */
html[data-theme="dark"] .slice { background-color: var(--lh-bg); }

/* Painel lateral dos dropdowns do menu */
html[data-theme="dark"] .bg-dropdown-secondary { background-color: var(--lh-surface-2) !important; }

/* Badges suaves (status nas páginas de estrutura/colocation) */
html[data-theme="dark"] .badge-soft-primary { background-color: rgba(165, 139, 255, .16); color: #c9b8ff; }
html[data-theme="dark"] .badge-white { background-color: var(--lh-surface-2); color: var(--lh-text); }

/* Configurador do Cloud Server: opções não selecionadas */
html[data-theme="dark"] .btn-tab.btn-secondary { background-color: var(--lh-surface-2); border-color: var(--lh-border); color: var(--lh-text); }
html[data-theme="dark"] .btn-tab.btn-secondary:hover { background-color: #2a3052; color: #fff; }

/* Logos de parceiros: monocromáticos claros no escuro (vários são escuros sobre transparente) */
html[data-theme="dark"] .partners img { filter: brightness(0) invert(1); opacity: .75; transition: opacity .15s; }
html[data-theme="dark"] .partners img:hover { opacity: 1; }

/* Páginas legais (estilo próprio com #54657e) */
html[data-theme="dark"] .legal-content p,
html[data-theme="dark"] .legal-content li,
html[data-theme="dark"] .legal-content td { color: var(--lh-text) !important; border-color: var(--lh-border) !important; }
html[data-theme="dark"] .legal-content a { color: var(--lh-link) !important; }

/* Negritos soltos herdavam cinza do tema */
html[data-theme="dark"] strong, html[data-theme="dark"] b { color: inherit; }
html[data-theme="dark"] .card strong:not([class*="text-"]) { color: var(--lh-heading); }


/* Header: textos do menu não quebram linha (o header novo está em header.css) */
@media (min-width: 992px) {
  .navbar .navbar-nav .nav-link, .navbar .navbar-btn { white-space: nowrap; }
}

/* Header novo (header.css) no escuro */
html[data-theme="dark"] .lh-header .lh-top { color: rgba(230,233,245,.85); }
html[data-theme="dark"] .lh-header .nav-item:hover > .lh-top,
html[data-theme="dark"] .lh-header .nav-item.show > .lh-top,
html[data-theme="dark"] .lh-header .lh-top[aria-current] { color: #fff; }
html[data-theme="dark"] .lh-header .lh-top::after { background: #c9b8ff; }
html[data-theme="dark"] .lh-dropdown { border-color: var(--lh-border); box-shadow: 0 18px 40px rgba(0,0,0,.5) !important; }
html[data-theme="dark"] .lh-group-alt { background: var(--lh-surface-2); }
html[data-theme="dark"] .lh-group-label { color: var(--lh-muted); }
html[data-theme="dark"] .lh-item:hover, html[data-theme="dark"] .lh-item:focus-visible,
html[data-theme="dark"] .lh-item[aria-current="page"] { background: rgba(165,139,255,.12); }
html[data-theme="dark"] .lh-icon { background: rgba(165,139,255,.16); color: #c9b8ff; }
html[data-theme="dark"] .lh-item:hover .lh-icon { background: #6a4de0; color: #fff; }
html[data-theme="dark"] .lh-item-title { color: var(--lh-heading); }
html[data-theme="dark"] .lh-item-desc { color: var(--lh-muted); }
html[data-theme="dark"] .lh-menu-footer { border-color: var(--lh-border); color: var(--lh-muted) !important; }
html[data-theme="dark"] .lh-menu-footer strong { color: #c9b8ff; }
html[data-theme="dark"] .lh-icon-btn { border-color: var(--lh-border); color: var(--lh-text); }
html[data-theme="dark"] .lh-icon-btn:hover { background: var(--lh-surface-2); }
html[data-theme="dark"] .lh-badge { background: #6a4de0; }
@media (max-width: 991.98px) {
  html[data-theme="dark"] .lh-header .lh-nav .nav-item { border-color: var(--lh-border); }
}
@media (max-width: 991.98px) {
  html[data-theme="dark"] .lh-header.navbar-expand-lg .navbar-collapse .navbar-nav .nav-item .nav-link.lh-top { color: #f2f3f9; }
  html[data-theme="dark"] .lh-header.navbar-expand-lg .navbar-collapse .navbar-nav .nav-item.show > .nav-link.lh-top { color: #c9b8ff; }
}
