* { font-family: 'Inter', sans-serif; }

/* Material Symbols via data-icon attribute */
[data-icon] {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-size: inherit;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
[data-icon]::before { content: attr(data-icon); }

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

/* Spinner */
.spin { animation: spin .8s linear infinite; display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Hero Slider */
.hero-slider { position: relative; overflow: hidden; }
.hero-slide { display: none; animation: fadeSlide .5s ease; }
.hero-slide.active { display: flex; }
@keyframes fadeSlide { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }

/* Card veicolo */
.card-veicolo:hover .card-overlay { opacity: 1; }
.card-overlay { opacity: 0; transition: opacity .2s; }

/* Sidebar mobile */
#sidebar { transition: transform .3s; }

/* Lightbox */
#lightbox { display: none; }
#lightbox.open { display: flex; }

/* Cookie banner */
#cookieBanner { animation: slideUp .4s ease; }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
