/* ===============================
   GLOBAL HEADER (FINAL, HARDENED)
   =============================== */

/* 🔒 HARD STOP: NO HORIZONTAL OVERFLOW */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* 🔒 ENSURE EVERYTHING BOXES CORRECTLY */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* -------------------------------
   HEADER CONTAINER
-------------------------------- */

header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  z-index: 1000;
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  overflow: hidden; /* 🔑 PREVENT BLEED */
}

/* -------------------------------
   HEADER INNER
-------------------------------- */

header .header-inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* -------------------------------
   ALL HEADER TEXT = ICE WHITE
-------------------------------- */

header,
header * {
  color: #f5f7fa;
  text-decoration: none;
}

/* -------------------------------
   GLOBAL HEADER LINK BEHAVIOUR
-------------------------------- */

header a {
  color: #f5f7fa; /* Ice White */
  transition: color 0.25s ease;
}

header a:hover {
  color: #1f57c3; /* Arden Blue */
}

/* -------------------------------
   LOGO
-------------------------------- */

header .logo {
  font-weight: 700;
  font-size: 1.2rem;
  text-shadow: 0 0 18px rgba(31, 87, 195, 0.6);
  white-space: nowrap;
}

/* -------------------------------
   HEADER LINKS
-------------------------------- */

header .header-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 100%;
}

header .header-actions a {
  font-weight: 600;
  white-space: nowrap;
}

/* -------------------------------
   THEME TOGGLE
-------------------------------- */

header .toggle-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

header .toggle-wrap span {
  font-size: 0.9rem;
  opacity: 0.35;
}

[data-theme="dark"] header .toggle-wrap span:first-child {
  opacity: 1;
}

[data-theme="light"] header .toggle-wrap span:last-child {
  opacity: 1;
}

/* -------------------------------
   TOGGLE SWITCH
-------------------------------- */

header .switch {
  position: relative;
  width: 52px;
  height: 28px;
  flex-shrink: 0;
}

header .switch input {
  display: none;
}

header .slider {
  position: absolute;
  inset: 0;
  background: #1f2937;
  border-radius: 999px;
  overflow: hidden;
}

header .slider:before {
  content: "";
  position: absolute;
  height: 22px;
  width: 22px;
  left: 3px;
  top: 3px;
  background: #ffffff;
  border-radius: 50%;
  transition: transform 0.3s ease;
}

header input:checked + .slider {
  background: #1f57c3;
}

header input:checked + .slider:before {
  transform: translateX(24px);
}

/* ===============================
   LEGAL HEADER (MINIMAL)
   =============================== */

header.legal-header {
  background: rgba(0, 0, 0, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

header.legal-header .header-inner {
  padding: 14px 20px;
}

header.legal-header .back-home {
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}

header.legal-header .back-home:hover {
  text-decoration: underline;
}
/* ==================================
   GLOBAL HOVER LIFT – NTH STANDARD
   ================================== */

.hover-lift {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 65px var(--glow);
}
