/* ============================================
   CSS VARIABLES - Vision Global School
   Design System Tokens
   ============================================ */

:root {
  /* ========== COLORS ========== */
  /* Primary Colors - Alpine Lake Green */
  --color-primary: #50603E;
  /* Alpine Lake Green - Premium & Trustworthy */
  --color-primary-light: #6a7c56;
  --color-primary-dark: #3a472d;

  /* Secondary Colors - Derived Muted Green / Sand */
  --color-secondary: #50603E;
  /* Using primary as secondary per rules */
  --color-secondary-light: #6a7c56;
  --color-secondary-dark: #3a472d;

  /* Neutral Colors */
  --color-text-primary: #2d3428;
  --color-text-secondary: #4a5142;
  --color-text-light: #6b7263;
  --color-text-white: #ffffff;

  /* Background Colors */
  --color-bg-white: #E1D5BF;
  --color-bg-light: #E1D5BF;
  --color-bg-dark: #50603E;

  /* Accent Colors */
  --color-success: #27ae60;
  /* Green */
  --color-warning: #f39c12;
  /* Orange */
  --color-error: #e74c3c;
  /* Red */
  --color-info: #3498db;
  /* Blue */

  /* Premium Accent Colors */
  --color-accent-red: #8B4513;
  /* Muted brown for contrast if needed */
  --color-accent-teal: #50603E;
  --color-highlight: #50603E;

  /* Dark Theme Colors */
  --color-dark-bg: #0f1419;
  /* Deep Dark for modern sections */
  --color-dark-card: #1a2332;
  /* Dark card backgrounds */
  --color-dark-text: #e5e7eb;
  /* Light text on dark backgrounds */
  --color-dark-text-muted: #9ca3af;
  /* Muted text on dark backgrounds */

  /* ========== TYPOGRAPHY ========== */
  /* Font Families - Premium Typography */
  --font-heading: 'Playfair Display', 'Merriweather', serif;
  /* Elegant, trustworthy headings */
  --font-body: 'Poppins', 'Inter', sans-serif;
  /* Clean, readable body text */
  --font-ui: 'Inter', sans-serif;
  /* Modern UI elements */
  --font-display: 'Playfair Display', serif;
  /* For hero headlines and impact text */

  /* Fluid Font Sizes - Scales smoothly from mobile to desktop */
  --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  /* 12px - 14px */
  --font-size-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
  /* 14px - 16px */
  --font-size-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  /* 16px - 18px */
  --font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
  /* 18px - 20px */
  --font-size-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  /* 20px - 24px */
  --font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);
  /* 24px - 30px */
  --font-size-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.25rem);
  /* 30px - 36px */
  --font-size-4xl: clamp(2.25rem, 1.8rem + 2.25vw, 3rem);
  /* 36px - 48px */
  --font-size-5xl: clamp(3rem, 2.25rem + 3.75vw, 3.75rem);
  /* 48px - 60px */
  --font-size-6xl: clamp(3.75rem, 2.75rem + 5vw, 4.5rem);
  /* 60px - 72px */
  --font-size-7xl: clamp(4.5rem, 3.25rem + 6.25vw, 5.5rem);
  /* 72px - 88px */

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;

  /* Letter Spacing */
  --letter-spacing-tight: -0.025em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.05em;

  /* ========== SPACING ========== */
  --space-xs: 0.25rem;
  /* 4px */
  --space-sm: 0.5rem;
  /* 8px */
  --space-md: 1rem;
  /* 16px */
  --space-lg: 1.5rem;
  /* 24px */
  --space-xl: 2rem;
  /* 32px */
  --space-2xl: 3rem;
  /* 48px */
  --space-3xl: 4rem;
  /* 64px */
  --space-4xl: 6rem;
  /* 96px */
  --space-5xl: 8rem;
  /* 128px */

  /* ========== LAYOUT ========== */
  --container-max-width: 1320px;
  --container-padding: 1.5rem;
  --section-padding: 5rem 0;
  --section-padding-sm: 3rem 0;

  /* ========== BORDERS ========== */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-2xl: 24px;
  --border-radius-full: 9999px;

  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 4px;

  /* ========== SHADOWS ========== */
  /* Soft Shadows for Cards */
  --shadow-sm: 0 2px 8px rgba(26, 35, 50, 0.08);
  --shadow-md: 0 4px 16px rgba(26, 35, 50, 0.12);
  --shadow-lg: 0 8px 32px rgba(26, 35, 50, 0.16);
  --shadow-xl: 0 16px 48px rgba(26, 35, 50, 0.2);
  --shadow-2xl: 0 24px 64px rgba(26, 35, 50, 0.24);

  /* Glow Effects */
  --glow-gold: 0 0 20px rgba(212, 175, 55, 0.3);
  --glow-blue: 0 0 20px rgba(26, 35, 50, 0.3);

  /* ========== GLASSMORPHISM ========== */
  --glass-bg: rgba(255, 255, 255, 0.1);
  --glass-bg-light: rgba(255, 255, 255, 0.15);
  --glass-bg-dark: rgba(26, 35, 50, 0.1);
  --glass-border: rgba(255, 255, 255, 0.2);
  --glass-blur: blur(10px);
  --glass-blur-heavy: blur(20px);

  /* ========== TRANSITIONS ========== */
  --transition-fast: 0.15s ease-in-out;
  --transition-base: 0.3s ease-in-out;
  --transition-slow: 0.6s ease-out;
  --transition-slower: 1s ease-out;

  /* ========== Z-INDEX LAYERS ========== */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;

  /* ========== GRADIENTS ========== */
  --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
  --gradient-secondary: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
  --gradient-overlay: linear-gradient(180deg, rgba(80, 96, 62, 0.8) 0%, rgba(80, 96, 62, 0.4) 100%);
  --gradient-overlay-dark: linear-gradient(180deg, rgba(80, 96, 62, 0.9) 0%, rgba(80, 96, 62, 0.6) 100%);

  /* ========== ANIMATIONS ========== */
  --animation-duration-fast: 0.2s;
  --animation-duration-normal: 0.3s;
  --animation-duration-slow: 0.5s;
}

/* ========== RESPONSIVE BREAKPOINTS ========== */
/* Mobile First Approach */
/* 
  xs: 0px - 575px (Mobile)
  sm: 576px - 767px (Large Mobile)
  md: 768px - 991px (Tablet)
  lg: 992px - 1199px (Desktop)
  xl: 1200px - 1399px (Large Desktop)
  xxl: 1400px+ (Extra Large Desktop)
*/