/* ==========================================================================
   GoBill Design System — tokens
   Ported 1:1 from apps/frontend/tailwind.css + tailwind.config.js
   These are the single source of truth for every GoBill Elementor widget.
   ========================================================================== */

:root {
  /* --- Primary palette --- */
  --gb-primary:        #665ffd;
  --gb-primary-alt:    #635efa;
  --gb-primary-dark:   #10217d;
  --gb-navy:           #0a0655;
  --gb-navy-royal:     #10217d;
  --gb-navy-deep:      #0b0552;
  --gb-violet:         #665ffd;
  --gb-violet-soft:    #eceafe;
  --gb-violet-deep:    #4d46e0;
  --gb-canvas:         #f8f9fc;
  --gb-ink:            #272727;
  --gb-coal:           #080808;
  --gb-white:          #ffffff;

  /* --- Service circle colors (8-node diagram) --- */
  --gb-svc-medical-billing: #9b62ff;
  --gb-svc-rcm:             #2c60ff;
  --gb-svc-ar:              #0191d3;
  --gb-svc-denial:          #233b82;
  --gb-svc-credentialing:   #1b2c5f;
  --gb-svc-preauth:         #6e45ff;
  --gb-svc-virtual:         #36c2c8;
  --gb-svc-scheduling:      #4f5aff;

  /* --- Text --- */
  --gb-text-dark:   #080808;
  --gb-text-body:   #272727;
  --gb-text-muted:  #343434;
  --gb-text-black:  rgba(2, 6, 13, 1);
  --gb-text-invert: #ffffff;
  --gb-text-on-dark-muted: rgba(255, 255, 255, .85);

  /* --- Backgrounds --- */
  --gb-bg-hero:        #efeffe80;
  --gb-bg-trust:       #635efa;
  --gb-bg-why-feature: #10217d;
  --gb-bg-assessment:  #635efa;
  --gb-bg-subtle:      #635efa1a;
  --gb-footer-gradient: linear-gradient(3deg,
      rgba(92, 33, 101, 1) 0%,
      rgba(133, 14, 177, 1) 51%,
      rgba(169, 101, 176, 1) 92%);

  /* --- Shadows --- */
  --gb-shadow-card:       0px 4px 12px rgba(16, 33, 125, .25);
  --gb-shadow-testimonial:0px 17px 24.8px rgba(16, 33, 125, .25);
  --gb-shadow-hero-card:  0px 3px 7.8px rgba(2, 132, 199, .25);
  --gb-shadow-lift:       0 2px 6px rgb(10 6 85 / .05), 0 18px 45px rgb(10 6 85 / .09);
  --gb-shadow-glow:       0 0 0 4px rgb(102 95 253 / .18);

  /* --- Radii --- */
  --gb-radius-btn:    30px;
  --gb-radius-card:   20px;
  --gb-radius-circle: 150px;
  --gb-radius-sm:     10px;

  /* --- Typography --- */
  --gb-font-display: 'Poppins', Helvetica, Arial, sans-serif;
  --gb-font-body:    'Inter', system-ui, -apple-system, sans-serif;

  /* Measured from gobill.co at 1440px: h1 48/600, section h2 36/600, lead 20/32. */
  --gb-fs-h1: clamp(2rem, 1.5rem + 1.9vw, 3rem);      /* -> 48px */
  --gb-fs-h2: clamp(1.625rem, 1.35rem + 1.1vw, 2.25rem); /* -> 36px */
  --gb-fs-h3: clamp(1.125rem, 1.05rem + .4vw, 1.375rem); /* -> 22px */
  --gb-fs-lead: clamp(1rem, .85rem + .55vw, 1.25rem);    /* -> 20px */
  --gb-fs-body: 1rem;
  --gb-fs-sm: .875rem;

  /* Heading weights and colours, also measured from the live site. */
  --gb-fw-h1: 600;
  --gb-fw-h2: 600;
  --gb-heading-color: #080808;   /* section headings */
  --gb-h1-color: #080808;        /* hero H1 */

  --gb-lh-tight: 1.15;
  --gb-lh-snug: 1.3;
  --gb-lh-normal: 1.6;
  --gb-lh-lead: 1.6;

  /* --- Layout --- */
  --gb-container: 1200px;   /* measured from gobill.co */
  --gb-section-py: clamp(48px, 6vw, 80px);
  --gb-section-px: clamp(20px, 4vw, 80px);
  --gb-gap: 24px;

  /* --- Motion --- */
  --gb-ease: cubic-bezier(.4, 0, .2, 1);
  --gb-dur: .28s;
}

/* Respect users who ask for less motion. */
@media (prefers-reduced-motion: reduce) {
  :root { --gb-dur: .01ms; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
