/* RESET & VARIABLES */
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
:root{--primary-green:#A4DE02;--secondary-cream:#FAF8F0;--accent-orange:#EB5E28;--accent-aqua:#28C7C7;--text-dark:#1E1E1E;--shadow:0 4px 20px rgba(0,0,0,0.1);--border-radius:15px}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-dark);background:var(--secondary-cream);overflow-x:hidden;width:100%;max-width:100vw}

/* ANIMATIONS */
@keyframes fadeInUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes wave{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes spin{to{transform:rotate(360deg)}}

/* WAVE DIVIDER */
.wave-divider{position:relative;overflow:hidden}
.wave-divider::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:50px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath d='M985.66,92.83C906.67,72,823.78,31,743.84,14.19c-82.26-17.34-168.06-16.33-250.45.39-57.84,11.73-114,31.07-172,41.86A600.21,600.21,0,0,1,0,27.35V120H1200V95.8C1132.19,118.92,1055.71,111.31,985.66,92.83Z' fill='%23A4DE02'/%3E%3C/svg%3E") no-repeat;background-size:cover;z-index:1}

/* HEADER */
.header{background:linear-gradient(135deg,var(--primary-green),var(--accent-aqua));background-size:400% 400%;animation:gradient-shift 8s ease infinite;padding:0.7rem 0;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow)}
.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;position:relative}
.logo{transition:transform .3s ease}
.logo:hover{transform:scale(1.1)}
.nav-menu{display:flex;list-style:none;gap:2rem;margin:0}
.nav-menu a{color:var(--text-dark);text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:var(--border-radius);transition:all .3s ease}
.nav-menu a:hover{background:rgba(255,255,255,0.2);transform:translateY(-2px)}

/* MOBILE MENU */
.mobile-menu-checkbox{display:none}
.mobile-menu-toggle{display:none;flex-direction:column;cursor:pointer;gap:4px}
.mobile-menu-toggle span{width:25px;height:3px;background:var(--text-dark);transition:all .3s ease;border-radius:2px}
.mobile-menu-checkbox:checked + .mobile-menu-toggle span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}
.mobile-menu-checkbox:checked + .mobile-menu-toggle span:nth-child(2){opacity:0}
.mobile-menu-checkbox:checked + .mobile-menu-toggle span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

/* HERO */
.hero{background:linear-gradient(135deg,var(--primary-green) 0%,var(--accent-aqua) 100%);padding:4rem 0;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>') repeat;animation:wave 6s ease-in-out infinite}
.hero-content{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2;animation:fadeInUp 1s ease}
.hero h1{font-size:3.5rem;margin-bottom:1rem;color:var(--text-dark);text-shadow:2px 2px 4px rgba(0,0,0,0.1)}
.hero p{font-size:1.2rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}
.hero-image{margin-top:2rem;animation:pulse 3s ease-in-out infinite}
.hero-image img{max-width:100%;height:auto;border-radius:var(--border-radius);box-shadow:var(--shadow)}

/* BUTTONS */
.btn{display:inline-block;padding:1rem 2rem;border:none;border-radius:var(--border-radius);text-decoration:none;font-weight:bold;font-size:1.1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}
.btn-primary{background:var(--accent-orange);color:white}
.btn-primary:hover{background:#d44d1f;transform:translateY(-3px);box-shadow:0 8px 25px rgba(235,94,40,0.3)}
.btn-secondary{background:var(--secondary-cream);color:var(--text-dark);border:2px solid var(--primary-green)}
.btn-secondary:hover{background:var(--primary-green);color:white;transform:translateY(-3px)}

/* SECTIONS */
.section{padding:4rem 0;position:relative}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--text-dark);animation:fadeInUp .8s ease}

/* BENEFITS */
.benefits{background:var(--secondary-cream)}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}
.benefit-item{text-align:center;padding:2rem;background:white;border-radius:var(--border-radius);box-shadow:var(--shadow);transition:all .3s ease;animation:fadeInUp .8s ease}
.benefit-item:hover{transform:translateY(-10px);box-shadow:0 10px 30px rgba(0,0,0,0.15)}
.benefit-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-green),var(--accent-aqua));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.5rem;color:white;animation:pulse 2s ease-in-out infinite}

/* GALLERY */
.gallery{background:linear-gradient(135deg,var(--primary-green) 0%,var(--accent-aqua) 50%,var(--accent-orange) 100%);background-size:400% 400%;animation:gradient-shift 10s ease infinite}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}
.gallery-item{position:relative;overflow:hidden;border-radius:var(--border-radius);box-shadow:var(--shadow);transition:all .3s ease;animation:fadeInUp .8s ease}
.gallery-item:hover{transform:scale(1.05);box-shadow:0 15px 40px rgba(0,0,0,0.2)}
.gallery-item img{width:100%;height:250px;object-fit:cover;transition:transform .3s ease}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.7));color:white;padding:1.5rem;transform:translateY(100%);transition:transform .3s ease}
.gallery-item:hover .gallery-overlay{transform:translateY(0)}

/* TESTIMONIALS */
.testimonials{background:var(--secondary-cream)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}
.testimonial-item{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);position:relative;animation:fadeInUp .8s ease;transition:all .3s ease}
.testimonial-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.15)}
.testimonial-item::before{content:'"';position:absolute;top:-10px;left:20px;font-size:4rem;color:var(--accent-orange);font-family:serif}
.testimonial-author{margin-top:1rem;font-weight:bold;color:var(--accent-orange);display:flex;align-items:center;gap:1rem}
.testimonial-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;box-shadow:0 2px 10px rgba(0,0,0,0.1)}

