/* ============================================================
   v2 Brand Override  —  scoped re-skin for legacy public pages
   Loaded only when <body class="v2-brand"> is present.
   Targets login.php, cookie_policy.php, access_control_policy.php.
   Leaves admin / dashboard styling untouched.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@300;400;500;600;700&display=swap');

body.v2-brand{
  background:#0a0a0a !important;
  color:#fff !important;
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  -webkit-font-smoothing:antialiased;
}

/* -------- shared navbar (#header from navbar.php) -------- */
body.v2-brand #header{
  background:rgba(10,10,10,.92) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter:blur(20px);
  box-shadow:none !important;
}
body.v2-brand #header a,
body.v2-brand #header .nav > li > a{ color:#fff !important; }
body.v2-brand #header .nav > li > a:hover{ color:#1ee44a !important; }
body.v2-brand #header-logo img{ filter:brightness(0) invert(1); }

/* -------- shared page chrome -------- */
body.v2-brand .site-page-shell{ background:transparent !important; }
body.v2-brand .site-page-hero,
body.v2-brand .auth-hero{
  background:linear-gradient(180deg,#0a0a0a 0%,#0a3d18 100%) !important;
  color:#fff !important;
  border:0 !important;
  padding:80px 36px 60px !important;
}
body.v2-brand .site-page-kicker,
body.v2-brand .auth-hero .site-page-kicker{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  font-family:'Inter',sans-serif !important;
  font-size:12px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  color:#1ee44a !important;
  font-weight:600 !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
body.v2-brand .site-page-kicker:before{
  content:""; width:30px; height:1px; background:#1ee44a;
}
body.v2-brand .site-page-title,
body.v2-brand .auth-hero h1{
  font-family:'Anton',sans-serif !important;
  font-weight:normal !important;
  letter-spacing:-.01em !important;
  color:#fff !important;
  text-transform:uppercase;
  line-height:.95 !important;
  margin:18px 0 12px !important;
}
body.v2-brand .site-page-subtitle,
body.v2-brand .auth-hero p{
  color:rgba(255,255,255,.7) !important;
  font-size:15px !important;
}

/* -------- panels / cards -------- */
body.v2-brand .site-panel,
body.v2-brand .legal-wrap,
body.v2-brand .auth-card{
  background:#111 !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:4px !important;
  box-shadow:0 24px 64px rgba(0,0,0,.5) !important;
  color:#fff !important;
}

/* -------- legal pages -------- */
body.v2-brand .legal-section h2{
  font-family:'Anton',sans-serif !important;
  font-weight:normal !important;
  color:#1ee44a !important;
  border-bottom:1px solid rgba(30,228,74,.25) !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.05rem !important;
}
body.v2-brand .legal-section,
body.v2-brand .legal-section p,
body.v2-brand .legal-section li{
  color:rgba(255,255,255,.82) !important;
}
body.v2-brand .legal-section a{
  color:#1ee44a !important;
  border-bottom:1px solid rgba(30,228,74,.4);
  text-decoration:none !important;
}
body.v2-brand .legal-nav a{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:rgba(255,255,255,.78) !important;
  font-family:'Inter',sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.7rem !important;
}
body.v2-brand .legal-nav a.active{
  background:#1ee44a !important;
  border-color:#1ee44a !important;
  color:#000 !important;
}
body.v2-brand .cookie-table,
body.v2-brand .legal-table{
  background:rgba(255,255,255,.02) !important;
  color:#fff !important;
}
body.v2-brand .cookie-table th,
body.v2-brand .legal-table th{
  background:#0a3d18 !important;
  color:#1ee44a !important;
  border:1px solid rgba(255,255,255,.1) !important;
  font-family:'Inter',sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.72rem !important;
}
body.v2-brand .cookie-table td,
body.v2-brand .legal-table td{
  border:1px solid rgba(255,255,255,.08) !important;
  color:rgba(255,255,255,.82) !important;
}

/* -------- login form -------- */
body.v2-brand .auth-page{ background:#0a0a0a !important; min-height:100vh; }
body.v2-brand .auth-logo{
  font-family:'Anton',sans-serif !important;
  color:#fff !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.v2-brand .auth-sub{ color:rgba(255,255,255,.6) !important; }
body.v2-brand .form-group label{
  color:rgba(255,255,255,.7) !important;
  font-size:11px !important;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:600;
}
body.v2-brand input[type="text"],
body.v2-brand input[type="password"],
body.v2-brand input[type="email"],
body.v2-brand select,
body.v2-brand textarea{
  background:#0a0a0a !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
  border-radius:2px !important;
  padding:14px 16px !important;
}
body.v2-brand input:focus{
  outline:0 !important;
  border-color:#1ee44a !important;
  box-shadow:0 0 0 3px rgba(30,228,74,.15) !important;
}
body.v2-brand .btn,
body.v2-brand .btn-full{
  background:#1ee44a !important;
  color:#000 !important;
  border:0 !important;
  border-radius:2px !important;
  font-family:'Inter',sans-serif !important;
  font-size:13px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  padding:16px 24px !important;
  transition:.2s;
}
body.v2-brand .btn:hover,
body.v2-brand .btn-full:hover{
  background:#fff !important;
  color:#000 !important;
}
body.v2-brand .divider,
body.v2-brand hr{ border-color:rgba(255,255,255,.1) !important; }
body.v2-brand a{ color:#1ee44a !important; }
body.v2-brand .text-center a{ color:#1ee44a !important; }

/* friendly alerts */
body.v2-brand .alert,
body.v2-brand .ui-feedback{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  color:#fff !important;
}
body.v2-brand .alert.alert-warn,
body.v2-brand .ui-feedback.warn{ border-left:3px solid #f59e0b !important; }
body.v2-brand .alert.alert-success,
body.v2-brand .ui-feedback.success{ border-left:3px solid #1ee44a !important; }
body.v2-brand .alert.alert-error,
body.v2-brand .ui-feedback.error{ border-left:3px solid #ef4444 !important; }

/* -------- back button on auth pages -------- */
body.v2-brand .auth-back{
  display:inline-flex;align-items:center;gap:.4rem;
  position:absolute;top:18px;left:18px;z-index:5;
  padding:.45rem .85rem;border-radius:999px;
  background:rgba(255,255,255,.06);color:#fff !important;
  border:1px solid rgba(255,255,255,.15);
  text-decoration:none;font-size:.82rem;font-weight:600;
  letter-spacing:.02em;
  transition:all .15s ease;
}
body.v2-brand .auth-back:hover{
  background:#1ee44a;color:#000 !important;border-color:#1ee44a;
}
body.v2-brand .auth-page{position:relative !important;}

/* -------- auth page layout (desktop + mobile) -------- */
body.v2-brand .auth-page{
  max-width:1100px;
  margin:0 auto !important;
  padding:80px 24px 60px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:24px !important;
}
body.v2-brand .auth-hero{
  width:100%;max-width:560px;
  margin:0 auto !important;
  border-radius:12px !important;
  padding:48px 32px !important;
  text-align:center;
}
body.v2-brand .auth-card{
  width:100%;max-width:460px;
  margin:0 auto !important;
  padding:36px 32px !important;
}
body.v2-brand .auth-card p.text-center{ margin:.4rem 0 !important; }
body.v2-brand .auth-card a{ color:#1ee44a !important; font-weight:700; }
body.v2-brand .auth-card a:hover{ color:#fff !important; text-decoration:underline; }

@media (max-width:640px){
  body.v2-brand .auth-back{ top:14px;left:14px;font-size:.78rem;padding:.4rem .75rem; }
  body.v2-brand .auth-page{ padding:64px 14px 32px !important; gap:16px; }
  body.v2-brand .auth-hero{ padding:32px 20px !important; }
  body.v2-brand .auth-hero h1{ font-size:1.6rem !important; }
  body.v2-brand .auth-hero p{ font-size:.9rem !important; }
  body.v2-brand .auth-card{ padding:26px 20px !important; }
  body.v2-brand input[type="text"],
  body.v2-brand input[type="password"]{ font-size:16px !important; padding:12px 14px !important; }
  body.v2-brand .btn,
  body.v2-brand .btn-full{ padding:14px 18px !important; font-size:12px !important; }
}
