/**
 * PTSBU Theme Configuration
 *
 * Design Tokens untuk PT. Surya Bersatu Utama
 * Oil & Gas Industry - Professional Industrial Aesthetic
 */

/* ============================================
   1. COLOR PALETTE - Desain Profesional Industrial
   ============================================ */

:root {
    /* Primary Colors - Navy Blue (Trust, Professionalism) */
    --color-primary: #1a3a5c;
    --color-primary-50: #e6eef5;
    --color-primary-100: #c2d1e4;
    --color-primary-200: #9eb4d3;
    --color-primary-300: #7a97c2;
    --color-primary-400: #567ab1;
    --color-primary-500: #1a3a5c;
    --color-primary-600: #162f4a;
    --color-primary-700: #122438;
    --color-primary-800: #0e1926;
    --color-primary-900: #0a0f14;

    /* Secondary Colors - Medium Blue */
    --color-secondary: #2c5282;
    --color-secondary-50: #e8eef5;
    --color-secondary-100: #c5d1e4;
    --color-secondary-200: #a2b4d3;
    --color-secondary-300: #7f97c2;
    --color-secondary-400: #5c7ab1;
    --color-secondary-500: #2c5282;
    --color-secondary-600: #234268;
    --color-secondary-700: #1a324e;
    --color-secondary-800: #112234;
    --color-secondary-900: #08121a;

    /* Accent Colors - Orange (Energy, Action) */
    --color-accent: #ed8936;
    --color-accent-50: #fef3e8;
    --color-accent-100: #fce3c5;
    --color-accent-200: #fad3a2;
    --color-accent-300: #f8c37f;
    --color-accent-400: #f6b35c;
    --color-accent-500: #ed8936;
    --color-accent-600: #c4742e;
    --color-accent-700: #9c5924;
    --color-accent-800: #743f1a;
    --color-accent-900: #4c2410;

    /* Accent Dark */
    --color-accent-dark: #dd6b20;
    --color-accent-dark-500: #dd6b20;
    --color-accent-dark-600: #bb5c1c;

    /* Neutral Colors */
    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5db;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;
    --color-gray-950: #030712;

    /* Semantic Colors */
    --color-success: #10b981;
    --color-success-light: #d1fae5;
    --color-warning: #f59e0b;
    --color-warning-light: #fef3c7;
    --color-error: #ef4444;
    --color-error-light: #fee2e2;
    --color-info: #3b82f6;
    --color-info-light: #dbeafe;

    /* Background Colors */
    --bg-primary: #ffffff;
    --bg-secondary: #f9fafb;
    --bg-tertiary: #f3f4f6;
    --bg-dark: #1f2937;

    /* Text Colors */
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --text-tertiary: #9ca3af;
    --text-inverse: #ffffff;
    --text-link: #2c5282;
    --text-link-hover: #1a3a5c;

    /* Border Colors */
    --border-light: #e5e7eb;
    --border-medium: #d1d5db;
    --border-dark: #9ca3af;

    /* Shadow Colors */
    --shadow-color: rgba(0, 0, 0, 0.1);
    --shadow-color-strong: rgba(0, 0, 0, 0.15);
}


/* ============================================
   2. TYPOGRAPHY - Font Configuration
   ============================================ */

/* Font Families */
:root {
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-display: 'Inter', var(--font-sans);
    --font-mono: 'JetBrains Mono', 'Fira Code', 'SF Mono', Monaco, monospace;

    /* Font Sizes */
    --text-xs: 0.75rem;      /* 12px */
    --text-sm: 0.875rem;     /* 14px */
    --text-base: 1rem;       /* 16px */
    --text-lg: 1.125rem;     /* 18px */
    --text-xl: 1.25rem;      /* 20px */
    --text-2xl: 1.5rem;      /* 24px */
    --text-3xl: 1.875rem;    /* 30px */
    --text-4xl: 2.25rem;     /* 36px */
    --text-5xl: 3rem;        /* 48px */
    --text-6xl: 3.75rem;     /* 60px */
    --text-7xl: 4.5rem;      /* 72px */

    /* Font Weights */
    --font-thin: 100;
    --font-light: 300;
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
    --font-extrabold: 800;
    --font-black: 900;

    /* Line Heights */
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;

    /* Letter Spacing */
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: 0em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
}


/* ============================================
   3. SPACING - Layout Utilities
   ============================================ */

:root {
    --space-0: 0;
    --space-1: 0.25rem;     /* 4px */
    --space-2: 0.5rem;       /* 8px */
    --space-3: 0.75rem;      /* 12px */
    --space-4: 1rem;         /* 16px */
    --space-5: 1.25rem;      /* 20px */
    --space-6: 1.5rem;       /* 24px */
    --space-8: 2rem;         /* 32px */
    --space-10: 2.5rem;      /* 40px */
    --space-12: 3rem;        /* 48px */
    --space-16: 4rem;        /* 64px */
    --space-20: 5rem;        /* 80px */
    --space-24: 6rem;        /* 96px */
    --space-32: 8rem;        /* 128px */

    /* Container Widths */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;
    --container-2xl: 1536px;
    --container-max: 80rem;   /* 1280px - max-w-7xl */
}


/* ============================================
   4. BORDERS & RADIUS
   ============================================ */

:root {
    --radius-none: 0;
    --radius-sm: 0.125rem;   /* 2px */
    --radius-md: 0.375rem;   /* 6px */
    --radius-lg: 0.5rem;     /* 8px */
    --radius-xl: 0.75rem;    /* 12px */
    --radius-2xl: 1rem;       /* 16px */
    --radius-3xl: 1.5rem;    /* 24px */
    --radius-full: 9999px;

    /* Border Widths */
    --border-width: 1px;
    --border-width-2: 2px;
    --border-width-4: 4px;
}


