/*
 * OverkillPvP overrides, injected on every Minetrax page by nginx (see sites-available/minetrax.conf).
 * Navbar mirrors the /portal/ header: near-black bar, slate underline, Rajdhani caps links, 3px corners.
 */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&display=swap');


/* ---------- navbar tokens: light by default, portal look under .dark ---------- */
/* on :root so dropdown panels (rendered outside the nav) can use them too */
:root {
  --nx-bar: rgba(255, 255, 255, 0.92);
  --nx-edge: #cbd5e1;
  --nx-shadow: 0 1px 10px rgba(15, 23, 42, 0.12);
  --nx-text: #0f172a;
  --nx-link: #475569;
  --nx-link-hi: #0f172a;
  --nx-link-bg: rgba(15, 23, 42, 0.06);
  --nx-link-edge: rgba(15, 23, 42, 0.14);
  --nx-field: #ffffff;
  --nx-field-edge: #cbd5e1;
  --nx-muted: #64748b;
  --nx-icon: #334155;
  --nx-panel: #ffffff;
  --nx-sheet: #ffffff;
  --nx-focus: #0284c7;
}
.dark {
  --nx-bar: rgba(6, 6, 6, 0.92);
  --nx-edge: #2f3a40;
  --nx-shadow: 0 1px 10px rgba(5, 5, 5, 0.5);
  --nx-text: #eef2fa;
  --nx-link: #8f9ab0;
  --nx-link-hi: #ffffff;
  --nx-link-bg: rgba(255, 255, 255, 0.07);
  --nx-link-edge: rgba(255, 255, 255, 0.12);
  --nx-field: rgba(16, 18, 26, 0.9);
  --nx-field-edge: #333;
  --nx-muted: #8f9ab0;
  --nx-icon: #cfd8ea;
  --nx-panel: #10121a;
  --nx-sheet: #07080c;
  --nx-focus: #5cc8ff;
}

/* ---------- navbar bar ---------- */
nav.mx-navbar {
  background: var(--nx-bar) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 2px solid var(--nx-edge) !important;
  box-shadow: var(--nx-shadow) !important;
  color: var(--nx-text);
}
nav.mx-navbar::after { display: none; } /* drop the old glowing gradient underline */

/* ---------- links + dropdown triggers ---------- */
nav.mx-navbar :is(.left-menu-items, .middle-menu-items, .right-menu-items) a:not(:has(img, svg)),
nav.mx-navbar :is(.left-menu-items, .middle-menu-items) button {
  font-family: Rajdhani, Nunito, sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nx-link) !important;
  background: transparent !important;
  border: 1px solid transparent;
  border-radius: 3px !important;
  text-shadow: none !important;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s;
}
nav.mx-navbar :is(.left-menu-items, .middle-menu-items, .right-menu-items) a:not(:has(img, svg)):hover,
nav.mx-navbar :is(.left-menu-items, .middle-menu-items) button:hover,
nav.mx-navbar :is(.left-menu-items, .middle-menu-items) button[data-state='open'],
nav.mx-navbar :is(.left-menu-items, .middle-menu-items, .right-menu-items) a[data-active] {
  color: var(--nx-link-hi) !important;
  background: var(--nx-link-bg) !important;
  border-color: var(--nx-link-edge);
  text-shadow: none !important;
}

