/* =====================================================================
   KbMuOnline — Dark Fantasy Reskin
   ---------------------------------------------------------------------
   Reskin puramente visual do CMS Invision MuWeb (template "default").
   - Carregado por ULTIMO no <head>, portanto sobrescreve template.css.
   - Nao altera nenhuma logica PHP; apenas classes/markup existentes.
   - Migra o layout de 2 colunas para single-column (sidebar empilhada).
   - Usa !important onde precisa vencer os estilos inline do template.

   Paleta: preto / rubi (#c1121f) / dourado (#e6b23a).
   Fontes : Cinzel (titulos) + Open Sans (corpo, ja carregada).
   ===================================================================== */

:root {
  --kb-bg:        #0a0708;   /* fundo base quase preto */
  --kb-bg-2:      #120c0e;   /* fundo de painel */
  --kb-panel:     #16100f;   /* card */
  --kb-panel-2:   #1d1513;   /* card hover / cabecalho */
  --kb-border:    #2a1c1a;   /* borda sutil */
  --kb-border-2:  #3a2622;   /* borda destacada */
  --kb-ruby:      #c1121f;   /* rubi primario */
  --kb-ruby-2:    #e01e2b;   /* rubi claro */
  --kb-ruby-deep: #7a0d16;   /* rubi profundo */
  --kb-gold:      #e6b23a;   /* dourado */
  --kb-gold-2:    #f5d27a;   /* dourado claro */
  --kb-gold-deep: #a87b1e;   /* dourado escuro */
  --kb-text:      #ece3dc;   /* texto principal */
  --kb-text-dim:  #9c8f88;   /* texto secundario */
  --kb-text-mute: #6d605b;   /* texto apagado */
  --kb-online:    #37d67a;
  --kb-offline:   #e0433c;
}

/* ------------------------------------------------------------------ */
/* BASE / FUNDO                                                        */
/* ------------------------------------------------------------------ */
html { background: var(--kb-bg) !important; }

body,
body.light,
body.dark,
#page-body {
  background:
    radial-gradient(1200px 600px at 50% -120px, rgba(193,18,31,0.22), transparent 60%),
    radial-gradient(900px 500px at 50% 0, rgba(230,178,58,0.10), transparent 55%),
    linear-gradient(180deg, #140d0d 0%, var(--kb-bg) 45%, #060404 100%) !important;
  background-attachment: fixed !important;
  color: var(--kb-text) !important;
  font-family: 'Open Sans', system-ui, sans-serif !important;
}

/* trilha de brasa/textura sutil sobre o fundo */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(rgba(230,178,58,0.05) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: 0.5;
}

h1, h2, h3, h4, h5,
.title-small, .title-large,
.navbar-nav {
  font-family: 'Cinzel', 'Open Sans', serif !important;
}

a { color: var(--kb-gold); }
a:hover { color: var(--kb-gold-2); }

/* ================================================================== */
/* HEADER / HERO CINEMATOGRAFICO                                       */
/* ================================================================== */
header {
  position: relative;
  z-index: 20;
}

/* Banner cinematografico atras da logo/menu */
header::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 620px;
  background:
    linear-gradient(180deg, rgba(10,7,8,0.55) 0%, rgba(10,7,8,0.15) 35%, rgba(10,7,8,0.85) 88%, var(--kb-bg) 100%),
    url("../imagens/hero-banner.png") center top / cover no-repeat,
    url("../imagens/bg-1.png") center top / cover no-repeat;
  z-index: -1;
}
/* brilho rubi na base do hero */
header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 560px;
  height: 160px;
  background: radial-gradient(60% 100% at 50% 0, rgba(193,18,31,0.35), transparent 70%);
  pointer-events: none;
  z-index: -1;
}

/* --- NAV BAR --- */
.navbar,
.navbar.navbar-light.bg-light {
  background: linear-gradient(180deg, rgba(8,5,6,0.92), rgba(8,5,6,0.55)) !important;
  border-bottom: 1px solid var(--kb-border-2) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.6), inset 0 -1px 0 rgba(230,178,58,0.15) !important;
  height: auto !important;
  min-height: 64px;
  padding: 8px 40px !important;
  backdrop-filter: blur(8px);
}

.navbar-nav {
  padding-left: 0 !important;
  gap: 4px;
  align-items: center;
}
.navbar-nav li { padding-right: 0 !important; }

.navbar-nav .nav-link {
  color: var(--kb-text) !important;
  text-transform: uppercase;
  font-family: 'Cinzel', serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em;
  padding: 10px 16px !important;
  position: relative;
  transition: color 0.2s;
}
.navbar-nav .nav-link:hover { color: var(--kb-gold) !important; }
.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-link.active { color: var(--kb-gold) !important; }
.navbar-nav .nav-item.active .nav-link::after,
.navbar-nav .nav-link:hover::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: 2px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--kb-gold), transparent);
}

/* dropdown ranking */
.dropdown-menu {
  background: var(--kb-panel-2) !important;
  border: 1px solid var(--kb-border-2) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.6) !important;
}
.dropdown-item {
  color: var(--kb-text) !important;
  font-size: 13px;
}
.dropdown-item:hover {
  background: rgba(193,18,31,0.18) !important;
  color: var(--kb-gold) !important;
}

/* botao Mercado (tinha verde inline) */
.navbar-nav .nav-link[href*="Market"] {
  color: var(--kb-gold) !important;
}

/* hamburguer mobile */
.navbar-toggler {
  border: 1px solid var(--kb-border-2) !important;
  background: rgba(20,12,12,0.7) !important;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath stroke='%23e6b23a' stroke-width='2.2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E") !important;
}

/* --- LOGO / TITULO HERO --- */
.logo-brand {
  top: 150px !important;
  gap: 18px !important;
}
.logo-brand img {
  margin-left: 0 !important;
  filter: drop-shadow(0 6px 24px rgba(193,18,31,0.6)) drop-shadow(0 0 3px rgba(0,0,0,0.9));
}

