:root {
  --db-bg: #0b0b0c;
  --db-panel: #111214;
  --db-panel-2: #171719;
  --db-panel-3: #1d1d20;
  --db-line: #343438;
  --db-line-soft: #252529;
  --db-text: #e9e7e2;
  --db-muted: #99979a;
  --db-gold: #b8bec8;
  --db-gold-bright: #eef1f5;
  --db-red: #8e211a;
}

body.database-page-body {
  background: #08090a url("../images/wow-faq-pane-dirt-dark.jpg") center top / cover fixed no-repeat;
  color: var(--db-text);
}

body.database-page-body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(7, 7, 8, .46), rgba(7, 7, 8, .88) 34%, #08090a 82%);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.wowdb {
  width: min(1420px, calc(100% - 40px));
  margin: 118px auto 72px;
  border: 1px solid rgba(178, 186, 199, .34);
  background: rgba(10, 10, 11, .95);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .68), inset 0 1px rgba(255, 255, 255, .025);
}

.wowdb-masthead {
  width: 100%;
  /* Fondo provisional: reemplaza la última capa por la imagen definitiva cuando esté lista. */
  position: relative;
  min-height: 340px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 24px;
  padding: 44px 32px 38px;
  overflow: hidden;
  border-bottom: 1px solid #454a52;
  background:
    linear-gradient(180deg, rgba(8, 9, 11, .52), rgba(8, 9, 11, .88)),
    radial-gradient(circle at 25% 18%, rgba(126, 139, 158, .24), transparent 35%),
    radial-gradient(circle at 78% 68%, rgba(67, 75, 88, .35), transparent 38%),
    linear-gradient(125deg, #1a1d22, #090a0d 52%, #171a20);
}
.wowdb-masthead::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 49.8%, rgba(255, 255, 255, .025) 50%, transparent 50.2%), linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 100% 100%, 100% 48px;
  mask-image: linear-gradient(transparent, #000 25%, #000 75%, transparent);
}
.wowdb-masthead-brand { position: relative; z-index: 1; display: grid; justify-items: center; }
.wowdb-masthead-brand img { width: min(560px, 72vw); height: auto; display: block; filter: drop-shadow(0 12px 26px rgba(0, 0, 0, .8)); }
.wowdb-masthead-brand span { margin-top: -8px; padding: 5px 16px; border: 1px solid rgba(201, 206, 214, .42); border-radius: 999px; background: rgba(12, 13, 16, .75); color: #d9dde3; font-size: .68rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }

.wowdb-kicker,
.wowdb-home > header span,
.wowdb-browser-head > div > span {
  color: var(--db-gold);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.wowdb-hero h1,
.wowdb-home h2,
.wowdb-browser-head h2 {
  margin: 8px 0 3px;
  color: #f6f2e9;
  font-family: "Mephisto", Georgia, serif;
  letter-spacing: .04em;
  text-shadow: 0 2px 10px #000;
}

.wowdb-hero h1 { font-size: clamp(2rem, 4vw, 3.6rem); }
.wowdb-hero p,
.wowdb-home > header p,
.wowdb-browser-head p { margin: 0; color: #b9b5ae; }

.wowdb-global-search {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(200px, 1fr) 180px auto;
  align-items: stretch;
  width: min(980px, 86vw);
  max-width: 980px;
  min-height: 52px;
  border: 1px solid #50545b;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(13, 14, 17, .96);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .58), 0 0 0 4px rgba(255, 255, 255, .025);
}

.wowdb-global-search > svg { width: 21px; margin: auto 15px; color: #888; }
.wowdb-global-search input,
.wowdb-global-search select,
.wowdb-global-search button,
.wowdb-field input,
.wowdb-field select,
.wowdb-range input,
.wowdb-results-toolbar select {
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--db-text);
  font: inherit;
}

.wowdb-global-search input { min-width: 0; font-size: 1rem; }
.wowdb-global-search select { padding: 0 42px 0 15px; border-left: 1px solid var(--db-line); background-color: #17191d; }
.wowdb-global-search button,
.wowdb-filter-actions button {
  padding: 0 25px;
  border: 0;
  background: linear-gradient(#e1e4e8, #9ea5af);
  color: #111317;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}

.wowdb-global-search button:hover,
.wowdb-filter-actions button:hover { filter: brightness(1.1); }

.wowdb-bar {
  position: relative;
  z-index: 12;
  display: flex;
  align-items: stretch;
  min-height: 54px;
  border-bottom: 1px solid var(--db-line);
  justify-content: center;
  background: linear-gradient(#181a1e, #121316);
}

.wowdb-bar > a,
.wowdb-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 22px;
  border: 0;
  border-right: 1px solid var(--db-line-soft);
  background: transparent;
  color: #eee;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.wowdb-bar > a:hover,
.wowdb-menu-trigger:hover,
.wowdb-menu-trigger[aria-expanded="true"] { color: #fff; background: #24272c; box-shadow: inset 0 -2px #bfc5ce; }
.wowdb-bar svg { width: 16px; }

.wowdb-mega {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: min(760px, calc(100vw - 48px));
  display: grid;
  grid-template-columns: repeat(4, minmax(145px, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid #59606b;
  border-radius: 12px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-8px) scale(.985);
  transform-origin: top left;
  pointer-events: none;
  background: rgba(15, 17, 20, .985);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .78), inset 0 1px rgba(255, 255, 255, .05);
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}

.wowdb-mega.is-open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
.wowdb-mega section { padding: 13px; border: 1px solid #30343a; border-radius: 8px; background: linear-gradient(145deg, #1a1c20, #121316); }
.wowdb-mega section:last-child { border: 1px solid #30343a; }
.wowdb-mega h2 { margin: 0 0 9px; color: #f2f3f5; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.wowdb-mega a { position: relative; display: block; padding: 7px 24px 7px 8px; border-radius: 5px; color: #b9bec6; font-size: .78rem; text-decoration: none; transition: .14s ease; }
.wowdb-mega a::after { content: "›"; position: absolute; right: 8px; color: #6d747e; }
.wowdb-mega a:hover { background: #292c31; color: #fff; transform: translateX(2px); }

.wowdb-home { padding: clamp(34px, 5vw, 70px); }
.wowdb-home > header { text-align: center; }
.wowdb-home h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.wowdb-popular-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 34px 0; }
.wowdb-popular-grid > a {
  min-height: 94px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--db-line);
  background: linear-gradient(135deg, #18181a, #111113);
  color: var(--db-text);
  text-decoration: none;
  transition: .18s ease;
}
.wowdb-popular-grid > a:hover { border-color: #747a84; background: #1c1d20; transform: translateY(-2px); }
.wowdb-popular-grid svg { width: 28px; height: 28px; color: var(--db-gold); }
.wowdb-popular-grid strong,
.wowdb-popular-grid small { display: block; }
.wowdb-popular-grid strong { margin-bottom: 5px; color: var(--db-gold-bright); font-family: Georgia, serif; font-size: 1.05rem; }
.wowdb-popular-grid small { color: var(--db-muted); }

.wowdb-directory { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--db-line); background: #0e0e10; }
.wowdb-directory section { padding: 24px 30px; border-right: 1px solid var(--db-line); }
.wowdb-directory section:last-child { border: 0; }
.wowdb-directory h3 { margin: 0 0 13px; color: #fff; font-size: .9rem; text-transform: uppercase; }
.wowdb-directory a { display: block; padding: 6px 0; color: var(--db-gold); text-decoration: none; }

.wowdb-browser { min-height: 700px; }
.wowdb-breadcrumb { display: flex; align-items: center; gap: 8px; padding: 14px 20px; border-bottom: 1px solid var(--db-line); color: var(--db-muted); font-size: .8rem; }
.wowdb-breadcrumb a { color: var(--db-gold); text-decoration: none; }
.wowdb-breadcrumb svg { width: 13px; }
.wowdb-browser-head { display: flex; justify-content: space-between; gap: 20px; padding: 27px 28px 20px; }
.wowdb-browser-head h2 { font-size: 2rem; }
.wowdb-browser-head button { display: none; align-self: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--db-line); background: var(--db-panel-2); color: #fff; }

.wowdb-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 15px;
  padding: 20px 28px 24px;
  border-top: 1px solid var(--db-line-soft);
  border-bottom: 1px solid var(--db-line);
  background: rgba(15, 15, 17, .96);
}
.wowdb-field,
.wowdb-range { display: flex; flex-direction: column; gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; }
.wowdb-field-wide { grid-column: span 2; }
.wowdb-field > span,
.wowdb-range legend { color: #d8d5cf; font-size: .76rem; font-weight: 700; }
.wowdb-field input,
.wowdb-field select,
.wowdb-range input,
.wowdb-results-toolbar select { min-height: 39px; padding: 0 11px; border: 1px solid var(--db-line); background: #19191b; }
.wowdb-field input,
.wowdb-field select,
.wowdb-range input { width: 100%; min-width: 0; box-sizing: border-box; }
.wowdb-global-search select,
.wowdb-field select,
.wowdb-results-toolbar select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23bfc5ce' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
  cursor: pointer;
}
.wowdb-field select,
.wowdb-field input,
.wowdb-range input,
.wowdb-results-toolbar select { border-radius: 7px; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.wowdb-field select:hover,
.wowdb-results-toolbar select:hover { border-color: #666d77; background-color: #202329; }
.wowdb-field select option,
.wowdb-global-search select option,
.wowdb-results-toolbar select option { background: #17191d; color: #e9ebee; }
.wowdb-field input:focus,
.wowdb-field select:focus,
.wowdb-range input:focus { border-color: #858c97; box-shadow: 0 0 0 2px rgba(190, 198, 210, .12); }
.wowdb-range { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; }
.wowdb-range legend { grid-column: 1 / -1; }
.wowdb-range span { align-self: center; color: var(--db-muted); }
.wowdb-check { display: flex; align-items: center; gap: 8px; min-height: 39px; align-self: end; color: #cbc8c1; font-size: .82rem; }
.wowdb-check input { accent-color: var(--db-gold); }
.wowdb-filter-actions { grid-column: 1 / -1; display: flex; gap: 10px; padding-top: 4px; }
.wowdb-filter-actions button { min-height: 39px; padding: 0 19px; font-size: .73rem; }
.wowdb-filter-actions button[type="reset"] { border: 1px solid #4a4a4e; background: #202024; color: #dedbd4; }

.wowdb-results-toolbar { display: flex; justify-content: space-between; align-items: center; min-height: 51px; padding: 0 20px; border-bottom: 1px solid var(--db-line); background: #19191b; font-size: .82rem; }
.wowdb-results-toolbar strong { color: #fff; }
.wowdb-results-toolbar label { color: var(--db-muted); }
.wowdb-results-toolbar select { min-height: 30px; margin-left: 7px; }
.wowdb-table-wrap { position: relative; min-height: 310px; overflow-x: auto; }
.wowdb-table { width: 100%; border-collapse: collapse; table-layout: auto; font-size: .82rem; }
.wowdb-table th { height: 45px; padding: 0 15px; border-bottom: 1px solid #46464a; background: #0e0e10; color: #f5f2eb; font-size: .75rem; text-align: left; text-transform: uppercase; white-space: nowrap; }
.wowdb-table th:first-child { width: 42%; }
.wowdb-table td { height: 61px; padding: 7px 15px; border-bottom: 1px solid #2d2d30; color: #ddd9d2; }
.wowdb-table tbody tr { background: #151517; cursor: pointer; transition: background .12s ease; }
.wowdb-table tbody tr:nth-child(even) { background: #121214; }
.wowdb-table tbody tr:hover,
.wowdb-table tbody tr:focus { outline: 0; background: #222124; box-shadow: inset 3px 0 var(--db-gold); }
.wowdb-name-cell { display: flex; align-items: center; gap: 11px; min-width: 220px; }
.wowdb-name-cell > img,
.wowdb-row-icon { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #555; background: #242428; object-fit: cover; box-shadow: inset 0 0 8px #000; }
.wowdb-row-icon { display: grid; place-items: center; }
.wowdb-row-icon svg { width: 17px; color: #aeb4bd; }
.wowdb-name-cell strong,
.wowdb-name-cell small { display: block; }
.wowdb-name-cell strong { font-weight: 700; }
.wowdb-name-cell small { max-width: 500px; margin-top: 3px; overflow: hidden; color: #858388; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.q0 { color: #9d9d9d !important; }.q1 { color: #f3f3f3 !important; }.q2 { color: #1eff00 !important; }.q3 { color: #2b8cff !important; }.q4 { color: #b35cff !important; }.q5 { color: #ff8000 !important; }.q6 { color: #e6cc80 !important; }.q7 { color: #00ccff !important; }

.wowdb-loading,
.wowdb-empty { position: absolute; inset: 45px 0 0; display: grid; place-content: center; justify-items: center; gap: 10px; background: rgba(13, 13, 15, .94); color: var(--db-muted); text-align: center; }
.wowdb-loading svg { animation: db-spin .9s linear infinite; color: var(--db-gold); }
.wowdb-empty svg { width: 34px; height: 34px; color: #6e6d70; }
.wowdb-empty h3 { margin: 5px 0 0; color: #eee; }
.wowdb-empty p { margin: 0; }
@keyframes db-spin { to { transform: rotate(360deg); } }

.wowdb-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding: 18px 20px; border-top: 1px solid var(--db-line); background: #101012; }
.wowdb-pagination button { min-height: 34px; padding: 0 12px; border: 1px solid #454549; background: #1b1b1e; color: var(--db-gold); cursor: pointer; }
.wowdb-pagination button:hover:not(:disabled) { border-color: #858b95; color: #fff; }
.wowdb-pagination button:disabled { opacity: .35; cursor: default; }
.wowdb-pagination span { min-width: 115px; color: #bbb8b1; font-size: .8rem; text-align: center; }

.wowdb-detail {
  width: min(720px, calc(100% - 32px));
  max-height: min(82vh, 850px);
  padding: 0;
  overflow: auto;
  border: 1px solid #6c727c;
  background: #111113;
  color: var(--db-text);
  box-shadow: 0 28px 90px #000;
}
.wowdb-detail::backdrop { background: rgba(0, 0, 0, .78); backdrop-filter: blur(3px); }
.wowdb-detail-close { position: absolute; top: 14px; right: 14px; z-index: 2; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #4d4d51; background: #19191c; color: #eee; cursor: pointer; }
.wowdb-detail-close svg { width: 17px; }
.wowdb-detail header { display: flex; gap: 17px; padding: 29px 58px 23px 27px; border-bottom: 1px solid var(--db-line); background: linear-gradient(135deg, #1b1917, #121214); }
.wowdb-detail header span { color: var(--db-gold); font-size: .72rem; text-transform: uppercase; }
.wowdb-detail h2 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: 1.55rem; }
.wowdb-detail header p { margin: 0; color: #aaa6a0; line-height: 1.5; }
.wowdb-detail-icon { width: 58px; height: 58px; border: 2px solid #777; object-fit: cover; }
.wowdb-detail dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 20px 27px; gap: 0 24px; }
.wowdb-detail dl div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-bottom: 1px solid var(--db-line-soft); }
.wowdb-detail dt { color: #918f92; text-transform: capitalize; }
.wowdb-detail dd { margin: 0; color: #f0ede6; text-align: right; overflow-wrap: anywhere; }
.wowdb-detail section { margin: 0 27px 22px; padding: 16px 18px; border: 1px solid var(--db-line); background: #171719; }
.wowdb-detail section h3 { margin: 0 0 12px; color: var(--db-gold); font-size: .85rem; text-transform: uppercase; }
.wowdb-detail section p { color: #c6c2ba; }

/* Full database records: facts, maps, audio and connected game data. */
.wowdb-detail { width: min(1120px, calc(100% - 32px)); max-height: min(90vh, 980px); }
.wowdb-detail-loading,
.wowdb-detail-error { min-height: 330px; display: grid; place-content: center; justify-items: center; gap: 12px; padding: 40px; color: var(--db-muted); text-align: center; }
.wowdb-detail-loading svg { width: 34px; height: 34px; color: var(--db-gold); animation: db-spin .9s linear infinite; }
.wowdb-detail-error svg { width: 38px; height: 38px; color: #ff5353; }
.wowdb-detail-error h2 { margin: 4px 0 0; }
.wowdb-detail > div > header { position: sticky; top: 0; z-index: 4; align-items: center; }
.wowdb-detail > div > header > div { min-width: 0; flex: 1; }
.wowdb-external-link { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 9px 12px; border: 1px solid #66532f; color: var(--db-gold-bright); text-decoration: none; white-space: nowrap; }
.wowdb-external-link:hover { border-color: var(--db-gold); color: #fff; }
.wowdb-external-link svg { width: 15px; }
.wowdb-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; }
.wowdb-detail-layout > main { min-width: 0; padding-top: 22px; }
.wowdb-detail-layout > aside { position: sticky; top: 111px; margin: 22px 22px 22px 0; border: 1px solid var(--db-line); background: #171719; }
.wowdb-detail-layout > aside > h3 { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--db-line); color: #fff; font-size: .83rem; text-align: center; text-transform: uppercase; }
.wowdb-detail-layout > aside dl { grid-template-columns: 1fr; padding: 8px 16px 15px; font-size: .76rem; }
.wowdb-detail-layout > aside dl div { align-items: start; }
.wowdb-detail-sections > section { margin-bottom: 14px; }
.wowdb-copy-section h4 { margin: 18px 0 6px; color: #eee; }
.wowdb-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.wowdb-stat-grid p { margin: 3px 0; color: #1eff00 !important; }
.wowdb-map-card { overflow: hidden; border: 1px solid #4c4436; background: #0c0c0e; }
.wowdb-map-card + .wowdb-map-card { margin-top: 14px; }
.wowdb-map-card > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; background: #1a1918; }
.wowdb-map-card > header strong,
.wowdb-map-card > header small { display: block; }
.wowdb-map-card > header strong { color: var(--db-gold-bright); }
.wowdb-map-card > header small { margin-top: 2px; color: var(--db-muted); font-size: .7rem; }
.wowdb-map-card > header button { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 0 9px; border: 1px solid #5a4c35; background: #24211d; color: #eee; cursor: pointer; }
.wowdb-map-card > header button svg { width: 14px; }
.wowdb-map-image { position: relative; aspect-ratio: 488 / 325; overflow: hidden; cursor: zoom-in; background: #231a0d; }
.wowdb-map-image > img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .2s ease; }
.wowdb-map-image.is-zoomed { position: fixed; inset: 5vh 5vw; z-index: 20; aspect-ratio: auto; border: 2px solid #8d713d; box-shadow: 0 20px 80px #000; cursor: zoom-out; }
.wowdb-map-image.is-zoomed > img { object-fit: contain; background: #100e0a; }
.wowdb-map-pin { position: absolute; width: 24px; height: 24px; display: grid; place-items: center; transform: translate(-50%, -88%); color: #ffd22e; filter: drop-shadow(0 1px 2px #000) drop-shadow(0 0 2px #000); }
.wowdb-map-pin svg { width: 23px; height: 23px; fill: #bd1f16; stroke: #ffe958; }
.wowdb-map-card.pins-hidden .wowdb-map-pin { display: none; }
.wowdb-map-card details { padding: 9px 12px; border-top: 1px solid #3e392f; color: var(--db-muted); font-size: .72rem; }
.wowdb-map-card summary { cursor: pointer; color: var(--db-gold); }
.wowdb-coordinate-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; max-height: 150px; margin-top: 10px; overflow: auto; }
.wowdb-coordinate-list code { padding: 5px; background: #18181a; color: #bbb; font-size: .66rem; }
.wowdb-audio-list { display: grid; gap: 9px; }
.wowdb-audio-list article { display: grid; grid-template-columns: minmax(150px, .45fr) minmax(250px, 1fr); align-items: center; gap: 14px; padding: 11px; border: 1px solid #343438; background: #101012; }
.wowdb-audio-list article > span { display: flex; align-items: center; gap: 8px; overflow: hidden; }
.wowdb-audio-list article svg { width: 18px; flex: 0 0 18px; color: var(--db-gold); }
.wowdb-audio-list article strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wowdb-audio-list audio { width: 100%; height: 36px; accent-color: var(--db-gold); }
.wowdb-related-section h3 small { margin-left: 5px; color: var(--db-muted); font-weight: 400; }
.wowdb-related-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.wowdb-related-list a { min-width: 0; display: grid; grid-template-columns: 42px minmax(0, 1fr) 16px; align-items: center; gap: 9px; padding: 8px; border: 1px solid #303034; background: #111113; color: #eee; text-decoration: none; }
.wowdb-related-list a:hover { border-color: #675532; background: #1c1b1b; }
.wowdb-related-list img { width: 42px; height: 42px; border: 1px solid #555; object-fit: cover; }
.wowdb-related-list span { min-width: 0; }
.wowdb-related-list strong,
.wowdb-related-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wowdb-related-list small { margin-top: 4px; color: var(--db-muted); font-size: .67rem; }
.wowdb-related-list > a > svg { width: 14px; color: #6f6c66; }

.wowdb-type-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border: 1px solid #59606a;
  border-radius: 3px;
  background: radial-gradient(circle at 50% 35%, #30343a, #111317 72%);
  color: #e4e7eb;
  box-shadow: inset 0 0 8px #000;
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-weight: 900;
}
.wowdb-type-icon svg { width: 21px; height: 21px; }
.wowdb-type-icon.is-npc { color: #eceff3; }
.wowdb-type-icon.is-npc svg { fill: #d8dde4; stroke: #25282d; }
.wowdb-type-icon.is-quest { border-color: #76706a; color: #f2f3f5; text-shadow: 0 1px 2px #000; }
.wowdb-type-icon.is-object { color: #c8cdd4; }
.wowdb-type-icon-detail { width: 58px; height: 58px; flex-basis: 58px; }
.wowdb-type-icon-detail svg { width: 31px; height: 31px; }
.wowdb-game-icon { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #555; object-fit: cover; box-shadow: inset 0 0 8px #000; }

.wowdb-game-data .wowdb-tooltip-lines { max-width: 430px; padding: 14px; border: 1px solid #454a52; background: #090a0c; box-shadow: 0 12px 28px rgba(0, 0, 0, .38); }
.wowdb-tooltip-lines > strong,
.wowdb-tooltip-lines > span { display: block; line-height: 1.35; }
.wowdb-tooltip-lines > strong { margin-bottom: 4px; font-size: .95rem; }
.wowdb-tooltip-lines > span { color: #f1f1f1; font-size: .8rem; }
.wowdb-tooltip-lines .is-effect,
.wowdb-hover-lines .is-effect { color: #1eff00; }
.wowdb-tooltip-lines .is-requirement,
.wowdb-hover-lines .is-requirement { color: #ff6464; }

.wowdb-hover-tooltip {
  position: fixed;
  z-index: 10000;
  max-height: calc(100vh - 20px);
  overflow: hidden;
  padding: 12px 14px;
  border: 1px solid #747b85;
  border-radius: 3px;
  background: rgba(7, 8, 10, .98);
  color: #f2f2f2;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .82), inset 0 0 18px rgba(255, 255, 255, .025);
  pointer-events: none;
}
.wowdb-hover-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.wowdb-hover-head > div { min-width: 0; }
.wowdb-hover-head strong,
.wowdb-hover-head small { display: block; }
.wowdb-hover-head strong { overflow: hidden; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.wowdb-hover-head small { margin-top: 3px; color: #969ba3; font-size: .66rem; text-transform: uppercase; }
.wowdb-hover-lines { padding-top: 7px; border-top: 1px solid #30343a; }
.wowdb-hover-lines span { display: block; color: #f0f0f0; font-size: .78rem; line-height: 1.34; }
.wowdb-hover-loading { display: flex; align-items: center; gap: 8px; color: #b8bdc5; font-size: .78rem; }
.wowdb-hover-loading svg { width: 17px; animation: db-spin .9s linear infinite; }

.wowdb-name-cell[data-db-tooltip],
.wowdb-related-list [data-db-tooltip] { cursor: help; }

[hidden] { display: none !important; }

@media (max-width: 1050px) {
  .wowdb-filters { grid-template-columns: repeat(3, 1fr); }
  .wowdb-popular-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .wowdb { width: calc(100% - 18px); margin-top: 92px; }
  .wowdb-masthead { min-height: 250px; gap: 18px; padding: 30px 12px 24px; }
  .wowdb-masthead-brand img { width: min(430px, 88vw); }
  .wowdb-masthead-brand span { margin-top: -3px; }
  .wowdb-global-search { width: 100%; }
  .wowdb-global-search { grid-template-columns: auto 1fr auto; }
  .wowdb-global-search select { display: none; }
  .wowdb-global-search button { padding: 0 15px; font-size: .72rem; }
  .wowdb-bar { overflow-x: auto; }
  .wowdb-bar > a,
  .wowdb-menu-trigger { min-width: max-content; padding: 0 15px; }
  .wowdb-mega { position: fixed; top: 82px; left: 9px; right: 9px; width: auto; max-height: calc(100vh - 100px); grid-template-columns: repeat(2, 1fr); overflow: auto; }
  .wowdb-mega section:nth-child(2) { border-right: 0; }
  .wowdb-home { padding: 30px 16px; }
  .wowdb-popular-grid { grid-template-columns: 1fr; }
  .wowdb-directory { grid-template-columns: 1fr; }
  .wowdb-directory section { border-right: 0; border-bottom: 1px solid var(--db-line); }
  .wowdb-browser-head { padding: 22px 16px 15px; }
  .wowdb-browser-head button { display: inline-flex; }
  .wowdb-filters { display: none; grid-template-columns: repeat(2, 1fr); padding: 16px; }
  .wowdb-filters.is-open { display: grid; }
  .wowdb-field-wide { grid-column: 1 / -1; }
  .wowdb-table th:not(:first-child),
  .wowdb-table td:not(:first-child) { display: none; }
  .wowdb-table th:first-child { width: 100%; }
  .wowdb-pagination { justify-content: center; flex-wrap: wrap; }
  .wowdb-pagination [data-page-first],
  .wowdb-pagination [data-page-last] { display: none; }
  .wowdb-detail dl { grid-template-columns: 1fr; }
  .wowdb-detail { width: calc(100% - 12px); max-height: 94vh; }
  .wowdb-detail > div > header { align-items: flex-start; padding: 20px 48px 18px 16px; }
  .wowdb-detail-icon { width: 46px; height: 46px; }
  .wowdb-external-link { display: none; }
  .wowdb-detail-layout { grid-template-columns: 1fr; }
  .wowdb-detail-layout > aside { position: static; grid-row: 1; margin: 14px 14px 0; }
  .wowdb-detail-layout > main { padding-top: 14px; }
  .wowdb-detail section { margin: 0 14px 14px; padding: 13px; }
  .wowdb-related-list { grid-template-columns: 1fr; }
  .wowdb-audio-list article { grid-template-columns: 1fr; }
  .wowdb-coordinate-list { grid-template-columns: 1fr 1fr; }
  .wowdb-map-image.is-zoomed { inset: 2vh 2vw; }
  .wowdb-hover-tooltip { display: none; }
}

/* Rankings-aligned database integration. */
:root {
  --db-bg: #050505;
  --db-panel: #080808;
  --db-panel-2: #0a0a0a;
  --db-panel-3: #111111;
  --db-line: #292929;
  --db-line-soft: #222222;
  --db-text: #f2f2f2;
  --db-muted: #958d81;
  --db-gold: #bca36f;
  --db-gold-bright: #d6ad57;
  --db-red: #7d1a15;
}

body.database-page-body,
body.database-page-body::before { background: #050505; }

.wowdb {
  width: 100%;
  margin: 84px 0 72px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.wowdb-masthead,
.wowdb-bar,
.wowdb-home,
.wowdb-browser { width: min(1480px, calc(100% - 48px)); margin-right: auto; margin-left: auto; }

.wowdb-masthead {
  min-height: 320px;
  border: 0;
  border-bottom: 1px solid #242424;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, .28), rgba(5, 5, 5, .88)),
    radial-gradient(ellipse at 50% 38%, rgba(125, 26, 21, .2), transparent 43%),
    radial-gradient(ellipse at 50% 16%, rgba(184, 139, 51, .1), transparent 35%),
    linear-gradient(125deg, #100b09, #070707 55%, #110b09);
  box-shadow: none;
}
.wowdb-masthead::after { opacity: .34; }
.wowdb-masthead-brand img { width: min(520px, 72vw); }
.wowdb-masthead-brand span {
  border: 0;
  border-top: 1px solid rgba(188, 163, 111, .38);
  border-bottom: 1px solid rgba(188, 163, 111, .18);
  border-radius: 0;
  background: rgba(5, 5, 5, .72);
  color: #bca36f;
}

.wowdb-global-search {
  border-color: #333333;
  border-radius: 0;
  background: rgba(5, 5, 5, .94);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .48);
}
.wowdb-global-search:focus-within { border-color: #66512b; box-shadow: 0 0 0 2px rgba(200, 155, 60, .055), 0 18px 42px rgba(0, 0, 0, .48); }
.wowdb-global-search select { background-color: #0a0a0a; }
.wowdb-global-search button,
.wowdb-filter-actions button {
  background: linear-gradient(180deg, #981914, #6d100d);
  color: #fff;
  box-shadow: inset 0 1px rgba(255, 255, 255, .08);
}
.wowdb-global-search button:hover,
.wowdb-filter-actions button:hover { background: linear-gradient(180deg, #ad211b, #7a130f); filter: none; }

.wowdb-bar {
  justify-content: flex-start;
  border: 1px solid #292929;
  background: #080808;
}
.wowdb-bar > a,
.wowdb-menu-trigger {
  border-right-color: #242424;
  color: #8f8980;
  font-family: var(--font-display, Cinzel, Georgia, serif);
  font-size: .68rem;
  letter-spacing: .09em;
}
.wowdb-bar > a:hover,
.wowdb-menu-trigger:hover,
.wowdb-menu-trigger[aria-expanded="true"] {
  background: #15130f;
  color: #f2f2f2;
  box-shadow: inset 0 -2px #7d1a15;
}
.wowdb-bar svg { color: #a17d37; }

.wowdb-mega {
  top: calc(100% + 1px);
  gap: 0;
  padding: 4px;
  border-color: #333333;
  border-top: 2px solid #9b772e;
  border-radius: 0;
  background: #070707;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .7);
}
.wowdb-mega section,
.wowdb-mega section:last-child {
  padding: 13px 14px;
  border: 0;
  border-right: 1px solid #242424;
  border-radius: 0;
  background: transparent;
}
.wowdb-mega section:last-child { border-right: 0; }
.wowdb-mega h2 { color: #bca36f; }
.wowdb-mega a { border-radius: 0; color: #aaa49a; }
.wowdb-mega a:hover { background: #151515; color: #f2f2f2; }
.wowdb-mega a::after { color: #70572a; }

.wowdb-home { padding: 46px 0 20px; }
.wowdb-home > header span,
.wowdb-browser-head > div > span { color: #a17d37; }
.wowdb-home h2,
.wowdb-browser-head h2 { color: #f2f2f2; text-shadow: 0 4px 18px rgba(0, 0, 0, .8); }
.wowdb-home > header p,
.wowdb-browser-head p { color: #958d81; }
.wowdb-popular-grid > a {
  border-color: #292929;
  background: #090909;
  box-shadow: none;
}
.wowdb-popular-grid > a:hover { border-color: #3a3121; background: #15130f; transform: none; box-shadow: inset 3px 0 #7d1a15; }
.wowdb-popular-grid svg { color: #a17d37; }
.wowdb-popular-grid strong { color: #e7e3dc; }
.wowdb-directory { border-color: #292929; background: #080808; }
.wowdb-directory section { border-color: #242424; }
.wowdb-directory a { color: #aaa49a; }
.wowdb-directory a:hover { color: #d6ad57; }

.wowdb-browser { background: transparent; }
.wowdb-breadcrumb { border: 1px solid #292929; background: #080808; }
.wowdb-breadcrumb a { color: #bca36f; }
.wowdb-browser-head { padding: 32px 0 22px; }
.wowdb-filters {
  border: 1px solid #292929;
  background: #090909;
}
.wowdb-field input,
.wowdb-field select,
.wowdb-range input,
.wowdb-results-toolbar select {
  border-color: #333333;
  border-radius: 0;
  background-color: #050505;
  color: #f2f2f2;
  box-shadow: none;
}
.wowdb-field select:hover,
.wowdb-results-toolbar select:hover { border-color: #66512b; background-color: #0d0d0d; }
.wowdb-field input:focus,
.wowdb-field select:focus,
.wowdb-range input:focus { border-color: #66512b; box-shadow: 0 0 0 2px rgba(200, 155, 60, .055); }
.wowdb-filter-actions button[type="reset"] { border-color: #333333; background: #0a0a0a; color: #aaa49a; }
.wowdb-filter-actions button[type="reset"]:hover { background: #151515; color: #f2f2f2; }
.wowdb-results-toolbar { border: 1px solid #292929; border-top: 0; background: #0a0a0a; }
.wowdb-table-wrap { border-right: 1px solid #292929; border-left: 1px solid #292929; background: #050505; }
.wowdb-table th { border-color: #2b2b2b; background: #111111; color: #bca36f; }
.wowdb-table tbody tr,
.wowdb-table tbody tr:nth-child(even) { background: #0b0b0b; }
.wowdb-table tbody tr:nth-child(even) { background: #070707; }
.wowdb-table tbody tr:hover,
.wowdb-table tbody tr:focus { background: #15130f; box-shadow: inset 3px 0 #7d1a15; }
.wowdb-table td { border-color: #242424; color: #b9b4ac; }
.wowdb-pagination { border: 1px solid #292929; background: #080808; }
.wowdb-pagination button { border-color: #333333; border-radius: 0; background: #0a0a0a; color: #aaa49a; }
.wowdb-pagination button:hover:not(:disabled) { border-color: #66512b; background: #15130f; color: #f2f2f2; }

.wowdb-detail,
.wowdb-hover-tooltip { border-color: #4c4130; border-radius: 0; background: #070707; }
.wowdb-detail section,
.wowdb-detail-layout > aside { border-color: #292929; background: #0a0a0a; }
.wowdb-related-list a { border-color: #292929; border-radius: 0; background: #080808; }
.wowdb-related-list a:hover { border-color: #4b3a1d; background: #15130f; }

/* WoW frames only belong to complete square game textures. */
.wowdb-icon-frame {
  --wowdb-icon-inset: 4px;
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: #080808;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .72);
}
.wowdb-icon-frame img {
  position: absolute;
  display: block;
  object-fit: cover;
}
.wowdb-icon-frame .wowdb-icon-fallback {
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
}
.wowdb-icon-frame .wowdb-icon-texture {
  z-index: 1;
  inset: var(--wowdb-icon-inset);
  width: calc(100% - (var(--wowdb-icon-inset) * 2));
  height: calc(100% - (var(--wowdb-icon-inset) * 2));
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .9);
}
.wowdb-icon-frame-detail { --wowdb-icon-inset: 6px; width: 62px; height: 62px; flex-basis: 62px; }
.wowdb-type-icon {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.wowdb-type-icon-detail { width: 52px; height: 52px; flex-basis: 52px; }
.wowdb-type-icon.is-npc svg { fill: #d6d1c8; stroke: #38322c; }
.wowdb-type-icon.is-quest { color: #d6ad57; }
.wowdb-type-icon.is-object,
.wowdb-type-icon.is-zone { color: #aaa49a; }

/* Leaderboard-style custom selects replace the browser-native blue menus. */
.wowdb-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.wowdb-select-shell {
  position: relative;
  z-index: 20;
  width: 100%;
  min-width: 0;
  font: inherit;
}

.wowdb-select-shell.is-open { z-index: 240; }

.wowdb-select-trigger {
  position: relative;
  width: 100%;
  min-height: 39px;
  padding: 0 38px 0 12px;
  display: flex;
  align-items: center;
  border: 1px solid #343434;
  border-radius: 0;
  outline: 0;
  background: linear-gradient(180deg, #0d0d0d, #080808);
  color: #d7d3cc;
  font: inherit;
  font-size: .8rem;
  text-align: left;
  cursor: pointer;
  transition: border-color 130ms ease, background 130ms ease, color 130ms ease, box-shadow 130ms ease;
}

.wowdb-select-trigger::before,
.wowdb-select-trigger::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 1px;
  background: #b8b0a4;
  transition: transform 140ms ease, background-color 140ms ease;
}

.wowdb-select-trigger::before { right: 17px; transform: rotate(45deg); }
.wowdb-select-trigger::after { right: 12px; transform: rotate(-45deg); }
.wowdb-select-shell.is-open .wowdb-select-trigger::before { transform: rotate(-45deg); }
.wowdb-select-shell.is-open .wowdb-select-trigger::after { transform: rotate(45deg); }

.wowdb-select-trigger:hover,
.wowdb-select-trigger:focus-visible,
.wowdb-select-shell.is-open .wowdb-select-trigger {
  border-color: #72582e;
  background: linear-gradient(180deg, #17140f, #0b0a08);
  color: #f2f2f2;
  box-shadow: inset 0 -2px 0 rgba(164, 25, 20, .78), 0 0 0 2px rgba(190, 143, 54, .05);
}

.wowdb-select-shell.is-open .wowdb-select-trigger::before,
.wowdb-select-shell.is-open .wowdb-select-trigger::after,
.wowdb-select-trigger:hover::before,
.wowdb-select-trigger:hover::after { background: #c89b3c; }

.wowdb-select-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wowdb-select-menu {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  left: 0;
  z-index: 250;
  min-width: max(100%, 170px);
  max-height: min(310px, 52vh);
  padding: 5px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #36332d;
  border-top: 2px solid #a77e32;
  background: #0a0908;
  box-shadow: 0 24px 50px rgba(0, 0, 0, .92), inset 0 1px 0 rgba(255, 255, 255, .025);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-5px);
  transform-origin: top;
  transition: opacity 130ms ease, transform 130ms ease, visibility 0ms linear 130ms;
  scrollbar-color: #574423 #111;
  scrollbar-width: thin;
}

.wowdb-select-shell.is-open .wowdb-select-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition-delay: 0ms;
}

.wowdb-select-option {
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #202020;
  outline: 0;
  background: transparent;
  color: #bbb3a7;
  font: inherit;
  font-size: .78rem;
  text-align: left;
  cursor: pointer;
}

.wowdb-select-option:last-child { border-bottom: 0; }
.wowdb-select-option:hover,
.wowdb-select-option:focus-visible { background: #15130f; color: #f2f2f2; }
.wowdb-select-option.is-selected,
.wowdb-select-option[aria-selected="true"] {
  background: linear-gradient(90deg, rgba(121, 82, 25, .28), rgba(20, 17, 12, .96));
  color: #e0b454;
  box-shadow: inset 2px 0 0 #b51a15;
}

.wowdb-global-search { overflow: visible; }
.wowdb-global-search .wowdb-select-shell { min-height: 50px; border-left: 1px solid #292929; }
.wowdb-global-search .wowdb-select-trigger { height: 100%; min-height: 50px; border: 0; }
.wowdb-global-search .wowdb-select-menu { top: calc(100% + 5px); }
.wowdb-results-toolbar label { display: flex; align-items: center; gap: 7px; }
.wowdb-results-toolbar .wowdb-select-shell { width: 88px; }
.wowdb-results-toolbar .wowdb-select-trigger { min-height: 32px; }

@media (max-width: 720px) {
  .wowdb { width: 100%; margin-top: 82px; }
  .wowdb-masthead,
  .wowdb-bar,
  .wowdb-home,
  .wowdb-browser { width: calc(100% - 18px); }
  .wowdb-masthead { width: 100%; }
  .wowdb-home { padding-top: 30px; }
  .wowdb-browser-head { padding-right: 7px; padding-left: 7px; }
  .wowdb-global-search .wowdb-select-shell { display: none; }
}