/* ============================================
   5. SHADOWS - Elevation System
   ============================================ */

:root {
    /* Soft Shadows */
    --shadow-xs: 0 1px 2px 0 var(--shadow-color);
    --shadow-sm: 0 1px 3px 0 var(--shadow-color), 0 1px 2px -1px var(--shadow-color);
    --shadow-md: 0 4px 6px -1px var(--shadow-color), 0 2px 4px -2px var(--shadow-color);
    --shadow-lg: 0 10px 15px -3px var(--shadow-color), 0 4px 6px -4px var(--shadow-color);
    --shadow-xl: 0 20px 25px -5px var(--shadow-color-strong), 0 8px 10px -6px var(--shadow-color);
    --shadow-2xl: 0 25px 50px -12px var(--shadow-color-strong);
    --shadow-inner: inset 0 2px 4px 0 var(--shadow-color);

    /* Colored Shadows */
    --shadow-primary: 0 4px 14px 0 rgba(26, 58, 92, 0.25);
    --shadow-accent: 0 4px 14px 0 rgba(237, 137, 54, 0.35);

    /* Glow Effects */
    --glow-sm: 0 0 10px rgba(237, 137, 54, 0.3);
    --glow-md: 0 0 20px rgba(237, 137, 54, 0.4);
    --glow-lg: 0 0 30px rgba(237, 137, 54, 0.5);
}


/* ============================================
   6. TRANSITIONS & ANIMATIONS
   ============================================ */

:root {
    /* Durations */
    --duration-fast: 150ms;
    --duration-normal: 200ms;
    --duration-slow: 300ms;
    --duration-slower: 500ms;
    --duration-slowest: 700ms;

    /* Timing Functions */
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

    /* Animation Delays */
    --delay-fast: 50ms;
    --delay-normal: 100ms;
    --delay-slow: 200ms;
}


/* ============================================
   7. Z-INDEX SCALE
   ============================================ */

:root {
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}


/* ============================================
   8. COMPONENT-SPECIFIC TOKENS
   ============================================ */

/* Header */
:root {
    --header-height: 4rem;          /* 64px - mobile */
    --header-height-md: 5rem;        /* 80px - desktop */
    --header-bg: var(--bg-primary);
    --header-shadow: var(--shadow-md);

    /* Nav Link */
    --nav-link-font-size: var(--text-sm);
    --nav-link-font-weight: var(--font-medium);
    --nav-link-color: var(--color-primary);
    --nav-link-hover-color: var(--color-accent);
    --nav-link-active-color: var(--color-accent);
    --nav-link-underline-height: 2px;
    --nav-link-underline-color: var(--color-accent);
}

/* Cards */
:root {
    --card-bg: var(--bg-primary);
    --card-border: var(--border-light);
    --card-radius: var(--radius-xl);
    --card-padding: var(--space-6);
    --card-shadow: var(--shadow-sm);
    --card-shadow-hover: var(--shadow-xl);
    --card-transition: all var(--duration-slow) var(--ease-out);
}

/* Buttons */
:root {
    --btn-radius: var(--radius-lg);
    --btn-padding-y: var(--space-2);
    --btn-padding-x: var(--space-4);
    --btn-font-size: var(--text-sm);
    --btn-font-weight: var(--font-semibold);

    /* Primary Button */
    --btn-primary-bg: var(--color-primary);
    --btn-primary-bg-hover: var(--color-secondary);
    --btn-primary-text: var(--text-inverse);
    --btn-primary-shadow: var(--shadow-primary);

    /* Accent Button */
    --btn-accent-bg: var(--color-accent);
    --btn-accent-bg-hover: var(--color-accent-dark);
    --btn-accent-text: var(--text-inverse);
    --btn-accent-shadow: var(--shadow-accent);

    /* Outline Button */
    --btn-outline-border: var(--border-medium);
    --btn-outline-text: var(--text-primary);
    --btn-outline-bg-hover: var(--color-gray-50);
}

/* Form Inputs */
:root {
    --input-bg: var(--bg-primary);
    --input-border: var(--border-medium);
    --input-border-focus: var(--color-secondary);
    --input-radius: var(--radius-lg);
    --input-padding-y: var(--space-2);
    --input-padding-x: var(--space-3);
    --input-font-size: var(--text-sm);
    --input-shadow-focus: 0 0 0 3px rgba(44, 82, 130, 0.15);
}

/* Section Spacing */
:root {
    --section-padding-y: var(--space-16);
    --section-padding-y-sm: var(--space-12);
    --section-padding-y-lg: var(--space-24);
}

/* Hero */
:root {
    --hero-overlay-color: var(--color-primary);
    --hero-overlay-opacity: 0.85;
}


/* ============================================
   9. RESPONSIVE BREAKPOINTS REFERENCE
   ============================================ */

/*
   sm: 640px   - Mobile landscape
   md: 768px   - Tablet portrait
   lg: 1024px  - Tablet landscape / Small laptop
   xl: 1280px  - Desktop
   2xl: 1536px - Large desktop
*/


/* ============================================
   10. UTILITY CLASSES
   ============================================ */

/* Base Typography */
body {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--text-primary);
}

/* Selection */
::selection {
    background-color: var(--color-accent);
    color: var(--text-inverse);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-gray-100);
}

::-webkit-scrollbar-thumb {
    background: var(--color-gray-400);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-500);
}