/* Tagline removida a pedido (ficava acima do painel de Login/Configuracoes/Equipe) */

/* ================================================================== */
/* DOWNLOAD HERO (card com a personagem, abaixo do topo da Home)      */
/* ================================================================== */
.mu-dl-hero {
  display: flex !important;
  align-items: stretch;
  gap: 0;
  background: linear-gradient(135deg, var(--kb-bg-2) 0%, var(--kb-panel) 60%, var(--kb-panel-2) 100%) !important;
  border: 1px solid var(--kb-border-2) !important;
  border-radius: 18px !important;
  overflow: hidden;
  margin: 20px 0 !important;
  box-shadow: 0 18px 45px rgba(0,0,0,0.55), inset 0 1px 0 rgba(230,178,58,0.08);
}

.mu-dl-hero-art {
  flex: 0 0 42%;
  max-width: 420px;
  position: relative;
  min-height: 340px;
  background: radial-gradient(ellipse at center, rgba(193,18,31,0.18) 0%, rgba(0,0,0,0) 70%);
}

.mu-dl-hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 55%, var(--kb-bg-2) 98%);
  pointer-events: none;
}

.mu-dl-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.mu-dl-hero-content {
  flex: 1 1 auto;
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mu-dl-eyebrow {
  color: var(--kb-ruby-2);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.mu-dl-title {
  font-family: 'Cinzel', serif;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.25;
  color: var(--kb-text);
  margin: 0 0 14px 0;
}

.mu-dl-title span {
  color: var(--kb-gold);
  text-shadow: 0 0 18px rgba(230,178,58,0.35);
}

.mu-dl-desc {
  color: var(--kb-text-dim);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 24px 0;
  max-width: 520px;
}

.mu-dl-btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  padding: 15px 30px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--kb-ruby-2), var(--kb-ruby-deep)) !important;
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(193,18,31,0.4);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mu-dl-btn-main:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(193,18,31,0.55);
}

.mu-dl-options {
  display: flex;
  gap: 12px;
  margin-top: 22px;
  flex-wrap: wrap;
}

.mu-dl-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: rgba(20,12,12,0.6);
  border: 1px solid var(--kb-border);
  border-radius: 10px;
  text-decoration: none !important;
  color: var(--kb-text) !important;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.mu-dl-option:hover {
  border-color: var(--kb-gold-deep);
  background: rgba(230,178,58,0.06);
}

.mu-dl-option i {
  color: var(--kb-gold);
  font-size: 16px;
}

.mu-dl-option-text { display: flex; flex-direction: column; line-height: 1.3; }
.mu-dl-option-text strong { font-size: 13px; color: var(--kb-text); }
.mu-dl-option-text small { font-size: 11.5px; color: var(--kb-text-mute); }

.mu-dl-req {
  margin: 22px 0 0 0;
  font-size: 12.5px;
  color: var(--kb-text-mute);
}

.mu-dl-req i { color: var(--kb-text-dim); margin-right: 6px; }

@media (max-width: 900px) {
  .mu-dl-hero { flex-direction: column; }
  .mu-dl-hero-art { max-width: none; min-height: 260px; }
  .mu-dl-hero-art::after { background: linear-gradient(0deg, var(--kb-bg-2) 0%, transparent 40%); }
  .mu-dl-hero-content { padding: 28px 24px; }
  .mu-dl-title { font-size: 26px; }
  .mu-dl-btn-main { width: 100%; }
}

/* ================================================================== */
/* SERVER STATUS WIDGET (Login/Game/Web + Players Online)             */
/* ================================================================== */
.server-status-widget {
  background: linear-gradient(180deg, rgba(29,21,19,0.94), rgba(12,8,9,0.94)) !important;
  border: 1px solid var(--kb-border-2) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 40px rgba(0,0,0,0.6), inset 0 1px 0 rgba(230,178,58,0.15) !important;
  padding: 16px 26px !important;
  margin-top: 26px !important;
}
.ssw-players div,
.ssw-stat div { color: var(--kb-gold) !important; text-shadow: 0 0 14px rgba(230,178,58,0.4) !important; }
.ssw-players svg path,
.ssw-stat svg path { fill: var(--kb-gold) !important; }
.ssw-stat svg { opacity: 0.9; filter: drop-shadow(0 0 6px rgba(230,178,58,0.35)); }
.ssw-count {
  font-family: 'Cinzel', serif;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--kb-gold-2) !important;
  line-height: 1;
}
.ssw-label { font-size: 10px !important; color: var(--kb-text-dim) !important; }
.ssw-divider { width: 1px; background: var(--kb-border-2) !important; margin: 0 20px !important; }
.ssw-status-label { color: var(--kb-text-dim) !important; font-size: 10px !important; text-transform: uppercase; letter-spacing: 1px; }
.ssw-status-value { font-family: 'Cinzel', serif; font-weight: 800 !important; }
.ssw-online  { color: var(--kb-online) !important;  text-shadow: 0 0 12px rgba(55,214,122,0.5); }
.ssw-offline { color: var(--kb-offline) !important; text-shadow: 0 0 12px rgba(224,67,60,0.5); }

/* countdown widget */
.header-countdown-widget {
  background: linear-gradient(180deg, rgba(29,21,19,0.94), rgba(12,8,9,0.94)) !important;
  border: 1px solid var(--kb-border-2) !important;
  border-radius: 12px !important;
}
.hcw-title { color: var(--kb-gold) !important; font-family: 'Cinzel', serif; }
.hcw-unit span { color: var(--kb-gold-2) !important; }

/* ================================================================== */
/* CONTAINER PRINCIPAL — MIGRACAO PARA SINGLE COLUMN                   */
/* ================================================================== */
.container.main {
  background: transparent !important;
  box-shadow: none !important;
  max-width: 1180px !important;
  margin: 640px auto 0 !important;   /* fica abaixo do hero */
  padding: 0 20px !important;
  position: relative;
  z-index: 5;
}
.container.main .row {
  display: block !important;   /* remove o comportamento lado-a-lado */
  max-width: 100% !important;
  margin: 0 !important;
}

