* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family:'Inter', sans-serif;
  background:#0d0d0d;
  color:#eaeaea;
  line-height:1.8;
  overflow:hidden;
  -webkit-overflow-scrolling: touch;
}

h1 { font-family:'Playfair Display', serif; }

/* SEZIONI */
.section {
  position:relative;
  min-height:80vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:80px 10%;
  background-size:75% auto;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#000;
  opacity:0;
  transform:translateY(60px);
  transition:all 2s ease;
  margin-bottom:40px;
  border-radius:10px;
}

.section.visible {
  opacity:1;
  transform:translateY(0);
}

.hero { min-height:100vh; }

/* DISABILITA FIXED SU MOBILE */
@media (hover: none) {
  .section {
    background-attachment: scroll;
  }
}

/* OVERLAY */
.overlay {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.65);
  border-radius:10px;
}

/* TESTO */
.text-box {
  position:relative;
  z-index:2;
  background:rgba(0,0,0,0.88);
  padding:45px;
  border-radius:15px;
  max-width:480px;
  font-size:1.3rem;
  opacity:0;
  transform:translateY(30px);
  transition:all 1.6s ease;
}

.text-box.show {
  opacity:1;
  transform:translateY(0);
  box-shadow:0 0 40px rgba(255,255,255,0.08);
}

.center { text-align:center; }
.left .text-box { margin-right:20%; }
.right .text-box { margin-left:20%; text-align:right; }

.quote {
  font-size:2rem;
  font-style:italic;
  color:#b5b5b5;
}

/* FOOTER */
footer {
  text-align:center;
  padding:50px;
  font-size:1rem;
  color:#777;
}

/* SCELTA MUSICA */
#music-choice {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.96);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.choice-box {
  background:rgba(0,0,0,0.9);
  padding:40px;
  border-radius:15px;
  text-align:center;
  max-width:90%;
}

.choice-box p {
  font-size:1.2rem;
  margin-bottom:25px;
}

.choice-box button {
  width:100%;
  max-width:260px;
  margin:8px auto;
  padding:14px;
  font-size:1.05rem;
}

/* PULSANTE MUTO */
#mute-btn {
  position:fixed;
  bottom:18px;
  right:18px;
  z-index:999;
  background:rgba(0,0,0,0.75);
  border:1px solid #777;
  color:#fff;
  font-size:1.2rem;
  padding:12px 16px;
  border-radius:50%;
  cursor:pointer;
  opacity:0.7;
}

/* ===== MOBILE ===== */
@media screen and (max-width:768px) {
  body { overflow:hidden; }

  .section {
    padding:60px 6%;
    min-height:90vh;
    background-size:cover;
    margin-bottom:25px;
  }

  .text-box {
    max-width:95%;
    padding:30px;
    font-size:1.15rem;
    margin:auto !important;
    text-align:left !important;
  }

  .quote {
    font-size:1.5rem;
    text-align:center;
  }

  h1 { font-size:2.2rem; }
}
