/* =========================================================================
   DKSHAPE Design Tokens v2 — Refined (ML-inspired)
   ========================================================================= */

:root {
    /* ── Colors ── */
    --dk-accent: #2DB84B;
    --dk-accent-hover: #249A3E;
    --dk-accent-light: rgba(45, 184, 75, 0.08);
    --dk-accent-glow: rgba(45, 184, 75, 0.25);

    --dk-black: #1a1a1a;
    --dk-white: #ffffff;

    --dk-gray-50: #f5f5f5;
    --dk-gray-100: #ebebeb;
    --dk-gray-200: #e0e0e0;
    --dk-gray-300: #d1d1d1;
    --dk-gray-400: #999999;
    --dk-gray-500: #777777;
    --dk-gray-600: #555555;
    --dk-gray-700: #444444;
    --dk-gray-800: #333333;
    --dk-gray-900: #222222;

    /* Semantic */
    --dk-danger: #e74c3c;
    --dk-badge-new: #3483fa;
    --dk-badge-sale: #e74c3c;
    --dk-free-shipping: #00a650;

    /* ── Typography ── */
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-heading: 'Outfit', 'Inter', sans-serif;

    --fs-xs: 0.6875rem;
    /* 11px */
    --fs-sm: 0.8125rem;
    /* 13px */
    --fs-base: 0.875rem;
    /* 14px */
    --fs-md: 0.9375rem;
    /* 15px */
    --fs-lg: 1rem;
    /* 16px */
    --fs-xl: 1.125rem;
    /* 18px */
    --fs-2xl: 1.375rem;
    /* 22px */
    --fs-3xl: 1.75rem;
    /* 28px */
    --fs-4xl: 2.25rem;
    /* 36px */
    --fs-5xl: 3rem;
    /* 48px */

    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --fw-black: 900;

    --lh-tight: 1.2;
    --lh-normal: 1.5;
    --lh-relaxed: 1.65;

    /* ── Spacing (4px base) ── */
    --space-0: 0;
    --space-1: 0.25rem;
    /* 4 */
    --space-2: 0.5rem;
    /* 8 */
    --space-3: 0.75rem;
    /* 12 */
    --space-4: 1rem;
    /* 16 */
    --space-5: 1.25rem;
    /* 20 */
    --space-6: 1.5rem;
    /* 24 */
    --space-8: 2rem;
    /* 32 */
    --space-10: 2.5rem;
    /* 40 */
    --space-12: 3rem;
    /* 48 */
    --space-16: 4rem;
    /* 64 */
    --space-20: 5rem;
    /* 80 */

    /* ── Layout ── */
    --max-width: 1280px;
    --container-pad: 1rem;
    --header-height: 56px;

    /* ── Radius ── */
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;

    /* ── Shadows (ML-inspired: subtle, layered) ── */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.08);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 8px 32px rgba(0, 0, 0, 0.12);
    --shadow-card: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.12);

    /* ── Transition ── */
    --duration: 200ms;
    --duration-slow: 350ms;
    --ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* ── Z-index ── */
    --z-dropdown: 10;
    --z-sticky: 20;
    --z-fixed: 30;
    --z-overlay: 40;
    --z-modal: 50;
}

@media (min-width: 768px) {
    :root {
        --container-pad: 1.5rem;
    }
}

@media (min-width: 1024px) {
    :root {
        --container-pad: 2rem;
    }
}