@charset "UTF-8";
        .product-gallery {
            scroll-snap-type: x mandatory;
        }
        .product-gallery img {
            scroll-snap-align: start;
        }
        .flag-italy {
            background: linear-gradient(to right, #009246 33%, #FFFFFF 33%, #FFFFFF 66%, #CE2B37 66%);
        }
        .heart-animation {
            animation: pulse 1.5s infinite;
        }
        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.2); }
            100% { transform: scale(1); }
        }
        .origin-map {
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 60" fill="none" stroke="%23e5e7eb"><path d="M50,5 C60,15 70,10 80,15 C90,20 95,30 80,40 C65,50 60,45 50,55 C40,45 35,50 20,40 C5,30 10,20 20,15 C30,10 40,15 50,5 Z"/></svg>');
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
        }
        #notifica {
		  position: fixed;
		  top: 20px;
		  right: 20px;
		  background-color: #333;
		  color: #fff;
		  padding: 12px 20px;
		  border-radius: 8px;
		  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
		  font-family: sans-serif;
		  display: none;
		  z-index: 9999;
		  animation: fadein 0.5s, fadeout 0.5s 2.5s;
		}
		.review-card .star-rating{direction:rtl}
		.review-card .star-rating input[type="radio"]{display:none}
		.review-card .star-rating label{
			color:#e2e8f0;font-size:1.75rem;padding:0 3px;cursor:pointer;transition:all .2s ease
		}
		.review-card .star-rating label:hover,
		.review-card .star-rating label:hover ~ label,
		.review-card .star-rating input[type="radio"]:checked ~ label{color:#fbbf24}
		.review-card .error-message{color:#ef4444;font-size:.875rem;margin-top:.25rem;display:none}
		.review-card .char-counter{font-size:.75rem;color:#64748b;text-align:right}