/* ═══════════════════════════════════════════
   Gold Magic Background & Cursor v2.0
   Drop this into your WP plugin folder.
═══════════════════════════════════════════ */
* { cursor: none; }

a, a *,
button, button *,
[role="button"], [role="button"] *,
select, label,
input[type="submit"], input[type="button"], input[type="reset"] {
  cursor: pointer;
}

input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="number"], textarea {
  cursor: text;
}



/* ── Layer stacking ── */
#gmb-noise,
#gmb-grid,
#gmb-orbs,
#gmb-particles {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

/* 1 — Noise texture (subtle grain) */
#gmb-noise {
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  opacity: 0.38;
}

/* 2 — Animated gold grid lines */
#gmb-grid {
  z-index: 1;
  background-image:
    linear-gradient(rgba(201, 168, 76, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 168, 76, 0.045) 1px, transparent 1px);
  background-size: 80px 80px;
  animation: gmbGridDrift 28s linear infinite;
}

@keyframes gmbGridDrift {
  from { background-position: 0 0; }
  to   { background-position: 80px 80px; }
}

/* 3 — Radial glow orbs */
#gmb-orbs {
  z-index: 2;
  overflow: hidden;
}

.gmb-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(110px);
}

.gmb-orb.center {
  width: 70vw;
  height: 70vw;
  max-width: 800px;
  max-height: 800px;
  background: radial-gradient(circle, rgba(201, 168, 76, 0.13) 0%, transparent 70%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: gmbOrbPulse 7s ease-in-out infinite;
}

.gmb-orb.tr {
  width: 40vw;
  height: 40vw;
  max-width: 500px;
  max-height: 500px;
  background: radial-gradient(circle, rgba(201, 168, 76, 0.08) 0%, transparent 70%);
  top: -12%;
  right: -10%;
  animation: gmbOrbDrift 11s ease-in-out infinite alternate;
}

.gmb-orb.bl {
  width: 35vw;
  height: 35vw;
  max-width: 420px;
  max-height: 420px;
  background: radial-gradient(circle, rgba(201, 168, 76, 0.07) 0%, transparent 70%);
  bottom: -10%;
  left: -8%;
  animation: gmbOrbDrift 15s ease-in-out infinite alternate-reverse;
}

@keyframes gmbOrbPulse {
  0%, 100% { opacity: 0.55; transform: translate(-50%, -50%) scale(1); }
  50%       { opacity: 1;   transform: translate(-50%, -50%) scale(1.1); }
}

@keyframes gmbOrbDrift {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(30px, 20px) scale(1.08); }
}

/* 4 — Floating nano particles */
#gmb-particles {
  z-index: 3;
  overflow: hidden;
}

.gmb-p {
  position: absolute;
  border-radius: 50%;
  background: rgba(201, 168, 76, 1);
  width:  var(--sz);
  height: var(--sz);
  left:   var(--lft);
  opacity: 0;
  box-shadow: 0 0 3px 1px rgba(201, 168, 76, 0.4);
  animation: gmbFloatUp var(--dur) linear var(--delay) infinite;
}

@keyframes gmbFloatUp {
  0%   { transform: translateY(105vh) translateX(0);           opacity: 0; }
  8%   { opacity: var(--op); }
  92%  { opacity: var(--op); }
  100% { transform: translateY(-5vh) translateX(var(--drift)); opacity: 0; }
}

/* 5 — Cursor canvas */
#gmb-cursor-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none !important;
  z-index: 99999;
  cursor: none !important;
}

/* Make all WP content sit above background layers */
#page,
#wrapper,
.site,
#wpadminbar,
body > *:not(#gmb-noise):not(#gmb-grid):not(#gmb-orbs):not(#gmb-particles):not(#gmb-cursor-canvas) {
  position: relative;
  z-index: 10;
}
