/* === STRUTTURA SCROLL CAROSELLO === */
.scroll-track { height: 300vh; }

.fixed-viewport {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    z-index: 100;
}

.carousel {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 15vw;
    will-change: transform;
    margin-top:-10vh;
}

/* === LAYOUT CARDS === */
.card-wrapper {
    position: relative;
    flex-shrink: 0;
}

/*.item-high { transform: translateY(-12vh); }
.item-low { transform: translateY(12vh); }*/

.item-high { 
    transform: translateY(-150px); /* Sostituisci i vh con px */
}
.item-low { 
    transform: translateY(150px);  /* Sostituisci i vh con px */
}


.product-card {
    display: block;
    position: relative;
    width: 320px;
    height: 320px;
    text-decoration: none;
    color: inherit;
    opacity: 0;
    transform: scale(0.4);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.product-card.is-visible {
    opacity: 1;
    transform: scale(1);
}

.product-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--card-radius);
    transition: transform 0.4s ease;
}

/* === TESTO E HOVER === */
.product-info {
    position: absolute;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
    padding: 0;
}

.product-info h3 { margin: 0 0 8px 0; font-size: 1.3rem; font-weight: 500; padding: 0 50px;}
.product-info p { margin: 0 0 15px 0; font-size: 0.85rem; line-height: 1.4; font-weight:200; opacity: 0.8; padding: 0 50px;}
.cta { font-weight: 600; font-size: 1.2rem; display: flex; align-items: center; justify-content: flex-end; padding: 0 50px;}

.item-high .product-info { top: calc(100% + 60px); transform: translateY(-20px); }
.item-low .product-info { bottom: calc(100% + 50px); transform: translateY(20px); }

@media (hover: hover) and (pointer: fine) {
    .product-card:hover img { transform: scale(0.98); }
    .product-card:hover .product-info { opacity: 1; transform: translateY(0); }
}

/* === REGOLE MOBILE === */
@media (max-width: 768px) {
    .product-info { opacity: 1; }
    .item-high .product-info, .item-low .product-info { transform: translateY(0); }
    .product-card { width: 280px; height: 280px; }
    .carousel { gap: 60px; }
    header { padding: 20px; }
    .fullscreen-menu nav a { font-size: 2rem; }
}