/* Auto Scaner Pro — light signal remaps + contrast + motion
   Pair with /asp-theme.css?v=sig3 */

:root {
  --asp-pink: #ff4fc0;
  --asp-pink-soft: #ff7ad9;
  --asp-pink-deep: #e0189a;
  --asp-bg: #f7f4ff;
  --asp-card: #ffffff;
  --asp-text: #1a1228;
  --asp-muted: #6b5f82;
}

html, body {
  background-color: var(--asp-bg) !important;
  color: var(--asp-text) !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
}

/* ---------- Surfaces: dark cards → light panels ---------- */
.bg-bhx-bg,
.min-h-screen.bg-bhx-bg,
.text-bhx-muted.bg-bhx-bg {
  background-color: transparent !important;
  background: transparent !important;
}

.bg-bhx-card,
.bg-\[\#140c12\],
.bg-\[\#120a10\],
.bg-\[\#1a1018\],
.bg-\[\#09060a\],
.bg-\[\#0a0a0a\],
.bg-\[\#0d1a12\],
.bg-\[\#0d1a12\]\/95,
.bg-black\/40,
.bg-black\/50,
.bg-black\/60,
.bg-black\/80,
.bg-zinc-900,
.bg-neutral-900,
[class*="bg-[#09060a]"],
[class*="bg-[#0d1a12]"],
[class*="bg-[#140c12]"],
[class*="bg-[#1a1018]"],
[class*="bg-[#0a0a0a]"] {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #1a1228 !important;
  border-color: rgba(123, 47, 255, 0.16) !important;
  box-shadow: 0 10px 32px rgba(91, 40, 180, 0.1);
}

/* /pay full-page shell: soft white + pink (not pure black) */
.min-h-screen[class*="bg-[#09060a]"],
.min-h-screen.bg-\[\#09060a\],
div.min-h-screen[class*="09060a"] {
  background-color: #f7f4ff !important;
  background-image:
    radial-gradient(900px 520px at 12% -8%, rgba(255, 79, 192, 0.2), transparent 55%),
    radial-gradient(780px 480px at 92% 8%, rgba(123, 47, 255, 0.14), transparent 52%) !important;
  color: #1a1228 !important;
  box-shadow: none !important;
}

/* Pay sticky header / cards stay white panels */
.sticky[class*="bg-[#0d1a12]"],
[class*="bg-[#0d1a12]/95"],
[class*="rounded-2xl"][class*="bg-[#0d1a12]"] {
  background-color: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(10px);
  color: #1a1228 !important;
}

/* Pay page forced white text classes → dark on light bg */
.min-h-screen[class*="text-[#ffffff]"],
.min-h-screen[class*="text-[#fff]"],
[class*="bg-[#09060a]"][class*="text-[#ffffff]"],
[class*="text-[#ffffff]"] {
  color: #1a1228 !important;
}
.min-h-screen .text-ex-muted,
[class*="text-ex-muted"] {
  color: #6b5f82 !important;
}

/* Keep pink CTAs readable */
[class*="bg-[#ff4fc0]"] {
  background: linear-gradient(135deg, #ff4fc0 0%, #7b2fff 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(123, 47, 255, 0.28) !important;
}
[class*="bg-[#ff4fc0]"] *,
[class*="bg-[#ff4fc0]"][class*="text-[#1a0512]"] {
  color: #ffffff !important;
}

/* Coin list rows on /pay */
a[href^="/pay/"][class*="bg-[#0d1a12]"],
button[class*="bg-[#0d1a12]"] {
  background: #ffffff !important;
  color: #1a1228 !important;
  border-color: rgba(255, 79, 192, 0.28) !important;
}
a[href^="/pay/"]:hover {
  border-color: rgba(255, 79, 192, 0.55) !important;
  box-shadow: 0 8px 24px rgba(123, 47, 255, 0.12) !important;
}

/* Inside light panels: white-named text → dark readable */
.bg-bhx-card .text-white,
.bg-\[\#140c12\] .text-white,
.bg-\[\#120a10\] .text-white,
.bg-\[\#1a1018\] .text-white,
.bg-\[\#09060a\] .text-white,
.bg-black\/40 .text-white,
.bg-black\/50 .text-white,
.bg-zinc-900 .text-white,
.bg-neutral-900 .text-white,
.bg-bhx-card .text-lg.font-bold,
.bg-bhx-card h1,
.bg-bhx-card h2 {
  color: #1a1228 !important;
}
.bg-bhx-card .text-white\/70,
.bg-\[\#140c12\] .text-white\/70,
.bg-bhx-card .text-white\/60,
.bg-bhx-card .text-white\/50,
.bg-\[\#140c12\] .text-white\/70 {
  color: #6b5f82 !important;
}

.text-bhx-muted { color: var(--asp-muted) !important; }
.text-bhx-accent,
.text-\[\#ff4fc0\],
.text-\[\#00ff66\] { color: var(--asp-pink) !important; }
.border-bhx-accent { border-color: rgba(255, 79, 192, 0.45) !important; }

/* ---------- Accent / CTA: ALWAYS white label (fixes text-[#1a0512]) ---------- */
.bg-bhx-accent,
.bg-\[\#ff4fc0\],
.bg-\[\#00ff66\] {
  background: linear-gradient(135deg, #ff4fc0 0%, #7b2fff 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(123, 47, 255, 0.28) !important;
  animation: asp-cta-glow 2.8s ease-in-out infinite;
}

.text-\[\#1a0512\],
.text-\[\#1a1205\],
.bg-bhx-accent.text-\[\#1a0512\],
[class*="bg-bhx-accent"][class*="text-[#1a0512]"],
.bg-bhx-accent,
.bg-bhx-accent * {
  color: #ffffff !important;
}

/* Google / dark solid buttons — keep dark fill, force white text */
button.bg-black,
a.bg-black,
.bg-black {
  background-color: #1a1228 !important;
  color: #ffffff !important;
}
.bg-black *,
button.bg-black *,
a.bg-black * { color: #ffffff !important; }

/* Promo input that was dark */
input.bg-\[\#09060a\],
input[class*="bg-[#09060a]"] {
  background: #ffffff !important;
  color: #1a1228 !important;
  border-color: rgba(123, 47, 255, 0.22) !important;
}

/* Generic: any remaining near-black fills with light text */
button[class*="bg-[#12"],
button[class*="bg-[#1a"],
a[class*="bg-[#12"],
a[class*="bg-[#1a"] {
  color: #ffffff !important;
}

/* ---------- Motion (visible, still light) ---------- */
@keyframes asp-cta-glow {
  0%, 100% { box-shadow: 0 8px 22px rgba(123, 47, 255, 0.22); transform: translateZ(0); }
  50% { box-shadow: 0 10px 34px rgba(255, 79, 192, 0.42); }
}

@keyframes asp-rise-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes asp-orb {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.55; }
  50% { transform: translate(18px, -22px) scale(1.12); opacity: 0.85; }
}

body::after {
  content: "";
  pointer-events: none;
  position: fixed;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  z-index: 0;
  top: 12%;
  right: 6%;
  background: radial-gradient(circle, rgba(255, 79, 192, 0.28), transparent 68%);
  animation: asp-orb 7s ease-in-out infinite;
}

.min-h-screen > div,
.bg-bhx-card {
  animation: asp-rise-in 0.55s cubic-bezier(0.22, 0.9, 0.3, 1) both;
}

/* Logo / photos stay stable — no zoom pulse */
img[alt="Auto Scaner Pro"],
.asp-brand-logo,
img.rounded-full.object-cover {
  animation: none !important;
  transform: none !important;
}

button,
a[class*="rounded"] {
  transition:
    transform 0.18s cubic-bezier(0.22, 0.9, 0.3, 1),
    box-shadow 0.22s ease,
    filter 0.18s ease !important;
}
button:hover,
a[class*="rounded"]:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}
button:active,
a[class*="rounded"]:active,
button.is-press,
a.is-press {
  transform: scale(0.97) !important;
}

.bg-bhx-accent:hover {
  filter: brightness(1.06);
  box-shadow: 0 12px 36px rgba(255, 79, 192, 0.45) !important;
}

/* Pay coin rows */
a[href^="/pay/"] {
  border-radius: 0.85rem !important;
  transition: transform 0.18s ease, box-shadow 0.22s ease !important;
  animation: asp-rise-in 0.45s ease both;
}
a[href^="/pay/"]:hover {
  box-shadow: 0 0 0 1px rgba(255, 79, 192, 0.35), 0 10px 28px rgba(123, 47, 255, 0.16) !important;
  transform: translateY(-2px);
}

/* Brand */
.asp-brand-name {
  font-family: "Oxanium", "Plus Jakarta Sans", sans-serif;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #1a1228;
  text-shadow: 0 0 18px rgba(255, 79, 192, 0.35);
}
.asp-brand-name span { color: #ff4fc0; }

img[alt="Auto Scaner Pro"] {
  border: 2px solid rgba(255, 79, 192, 0.75) !important;
}

body.asp-dashboard {
  background-color: #f7f4ff !important;
  color: #1a1228 !important;
}

/* Support / outline links — NEVER white-on-white */
a[href*="t.me"],
a[href*="telegram"],
button.text-bhx-muted,
a.text-bhx-muted,
.text-bhx-muted.underline,
a.border[class*="text-bhx-muted"],
button.border[class*="text-bhx-muted"],
a[class*="border-[#ff4fc044]"][class*="text-bhx-muted"],
button[class*="border-[#ff4fc044]"][class*="text-bhx-muted"] {
  color: #5a18d6 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #ffffff !important;
  border-color: rgba(123, 47, 255, 0.35) !important;
  box-shadow: 0 4px 14px rgba(91, 40, 180, 0.08);
}
a[href*="t.me"]:hover,
a.text-bhx-muted:hover,
button.text-bhx-muted:hover,
a[class*="border-[#ff4fc044]"]:hover {
  color: #ff4fc0 !important;
  border-color: rgba(255, 79, 192, 0.55) !important;
}

/* Logout / secondary muted underlines */
button.w-full.text-xs.text-bhx-muted,
button[class*="text-xs"][class*="text-bhx-muted"].underline {
  color: #6b5f82 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  body::after,
  .bg-bhx-accent,
  .min-h-screen > div,
  .bg-bhx-card,
  a[href^="/pay/"] {
    animation: none !important;
  }
}