/* Conteudo central agora ocupa largura total */
.sections {
  width: 100% !important;
  margin-right: 0 !important;
  float: none !important;
  display: block;
}

/* Sidebar empilha abaixo do conteudo, em grade */
.asidebar {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 16px;
  align-items: start;
}
.asidebar > div {
  width: 100% !important;
  box-shadow: none !important;
}

/* Cards genericos (todos os blocos .sections>div e .asidebar>div) */
.sections > div,
.asidebar > div {
  background: linear-gradient(180deg, var(--kb-panel) 0%, var(--kb-bg-2) 100%) !important;
  border: 1px solid var(--kb-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.45) !important;
  margin-bottom: 16px !important;
  overflow: hidden;
  position: relative;
}
.sections > div::before,
.asidebar > div::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--kb-ruby), var(--kb-gold), transparent);
  opacity: 0.7;
}

/* ================================================================== */
/* TITULOS DE SECAO                                                    */
/* ================================================================== */
.title-small, .title-large {
  color: var(--kb-gold) !important;
  background: linear-gradient(180deg, rgba(29,21,19,0.9), rgba(18,12,14,0.5)) !important;
  border-bottom: 1px solid var(--kb-border) !important;
  letter-spacing: 0.12em !important;
  font-weight: 700 !important;
  height: auto !important;
  padding: 16px 24px !important;
}
.title-small span, .title-large span { position: relative; padding-left: 14px; }
.title-small span::before, .title-large span::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 7px; height: 7px;
  background: var(--kb-ruby-2);
  box-shadow: 0 0 10px var(--kb-ruby-2);
}
hr {
  border: 0 !important;
  border-top: 1px solid var(--kb-border) !important;
  margin: 0 !important;
  opacity: 1;
}

/* ================================================================== */
/* SLIDER / CARROSSEL                                                  */
/* ================================================================== */
.slide, .slide.col- {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--kb-border-2);
  box-shadow: 0 14px 40px rgba(0,0,0,0.5);
}
.carousel-inner img { border-radius: 0 !important; }
.carousel-indicators li { background-color: var(--kb-gold) !important; }
.carousel-control-prev-icon, .carousel-control-next-icon { filter: drop-shadow(0 0 4px var(--kb-ruby)); }

/* ================================================================== */
/* CONFIGURACOES DO SERVIDOR                                           */
/* ================================================================== */
.config-list-new li { gap: 10px; }
.config-label {
  background: linear-gradient(180deg, var(--kb-ruby), var(--kb-ruby-deep)) !important;
  color: #fff !important;
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
  letter-spacing: 0.04em;
}
.config-value,
.dark .config-value {
  background: rgba(20,12,12,0.6) !important;
  color: var(--kb-gold-2) !important;
  border: 1px solid var(--kb-border-2) !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.4) !important;
  font-weight: 700 !important;
}
#stt-on  { color: var(--kb-online) !important; }
#stt-off { color: var(--kb-offline) !important; }

/* ================================================================== */
/* EVENTOS                                                             */
/* ================================================================== */
.event-list .event-item44,
.event-list li {
  background: rgba(20,12,12,0.5) !important;
  border: 1px solid var(--kb-border) !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  padding: 12px 14px !important;
  display: flex; align-items: center; justify-content: space-between;
  transition: border-color 0.2s, transform 0.15s;
}
.event-list .event-item44:hover {
  border-color: var(--kb-gold-deep) !important;
  transform: translateX(3px);
}
.event-list #start-event,
.event-list p {
  color: var(--kb-text) !important;
  font-weight: 700 !important;
  margin: 0 !important;
  font-size: 13px;
}
.timer-badge44 {
  color: var(--kb-gold-2) !important;
  font-family: 'Cinzel', serif;
  font-weight: 700;
  font-size: 12px;
  background: rgba(0,0,0,0.4);
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--kb-border-2);
}
/* dropdown de categorias */
.custom-select-trigger44,
body.light .custom-select-trigger44 {
  background: var(--kb-panel-2) !important;
  color: var(--kb-text) !important;
  border: 1px solid var(--kb-border-2) !important;
  border-radius: 8px !important;
}
.custom-options44,
body.light .custom-options44 {
  background: var(--kb-panel-2) !important;
  border: 1px solid var(--kb-border-2) !important;
}
.custom-option44,
body.light .custom-option44 { color: var(--kb-text) !important; }
.custom-option44:hover,
.custom-option44.active,
body.light .custom-option44:hover {
  background: rgba(193,18,31,0.2) !important;
  color: var(--kb-gold) !important;
}

/* ================================================================== */
/* CASTLE SIEGE                                                        */
/* ================================================================== */
.cs-event {
  background:
    linear-gradient(90deg, rgba(12,8,9,0.9) 30%, rgba(122,13,22,0.4) 100%),
    url("../imagens/hall-cs.png") right center / cover no-repeat !important;
  border-radius: 10px;
  padding: 18px 20px !important;
}
.cs-wrap img {
  border: 2px solid var(--kb-gold-deep) !important;
  border-radius: 8px;
  box-shadow: 0 0 18px rgba(230,178,58,0.35);
}
.cs-nick-and-guild p:first-child { color: var(--kb-gold-2) !important; font-family: 'Cinzel', serif; font-weight: 700; }
.cs-nick-and-guild p:last-child  { color: var(--kb-text-dim) !important; }

/* ================================================================== */
/* NOTICIAS                                                            */
/* ================================================================== */
.post-list .news-item,
.u-list .news-item {
  border-bottom: 1px solid var(--kb-border) !important;
  padding: 12px 20px !important;
  transition: background 0.2s;
}
.post-list .news-item:hover { background: rgba(193,18,31,0.08) !important; }
.post-list .news-item p,
.post-list .news-item a { color: var(--kb-text) !important; font-weight: 600; }
.post-list .news-item a:hover { color: var(--kb-gold) !important; }
.post-data {
  color: var(--kb-gold-deep) !important;
  font-family: 'Cinzel', serif;
  font-size: 11px !important;
  font-weight: 700;
}
.news-cat-dot { box-shadow: 0 0 8px currentColor; }

