/**
 * Variabili CSS Globali
 * Questi valori possono essere sovrascritti dal Customizer
 */

:root {
    /* COLORI PRINCIPALI - Personalizzabili */
    --color-primary: #E84855;           /* Rosso header/accenti */
    --color-primary-dark: #d13c48;      /* Rosso scuro hover */
    --color-secondary: #1a1a1a;         /* Nero testi */
    --color-text: #333333;              /* Testo principale */
    --color-text-light: #666666;        /* Testo secondario */
    --color-border: #e0e0e0;            /* Bordi */
    --color-bg: #ffffff;                /* Background */
    --color-bg-light: #f8f8f8;          /* Background secondario */
    
    /* FONT */
    --font-primary: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    
    /* DIMENSIONI FONT */
    --font-size-small: 0.75rem;         /* 12px */
    --font-size-base: 0.875rem;         /* 14px */
    --font-size-medium: 1rem;           /* 16px */
    --font-size-large: 1.125rem;        /* 18px */
    --font-size-h3: 1.25rem;            /* 20px */
    --font-size-h2: 1.5rem;             /* 24px */
    --font-size-h1: 2rem;               /* 32px */
    --font-size-hero: 2.5rem;           /* 40px */
    
    /* SPACING */
    --spacing-xs: 0.5rem;               /* 8px */
    --spacing-sm: 0.75rem;              /* 12px */
    --spacing-md: 1rem;                 /* 16px */
    --spacing-lg: 1.5rem;               /* 24px */
    --spacing-xl: 2rem;                 /* 32px */
    --spacing-2xl: 3rem;                /* 48px */
    
    /* LAYOUT */
    --container-max-width: 1400px;
    --sidebar-width: 300px;
    --header-height: 60px;
    --topbar-height: 50px;
    --ticker-height: 40px;
    
    /* TRANSITIONS */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    
    /* SHADOWS */
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
    --shadow-md: 0 2px 8px rgba(0,0,0,0.1);
    --shadow-lg: 0 4px 16px rgba(0,0,0,0.15);
    
    /* BORDER RADIUS */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
}

/* =======================
   DARK MODE VARIABLES
   ======================= */
body.dark-mode {
    --color-bg: #1a1a1a;
    --color-bg-light: #2a2a2a;
    --color-text: #e0e0e0;
    --color-text-light: #a0a0a0;
    --color-secondary: #ffffff;
    --color-border: #3a3a3a;
}

/* Dark mode - Ticker */
body.dark-mode .news-ticker {
    background-color: #2a2a2a;
    border-top: 1px solid #3a3a3a;
}

body.dark-mode .ticker-label {
    background-color: var(--color-primary);
    color: #fff;
}

body.dark-mode .ticker-item {
    color: #e0e0e0;
}

body.dark-mode .ticker-item:hover {
    color: var(--color-primary);
}

/* Dark mode - Menu */
body.dark-mode .main-header {
    background-color: #1a1a1a;
}

body.dark-mode .main-nav {
    background-color: #1a1a1a;
}

body.dark-mode .primary-menu a {
    color: #f5f5f5;
}

body.dark-mode .primary-menu a:hover {
    color: var(--color-primary);
}

body.dark-mode .current-menu-item a {
    color: var(--color-primary);
}

/* Dark mode - Article content */
body.dark-mode .article-content {
    color: #f5f5f5;
}

body.dark-mode .article-content h2,
body.dark-mode .article-content h3 {
    color: #ffffff;
}

body.dark-mode .article-content p {
    color: #f5f5f5;
}

body.dark-mode .article-title {
    color: #ffffff;
}

body.dark-mode .article-main {
    background-color: transparent;
}

body.dark-mode .article-header {
    background-color: transparent;
}

body.dark-mode .article-author .author-info {
    color: #e0e0e0;
}

body.dark-mode .article-author .author-name {
    color: #ffffff;
}

body.dark-mode .article-author .author-date {
    color: #a0a0a0;
}

body.dark-mode .related-title,
body.dark-mode .sidebar-title {
    color: #fff;
}

body.dark-mode .article-card-small-title {
    color: #fff;
}

body.dark-mode .article-card-small-meta {
    color: #a0a0a0;
}

body.dark-mode .author-box {
    background-color: #1a1a1a;
    border-color: #3a3a3a;
}

body.dark-mode .author-box-name {
    color: #fff;
}

body.dark-mode .author-box-bio,
body.dark-mode .author-box-meta {
    color: #a0a0a0;
}

body.dark-mode .post-navigation {
    border-color: #3a3a3a;
}

body.dark-mode .nav-label {
    color: #a0a0a0;
}

body.dark-mode .nav-title {
    color: #fff;
}

body.dark-mode .sidebar {
    background-color: #2a2a2a;
}

body.dark-mode .article-card,
body.dark-mode .article-card-small {
    background-color: #2a2a2a;
}

body.dark-mode .hero-article-title {
    color: #fff;
}

/* RESET & BASE */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scrollbar-gutter: stable; /* Riserva spazio scrollbar a destra SEMPRE - evita asimmetria visiva */
}

body {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
    color: var(--color-text);
    background-color: var(--color-bg);
}

a {
    color: var(--color-secondary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-primary);
}

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

/* CONTAINER */
.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

/* UTILITIES */
.text-center { text-align: center; }
.text-uppercase { text-transform: uppercase; }
.font-bold { font-weight: var(--font-weight-bold); }
.font-medium { font-weight: var(--font-weight-medium); }
