/**
 * CSS Variables - Design System
 * ThinQShopping Platform
 * All design tokens in one place for easy maintenance
 */

:root {
    /* ===== COLORS ===== */

    /* Primary Colors */
    --color-primary: #0e2945;
    --color-primary-light: #1a3a5c;
    --color-primary-dark: #0a1f35;

    /* Neutral Colors */
    --color-white: #ffffff;
    --color-black: #000000;
    --color-gray-50: #f8fafc;
    --color-gray-100: #f1f5f9;
    --color-gray-200: #e2e8f0;
    --color-gray-300: #cbd5e1;
    --color-gray-400: #94a3b8;
    --color-gray-500: #64748b;
    --color-gray-600: #475569;
    --color-gray-700: #334155;
    --color-gray-800: #1e293b;
    --color-gray-900: #0f172a;

    /* Semantic Colors */
    --color-success: #059669;
    --color-success-light: #dcfce7;
    --color-success-dark: #166534;

    --color-warning: #d97706;
    --color-warning-light: #fef3c7;
    --color-warning-dark: #92400e;

    --color-danger: #dc2626;
    --color-danger-light: #fee2e2;
    --color-danger-dark: #991b1b;

    --color-info: #0284c7;
    --color-info-light: #e0f2fe;
    --color-info-dark: #075985;

    /* Star Rating */
    --color-star: #fbbf24;

    /* ===== TYPOGRAPHY ===== */

    /* Font Families */
    --font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    /* Base Font Size */
    --font-size-base: 14px;

    /* Font Sizes */
    --font-size-xs: 0.6875rem;
    /* 9.625px */
    --font-size-sm: 0.75rem;
    /* 10.5px */
    --font-size-md: 0.8125rem;
    /* 11.375px */
    --font-size-base: 0.875rem;
    /* 12.25px */
    --font-size-lg: 0.9375rem;
    /* 13.125px */
    --font-size-xl: 1rem;
    /* 14px */
    --font-size-2xl: 1.125rem;
    /* 15.75px */
    --font-size-3xl: 1.25rem;
    /* 17.5px */
    --font-size-4xl: 1.5rem;
    /* 21px */

    /* Font Weights */
    --font-weight-normal: 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.4;
    --line-height-relaxed: 1.6;
    --line-height-loose: 1.8;

    /* ===== SPACING ===== */

    --spacing-xs: 0.25rem;
    /* 3.5px */
    --spacing-sm: 0.5rem;
    /* 7px */
    --spacing-md: 0.75rem;
    /* 10.5px */
    --spacing-lg: 1rem;
    /* 14px */
    --spacing-xl: 1.5rem;
    /* 21px */
    --spacing-2xl: 2rem;
    /* 28px */
    --spacing-3xl: 3rem;
    /* 42px */

    /* ===== BORDERS ===== */

    --border-width-thin: 1px;
    --border-width-medium: 2px;
    --border-width-thick: 3px;

    --border-radius-sm: 6px;
    --border-radius-md: 8px;
    --border-radius-lg: 12px;
    --border-radius-xl: 16px;
    --border-radius-full: 50px;

    /* ===== SHADOWS ===== */

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 8px 24px rgba(14, 41, 69, 0.12);
    --shadow-xl: 0 12px 32px rgba(14, 41, 69, 0.15);

    /* ===== TRANSITIONS ===== */

    --transition-fast: 0.15s ease;
    --transition-base: 0.2s ease;
    --transition-slow: 0.3s ease;

    /* ===== COMPONENT SPECIFIC ===== */

    /* Product Cards */
    --card-padding: 0.875rem;
    --card-border-radius: var(--border-radius-lg);
    --card-border-color: var(--color-gray-200);

    --card-price-size: var(--font-size-base);
    /* 12.25px */
    --card-price-old-size: var(--font-size-xs);
    /* 9.625px */
    --card-name-size: var(--font-size-lg);
    /* 13.125px */
    --card-category-size: var(--font-size-xs);
    /* 9.625px */

    /* Buttons */
    --btn-padding-y: 0.5rem;
    /* 7px */
    --btn-padding-x: 0.75rem;
    /* 10.5px */
    --btn-font-size: var(--font-size-md);
    /* 11.375px */
    --btn-border-radius: var(--border-radius-md);

    /* Forms */
    --input-padding-y: 0.625rem;
    --input-padding-x: 1rem;
    --input-border-radius: var(--border-radius-md);
    --input-border-color: var(--color-gray-200);

    /* Product Detail */
    --detail-price-size: var(--font-size-2xl);
    /* 15.75px */
    --detail-price-old-size: var(--font-size-sm);
    /* 10.5px */

    /* Quantity Controls */
    --qty-btn-size: 32px;
    --qty-input-width: 45px;

    /* ===== BREAKPOINTS ===== */

    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;

    /* ===== Z-INDEX ===== */

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