/* ================================================================== */
/* RANKINGS / SPOTLIGHT (Top Players / Top Guilds)                    */
/* ================================================================== */
.spotlight {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 22px 24px !important;
}
@media (max-width: 720px) { .spotlight { grid-template-columns: 1fr !important; } }

/* abas de ranking (cor/linha vinham inline em azul) */
.spotlight [id^="tab-btn-"] { color: var(--kb-text-dim) !important; font-family: 'Cinzel', serif; }
.spotlight [id^="tab-btn-"]:first-child { color: var(--kb-gold) !important; }
.tab-active-line { background: linear-gradient(90deg, var(--kb-ruby), var(--kb-gold)) !important; }
.spotlight > div > div:first-child { border-bottom-color: var(--kb-border) !important; }

ul.list-info li {
  background: rgba(20,12,12,0.4) !important;
  border: 1px solid var(--kb-border) !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  padding: 10px 12px 10px 44px !important;
}
ul.list-info li::before { color: var(--kb-gold) !important; font-family: 'Cinzel', serif; font-weight: 800; }
/* medalhas top 1-3 */
ul.list-info li:nth-of-type(1) { border-color: var(--kb-gold-deep) !important; }
ul.list-info li:nth-of-type(1):before { color: var(--kb-gold-2) !important; text-shadow: 0 0 10px var(--kb-gold); }
ul.list-info li:nth-of-type(2):before { color: #d8d8d8 !important; }
ul.list-info li:nth-of-type(3):before { color: #cd7f32 !important; }
ul.list-info li img { border: 1px solid var(--kb-border-2); border-radius: 4px; }
ul.list-info li .wrp-heading p,
ul.list-info li .wrp-heading p a { color: var(--kb-text) !important; }
ul.list-info li .wrp-heading p a:hover { color: var(--kb-gold) !important; }
ul.list-info li .wrp-heading span { color: var(--kb-text-dim) !important; }
/* pontuacoes que tinham cor inline #282f35 */
.wrp-heading2 span[style] { color: var(--kb-gold-2) !important; }

/* ================================================================== */
/* PAINEL DE USUARIO (userPanel.wmc) / botoes genericos               */
/* ================================================================== */
.btn-large, .btn-events, .rgst-button {
  background: linear-gradient(180deg, var(--kb-ruby-2), var(--kb-ruby-deep)) !important;
  color: #fff !important;
  border: 1px solid var(--kb-ruby) !important;
  border-radius: 6px !important;
  font-family: 'Cinzel', serif !important;
  letter-spacing: 0.06em;
  box-shadow: 0 6px 18px rgba(193,18,31,0.35), inset 0 1px 0 rgba(255,255,255,0.2) !important;
  transition: transform 0.15s, box-shadow 0.2s;
}
.btn-large:hover, .btn-events:hover, .rgst-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(193,18,31,0.5) !important;
  color: #fff !important;
}
.btn-events.blue {
  background: linear-gradient(180deg, var(--kb-gold), var(--kb-gold-deep)) !important;
  border-color: var(--kb-gold-deep) !important;
  color: #1a1008 !important;
  box-shadow: 0 6px 18px rgba(230,178,58,0.3), inset 0 1px 0 rgba(255,255,255,0.4) !important;
}

/* ================================================================== */
/* FOOTER                                                              */
/* ================================================================== */
.footer-main, footer.footer-main {
  background:
    linear-gradient(180deg, rgba(10,7,8,0.4), var(--kb-bg)),
    url("../imagens/bg-footer.png") center bottom / cover no-repeat, #0a0708 !important;
  border-top: 1px solid var(--kb-border-2) !important;
  margin-top: 60px !important;
  position: relative;
}
.footer-main::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--kb-ruby), var(--kb-gold), var(--kb-ruby), transparent);
}
.footer-separator { background: linear-gradient(90deg, transparent, var(--kb-border-2), transparent) !important; }
.footer-links button {
  background: rgba(230,178,58,0.06) !important;
  border: 1px solid var(--kb-border-2) !important;
  color: var(--kb-text-dim) !important;
  transition: all 0.2s;
}
.footer-links button:hover {
  border-color: var(--kb-gold-deep) !important;
  color: var(--kb-gold) !important;
}
.footer-social a {
  background: rgba(230,178,58,0.05) !important;
  border: 1px solid var(--kb-border-2) !important;
  color: var(--kb-text-dim) !important;
}
.footer-social a:hover {
  background: linear-gradient(180deg, var(--kb-ruby-2), var(--kb-ruby-deep)) !important;
  border-color: var(--kb-ruby) !important;
  color: #fff !important;
  transform: translateY(-2px);
}
.footer-bottom p { color: var(--kb-text-mute) !important; }
.footer-bottom a { color: var(--kb-gold-deep) !important; }

/* ================================================================== */
/* WIDGETS FLUTUANTES                                                  */
/* ================================================================== */
#back-to-top {
  background: linear-gradient(180deg, var(--kb-ruby-2), var(--kb-ruby-deep)) !important;
  box-shadow: 0 6px 20px rgba(193,18,31,0.5) !important;
}

/* ================================================================== */
/* RESPONSIVO                                                          */
/* ================================================================== */
@media (max-width: 992px) {
  .asidebar { grid-template-columns: repeat(2, 1fr); }
  header::before { height: 520px; }
}
@media (max-width: 640px) {
  .container.main { margin-top: 520px !important; padding: 0 12px !important; }
  .asidebar { grid-template-columns: 1fr; }
  .logo-brand { top: 120px !important; }
  .logo-brand::after { font-size: 12px; letter-spacing: 0.14em; }
  header::before { height: 460px; }
  .navbar { padding: 8px 16px !important; }
}

