/* Stile generale */body {  margin: 0;  font-family: 'Segoe UI', sans-serif;  background-color: #121212;  color: #f0f0f0;}/* Header */header {  background-color: #1e1e1e;  padding: 1.5rem;  text-align: center;  border-bottom: 1px solid #333;}.logo h1 {  margin: 0;  font-size: 2rem;  color: #ffffff;}/* Navigazione */nav {  margin-top: 1rem;}nav a {  margin: 0 1rem;  text-decoration: none;  color: #bbbbbb;  transition: color 0.3s;}nav a:hover,nav a.active {  color: #ffffff;}/* Filtri */#filtri {  display: flex;  flex-wrap: wrap;  justify-content: center;  gap: 0.5rem;  margin: 2rem 1rem;}#filtri button {  background-color: #2a2a2a;  color: #f0f0f0;  border: 1px solid #444;  padding: 0.5rem 1rem;  cursor: pointer;  border-radius: 4px;  transition: background 0.3s;}#filtri button:hover,#filtri button.attivo {  background-color: #444;}/* Galleria */.griglia {  display: grid;  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));  gap: 1rem;  padding: 1rem;}.griglia img {  width: 100%;  height: auto;  border: 2px solid #333;  border-radius: 6px;  cursor: pointer;  transition: transform 0.2s;}.griglia img:hover {  transform: scale(1.02);}/* Contatti */.contatti-container {  max-width: 600px;  margin: 2rem auto;  padding: 1rem;  background-color: #1e1e1e;  border-radius: 8px;  box-shadow: 0 0 10px #000;  color: #eee;}.contatti-container h2 {  text-align: center;  margin-bottom: 1.5rem;}.contatti-container form {  display: flex;  flex-direction: column;  gap: 1rem;}.contatti-container label {  font-weight: 600;}.contatti-container input,.contatti-container textarea {  background-color: #2a2a2a;  border: 1px solid #444;  border-radius: 4px;  padding: 0.5rem;  color: #eee;  font-size: 1rem;  resize: vertical;}.contatti-container input:focus,.contatti-container textarea:focus {  outline: none;  border-color: #888;}.contatti-container button {  background-color: #444;  color: #eee;  border: none;  padding: 0.75rem;  font-size: 1rem;  cursor: pointer;  border-radius: 4px;  transition: background-color 0.3s;}.contatti-container button:hover {  background-color: #666;}.info-contatti {  margin-top: 2rem;  text-align: center;  font-size: 1rem;}.info-contatti a {  color: #bbb;  text-decoration: none;  font-weight: 600;}.info-contatti a:hover {  color: #eee;  text-decoration: underline;}.hero {  position: relative;  height: 60vh;  background-image: url('sfondo.jpg'); /* Cambialo con il nome del tuo file immagine */  background-size: cover;  background-position: center;  display: flex;  justify-content: center;  align-items: center;  text-align: center;}.hero .overlay {  position: absolute;  inset: 0;  background-color: rgba(0, 0, 0, 0.4); /* oscuramento trasparente */  z-index: 1;}.hero-content {  position: relative;  z-index: 2;  color: white;  padding: 2rem;}.hero h2 {  font-size: 2.5rem;  margin-bottom: 1rem;}.hero p {  font-size: 1.2rem;  margin-bottom: 2rem;}.btn {  display: inline-block;  padding: 0.8rem 1.6rem;  background: #b33636;  color: white;  text-decoration: none;  font-weight: bold;  border-radius: 30px;  box-shadow: 0 4px 10px rgba(0,0,0,0.4);  transition: background 0.3s ease;}.btn:hover {  background: #911f1f;}.contatti-social {  margin-top: 2rem;  text-align: center;}.contatto-link {  display: inline-block;  margin: 0.5rem 0;  font-size: 1.1rem;  color: #ddd;  text-decoration: none;  transition: color 0.3s ease;}.contatto-link i {  margin-right: 8px;  color: #fff;}.contatto-link:hover {  color: #fff;  text-decoration: underline;}.social-buttons {  display: flex;  justify-content: center;  gap: 1rem;  margin-top: 2rem;}.social-btn {  display: inline-flex;  align-items: center;  justify-content: center;  width: 48px;  height: 48px;  border-radius: 50%;  font-size: 1.5rem;  color: white;  background-color: #444;  transition: background-color 0.3s, transform 0.2s;  text-decoration: none;}.social-btn:hover {  transform: scale(1.1);}.social-btn.email { background-color: #6c757d; }.social-btn.facebook { background-color: #3b5998; }.social-btn.instagram { background-color: #d6249f; }.bio-container {  padding: 1rem;  display: flex;  flex-direction: column;  align-items: center;}/* Lightbox ottimizzato per swipe */#lightbox {  position: fixed;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: rgba(20, 20, 20, 0.95);  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  padding: 0rem;  z-index: 1000;}#lightbox.nascosto {  display: none;}.lightbox-contenuto {  max-width: 95%;  max-height: 90%;  display: flex;  flex-direction: column;  align-items: center;}#lightbox-titolo {  color: #fff;  font-size: 1.6rem;  margin-bottom: 0.8rem;  text-align: center;}#lightbox-img {  max-width: 100%;  max-height: 70vh;  object-fit: contain;  cursor: grab;  transition: transform 0.2s ease;}#lightbox-img:active {  cursor: grabbing;}#lightbox-descrizione {  color: #ccc;  font-size: 1rem;  margin-top: 0.8rem;  text-align: center;  max-width: 90%;}#chiudi {  position: absolute;  top: 1rem;  right: 1rem;  font-size: 2rem;  color: #fff;  cursor: pointer;  background: rgba(0,0,0,0.4);  border-radius: 50%;  padding: 0.2rem 0.6rem;  transition: background 0.3s;}#chiudi:hover {  background: rgba(255,255,255,0.2);}/* Frecce lightbox */.freccia {  position: absolute;  top: 85%;  font-size: 2rem;  color: white;  padding: 0.5rem;  cursor: pointer;  user-select: none;  transform: translateY(-50%);  background: rgba(0,0,0,0.3);  border-radius: 4px;}.freccia.sinistra {  left: 20px;}.freccia.destra {  right: 20px;}.freccia:hover {  background: rgba(0,0,0,0.6);}