/* base.css - Variables & Reset */
:root {
    /* Colors - HSL */
    --primary-h: 210;
    --primary-s: 100%;
    --primary-l: 50%;
    --color-primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));
    --color-primary-dark: hsl(var(--primary-h), var(--primary-s), 40%);
    --color-primary-light: hsl(var(--primary-h), var(--primary-s), 95%);

    --accent-h: 35;
    --accent-s: 100%;
    --accent-l: 55%;
    --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));

    --text-main: hsl(210, 20%, 20%);
    --text-light: hsl(210, 10%, 60%);
    --bg-body: hsl(0, 0%, 98%);
    --bg-card: hsl(0, 0%, 100%);

    /* Typography */
    --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    /* Spacing */
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 2rem;
    --space-xl: 4rem;

    /* Radius & Shadow */
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 40px;
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 8px 16px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 16px 32px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.16);

    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
}

/* Reset Limitata */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--text-main);
    background: var(--bg-body);
    line-height: 1.6;
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-heading);
    margin-top: 0;
    line-height: 1.2;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-primary);
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-md);
}