/* ════════════════════════════════════════════
   PREMIUM BACKGROUND LAYERS
   Base: hero gradient (deep navy)
   Layer 1: ფერადი orb-ები (cyan, violet, gold) — ცოცხალი light
   Layer 2: subtle grain noise — premium texture
   Layer 3: vignette — depth
   ════════════════════════════════════════════ */

/* ─── Base body background — ღრმა navy gradient ─── */
body {
  font-family: var(--font-b, 'DM Sans', system-ui, sans-serif);
  color: var(--white, #fff);
  background: var(--grad-hero, linear-gradient(140deg, #0b1426 0%, #142347 50%, #0e1d3a 100%));
  background-attachment: fixed;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    /* Cyan glow top-left */
    radial-gradient(ellipse 55% 40% at 12% 18%, rgba(34, 211, 238, 0.28), transparent 60%),
    /* Violet glow top-right */
    radial-gradient(ellipse 45% 35% at 88% 22%, rgba(168, 85, 247, 0.22), transparent 65%),
    /* Sky blue middle */
    radial-gradient(ellipse 60% 45% at 50% 55%, rgba(59, 130, 246, 0.25), transparent 70%),
    /* Gold warm bottom-left */
    radial-gradient(ellipse 40% 30% at 18% 88%, rgba(212, 165, 116, 0.18), transparent 65%),
    /* Cyan accent bottom-right */
    radial-gradient(ellipse 50% 35% at 85% 82%, rgba(6, 182, 212, 0.22), transparent 65%);
  animation: bgFloat 16s ease-in-out infinite alternate;
}

/* Layer 2: SVG noise grain + vignette */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  /* SVG noise — base64 inline */
  background-image:
    radial-gradient(ellipse 100% 80% at 50% 50%, transparent 50%, rgba(3, 11, 26, 0.55) 100%),
    url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 100% 100%, 240px 240px;
  opacity: 0.45;
  mix-blend-mode: overlay;
}

/* ნაზი ბექგრაუნდის float — orb-ები ნელა მოძრაობს */
@keyframes bgFloat {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  50%  { transform: translate3d(-12px, 8px, 0) scale(1.04); }
  100% { transform: translate3d(8px, -10px, 0) scale(1.02); }
}

