*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
nav{
  background: #fff;
  z-index: 3;
}
nav:after{
  content: '';
  clear: both;
  display: table;
  z-index: 3;
}
nav .logo{
  float: left;
  color: white;
  font-size: 27px;
  font-weight: 600;
  line-height: 70px;
  padding-left: 60px;
  z-index: 3;
}
nav ul{
  float: right;
  margin-right: 40px;
  list-style: none;
  position: relative;
  z-index: 3;
}
nav ul li{
  float: left;
  display: inline-block;
  margin: 0 5px;
  z-index: 3;
  background-color: #fff;
}
nav ul li a{
  color: #000;
  line-height: 100px;
  text-decoration: none;
  font-size: 20px;
  padding: 8px 15px;
  z-index: 3;
}
nav ul li a:hover{
  color: #e63222;
  border-radius: 5px;
  box-shadow:  0 0 5px #e63222,
               0 0 10px #e63222;
               z-index: 3;
}
nav ul ul li a:hover{
  box-shadow: none;
  z-index: 3;
}
nav ul ul{
  position: absolute;
  top: 90px;
  border-top: 3px solid #e63222;
  opacity: 0;
  visibility: hidden;
  transition: top .3s;
  z-index: 3;
}
nav ul ul ul{
  border-top: none;
  z-index: 3;
}
nav ul li:hover > ul{
  top: 70px;
  opacity: 1;
  visibility: visible;
  z-index: 3;
}
nav ul ul li{
  position: relative;
  margin: 0px;
  width: 250px;
  float: none;
  display: list-item;
  border-bottom: 1px solid rgba(0,0,0,0.3);
  z-index: 3;
}
nav ul ul li a{
  line-height: 50px;
  z-index: 3;
}
nav ul ul ul li{
  position: relative;
  top: -60px;
  left: 150px;
  z-index: 3;
}
.show,.icon,input{
  display: none;
  z-index: 3;
}
.fa-plus{
  font-size: 15px;
  margin-left: 40px;
  z-index: 3;
}
@media all and (max-width: 968px) {
  nav ul{
    margin-right: 0px;
    float: left;
  }
  nav .logo{
    padding-left: 30px;
    width: 100%;
  }
  .show + a, ul{
    display: none;
  }
  nav ul li,nav ul ul li{
    display: block;
    width: 100%;
  }
  nav ul li a:hover{
    box-shadow: none;
  }
  .show{
    display: block;
    color: #000;
    font-size: 18px;
    padding: 0 20px;
    line-height: 70px;
    cursor: pointer;
  }
  .show:hover{
    color: #e63222;
  }
  .icon{
    display: block;
    color: #000;
    position: absolute;
    top: 0;
    right: 40px;
    line-height: 70px;
    cursor: pointer;
    font-size: 25px;
    margin-top: 25px
  }
  nav ul ul{
    top: 70px;
    border-top: 0px;
    float: none;
    position: static;
    display: none;
    opacity: 1;
    visibility: visible;
  }
  nav ul ul a{
    padding-left: 40px;
  }
  nav ul ul ul a{
    padding-left: 80px;
  }
  nav ul ul ul li{
    position: static;
  }

  [id^=btn]:checked + ul{
    display: block;
  }

  nav ul ul li{
    border-bottom: 0px;
  }
  span.cancel:before{
    content: '\f00d';
  }
}
.content{
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
}
header{
  font-size: 35px;
  font-weight: 600;
  padding: 10px 0;
}

@media screen and (max-width: 768px) {
    /* 1. Assicuriamoci che la nav abbia un'altezza definita */
    nav {
        height: 70px !important;
        display: flex;
        align-items: center; /* Centra verticalmente il contenuto */
        justify-content: space-between; /* Spinge logo a sinistra e icona a destra */
        padding: 0 20px !important;
    }

    /* 2. Il logo */
    .header__logo {
        display: flex;
        align-items: center;
        height: 100%;
    }

    .header__image {
        height: 40px !important; /* Dimensione logo mobile */
        width: auto !important;
        margin: 0 !important; /* Togliamo margini manuali */
    }

    /* 3. L'ICONA HAMBURGER (Il pezzo che ti serve) */
    .icon {
        display: block;
        height: 70px;      /* Deve essere alta quanto la nav */
        line-height: 70px; /* Centra l'icona di testo verticalmente */
        margin: 0 !important;
        position: absolute; 
        right: 20px;
        top: 0;            /* Parte dall'inizio per sfruttare il line-height */
        font-size: 28px;   /* Dimensione dell'icona */
        cursor: pointer;
    }
    
nav ul {
        position: fixed;
        top: 70px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 70px);
        
        /* FORZA LO SFONDO BIANCO */
        background: #ffffff !important; 
        
        display: block;
        transition: all 0.3s ease;
        overflow-y: auto; 
        padding-top: 10px;
        padding-bottom: 80px;
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.1);
    }

    /* Le voci del menu come "mini card" */
nav ul li {
        width: 100%;
        background: transparent !important; /* Toglie eventuale blu dai contenitori */
        }

nav ul li a {
        background: transparent !important; /* Toglie il blu dallo sfondo del link */
        color: #333 !important;             /* Testo scuro */
        display: block;
        padding: 15px 25px;
        font-weight: 600;
        border-left: 0px solid #d32f2f;
        border-bottom: 1px solid #eee;      /* Separatore leggero tra le voci */
    }

/* Effetto 'Evidenza' (Stile Card) al tocco */
    nav ul li a:hover, 
    nav ul li a:active {
        background: #fffcfc !important;     /* Sfondo chiarissimo */
        color: #d32f2f !important;          /* Testo rosso */
        border-left: 8px solid #d32f2f !important; /* Fascia rossa stile card */
    }

    #btn:checked ~ ul {
        left: 0;
    }
}