/* Stili personalizzati per il sito */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.6;
}

/* Animazioni smooth */
.fade-in {
  animation: fadeIn 0.8s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Logo gomitolo animato */
.logo-thread {
  transition: transform 0.3s ease;
}

.logo-thread:hover {
  transform: rotate(360deg);
}

/* Card hover effects */
.service-card, .info-card {
  transition: all 0.3s ease;
}

.service-card:hover, .info-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(139, 168, 136, 0.2);
}

/* Buttons */
.btn-primary {
  background: linear-gradient(135deg, #8ba888 0%, #6d8a6d 100%);
  transition: all 0.3s ease;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(139, 168, 136, 0.3);
}

/* Navigation smooth */
nav a {
  position: relative;
}

nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #8ba888;
  transition: width 0.3s ease;
}

nav a:hover::after {
  width: 100%;
}

/* Sections spacing */
section {
  scroll-margin-top: 80px;
}

/* Responsive images */
img {
  max-width: 100%;
  height: auto;
}

/* Form styling */
input, textarea {
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

input:focus, textarea:focus {
  outline: none;
  border-color: #8ba888;
  box-shadow: 0 0 0 3px rgba(139, 168, 136, 0.1);
}

/* Mobile menu */
@media (max-width: 768px) {
  .mobile-menu {
    transition: max-height 0.3s ease;
  }
}
