/*
Theme Name: Maestro
Author: Antar Corrado
Author URI: https://antarcorrado.com/
Description: Tema Wordpress di Maestro
Version: 1.5.11
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maestro
Tags: dark, custom-colors, custom-menu, custom-logo, featured-images, responsive-layout, two-columns, widgets
*/

/* =====================================================
   FONT FACE — Hiragino Kaku Gothic ProN (locale)
   ===================================================== */

/* Registrazione tipizzata — rende le variabili neon animabili nei @keyframes */
@property --neon-glow {
    syntax: '<color>';
    inherits: true;
    initial-value: #e53935;
}
@property --neon-core {
    syntax: '<color>';
    inherits: true;
    initial-value: #ffffff;
}

@font-face {
    font-family: 'Big Caslon';
    src: url('fonts/BigCaslonFB.woff2') format('woff2'),
         url('fonts/BigCaslonFB.woff')  format('woff'),
         url('fonts/BigCaslonFB.ttf')   format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neon Tubes';
    src: url('fonts/neontubes.woff2') format('woff2'),
         url('fonts/neontubes.woff')  format('woff'),
         url('fonts/neontubes.otf')   format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hiragino Kaku Gothic ProN';
    src: url('fonts/hiragino.woff2') format('woff2'),
         url('fonts/hiragino.woff')  format('woff'),
         url('fonts/hiragino.ttf')   format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* =====================================================
   RESET & BASE
   ===================================================== */

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

html {
    font-size: 16px;
    /* NB: niente scroll-behavior: smooth qui. Confligge con il pin di ScrollTrigger
       della hero (desincronizza la posizione di scroll -> gap sopra al video e
       scrub che non riparte dopo apertura/chiusura dell'overlay o resize). Lo
       smooth-scroll sugli anchor e' gestito via JS in main.js. */
    /* Riserva sempre lo spazio della scrollbar: cosi' aprire/chiudere il video
       overlay (che mette overflow:hidden sul body) non cambia la larghezza del
       viewport e non costringe ScrollTrigger a ricalcolare male il pin della hero. */
    scrollbar-gutter: stable;
}

body {
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

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

a {
    color: var(--color-accent);
    text-decoration: none;
    transition: color 0.2s ease;
}

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

ul, ol {
    list-style: none;
}

/* =====================================================
   CUSTOM PROPERTIES (Design Tokens)
   ===================================================== */

:root {
    /* Colori */
    --color-bg-primary:    #121212;
    --color-bg-secondary:  #1e1e1e;
    --color-bg-tertiary:   #2a2a2a;
    --color-border:        #333333;
    --color-accent:        #e53935;
    --color-accent-hover:  #c62828;
    --color-text-primary:  #f5f5f5;
    --color-text-secondary:#9e9e9e;
    --color-text-muted:    #616161;

    /* Tipografia */
    --font-heading:  'Big Caslon', 'Georgia', 'Times New Roman', serif;
    --font-body:    'Big Caslon', 'Georgia', 'Times New Roman', serif;
    --font-mono:     'Courier New', Courier, monospace;
    --font-hiragino: 'Hiragino Kaku Gothic ProN', sans-serif;

    /* Spaziature */
    --space-xs:  0.25rem;
    --space-sm:  0.5rem;
    --space-md:  1rem;
    --space-lg:  1.5rem;
    --space-xl:  2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;

    /* Layout */
    --container-max:  1500px;
    --container-pad:  6rem;
    --header-height:  72px;

    /* Bordi */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;

    /* Ombre */
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.5);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.6);

    /* Transizioni */
    --transition: 0.2s ease;
}
