/* =============================================
   BUY A TIX - DESIGN SYSTEM
   CSS Custom Properties & Global Defaults
   ============================================= */

:root {
  /* ===== BRAND COLORS ===== */
  --bat-green: #9ED13C;
  --bat-green-light: #B8E56A;
  --bat-green-dark: #7AB22E;
  --bat-green-50: rgba(158, 209, 60, 0.08);
  --bat-green-100: rgba(158, 209, 60, 0.15);

  --bat-cyan: #29C5BB;
  --bat-cyan-light: #4ED9CF;
  --bat-cyan-dark: #1FA99F;
  --bat-cyan-50: rgba(41, 197, 187, 0.08);
  --bat-cyan-100: rgba(41, 197, 187, 0.15);

  --bat-blue: #5386E4;
  --bat-blue-light: #7AA3F0;
  --bat-blue-dark: #3A6BD1;
  --bat-blue-50: rgba(83, 134, 228, 0.08);
  --bat-blue-100: rgba(83, 134, 228, 0.15);

  /* ===== NEUTRALS ===== */
  --bat-black: #1A1A2E;
  --bat-gray-900: #212529;
  --bat-gray-800: #343a40;
  --bat-gray-700: #495057;
  --bat-gray-600: #6c757d;
  --bat-gray-500: #adb5bd;
  --bat-gray-400: #ced4da;
  --bat-gray-300: #dee2e6;
  --bat-gray-200: #e9ecef;
  --bat-gray-100: #f5f7fa;
  --bat-white: #ffffff;

  /* ===== SEMANTIC COLORS ===== */
  --bat-bg-page: #f5f7fa;
  --bat-bg-card: #ffffff;
  --bat-bg-footer: #1A1A2E;
  --bat-bg-nav: #ffffff;
  --bat-bg-sidebar: #ffffff;
  --bat-bg-input: #ffffff;
  --bat-bg-hover: #e9ecef;
  --bat-bg-active: #dee2e6;
  --bat-bg-toast: rgba(255, 255, 255, 0.92);
  --bat-text-primary: #212529;
  --bat-text-secondary: #6c757d;
  --bat-text-muted: #adb5bd;
  --bat-text-on-dark: #f5f7fa;
  --bat-text-on-accent: #ffffff;
  --bat-link-color: var(--bat-blue);
  --bat-link-hover: var(--bat-blue-dark);

  /* ===== ACCENT / CTA ===== */
  --bat-accent: var(--bat-blue);
  --bat-accent-hover: var(--bat-blue-dark);
  --bat-cta-gradient: linear-gradient(135deg, var(--bat-green) 0%, var(--bat-cyan) 100%);

  /* ===== TYPOGRAPHY ===== */
  --bat-font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bat-font-size-xs: 0.75rem;
  --bat-font-size-sm: 0.875rem;
  --bat-font-size-base: 1rem;
  --bat-font-size-lg: 1.125rem;
  --bat-font-size-xl: 1.25rem;
  --bat-font-size-2xl: 1.5rem;
  --bat-font-size-3xl: 2rem;
  --bat-font-weight-normal: 400;
  --bat-font-weight-medium: 500;
  --bat-font-weight-semibold: 600;
  --bat-font-weight-bold: 700;
  --bat-line-height-tight: 1.25;
  --bat-line-height-normal: 1.5;
  --bat-line-height-relaxed: 1.75;

  /* ===== BORDERS & RADIUS ===== */
  --bat-radius-sm: 6px;
  --bat-radius-md: 10px;
  --bat-radius-lg: 16px;
  --bat-radius-xl: 24px;
  --bat-radius-pill: 50rem;
  --bat-border-color: var(--bat-gray-300);
  --bat-border-light: #eeeeee;

  /* ===== SHADOWS ===== */
  --bat-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --bat-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --bat-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --bat-shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.15);
  --bat-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.06);
  --bat-shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* ===== TRANSITIONS ===== */
  --bat-transition-fast: 150ms ease;
  --bat-transition-base: 250ms ease;
  --bat-transition-slow: 400ms ease;

  /* ===== CAROUSEL ===== */
  --bat-carousel-height: 500px;
  --bat-carousel-height-mobile: 300px;
  --bat-carousel-overlay: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(0, 0, 0, 0.5) 100%
  );
}

/* ===== GLOBAL DEFAULTS ===== */
body {
  background-color: var(--bat-bg-page);
  font-family: var(--bat-font-family);
  color: var(--bat-text-primary);
}

/* =============================================
   COLOR SCHEMES
   Override semantic variables only — brand colors
   (--bat-green, --bat-cyan, --bat-blue) are set by
   {% tenant_theme_css %} independently.
   ============================================= */

/* ── Dashboard Dark ── */
[data-scheme="dash-dark"] {
  --bat-bg-page: #121218;
  --bat-bg-card: #1e1e2a;
  --bat-bg-nav: #1e1e2a;
  --bat-bg-sidebar: #16161f;
  --bat-bg-input: #2a2a3a;
  --bat-bg-hover: #2a2a3a;
  --bat-bg-active: #353548;
  --bat-bg-toast: rgba(30, 30, 42, 0.95);
  --bat-text-primary: #e8e8ee;
  --bat-text-secondary: #a0a0b2;
  --bat-text-muted: #6c6c80;
  --bat-border-color: #2e2e40;
  --bat-border-light: #2e2e40;
  --bat-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.25);
  --bat-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
  --bat-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.35);
  --bat-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.2);
  --bat-shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.35);
}

/* ── Consumer Dark ── */
[data-scheme="consumer-dark"] {
  --bat-bg-page: #0f0f17;
  --bat-bg-card: #1a1a28;
  --bat-bg-footer: #0a0a12;
  --bat-bg-nav: #1a1a28;
  --bat-bg-sidebar: #1a1a28;
  --bat-bg-input: #252535;
  --bat-bg-hover: #252535;
  --bat-bg-active: #303045;
  --bat-bg-toast: rgba(26, 26, 40, 0.95);
  --bat-text-primary: #e8e8ee;
  --bat-text-secondary: #a0a0b2;
  --bat-text-muted: #6c6c80;
  --bat-text-on-dark: #e8e8ee;
  --bat-border-color: #2e2e40;
  --bat-border-light: #2e2e40;
  --bat-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --bat-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
  --bat-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
  --bat-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.25);
  --bat-shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.4);
  --bat-carousel-overlay: linear-gradient(
    to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%
  );
}

/* ── Consumer Dark Blue ── */
[data-scheme="consumer-dark-blue"] {
  --bat-bg-page: #0c1929;
  --bat-bg-card: #142238;
  --bat-bg-footer: #081020;
  --bat-bg-nav: #142238;
  --bat-bg-sidebar: #142238;
  --bat-bg-input: #1c2d48;
  --bat-bg-hover: #1c2d48;
  --bat-bg-active: #243858;
  --bat-bg-toast: rgba(20, 34, 56, 0.95);
  --bat-text-primary: #d6e4f5;
  --bat-text-secondary: #8aa4c4;
  --bat-text-muted: #5a7499;
  --bat-text-on-dark: #d6e4f5;
  --bat-border-color: #1e3450;
  --bat-border-light: #1e3450;
  --bat-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --bat-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
  --bat-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
  --bat-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.25);
  --bat-shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.4);
  --bat-carousel-overlay: linear-gradient(
    to bottom, rgba(8,16,32,0.2) 0%, rgba(8,16,32,0.7) 100%
  );
}
