/* ============================================================
   Forever Blacklisted - WoW theme
   ============================================================ */

:root {
  --fbl-gold:        #f8b700;
  --fbl-gold-light:  #ffd100;
  --fbl-gold-dark:   #8a6d00;
  --fbl-bg:          #0d0d0f;
  --fbl-panel:       #16161a;
  --fbl-panel-2:     #1e1e24;
  --fbl-border:      #3a3a42;
  --fbl-text:        #d8d8dc;
  --horde:           #c41e1e;
  --horde-dark:      #6e0f0f;
  --alliance:        #2c5fb8;
  --alliance-dark:   #16305e;
}

html, body {
  background: var(--fbl-bg);
  color: var(--fbl-text);
  font-family: "Segoe UI", system-ui, sans-serif;
  min-height: 100%;
}

body {
  background:
    radial-gradient(1200px 500px at 50% -10%, rgba(248,183,0,.07), transparent 60%),
    var(--fbl-bg);
}

h1, h2, h3, .fbl-title {
  font-family: "Cinzel", "Times New Roman", serif;
  letter-spacing: .04em;
}

/* ---------- navbar ---------- */
.fbl-navbar {
  background: linear-gradient(180deg, #17171c, #101014);
  border-bottom: 2px solid var(--fbl-gold-dark);
}
.fbl-navbar .navbar-brand {
  font-family: "Cinzel", serif;
  font-weight: 700;
  color: var(--fbl-gold) !important;
  text-shadow: 0 0 12px rgba(248,183,0,.35);
}
.fbl-navbar .nav-link { color: var(--fbl-text); }
.fbl-navbar .nav-link:hover,
.fbl-navbar .nav-link.active { color: var(--fbl-gold-light); }

/* ---------- panels ---------- */
.fbl-panel {
  background: linear-gradient(180deg, var(--fbl-panel-2), var(--fbl-panel));
  border: 1px solid var(--fbl-border);
  border-radius: .6rem;
  box-shadow: 0 0 0 1px #000, 0 10px 30px rgba(0,0,0,.5);
  padding: 1.25rem;
}
.fbl-panel .fbl-panel-title {
  color: var(--fbl-gold);
  border-bottom: 1px solid var(--fbl-border);
  padding-bottom: .5rem;
  margin-bottom: 1rem;
  font-size: 1.15rem;
}

/* ---------- buttons ---------- */
.btn-fbl {
  background: linear-gradient(180deg, #3d3423, #262014);
  border: 1px solid var(--fbl-gold-dark);
  color: var(--fbl-gold-light);
  font-family: "Cinzel", serif;
  font-weight: 600;
}
.btn-fbl:hover {
  background: linear-gradient(180deg, #4a4028, #2d2517);
  color: #ffe380;
  border-color: var(--fbl-gold);
}
.btn-horde {
  background: linear-gradient(180deg, #8a1515, #5c0d0d);
  border: 1px solid #ff5c5c55;
  color: #ffd9d9;
  font-family: "Cinzel", serif;
  font-weight: 600;
}
.btn-horde:hover { background: #a01a1a; color: #fff; }
.btn-alliance {
  background: linear-gradient(180deg, #1d4690, #122c5c);
  border: 1px solid #6ea8ff55;
  color: #d9e6ff;
  font-family: "Cinzel", serif;
  font-weight: 600;
}
.btn-alliance:hover { background: #2555ab; color: #fff; }

/* ---------- faction cards ---------- */
.faction-card {
  border-radius: .8rem;
  padding: 2rem 1.25rem;
  text-align: center;
  border: 1px solid var(--fbl-border);
  transition: transform .15s ease, box-shadow .15s ease;
  height: 100%;
}
.faction-card:hover {
  transform: translateY(-4px);
}
.faction-horde {
  background: radial-gradient(120% 120% at 50% 0%, rgba(196,30,30,.35), rgba(20,8,8,.9) 70%);
  border-color: #7a1a1a;
}
.faction-horde:hover { box-shadow: 0 0 30px rgba(196,30,30,.35); }
.faction-alliance {
  background: radial-gradient(120% 120% at 50% 0%, rgba(44,95,184,.35), rgba(8,12,24,.9) 70%);
  border-color: #1a3f7a;
}
.faction-alliance:hover { box-shadow: 0 0 30px rgba(44,95,184,.4); }
.faction-card h3 { color: #fff; }
.faction-horde h3    { text-shadow: 0 0 14px rgba(255,80,80,.7); }
.faction-alliance h3 { text-shadow: 0 0 14px rgba(110,168,255,.8); }
.faction-sigil { font-size: 3rem; line-height: 1; margin-bottom: .75rem; }

/* faction theme accent for logged-in pages */
.theme-horde    .fbl-panel-title,
.theme-horde    .accent { color: #ff8a8a; }
.theme-alliance .fbl-panel-title,
.theme-alliance .accent { color: #8ab8ff; }

/* ---------- forms ---------- */
.form-control, .form-select {
  background: #101014;
  border: 1px solid var(--fbl-border);
  color: var(--fbl-text);
}
.form-control:focus, .form-select:focus {
  background: #141419;
  color: var(--fbl-text);
  border-color: var(--fbl-gold);
  box-shadow: 0 0 0 .2rem rgba(248,183,0,.15);
}
.form-label { color: #b9b9c0; }

/* ---------- tables ---------- */
.table-fbl {
  color: var(--fbl-text);
  --bs-table-bg: transparent;
}
.table-fbl th {
  color: var(--fbl-gold);
  font-family: "Cinzel", serif;
  font-size: .85rem;
  border-bottom: 2px solid var(--fbl-gold-dark) !important;
}
.table-fbl td { border-color: #26262e !important; vertical-align: middle; }
.table-fbl tr:hover td { background: rgba(248,183,0,.05); }

.badge-black { background: #5c0d0d; color: #ffb3b3; border: 1px solid #a03030; }
.badge-good  { background: #0d3d1a; color: #a9f0bd; border: 1px solid #2c7a44; }
.badge-player{ background: #2a2a33; color: #cfcfe0; border: 1px solid #55556a; }
.badge-guild { background: #33284a; color: #d5c6ff; border: 1px solid #6a5599; }

/* ---------- token box ---------- */
.token-box {
  font-family: ui-monospace, monospace;
  background: #0a0a0d;
  border: 1px dashed var(--fbl-gold-dark);
  border-radius: .4rem;
  padding: .6rem .8rem;
  word-break: break-all;
  color: var(--fbl-gold-light);
}

/* ---------- docs ---------- */
.fbl-docs h1, .fbl-docs h2, .fbl-docs h3 { color: var(--fbl-gold); margin-top: 1.5rem; }
.fbl-docs pre {
  background: #0a0a0d;
  border: 1px solid var(--fbl-border);
  border-radius: .5rem;
  padding: 1rem;
  overflow-x: auto;
}
.fbl-docs code { color: #ffd97a; }
.fbl-docs table { width: 100%; margin: 1rem 0; }
.fbl-docs th, .fbl-docs td {
  border: 1px solid var(--fbl-border);
  padding: .4rem .6rem;
}
.fbl-docs th { background: #1c1c22; color: var(--fbl-gold); }

/* ---------- hero ---------- */
.hero-title {
  font-size: clamp(2rem, 6vw, 3.6rem);
  color: var(--fbl-gold);
  text-shadow: 0 0 25px rgba(248,183,0,.45), 0 2px 0 #000;
}
.hero-sub { color: #a9a9b4; }

/* ---------- footer ---------- */
.fbl-footer {
  border-top: 1px solid var(--fbl-border);
  color: #77777f;
  font-size: .85rem;
}

/* mobile tweaks */
@media (max-width: 576px) {
  .faction-card { padding: 1.25rem .75rem; }
  .fbl-panel { padding: 1rem; }
}