/* PRICING */
.pricing{background:linear-gradient(135deg,var(--accent-aqua),var(--primary-green))}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}
.pricing-item{background:white;padding:2rem;border-radius:var(--border-radius);text-align:center;box-shadow:var(--shadow);position:relative;transition:all .3s ease;animation:fadeInUp .8s ease;border:3px solid transparent}
.pricing-item:hover{transform:translateY(-10px) scale(1.02);border-color:var(--accent-orange);box-shadow:0 15px 40px rgba(0,0,0,0.2)}
.pricing-item.featured{border-color:var(--accent-orange);transform:scale(1.05)}
.pricing-item.featured::before{content:'Più Popolare';position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--accent-orange);color:white;padding:.5rem 1rem;border-radius:var(--border-radius);font-size:.9rem;font-weight:bold}
.price{font-size:2.5rem;font-weight:bold;color:var(--accent-orange);margin:1rem 0}
.price-features{list-style:none;margin:1.5rem 0}
.price-features li{padding:.5rem 0;border-bottom:1px solid #eee}
.price-features li:before{content:'✓';color:var(--primary-green);font-weight:bold;margin-right:.5rem}

/* FORM */
.order-form{background:var(--secondary-cream)}
.form-container{max-width:600px;margin:0 auto;background:white;padding:3rem;border-radius:var(--border-radius);box-shadow:var(--shadow);animation:fadeInUp .8s ease}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;margin-bottom:.5rem;font-weight:bold;color:var(--text-dark)}
.form-group input,.form-group select{width:100%;padding:1rem;border:2px solid #ddd;border-radius:var(--border-radius);font-size:1rem;transition:border-color .3s ease}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(164,222,2,0.1)}
.checkbox-group{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0}
.checkbox-group input[type="checkbox"]{width:auto;margin-top:.2rem}
.checkbox-group label{font-weight:normal;font-size:.9rem;line-height:1.4}

/* COOKIE POPUP */
.cookie-popup{position:fixed;bottom:2rem;left:2rem;right:2rem;background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);z-index:2000;border:2px solid var(--primary-green);animation:fadeInUp .5s ease}
.cookie-popup h3{color:var(--accent-orange);margin-bottom:1rem}
.cookie-popup p{margin-bottom:1.5rem;font-size:.9rem}
.cookie-actions{display:flex;gap:1rem;flex-wrap:wrap}
.cookie-actions .btn{padding:.8rem 1.5rem;font-size:.9rem}

/* CONTACT SECTION */
.contact-section{background:var(--secondary-cream)}
.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:2rem}
.contact-image{position:relative}
.contact-image img{width:100%;max-width:400px;height:auto;border-radius:var(--border-radius);box-shadow:var(--shadow);transition:transform .3s ease}
.contact-image:hover img{transform:scale(1.02)}
.contact-info{background:white;padding:2.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow)}
.contact-item{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}
.contact-item:last-child{border-bottom:none;margin-bottom:0}
.contact-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-green),var(--accent-aqua));border-radius:50%;flex-shrink:0}
.contact-details h3{color:var(--accent-orange);margin-bottom:0.5rem;font-size:1.1rem}
.contact-details p{margin:0;line-height:1.5}
.contact-details a{color:var(--text-dark);text-decoration:none;transition:color .3s ease}
.contact-details a:hover{color:var(--accent-orange)}

/* FOOTER */
.footer{background:var(--text-dark);color:var(--secondary-cream);padding:3rem 0 1rem}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}
.footer-section h3{color:var(--primary-green);margin-bottom:1rem}
.footer-section p,.footer-section a{color:var(--secondary-cream);text-decoration:none;line-height:1.8;transition:color .3s ease}
.footer-section a:hover{color:var(--accent-orange)}
.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid #333;font-size:.9rem}

/* UTILITIES */
.text-center{text-align:center}
.mb-2{margin-bottom:2rem}
.mt-2{margin-top:2rem}
.highlight{background:linear-gradient(120deg,var(--primary-green) 0%,var(--accent-aqua) 100%);background-repeat:no-repeat;background-size:100% .2em;background-position:0 88%;padding:.2em 0}
.organic-shape{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:wave 8s ease-in-out infinite}

/* LOADING */
.loading{opacity:.7;pointer-events:none;position:relative}
.loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--primary-green);border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}

/* RESPONSIVE */
@media (max-width:768px){
.mobile-menu-toggle{display:flex}
.nav-menu{position:absolute;top:100%;left:0;right:0;background:var(--secondary-cream);flex-direction:column;padding:1rem 2rem;box-shadow:var(--shadow);border-radius:0 0 var(--border-radius) var(--border-radius);display:none;z-index:999}
.mobile-menu-checkbox:checked ~ .nav-menu{display:flex}
.nav-menu a{padding:0.8rem 1rem;border-bottom:1px solid #eee;width:100%}
.nav-menu a:last-child{border-bottom:none}
.hero h1{font-size:2.5rem}
.section-title{font-size:2rem}
.benefits-grid,.gallery-grid,.testimonials-grid,.pricing-grid{grid-template-columns:1fr}
.cookie-popup{left:1rem;right:1rem}
.cookie-actions{justify-content:center}
.contact-wrapper{grid-template-columns:1fr;gap:2rem}
.contact-image{order:2}
.contact-info{order:1}
.testimonial-author{flex-direction:column;align-items:flex-start;gap:0.5rem}
}
@media (max-width:480px){
.container{padding:0 1rem;max-width:100%;overflow-x:hidden}
.hero{padding:2rem 0}
.hero h1{font-size:2rem}
.section{padding:2rem 0}
.form-container{padding:2rem 1rem}
.cookie-actions{flex-direction:column}
.nav-container{padding:0 1rem}
.contact-info{padding:1.5rem}
.contact-item{flex-direction:column;text-align:center;gap:1rem}
.contact-icon{margin:0 auto}
.wave-divider::after{display:none}
} 