/* themes/valhalla/css/valhalla.css — carregado por ÚLTIMO, sobrepõe flux/eadev */
:root{
  --vh-roxo:#4a2c6f; --vh-roxo-claro:#7b4fb0; --vh-roxo-escuro:#2c1a45;
  --vh-dourado:#d4af37; --vh-ambar:#f0c75e;
  --vh-prata:#c8cdd6; --vh-branco:#f5f5f7; --vh-fundo:#1b1430;
}
body{ background:var(--vh-fundo); color:var(--vh-branco); }
a{ color:var(--vh-dourado); }
a:hover{ color:var(--vh-ambar); }

/* Botão dourado reutilizável */
.vh-btn{
  display:inline-block; padding:12px 28px; border-radius:6px;
  background:linear-gradient(180deg,var(--vh-dourado),#b9952b);
  color:var(--vh-roxo-escuro); font-weight:700; text-transform:uppercase;
  letter-spacing:.5px; border:1px solid var(--vh-ambar); text-decoration:none;
  transition:filter .15s ease, transform .15s ease;
}
.vh-btn:hover{ filter:brightness(1.1); transform:translateY(-1px); color:var(--vh-roxo-escuro); }
.vh-btn--ghost{
  background:transparent; color:var(--vh-dourado);
  border:1px solid var(--vh-dourado);
}
.vh-btn--ghost:hover{ background:rgba(212,175,55,.12); color:var(--vh-ambar); }

/* Navbar */
.navbar-fixed-top{ background:var(--vh-roxo-escuro); border-bottom:2px solid var(--vh-dourado); }
.navbar .navbar-brand{
  width:auto !important; height:80px !important; padding:0 28px !important; margin:0;
  background:none !important; background-image:none !important;
  display:flex !important; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; line-height:1.12;
}
.vh-brand__1{ color:#fff; font-size:30px; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; text-shadow:0 1px 3px rgba(0,0,0,.6); }
.vh-brand__2{ color:#fff; font-size:14px; font-weight:600; letter-spacing:7px;
  text-transform:uppercase; opacity:.92; text-shadow:0 1px 3px rgba(0,0,0,.6); }
.navbar .navbar-brand:hover .vh-brand__1,
.navbar .navbar-brand:hover .vh-brand__2{ color:var(--vh-dourado); }
.navbar-nav > li > a{ color:var(--vh-prata); }
.navbar-nav > li > a:hover, .navbar-nav > li > a:focus{ color:var(--vh-dourado); background:transparent; }
.dropdown-menu{ background:var(--vh-roxo-escuro); border:1px solid var(--vh-dourado); }
.dropdown-menu > li > a{ color:var(--vh-prata); }
.dropdown-menu > li > a:hover{ background:var(--vh-roxo); color:var(--vh-dourado); }
.login-register-btn a{ color:var(--vh-dourado); }
.navbar-toggle .fa{ color:var(--vh-dourado); }

/* Footer */
.footer{ background:var(--vh-roxo-escuro); border-top:2px solid var(--vh-dourado); padding:30px 0; }
.footer h4{ color:var(--vh-dourado); }
.footer-nav ul{ list-style:none; padding:0; }
.footer-nav a{ color:var(--vh-prata); }
.footer-nav a:hover{ color:var(--vh-dourado); }
.footer-logo{ max-width:200px; margin:0 auto; }
.copyright{ background:#140e24; padding:15px 0; color:var(--vh-prata); font-size:12px; }

/* Hero */
.vh-hero{
  min-height:520px; margin-top:50px; /* compensa navbar fixa */
  background:url("../img/valhalla-bg.jpg") center 18% / cover no-repeat;
  display:flex; align-items:center; justify-content:center; text-align:center;
}
.vh-hero__overlay{
  width:100%; padding:60px 20px;
  background:linear-gradient(180deg,rgba(27,20,48,.35),rgba(27,20,48,.8));
}
.vh-hero__logo{ max-width:420px; width:80%; margin:0 auto 20px; display:block;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.6)); }
.vh-hero__status{ color:var(--vh-prata); font-size:18px; margin-bottom:24px; }
.vh-hero__status strong{ color:var(--vh-dourado); }
.vh-dot{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; }
.vh-dot.is-up{ background:#5cd65c; box-shadow:0 0 8px #5cd65c; }
.vh-dot.is-down{ background:#d65c5c; }
.vh-hero__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
@media (max-width:600px){ .vh-hero__logo{ width:90%; } }

/* Títulos de seção */
.vh-title{ text-align:center; color:var(--vh-dourado); margin:40px 0 24px;
  text-transform:uppercase; letter-spacing:2px; }

/* Rankings */
.vh-rankings{ padding:20px 0 50px; }
.vh-rank-card{
  background:var(--vh-roxo-escuro); border:1px solid var(--vh-dourado);
  border-radius:8px; padding:18px; margin-bottom:20px; min-height:230px; position:relative;
}
.vh-rank-card h3{ color:var(--vh-dourado); font-size:16px; text-align:center;
  margin:0 0 12px; border-bottom:1px solid rgba(212,175,55,.3); padding-bottom:8px; }
.vh-rank-card ol{ list-style:decimal inside; padding:0; margin:0; color:var(--vh-prata); }
.vh-rank-card li{ display:flex; justify-content:space-between; padding:4px 0; font-size:13px; }
.vh-rank-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:60%; }
.vh-rank-val{ color:var(--vh-ambar); font-weight:700; }
.vh-empty{ color:var(--vh-prata); opacity:.6; text-align:center; padding:30px 0; font-style:italic; }
.vh-rank-more{ display:block; text-align:center; margin-top:10px; font-size:12px; text-transform:uppercase; }

/* Comunidade */
.vh-community{ padding:50px 0 70px; background:linear-gradient(180deg,transparent,var(--vh-roxo-escuro)); }
.vh-community__text{ color:var(--vh-prata); max-width:560px; margin:0 auto 24px; }
.vh-community__discord{ font-size:18px; padding:14px 36px; }
.vh-community__social{ margin-top:24px; font-size:28px; }
.vh-community__social a{ color:var(--vh-dourado); margin:0 8px; }
.vh-community__social a:hover{ color:var(--vh-ambar); }

/* ===== Páginas internas (coerência) ===== */
.content, .container.main{ color:var(--vh-branco); }
.content .spacer h2, .container.main h2, .container.main h3{ color:var(--vh-dourado); }
.table{ color:var(--vh-prata); }
.table > thead > tr > th, .table th{
  background:var(--vh-roxo); color:var(--vh-branco); border-color:var(--vh-roxo-claro); }
.table > tbody > tr:nth-child(odd) > td{ background:rgba(123,79,176,.08); }
.table > tbody > tr > td{ border-color:rgba(123,79,176,.2); }
.btn, input[type=submit], button[type=submit]{
  background:linear-gradient(180deg,var(--vh-dourado),#b9952b);
  color:var(--vh-roxo-escuro); border:1px solid var(--vh-ambar); font-weight:700; }
.btn:hover, input[type=submit]:hover{ filter:brightness(1.1); color:var(--vh-roxo-escuro); }
input[type=text], input[type=password], input[type=email], select, textarea{
  background:var(--vh-roxo-escuro); color:var(--vh-branco);
  border:1px solid var(--vh-roxo-claro); border-radius:4px; }
.message{ background:var(--vh-roxo-escuro); border:1px solid var(--vh-dourado); color:var(--vh-branco); padding:10px; border-radius:4px; }
.panel, .well{ background:var(--vh-roxo-escuro); border:1px solid var(--vh-roxo-claro); color:var(--vh-prata); }

/* Tabelas internas (rankings: .horizontal-table / .vertical-table) */
.horizontal-table, .vertical-table{ color:var(--vh-prata); }
.horizontal-table th, .vertical-table th{
  background:var(--vh-roxo); color:var(--vh-branco); border:1px solid var(--vh-roxo-claro); }
.horizontal-table td, .vertical-table td{ border:1px solid rgba(123,79,176,.25); }
.horizontal-table a, .vertical-table a{ color:var(--vh-dourado); }
.horizontal-table tr:nth-child(even) td{ background:rgba(123,79,176,.08); }
.horizontal-table tr.top-ranked td{ background:rgba(212,175,55,.14); }
.horizontal-table tr.empty-row td{ background:transparent; }
.not-applicable{ color:var(--vh-prata); opacity:.5; }
.search-form2 select, .search-form2 input[type=text]{ color:var(--vh-branco); }

/* Botões do tema base (eadev: .btn-theme era azul #2556d0; .btn-yellow) */
.btn-theme, .btn-yellow{
  background:linear-gradient(180deg,var(--vh-dourado),#b9952b) !important;
  background-color:var(--vh-dourado) !important;
  border-color:var(--vh-ambar) !important; color:var(--vh-roxo-escuro) !important; }
.btn-theme:hover, .btn-theme:focus, .btn-yellow:hover, .btn-yellow:focus{
  filter:brightness(1.1); color:var(--vh-roxo-escuro) !important; background-color:var(--vh-ambar) !important; }
.btn-theme > .icon{ color:var(--vh-roxo-escuro); opacity:.6; }
.btn-theme > small{ color:var(--vh-roxo-escuro); }

/* Modal de login */
.modal-content{ background:var(--vh-roxo-escuro); border:1px solid var(--vh-dourado); color:var(--vh-branco); }
.modal-header{ border-bottom:1px solid rgba(212,175,55,.3); }
.modal-header h4{ color:var(--vh-dourado); }
.modal-footer{ border-top:1px solid rgba(212,175,55,.3); }
.modal .close{ color:var(--vh-dourado); opacity:.8; text-shadow:none; }
.modal .form-control{ background:var(--vh-fundo); color:var(--vh-branco); border:1px solid var(--vh-roxo-claro); }
.modal a, .modal-footer a{ color:var(--vh-dourado); }
.modal .logged .btn{ margin:4px; }

/* Página de Downloads */
.vh-downloads{ padding:10px 0 30px; }
.vh-downloads__intro{ color:var(--vh-prata); font-size:16px; margin-bottom:28px; }
.vh-downloads .btn-theme{ margin-bottom:20px; }
.vh-downloads__info{ margin-top:20px; }
.vh-downloads__info h3{ color:var(--vh-dourado); border-bottom:1px solid rgba(212,175,55,.3); padding-bottom:8px; }
.vh-downloads__info ul, .vh-downloads__info ol{ color:var(--vh-prata); padding-left:20px; }
.vh-downloads__info li{ margin:6px 0; }

/* ===== Overrides de alta especificidade (vencem o eadev.min.css) ===== */
/* Páginas internas: fundo branco -> escuro, barra de titulo azul -> roxa */
.content{ background:var(--vh-fundo); }
.spacer{ background:var(--vh-roxo-escuro) !important; height:auto !important;
  min-height:0 !important; display:block !important; width:auto !important;
  padding:28px 0 14px !important; }
.spacer::after{ display:none !important; }
.spacer h2{ color:var(--vh-dourado) !important; }
.container.main{ background:var(--vh-roxo-escuro) !important; margin-top:20px !important;
  min-height:300px !important; border:1px solid rgba(212,175,55,.2); }

/* Títulos e links azuis dentro do conteudo */
.container.main h1, .container.main h2, .container.main h3{ color:var(--vh-dourado) !important; }
.container.main a{ color:var(--vh-dourado); }
.container.main, .container.main p, .container.main label, .container.main td, .container.main li{ color:var(--vh-branco); }

/* Botão "Criar Conta" da navbar (era branco com fonte azul) */
.navbar .login-register-btn li:last-child a{
  background:var(--vh-dourado) !important; color:var(--vh-roxo-escuro) !important; }

/* Dropdown de Rankings (era azul) */
.navbar .dropdown-menu{ background:var(--vh-roxo-escuro) !important; }

/* Campos de formulario (cadastro/login) legiveis */
.form-control, .textClass{
  background:var(--vh-fundo) !important; color:var(--vh-branco) !important;
  border:1px solid var(--vh-roxo-claro) !important; }
.form-control::placeholder{ color:var(--vh-prata); opacity:.6; }
