/* Font Imports - Google Fonts and External Sources */

@import url('https://fonts.googleapis.com/css?family=Montserrat%7COpen+Sans%3A300%2C300i%2C400%2C400i%2C600%2C600i%2C700%2C800&ver=5.1.14');
@import url('https://fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRoboto+Slab%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&ver=5.1.14');
@import url('https://fonts.googleapis.com/css?family=News+Cycle:400,700');

/*
 * Font Variables per facile utilizzo
 * Definisce le famiglie di font come variabili CSS per consistency
 */
:root {
    /* Font Families */
    --font-primary: 'Montserrat', 'Open Sans', sans-serif;
    --font-secondary: 'Roboto', 'Roboto Slab', serif;
    --font-heading: 'Roboto', 'Roboto Slab', serif;
    --font-modern: 'News Cycle', sans-serif;

    /* Font Weights */
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;

    /* Font Sizes */
    --font-size-xs: 0.75rem;     /* 12px */
    --font-size-sm: 0.875rem;    /* 14px */
    --font-size-base: 1rem;      /* 16px */
    --font-size-lg: 1.125rem;    /* 18px */
    --font-size-xl: 1.25rem;     /* 20px */
    --font-size-2xl: 1.5rem;     /* 24px */
    --font-size-3xl: 1.875rem;   /* 30px */
    --font-size-4xl: 2.25rem;    /* 36px */
    --font-size-5xl: 3rem;       /* 48px */
    --font-size-6xl: 3.75rem;    /* 60px */

    /* Line Heights */
    --line-height-tight: 1.25;
    --line-height-snug: 1.375;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    --line-height-loose: 2;
}

/*
 * Font Display Classes per utilizzo rapido
 * Puoi usare queste classi per applicare rapidamente stili tipografici
 */

/* Classe per titoli principali */
.font-heading {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

/* Classe per testo corpo principale */
.font-body {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-normal);
}

/* Classe per testo moderno/UI */
.font-modern {
    font-family: var(--font-modern);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-snug);
}

/* Classe per testo secondario */
.font-secondary {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-normal);
}

/*
 * Utility classes per font weights
 */
.font-light { font-weight: var(--font-weight-light); }
.font-normal { font-weight: var(--font-weight-normal); }
.font-medium { font-weight: var(--font-weight-medium); }
.font-semibold { font-weight: var(--font-weight-semibold); }
.font-bold { font-weight: var(--font-weight-bold); }
.font-extrabold { font-weight: var(--font-weight-extrabold); }
.font-black { font-weight: var(--font-weight-black); }
.font-red { color: var(--color-aikido-red); }

/*
 * Utility classes per font sizes
 */
.text-xs { font-size: var(--font-size-xs); }
.text-sm { font-size: var(--font-size-sm); }
.text-base { font-size: var(--font-size-base); }
.text-lg { font-size: var(--font-size-lg); }
.text-xl { font-size: var(--font-size-xl); }
.text-2xl { font-size: var(--font-size-2xl); }
.text-3xl { font-size: var(--font-size-3xl); }
.text-4xl { font-size: var(--font-size-4xl); }
.text-5xl { font-size: var(--font-size-5xl); }
.text-6xl { font-size: var(--font-size-6xl); }
