/* ===== TEMA CONDIVISO: font + loader (linkare per ULTIMO su ogni pagina) ===== */
:root {
    /* Testo minuscolo / corpo  -> font dell'ABOUT (monospace) */
    --font-body: 'Courier New', Courier, monospace;
    /* Testo MAIUSCOLO / titoli -> font della HOME (sans-serif) */
    --font-display: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Tutto il corpo usa il font minuscolo */
body { font-family: var(--font-body); }

/* Tutti gli elementi in MAIUSCOLO usano il font display */
h1, h2, h3, h4, h5,
nav a,
button,
.eyebrow, .role,
.section h2, .skills-grid h3,
.btn-cv, .back-link, .details-toggle,
.item-info, .cta, .btn-watch-showreel,
.lang-switch, .lang-current, .lang-menu a,
.dropdown-toggle, .dropdown-menu a,
.contact-box h2, .contact-box .sub, .contact-box .close-contact {
    font-family: var(--font-display);
}

/* ===== INTERAZIONE HOVER: lieve rotazione verso l'alto del SOLO testo ===== */
.rot-text {
    display: inline-block;
    transition: transform 0.35s ease;
    transform-origin: center bottom;
}
.hover-rot:hover .rot-text {
    transform: perspective(320px) rotateX(22deg);
}

/* ===== LOADER / TRANSIZIONE TRA PAGINE (uguale ovunque) ===== */
#portfolio-loader.loader-overlay {
    position: fixed;
    inset: 0;
    background-color: #fbfbfb;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    pointer-events: all;
    transition: opacity 0.5s ease;
}
#portfolio-loader.loader-overlay.hidden {
    opacity: 0;
    pointer-events: none;
}
#portfolio-loader svg { max-width: 600px; width: 80%; }
#portfolio-loader .line {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 2px;
}
