/* ==========================================================================
   Tecnafood B2B – Design tokens, reset minimale, tipografia di base.
   Caricato da TUTTI i layout B2B (auth + app).
   ========================================================================== */

:root {
    /* Colors */
    --bg: #ECF2F6;
    --primary: #00304F;
    --accent: #27ABBF;
    --accent-dark: #1f8fa0;
    --accent-darker: #1a7d8c;
    --border: #D1DCE3;
    --text-muted: #545F71;
    --text-faded: #9BA5B7;
    --text-light: #8BA4B4;
    --success: #2FA74D;
    --success-dark: #258c40;
    --danger: #C0392B;

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

    /* Layout */
    --radius-sm: 6px;
    --header-padding-x: 60px;

    /* Larghezza massima dello "shell" applicativo (header + main + footer).
       Su viewport più larghi il body resta centrato a 1920px; le aree
       laterali ereditano il background da `html` (vedi sotto). */
    --app-max-width: 1400px;
}

/* L'html porta il background di "cornice" laterale così, anche se le
   pagine app cappano i loro contenuti, non si vede uno strappo di
   colore tra body e fondo pagina sui monitor ultrawide. */
html {
    background-color: var(--bg);
}

/* Il body NON è più cappato globalmente: header, footer e pre-header
   sono full-bleed (richiesta cliente) e prendono il background a tutta
   larghezza. Il cap a --app-max-width viene applicato selettivamente:
   - al CONTENUTO della pagina (`.b2b-main` in layout.css)
   - ai contenuti INTERNI di header/footer/pre-header tramite
     "padding fantasma" (vedi layout.css).
   Le pagine "auth" non usano lo shell e si centrano da sé col flex
   in `.auth-page`, quindi non hanno bisogno di nessun cap qui. */
body.b2b {
    width: 100%;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    min-height: 100vh;
}

body {
    font-family: var(--font-sans);
    background-color: var(--bg);
    color: var(--primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: inherit;
}

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

button {
    font-family: inherit;
}