/* ====================================================================== */
/* ====================================================================== */
/* EXTENSAO — PAGINAS INTERNAS (Rankings, Noticias, Online, Guias,        */
/* Castle Siege, Downloads, Infos, Pacotes, VIP, Bau Virtual, Market...)  */
/* ---------------------------------------------------------------------- */
/* Estas paginas usam MUITO estilo inline (style="color:#..." e           */
/* "background:#...") herdado do tema claro original. Como nao alteramos  */
/* os arquivos PHP (apenas o CSS), a estrategia e:                        */
/*   1) Prefixar com #page-body para vencer <style> internos das paginas  */
/*      (especificidade de ID sempre vence classes, independente da       */
/*      ordem no documento).                                              */
/*   2) Usar seletor de atributo [style*="..."] para capturar cores       */
/*      inline conhecidas e forcar !important, pois regra de folha de     */
/*      estilo com !important sempre vence estilo inline sem !important.  */
/* ====================================================================== */

/* --- Containers genericos de conteudo (rankings, guia, downloads, vip,  */
/*     infos, pacotes, webvault, market, shopping...) --- */
#page-body .page-container,
#page-body .content-box,
#page-body .shop-selection-container {
  background: transparent !important;
  color: var(--kb-text) !important;
}

#page-body .shop-header h2,
#page-body .shop-header h2 span {
  font-family: 'Cinzel', serif !important;
  color: var(--kb-text) !important;
  letter-spacing: 0.06em;
}
#page-body .shop-header h2 span { color: var(--kb-gold) !important; }
#page-body .shop-header p { color: var(--kb-text-dim) !important; }
#page-body .title-divider {
  background: linear-gradient(90deg, var(--kb-ruby), var(--kb-gold), transparent) !important;
  height: 3px;
}

/* --- Tabelas genericas (Online, Castle Siege, etc.) --- */
#page-body table { border-color: var(--kb-border) !important; }
#page-body table thead tr,
#page-body table tr[style*="background: #282f35"],
#page-body table tr[style*="background:#282f35"] {
  background: linear-gradient(180deg, var(--kb-panel-2), var(--kb-bg-2)) !important;
  color: var(--kb-gold) !important;
  border-bottom: 1px solid var(--kb-border-2) !important;
}
#page-body table thead th { color: var(--kb-gold) !important; }
#page-body table tbody tr { border-bottom: 1px solid var(--kb-border) !important; }
#page-body table tbody tr:hover { background: rgba(193,18,31,0.08) !important; }
#page-body table td, #page-body table th { border-color: var(--kb-border) !important; }

/* Linhas zebradas / cards claros inline (fundo branco ou cinza claro) */
#page-body [style*="background: #fff"],
#page-body [style*="background:#fff"],
#page-body [style*="background: #ffffff"],
#page-body [style*="background:#ffffff"],
#page-body [style*="background: #f9f9f9"],
#page-body [style*="background:#f9f9f9"],
#page-body [style*="background: #f8fafc"],
#page-body [style*="background:#f8fafc"],
#page-body [style*="background: #f1f5f9"],
#page-body [style*="background:#f1f5f9"],
#page-body [style*="background: #f0f0f0"],
#page-body [style*="background:#f0f0f0"],
#page-body [style*="background: #e2e8f0"],
#page-body [style*="background:#e2e8f0"] {
  background: var(--kb-panel) !important;
}
#page-body [style*="background: #e8f0fe"],
#page-body [style*="background:#e8f0fe"] {
  background: rgba(230,178,58,0.12) !important;
}

/* Cabecalhos escuros ja existentes (#282f35) — realinhados a paleta */
#page-body [style*="background: #282f35"],
#page-body [style*="background:#282f35"] {
  background: linear-gradient(180deg, var(--kb-panel-2), var(--kb-bg-2)) !important;
  border-color: var(--kb-border-2) !important;
}

/* Bordas claras inline */
#page-body [style*="border: 1px solid #ebebeb"],
#page-body [style*="border:1px solid #ebebeb"],
#page-body [style*="border-bottom: 1px solid #ebebeb"],
#page-body [style*="border-top: 1px solid #ebebeb"],
#page-body [style*="1px solid #ddd"],
#page-body [style*="1px solid #eee"] {
  border-color: var(--kb-border) !important;
}

/* Textos escuros/cinzas inline -> paleta clara sobre fundo escuro */
#page-body [style*="color: #282f35"],
#page-body [style*="color:#282f35"],
#page-body [style*="color: #334155"],
#page-body [style*="color:#334155"],
#page-body [style*="color: #1e293b"],
#page-body [style*="color:#1e293b"],
#page-body [style*="color: #0f172a"],
#page-body [style*="color:#0f172a"],
#page-body [style*="color: #475569"],
#page-body [style*="color:#475569"],
#page-body [style*="color: #1a1a2e"] {
  color: var(--kb-text) !important;
}
#page-body [style*="color: #64748b"],
#page-body [style*="color:#64748b"],
#page-body [style*="color: #555"],
#page-body [style*="color:#555"],
#page-body [style*="color: #999"],
#page-body [style*="color:#999"],
#page-body [style*="color: #777"],
#page-body [style*="color:#777"],
#page-body [style*="color: #888"],
#page-body [style*="color:#888"],
#page-body [style*="color: #aaa"],
#page-body [style*="color:#aaa"],
#page-body [style*="color: #94a3b8"],
#page-body [style*="color:#94a3b8"],
#page-body [style*="color: #cbd5e1"],
#page-body [style*="color:#cbd5e1"],
#page-body [style*="color: #666"],
#page-body [style*="color:#666"],
#page-body [style*="color:#444"] {
  color: var(--kb-text-dim) !important;
}
/* Azul de link/acao (#2a7de9, #3b82f6) -> dourado, para casar com a identidade */
#page-body [style*="color: #2a7de9"],
#page-body [style*="color:#2a7de9"],
#page-body [style*="color: #3b82f6"],
#page-body [style*="color:#3b82f6"] {
  color: var(--kb-gold) !important;
}
#page-body [style*="background: #2a7de9"],
#page-body [style*="background:#2a7de9"],
#page-body [style*="background: #3b82f6"],
#page-body [style*="background:#3b82f6"] {
  background: linear-gradient(180deg, var(--kb-gold), var(--kb-gold-deep)) !important;
  color: #1a1008 !important;
}

