:root {

    /* 🎨 Brand colors (vengono sovrascritti da config.json) */
    --primary: #1f5f8b;
    --secondary: #f4c430;

    /* Neutral */
    --white: #ffffff;
    --dark: #0f172a;

    /* Background & text */
    --bg: #ffffff;
    --bg-soft: #f8fafc;
    --text: #0f172a;
    --text-soft: rgba(15, 23, 42, 0.65);

    /* Layout */
    --radius: 14px;
    --transition: 0.2s ease;
}

/* ================= RESET ================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

/* ================= BODY ================= */

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

/* ================= GLOBAL ELEMENTS ================= */

img {
    max-width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
select {
    font-family: inherit;
}

button {
    cursor: pointer;
    transition: var(--transition);
}

/* ================= UTILITIES ================= */

.hidden {
    display: none !important;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}