/* =========================================================================
   AnalytIQ — Design Tokens
   Source of truth for the rebuilt theme. Values taken from the live Elementor
   global kit so the new front end matches the established brand exactly.
   ====================================================================== */

:root {
  /* ---- Color ---- */
  --aiq-bg:           #1a1d1f;  /* page background (soft charcoal) */
  --aiq-surface:      #24282b;  /* cards / raised panels */
  --aiq-surface-2:    #2b3033;  /* nested panels, inputs */
  --aiq-line:         #33383c;  /* hairline borders on dark */
  --aiq-secondary:    #54595f;  /* muted UI / secondary */
  --aiq-text:         #eef1ee;  /* primary body text (logo off-white) */
  --aiq-text-dim:     #9a9a9a;  /* captions, meta */
  --aiq-accent:       #5cc23a;  /* signature green (from logo) */
  --aiq-accent-press: #4fae30;  /* accent pressed/hover */
  --aiq-on-accent:    #06140a;  /* text on the green */
  --aiq-dark-text:    #333333;  /* dark text on light surfaces */

  /* ---- Type ---- */
  --aiq-font-display: 'Plus Jakarta Sans', system-ui, sans-serif;
  --aiq-font-body:    'Plus Jakarta Sans', system-ui, sans-serif;
  --aiq-font-accent:  'Poppins', system-ui, sans-serif;

  /* Fluid type scale */
  --aiq-step--1: clamp(0.83rem, 0.78rem + 0.18vw, 0.94rem);
  --aiq-step-0:  clamp(1.00rem, 0.94rem + 0.25vw, 1.13rem);
  --aiq-step-1:  clamp(1.25rem, 1.13rem + 0.50vw, 1.50rem);
  --aiq-step-2:  clamp(1.60rem, 1.40rem + 0.90vw, 2.10rem);
  --aiq-step-3:  clamp(2.10rem, 1.75rem + 1.60vw, 3.10rem);
  --aiq-step-4:  clamp(2.80rem, 2.10rem + 3.00vw, 4.60rem);

  /* ---- Space & shape ---- */
  --aiq-space-1: 0.5rem;
  --aiq-space-2: 1rem;
  --aiq-space-3: 1.5rem;
  --aiq-space-4: 2.5rem;
  --aiq-space-5: 4rem;
  --aiq-space-6: 6rem;
  --aiq-radius:   14px;
  --aiq-radius-sm: 8px;
  --aiq-maxw:     1200px;
  --aiq-shadow:   0 10px 40px rgba(0, 0, 0, 0.45);
}

/* Base scaffolding the theme can build on (kept minimal & non-invasive). */
.aiq-root {
  background: var(--aiq-bg);
  color: var(--aiq-text);
  font-family: var(--aiq-font-body);
  font-size: var(--aiq-step-0);
  line-height: 1.6;
}
.aiq-root h1, .aiq-root h2, .aiq-root h3 {
  font-family: var(--aiq-font-display);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
}
.aiq-accent { color: var(--aiq-accent); }

.aiq-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--aiq-font-display);
  font-weight: 600;
  padding: 0.8rem 1.4rem;
  border-radius: var(--aiq-radius-sm);
  background: var(--aiq-accent);
  color: var(--aiq-on-accent);
  border: 0;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.aiq-btn:hover { background: var(--aiq-accent-press); }
.aiq-btn:focus-visible { outline: 3px solid var(--aiq-accent); outline-offset: 2px; }
.aiq-btn--ghost {
  background: transparent;
  color: var(--aiq-text);
  border: 1px solid var(--aiq-line);
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