/* Register = the portal's red "Play Now" button */
nav.mx-navbar .right-menu-items a[href$='/register']:not(:has(img, svg)) {
  color: #fff !important;
  background: linear-gradient(135deg, #ff4d4d, #c21818) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 6px 20px -6px rgba(255, 45, 45, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
nav.mx-navbar .right-menu-items a[href$='/register']:not(:has(img, svg)):hover {
  background: linear-gradient(135deg, #ff4d4d, #c21818) !important;
  filter: brightness(1.15);
  box-shadow: 0 0 24px rgba(255, 45, 45, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ---------- logo ---------- */
nav.mx-navbar img { border-radius: 3px; }
/* taller bar + bigger logo (stock: 56px bar, 36px logo) */
nav.mx-navbar .h-14 { height: 5rem !important; }
nav.mx-navbar img.logo { height: 4rem !important; width: auto !important; object-fit: contain; }
@media (max-width: 767px) {
  nav.mx-navbar .h-14 { height: 4.5rem !important; }
  nav.mx-navbar img.logo { height: 3.5rem !important; }
}

/* ---------- search ---------- */
nav.mx-navbar input {
  background: var(--nx-field) !important;
  border: 1px solid var(--nx-field-edge) !important;
  border-radius: 3px !important;
  color: var(--nx-text);
  box-shadow: var(--nx-shadow);
}
nav.mx-navbar input::placeholder { color: var(--nx-muted); }
nav.mx-navbar input:focus { border-color: rgba(92, 200, 255, 0.6) !important; }
nav.mx-navbar svg { color: var(--nx-icon); }

/* ---------- dropdown panels (desktop "More") ---------- */
nav.mx-navbar .origin-top-center {
  background: var(--nx-panel) !important;
  border: 1px solid var(--nx-field-edge) !important;
  border-radius: 3px !important;
  box-shadow: var(--nx-shadow) !important;
  overflow: hidden;
}
/* the stock list draws a second box inside the panel; drop it */
nav.mx-navbar .origin-top-center ul {
  border: 0 !important;
  margin: 0.25rem !important;
  padding: 0.25rem !important;
}
nav.mx-navbar .origin-top-center a {
  font-family: Rajdhani, Nunito, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--nx-link) !important;
  border: 1px solid transparent;
  border-radius: 3px !important;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s;
}
nav.mx-navbar .origin-top-center a:hover,
nav.mx-navbar .origin-top-center a:focus-visible {
  color: var(--nx-link-hi) !important;
  background: var(--nx-link-bg) !important;
  border-color: var(--nx-link-edge);
}

/* ---------- mobile menu (slide-out sheet) ---------- */
[role='dialog'][data-state] {
  background: var(--nx-sheet) !important;
  border-left: 2px solid var(--nx-edge) !important;
  box-shadow: var(--nx-shadow) !important;
}
[role='dialog'][data-state] a {
  font-family: Rajdhani, Nunito, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nx-link) !important;
  border: 1px solid transparent;
  border-radius: 3px !important;
  text-shadow: none !important;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s;
}
[role='dialog'][data-state] a:hover,
[role='dialog'][data-state] a[data-active] {
  color: var(--nx-link-hi) !important;
  background: var(--nx-link-bg) !important;
  border-color: var(--nx-link-edge);
}
[role='dialog'][data-state] a[href$='/register'] {
  color: #fff !important;
  background: linear-gradient(135deg, #ff4d4d, #c21818) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 6px 20px -6px rgba(255, 45, 45, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
[role='dialog'][data-state] input {
  background: var(--nx-field) !important;
  border: 1px solid var(--nx-field-edge) !important;
  border-radius: 3px !important;
  color: var(--nx-text);
}
[role='dialog'][data-state] input::placeholder { color: var(--nx-muted); }

/* ---------- keyboard focus ---------- */
nav.mx-navbar :focus-visible,
[role='dialog'][data-state] :focus-visible {
  outline: 2px solid var(--nx-focus) !important;
  outline-offset: 2px;
}

/* ---------- home hero: logo between the IP and Discord boxes ---------- */
img[alt='HeaderFgImage'] { max-height: 13.5rem; width: auto; }
@media (max-width: 767px) {
  img[alt='HeaderFgImage'] { max-height: 7.5rem; }
}

/* ---------- footer removed from the theme ----------
 * MainFooter was also removed from AppLayout.vue; this hides it in the already-built bundle
 * until the next frontend build. */
footer.body-font { display: none !important; }