/* Links dentro das paginas internas seguem a cor dourada padrao do tema */
#page-body .page-container a,
#page-body .content-box a,
#page-body .shop-selection-container a,
#page-body .guide-item a,
#page-body .char-name-link,
#page-body .guild-rank-grid a {
  color: var(--kb-gold) !important;
}
#page-body .char-name-link:hover { color: var(--kb-gold-2) !important; }

/* ---------------------------------------------------------------------- */
/* RANKINGS (pagina completa)                                             */
/* ---------------------------------------------------------------------- */
#page-body .rank-filter-bar {
  background: var(--kb-panel) !important;
  border: 1px solid var(--kb-border) !important;
  border-radius: 8px !important;
}
#page-body .rank-filter-bar select {
  background: var(--kb-panel-2) !important;
  color: var(--kb-text) !important;
  border: 1px solid var(--kb-border-2) !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
}
#page-body .rank-list-header.char-rank-grid,
#page-body .rank-list-header.guild-rank-grid {
  background: linear-gradient(180deg, var(--kb-panel-2), var(--kb-bg-2)) !important;
  border-bottom: 2px solid var(--kb-gold-deep) !important;
  color: var(--kb-gold) !important;
}
#page-body .rank-list-item {
  background: var(--kb-panel) !important;
  border-bottom: 1px solid var(--kb-border) !important;
}
#page-body .rank-list-item:hover { background: var(--kb-panel-2) !important; }
#page-body .rank-list-item.top-1 {
  background: linear-gradient(90deg, rgba(230,178,58,0.14), var(--kb-panel)) !important;
  border-left: 3px solid var(--kb-gold) !important;
}
#page-body .rank-list-item.top-2 {
  background: linear-gradient(90deg, rgba(200,200,200,0.10), var(--kb-panel)) !important;
  border-left: 3px solid #c9c9c9 !important;
}
#page-body .rank-list-item.top-3 {
  background: linear-gradient(90deg, rgba(196,160,144,0.10), var(--kb-panel)) !important;
  border-left: 3px solid #c4a090 !important;
}
#page-body .char-avatar-mini { border: 1px solid var(--kb-border-2) !important; border-radius: 4px; }
#page-body .char-score-val { color: var(--kb-gold-2) !important; font-weight: 800 !important; }

/* ---------------------------------------------------------------------- */
/* NOTICIAS (lista + view)                                                */
/* ---------------------------------------------------------------------- */
#page-body .u-list.post-list li,
#page-body .post-list li {
  border-bottom: 1px solid var(--kb-border) !important;
  padding: 12px 20px !important;
  transition: background 0.2s;
  list-style: none;
}
#page-body .u-list.post-list li:hover,
#page-body .post-list li:hover { background: rgba(193,18,31,0.08) !important; }
#page-body .post-list li p,
#page-body .post-list li a { color: var(--kb-text) !important; font-weight: 600; }
#page-body .post-list li a:hover { color: var(--kb-gold) !important; }
#page-body .post-data { color: var(--kb-gold-deep) !important; font-weight: 700; }
#page-body .news-tag { font-weight: 800; letter-spacing: 0.04em; }
#page-body .news-cover img { border: 1px solid var(--kb-border-2) !important; }
#page-body .news-body { color: var(--kb-text) !important; }

/* Filtro de categorias (Noticias/Online) — pill buttons */
#page-body .news-filter-bar,
#page-body .online-filter-bar {
  background: transparent !important;
}
#page-body .news-filter-pill {
  background: var(--kb-panel-2) !important;
  border: 1px solid var(--kb-border-2) !important;
  color: var(--kb-text-dim) !important;
  border-radius: 30px !important;
  padding: 7px 16px !important;
  font-family: 'Cinzel', serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  transition: all 0.2s;
}
#page-body .news-filter-pill:hover {
  border-color: var(--kb-gold-deep) !important;
  color: var(--kb-gold) !important;
  transform: translateY(-1px);
}
#page-body .news-filter-pill.active {
  background: linear-gradient(180deg, var(--kb-ruby-2), var(--kb-ruby-deep)) !important;
  border-color: var(--kb-ruby) !important;
  color: #fff !important;
}

/* Paginacao (Noticias/Online) */
#page-body .news-pagination a,
#page-body .online-pagination a {
  background: var(--kb-panel-2) !important;
  border: 1px solid var(--kb-border-2) !important;
  color: var(--kb-text-dim) !important;
  border-radius: 6px !important;
  transition: all 0.2s;
}
#page-body .news-pagination a:hover,
#page-body .online-pagination a:hover {
  border-color: var(--kb-gold-deep) !important;
  color: var(--kb-gold) !important;
}
#page-body .news-pagination span,
#page-body .online-pagination span {
  background: linear-gradient(180deg, var(--kb-ruby-2), var(--kb-ruby-deep)) !important;
  color: #fff !important;
  border-radius: 6px !important;
}

/* ---------------------------------------------------------------------- */
/* ONLINE (tabela de jogadores)                                           */
/* ---------------------------------------------------------------------- */
#page-body .online-filter-bar .news-filter-pill { text-decoration: none !important; }

/* ---------------------------------------------------------------------- */
/* GUIAS                                                                  */
/* ---------------------------------------------------------------------- */
#page-body .guide-filters {
  background: var(--kb-panel) !important;
  border: 1px solid var(--kb-border) !important;
}
#page-body .guide-item { border-bottom: 1px solid var(--kb-border) !important; }
#page-body .guide-item:hover { background: rgba(193,18,31,0.06) !important; }
#page-body .guide-content {
  background: var(--kb-panel) !important;
  border: 1px solid var(--kb-border) !important;
  color: var(--kb-text) !important;
}
#page-body .vote-btn div {
  background: var(--kb-panel-2) !important;
}

