/* Reset base */

* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}







.sfondo {

  background-image: url('Sfondo2.png');

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;



  display: flex;

  align-items: center;

  justify-content: center;



  min-height: 70vh; /* Lo sfondo copre tutta l'altezza dello schermo */

  padding: 2rem; /* Spazio interno se serve */

}





.content {

  background-color: rgba(255, 255, 255, 0.9);

  padding: 3rem 4rem;          /* più spazio interno */

  border-radius: 10px;

  max-width: 1000px;           /* più larga */

  width: 90%;                  /* per adattarsi anche a schermi piccoli */

  text-align: center;

  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);

  font-size: 1.1rem;           /* testo leggermente più grande */

  line-height: 1.6;

}







body {

  font-family: 'Segoe UI', sans-serif;

  background-color: #2B3547;

  color: #1a1a1a;

  line-height: 1.6;

}





:root {

  --blu-scuro: #003366;

  --verde-accento: #3cb371;

  --bianco: #ffffff;

  --grigio-chiaro: #e0e0e0;

}





header {

  background-color: var(--bianco);

  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);

  position: sticky;

  top: 0;

  z-index: 1000;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0.5rem 1.5rem; 

}



header .logo img {

  height: 45px; 

}



nav a {

  color: var(--blu-scuro);

  text-decoration: none;

  margin: 0 8px; 

  font-weight: 500;

  transition: color 0.3s;

  font-size: 16px; 

}



nav a:hover {

  color: var(--verde-accento);

}



.nav-divider {

  color: var(--blu-scuro);

  margin: 0 4px; 

}





/* Sezioni contenuto */

.content,

.sectors,

#innovazione {

  padding: 2rem 4%;

  max-width: 1200px;

  margin: auto;

}



.sectors h2 {

  font-size: 2rem;

  color: #ffffff;

  margin-bottom: 2rem;

}



h1,h2,h3 {

  color: var(--blu-scuro);

}



.sectors-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

  gap: 1.5rem;

}



.sector-group {

  background-color: #ffffff;

  border: 1px solid #ddd;

  padding: 1.5rem;

  border-radius: 12px;

  box-shadow: 0 4px 12px rgba(0,0,0,0.05);

  display: flex;

  flex-direction: column;

  height: 100%;

  opacity: 0;

  transform: translateY(30px);

  transition: opacity 0.6s ease-out, transform 0.6s ease-out;

}



.sector-group.visible {

  opacity: 1;

  transform: translateY(0);

}



.sector-text {

  display: flex;

  flex-direction: column;

  height: 100%;

}



.sector-text ul li {

  margin-bottom: 0.5rem;

  font-size: 0.95rem;

}



.sector-text h3 {

  font-size: 1.25rem;

  margin-bottom: 1rem;

  color: #2B3547;

}



.sector-text ul {

  flex-grow: 1;

  overflow-y: auto;

  max-height: 300px;

  padding-left: 1rem;

  padding-right: 1.7rem;

  list-style-type: disc;

  color: #333;

}



.sector-text ul li {

  margin-bottom: 0.6rem;    

  font-size: 1rem;             

  line-height: 1.5;            

  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 

  color: #1a1a1a;             

  letter-spacing: 0.02em;      

  font-weight: 400;            

}





.innovazione-images img,

.innovazione-images1 img {

  width: 100%;

  max-width: 500px;

  border-radius: 10px;

  margin: 1rem auto;

  display: block;

  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

}



/* Footer */

footer {

  background-color: var(--bianco);

  color: var(--blu-scuro);

  padding: 2rem 4%;

  border-top: 1px solid var(--grigio-chiaro);

}



.footer-content {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  gap: 2rem;

  max-width: 1200px;

  margin: auto;

}



.footer-left,

.footer-center,

.footer-right {

  flex: 1 1 250px;

}



.footer-left p,

.footer-center p {

  margin-bottom: 0.5rem;

}



.footer-left i,

.footer-center i {

  margin-right: 8px;

  color: var(--verde-accento);

}



.footer-left a {

  color: var(--blu-scuro);

  text-decoration: underline;

}



.footer-images img {

  height: 50px;

  margin-right: 10px;

}



/* Nascondi header su scroll */

.hide-nav {

  transform: translateY(-100%);

  transition: transform 0.3s ease;

}



.content {

  background-color: #fffffff6; /* Azzurro tecnico molto chiaro */

  border-left: 6px solid var(--verde-accento);

  padding: 3rem 4%;

  border-radius: 8px;

  margin: 2rem auto;

  max-width: 1000px;

  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);

  animation: fadeInUp 1s ease-in-out both;

}



.content h1 {

  font-size: 2.5rem;

  text-align: center;

  color: var(--blu-scuro);

  margin-bottom: 1rem;

  position: relative;

}



.content h1::after {

  content: '';

  display: block;

  width: 60px;

  height: 4px;

  background-color: var(--verde-accento);

  margin: 0.5rem auto 0;

  border-radius: 2px;

}



.content p {

  font-size: 1.2rem;

  text-align: justify;

  color: #333;

}



/* Animazione fade-in */

@keyframes fadeInUp {

  from {

    opacity: 0;

    transform: translateY(40px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}





.innovazione-images-wrapper {

  display: grid;

  grid-template-columns: 2fr 1fr;

  gap: 2rem;

  align-items: center;

  margin-top: 2rem;

  flex-wrap: wrap;

}



.innovazione-images-wrapper img {

  width: 100%;

  height: auto;

  border-radius: 12px;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);

  transition: transform 0.3s ease;

}



.innovazione-images-wrapper img:hover {

  transform: scale(1.03);

}





.carpenterie {

  position: relative;

  width: 100vw;

  background: white;

  padding: 3rem 6%;

  border-left: 6px solid #3cb371;

  box-sizing: border-box;

  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);

}











.full-width-wrapper {

  width: 100vw;

  margin-left: calc(-50vw + 50%);

  padding: 0 4%;

  margin-top: 2rem;

  box-sizing: border-box;

}





.sectors h2::after {

  content: "";

  display: block;

  width: 60px;

  height: 4px;

  background-color: #00cc66; /* un verde in linea con il tuo tema */

  margin-top: 8px;

}