﻿/* ============================================
   ROOT VARIABLES
   ============================================ */
:root {
    /* -- COLORS -- */
    --color-black: #000000;
    --color-white: #ffffff;
    --color-grey-100: #f5f5f5;
    --color-grey-200: #e0e0e0;
    --color-grey-300: #cccccc;
    --color-grey-400: #aaaaaa;
    --color-grey-500: #888888;
    --color-grey-600: #666666;
    --color-grey-700: #444444;
    --color-grey-800: #222222;

    /* semantic aliases */
    --color-bg: var(--color-white);
    --color-bg-soft: var(--color-grey-100);
    --color-bg-muted: var(--color-grey-200);
    --color-text: var(--color-black);
    --color-text-muted: var(--color-grey-600);
    --color-text-soft: var(--color-grey-400);
    --color-border: var(--color-black);
    --color-border-soft: var(--color-grey-300);

    /* -- TYPOGRAPHY -- */
    --font-family: "Inter", sans-serif;
    --font-family-heading: "Inter", sans-serif;

    --font-size-xs: 0.75rem; /* 12px */
    --font-size-sm: 0.85rem; /* 13.6px */
    --font-size-base: 1rem; /* 16px */
    --font-size-md: 1.1rem; /* 17.6px */
    --font-size-lg: 1.25rem; /* 20px */
    --font-size-xl: 1.5rem; /* 24px */
    --font-size-2xl: 2rem; /* 32px */
    --font-size-3xl: 2.5rem; /* 40px */
    --font-size-4xl: 3rem; /* 48px */

    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --line-height-tight: 1.2;
    --line-height-base: 1.6;
    --line-height-loose: 1.8;

    --letter-spacing-tight: -0.02em;
    --letter-spacing-base: 0em;
    --letter-spacing-wide: 0.03em;
    --letter-spacing-wider: 0.08em;

    /* -- SPACING -- */
    --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 */

    /* -- LAYOUT -- */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;

    --section-padding-y: var(--space-16);
    --section-padding-x: var(--space-6);

    /* -- BORDER -- */
    --border-width: 2px;
    --border-style: solid;
    --border-color: var(--color-border);
    --border: var(--border-width) var(--border-style) var(--border-color);
    --border-soft: var(--border-width) var(--border-style)
        var(--color-border-soft);

    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 25px;
    --radius-pill: 50px;
    --radius-full: 9999px;

    /* -- SHADOWS -- */
    --shadow-sm: 4px 6px 10px rgba(0, 0, 0, 0.15);
    --shadow-md: 6px 10px 18px rgba(0, 0, 0, 0.25);
    --shadow-lg: 10px 16px 30px rgba(0, 0, 0, 0.4);
    --shadow-soft: 0 4px 15px rgba(0, 0, 0, 0.1);
    --shadow-strong: 0 4px 15px rgba(0, 0, 0, 0.2);

    /* -- TRANSITIONS -- */
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;
    --transition-xslow: 0.8s ease;

    /* -- BUTTONS -- */
    --btn-padding-sm: 0.35rem 1.2rem;
    --btn-padding-md: 0.55rem 1.8rem;
    --btn-padding-lg: 0.75rem 2.2rem;
    --btn-font-size-sm: var(--font-size-xs);
    --btn-font-size-md: var(--font-size-sm);
    --btn-font-size-lg: var(--font-size-base);
    --btn-font-weight: var(--font-weight-medium);
    --btn-letter-spacing: var(--letter-spacing-wide);
    --btn-radius: var(--radius-pill);
    --btn-border-width: 2px;
    --btn-transition: var(--transition-base);

    /* -- JUMBO -- */
    --jumbo-height: 700px;
    --jumbo-img-width: 300px;
    --jumbo-img-radius: var(--radius-lg);
    --jumbo-blur: 40px;
    --jumbo-brightness: 0.6;
    --jumbo-saturate: 1.5;
    --jumbo-bg-transition: var(--transition-xslow);
    --jumbo-middle-offset: 150px;
    --jumbo-back-offset: 250px;
    --jumbo-middle-scale: 0.82;
    --jumbo-back-scale: 0.65;

    /* -- Z-INDEX -- */
    --z-back: 1;
    --z-middle: 2;
    --z-front: 3;
    --z-overlay: 10;
    --z-dropdown: 100;
    --z-modal: 1000;
    --z-toast: 9999;
}