/* ---------------------------------------------------------------------- */
/* CASTLE SIEGE                                                           */
/* ---------------------------------------------------------------------- */
#page-body [style*="border: 1.5px dashed #cbd5e1"] {
  border-color: var(--kb-border-2) !important;
  background: var(--kb-panel-2) !important;
}

/* ---------------------------------------------------------------------- */
/* Selects / Inputs genericos em todo o site (formularios claros)         */
/* ---------------------------------------------------------------------- */
#page-body select,
#page-body input[type="text"],
#page-body input[type="search"],
#page-body input[type="number"] {
  background: var(--kb-panel-2) !important;
  color: var(--kb-text) !important;
  border: 1px solid var(--kb-border-2) !important;
  border-radius: 6px !important;
}

/* Barra de rolagem no estilo do tema (opcional, visual) */
#page-body ::-webkit-scrollbar { width: 10px; height: 10px; }
#page-body ::-webkit-scrollbar-track { background: var(--kb-bg-2); }
#page-body ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--kb-ruby), var(--kb-ruby-deep));
  border-radius: 5px;
}

/* ====================================================================== */
/* HOME — Paineis Login / Configuracoes / Equipe ACIMA do slider          */
/* ---------------------------------------------------------------------- */
/* Movidos da sidebar para o topo da Home (ver home/index.php). Ficam em  */
/* 3 caixas de mesmo tamanho ("esquadro"), pra nao desproporcionalizar    */
/* o layout ao lado do banner/slider grande logo abaixo.                  */
/* ====================================================================== */
.home-top-panels {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}
.home-top-panels > div {
  background: linear-gradient(180deg, var(--kb-panel) 0%, var(--kb-bg-2) 100%) !important;
  border: 1px solid var(--kb-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.45) !important;
  margin-bottom: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden;
  position: relative;
  height: 320px;             /* mesmo "esquadro" para os 3 paineis */
  display: flex;
  flex-direction: column;
}
.home-top-panels > div::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--kb-ruby), var(--kb-gold), transparent);
  opacity: 0.7;
  z-index: 1;
}
/* Scrollbar discreta dentro dos paineis (caso o conteudo ultrapasse a altura fixa) */
.home-top-panels > div::-webkit-scrollbar { width: 6px; }
.home-top-panels > div::-webkit-scrollbar-track { background: transparent; }
.home-top-panels > div::-webkit-scrollbar-thumb {
  background: var(--kb-ruby-deep);
  border-radius: 4px;
}

@media (max-width: 992px) {
  .home-top-panels { grid-template-columns: 1fr 1fr; }
  .home-top-panels > div:nth-child(3) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .home-top-panels { grid-template-columns: 1fr; }
  .home-top-panels > div { height: 280px; }
}

/* ================================================================== */
/* MENU SUPERIOR CENTRALIZADO (Inicio / Cadastrar / Downloads...)     */
/* ================================================================== */
#page-body .navbar .navbar-collapse {
  display: flex !important;
  justify-content: center !important;
}
#page-body .navbar-nav {
  flex-direction: row !important;
  align-items: center;
  margin: 0 auto !important;
}
@media (max-width: 991px) {
  #page-body .navbar .navbar-collapse { justify-content: flex-start !important; }
  #page-body .navbar-nav { flex-direction: column !important; }
}

/* ================================================================== */
/* FOOTER V2 (Logo/redes + colunas Jogo / Suporte / Institucional)    */
/* ================================================================== */
footer.footer-main.kb-footer-v2 {
  padding: 55px 0 25px 0 !important;
}
.kb-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 30px;
  align-items: start;
  padding-top: 10px;
}
.kb-footer-brand .kb-footer-logo img {
  max-width: 190px;
  height: auto;
  display: block;
  margin-bottom: 14px;
}
.kb-footer-tagline {
  color: var(--kb-text-dim) !important;
  font-size: 13.5px;
  line-height: 1.6;
  max-width: 320px;
  margin-bottom: 18px;
}
.kb-footer-social {
  display: flex;
  gap: 10px;
}
.kb-footer-social a {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(230,178,58,0.05);
  border: 1px solid var(--kb-border-2);
  color: var(--kb-text-dim);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s;
}
.kb-footer-social a:hover {
  background: linear-gradient(180deg, var(--kb-ruby-2), var(--kb-ruby-deep));
  border-color: var(--kb-ruby);
  color: #fff;
  transform: translateY(-2px);
}
.kb-footer-col h4 {
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kb-gold);
  margin: 6px 0 18px 0;
  padding-top: 4px;
}
.kb-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kb-footer-col ul li a {
  color: var(--kb-text-dim) !important;
  text-decoration: none !important;
  font-size: 14px;
  transition: color 0.2s;
}
.kb-footer-col ul li a:hover {
  color: var(--kb-gold) !important;
}
.kb-footer-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--kb-border-2), transparent);
  margin: 32px 0 20px 0;
}
.kb-footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  text-align: left !important;
}
.kb-footer-bottom p {
  margin: 0 !important;
  font-size: 13px !important;
  color: var(--kb-text-mute) !important;
}
@media (max-width: 900px) {
  .kb-footer-grid { grid-template-columns: 1fr 1fr; }
  .kb-footer-brand { grid-column: 1 / -1; margin-bottom: 10px; }
}
@media (max-width: 560px) {
  .kb-footer-grid { grid-template-columns: 1fr; }
  .kb-footer-bottom { flex-direction: column; }
}

