/* ==========================================================================
   THEME · Abstract  —  bold neo-brutalist palette, hard offset shadows
   Electric magenta / violet / cyan / amber on off-white. Playful, loud.
   ========================================================================== */
body.theme-abstract {
  --font-head: "Space Grotesk", system-ui, sans-serif;
  --font-body: "Poppins", system-ui, sans-serif;

  --color-bg:        #f4f1ff;
  --color-surface:   #ffffff;
  --color-surface-2: #ece7ff;
  --color-text:      #170f2e;
  --color-muted:     #5b5177;
  --color-border:    #170f2e;

  --color-primary:          #7b2ff7;   /* violet */
  --color-primary-contrast: #ffffff;
  --color-secondary:        #ff2d78;   /* magenta */
  --color-accent:           #00b3c6;   /* cyan */

  --color-success: #1fb56a;
  --color-warn:    #ff9f1c;
  --color-error:   #ff2d55;

  --radius-sm: 4px;
  --radius:    10px;
  --radius-lg: 18px;
  --border-width: 2.5px;
  --shadow-sm: 3px 3px 0 #170f2e;
  --shadow:    6px 6px 0 #170f2e;
  --shadow-lg: 10px 10px 0 #170f2e;
}

/* Personality: thick outlines + hard shadows, tilted accents */
body.theme-abstract {
  background-image:
    radial-gradient(circle at 12% 18%, rgba(123, 47, 247, 0.10), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(255, 45, 120, 0.10), transparent 32%),
    radial-gradient(circle at 70% 90%, rgba(0, 179, 198, 0.10), transparent 34%);
}
body.theme-abstract .card,
body.theme-abstract .pricing,
body.theme-abstract .testimonial,
body.theme-abstract .stat,
body.theme-abstract .alert,
body.theme-abstract .input,
body.theme-abstract .textarea,
body.theme-abstract .select { border: 2.5px solid #170f2e; }
body.theme-abstract .card { box-shadow: 6px 6px 0 #170f2e; }
body.theme-abstract .card:hover { transform: translate(-2px, -2px); box-shadow: 9px 9px 0 #170f2e; }
body.theme-abstract .btn { border: 2.5px solid #170f2e; box-shadow: 4px 4px 0 #170f2e; font-weight: 700; }
body.theme-abstract .btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #170f2e; }
body.theme-abstract .btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #170f2e; }
body.theme-abstract .badge { border: 2px solid #170f2e; font-weight: 700; }
body.theme-abstract .card-media {
  background:
    linear-gradient(135deg, #7b2ff7 0 33%, #ff2d78 33% 66%, #00b3c6 66% 100%);
}
body.theme-abstract .pricing.featured::before { border: 2px solid #170f2e; }
body.theme-abstract .avatar,
body.theme-abstract .alert-icon { border: 2px solid #170f2e; }
body.theme-abstract .doc-canvas { background: #faf8ff; }