/* ================================================================== */
/* GUILD - VIEW (paleta azulada -> realinhada a identidade kb (ruby/gold) */
/* ================================================================== */
#page-body [style*="background: #1e242b"],
#page-body [style*="background:#1e242b"] {
  background: var(--kb-panel) !important;
  border-color: var(--kb-border-2) !important;
}
#page-body [style*="background: #181d23"],
#page-body [style*="background:#181d23"] {
  background: var(--kb-panel-2) !important;
}
#page-body [style*="background: #14181d"],
#page-body [style*="background:#14181d"] {
  background: var(--kb-bg-2) !important;
}
#page-body [style*="border: 1px solid #2d353f"],
#page-body [style*="border:1px solid #2d353f"],
#page-body [style*="border-bottom: 1px solid #2d353f"],
#page-body [style*="1px solid #2d353f"] {
  border-color: var(--kb-border-2) !important;
}
#page-body [style*="color: #94a3b8"],
#page-body [style*="color:#94a3b8"] {
  color: var(--kb-text-dim) !important;
}
#page-body [style*="color: #cbd5e1"],
#page-body [style*="color:#cbd5e1"] {
  color: var(--kb-text) !important;
}

/* ================================================================== */
/* TIMER BADGE (Eventos) - fix: .event-list li span tinha mais         */
/* especificidade e forcava fundo claro (#dfdfdf) sem !important       */
/* ================================================================== */
.timer-badge44,
.event-list li .timer-badge44,
.event-list li span.timer-badge44 {
  background: rgba(0,0,0,0.4) !important;
  color: var(--kb-gold-2) !important;
  border: 1px solid var(--kb-border-2) !important;
}

/* ================================================================== */
/* CLASSIFICACAO / HALL DA FAMA (Personagens e Guilds) - era branco,   */
/* agora segue a mesma paleta da Tabela de Reset (Free/VIP)            */
/* ================================================================== */
#page-body .mu-cls-widget {
  background: var(--kb-panel) !important;
  border: 1px solid var(--kb-border) !important;
}
#page-body .mu-cls-header {
  background: linear-gradient(135deg, var(--kb-panel-2) 0%, var(--kb-bg-2) 100%) !important;
  color: var(--kb-text) !important;
  border-bottom: 1px solid var(--kb-border-2) !important;
}
#page-body .mu-cls-header i { color: var(--kb-gold) !important; }
#page-body .mu-cls-tabs {
  background: var(--kb-bg-2) !important;
  border-bottom: 1px solid var(--kb-border) !important;
}
#page-body .mu-cls-tab {
  background: var(--kb-panel-2) !important;
  border: 1px solid var(--kb-border-2) !important;
  color: var(--kb-text-dim) !important;
}
#page-body .mu-cls-tab:hover {
  border-color: var(--kb-gold-deep) !important;
  color: var(--kb-gold) !important;
}
#page-body .mu-cls-tab.active {
  border-color: var(--kb-gold) !important;
  background: rgba(230,178,58,0.1) !important;
  color: var(--kb-gold) !important;
}
#page-body .mu-cls-card {
  background: var(--kb-bg-2) !important;
  border: 1px solid var(--kb-border) !important;
}
#page-body .mu-cls-card-pos {
  color: var(--kb-text) !important;
  border-bottom: 1px solid var(--kb-border) !important;
}
#page-body .mu-cls-pos-num { color: var(--kb-text-dim) !important; }
#page-body .mu-cls-card.top-1 .mu-cls-pos-num { color: var(--kb-gold) !important; }
#page-body .mu-cls-card.top-2 .mu-cls-pos-num { color: #c9c9c9 !important; }
#page-body .mu-cls-card.top-3 .mu-cls-pos-num { color: #c4a090 !important; }
#page-body .mu-cls-photo-wrap { background: var(--kb-bg) !important; }
#page-body .mu-cls-noimg { color: var(--kb-text-mute) !important; }

/* ================================================================== */
/* WEBSHOP (selecao de lojas) - era branco, agora segue a paleta kb    */
/* ================================================================== */
#page-body .shop-top-icon .icon-box {
  background: rgba(230,178,58,0.08) !important;
  color: var(--kb-gold) !important;
  border: 1px solid var(--kb-border-2) !important;
}
#page-body .shop-header h2 { color: var(--kb-text) !important; }
#page-body .shop-header h2 span { color: var(--kb-gold) !important; }
#page-body .shop-header .title-divider {
  background: linear-gradient(90deg, var(--kb-ruby), var(--kb-gold)) !important;
}
#page-body .shop-header p { color: var(--kb-text-dim) !important; }
#page-body .shop-card {
  background: var(--kb-panel) !important;
  border: 1px solid var(--kb-border) !important;
}
#page-body .shop-card:hover { border-color: var(--kb-gold-deep) !important; }
#page-body .shop-badge {
  background: rgba(230,178,58,0.08) !important;
  color: var(--kb-gold) !important;
  border: 1px solid var(--kb-border-2) !important;
}
#page-body .shop-card-title { color: var(--kb-text) !important; }
#page-body .shop-card-desc { color: var(--kb-text-dim) !important; }
#page-body .btn-shop-access {
  background: linear-gradient(180deg, var(--kb-gold), var(--kb-gold-deep)) !important;
  color: #1a1008 !important;
  box-shadow: none !important;
}
#page-body .btn-shop-access:hover {
  background: linear-gradient(180deg, var(--kb-gold-2), var(--kb-gold)) !important;
}
#page-body .shop-benefits { border-top: 1px solid var(--kb-border) !important; }
#page-body .benefit-item {
  background: var(--kb-bg-2) !important;
  border: 1px solid var(--kb-border) !important;
}
#page-body .benefit-item i {
  background: var(--kb-panel-2) !important;
  color: var(--kb-gold) !important;
}
#page-body .benefit-title { color: var(--kb-text) !important; }
#page-body .benefit-sub { color: var(--kb-text-dim) !important; }
#page-body .shop-footer-alert {
  background: var(--kb-panel) !important;
  border: 1px solid var(--kb-border) !important;
}
#page-body .shop-footer-alert .alert-icon {
  background: var(--kb-panel-2) !important;
  color: var(--kb-gold) !important;
}
#page-body .shop-footer-alert .alert-title { color: var(--kb-text) !important; }
#page-body .shop-footer-alert .alert-text { color: var(--kb-text-dim) !important; }
