/* Pagine legali menù digitale — scoped .vm-legal-page */

.vm-legal-page {

  margin: 0;

  min-height: 100vh;

  color: inherit;

  background: inherit;

}



.vm-legal-wrap {

  max-width: 44rem;

  margin: 0 auto;

  padding: 1.15rem 1.1rem calc(2rem + env(safe-area-inset-bottom, 0px));

}



.vm-legal-topbar {

  margin-bottom: 1rem;

}



.vm-legal-back {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  width: 100%;

  max-width: 100%;

  margin: 0;

  padding: 0.65rem 1rem;

  text-decoration: none;

  box-sizing: border-box;

  font-size: 0.86rem;

}



.vm-legal-back i {

  font-family: "Font Awesome 5 Free", "FontAwesome";

  font-weight: 900;

}



.vm-legal-header {

  margin-bottom: 1.15rem;

  text-align: center;

  padding: 0 0.35rem;

}



.vm-legal-page-title {

  font-size: 1.2rem;

  line-height: 1.3;

  margin-bottom: 0.45rem;

}



.vm-legal-page-sub {

  font-size: 0.84rem;

  line-height: 1.55;

  opacity: 0.82;

  margin: 0 auto;

  max-width: 36rem;

}



.vm-legal-page .vm-legal-card {

  margin-bottom: 1.25rem;

  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.1);

  border-radius: 0.65rem;

  overflow: hidden;

}



.vm-legal-page .vm-legal-card .vm-legal-card-body,

.vm-legal-page .vm-legal-card .card-body.vm-legal-card-body {

  padding: 1.35rem 1.25rem 1.5rem;

}



.vm-legal-section {

  margin-bottom: 1.35rem;

  padding-bottom: 1.1rem;

  border-bottom: 1px solid rgba(48, 22, 28, 0.14);

}



.vm-legal-section:last-child {

  margin-bottom: 0;

  padding-bottom: 0;

  border-bottom: 0;

}



.vm-legal-section-title {

  font-size: 0.94rem;

  line-height: 1.35;

  margin-bottom: 0.65rem;

}



.vm-legal-section-body {

  font-size: 0.84rem;

  line-height: 1.62;

}



.vm-legal-section-body p {

  margin-bottom: 0.75rem;

}



.vm-legal-section-body p:last-child {

  margin-bottom: 0;

}



.vm-legal-list {

  margin: 0 0 0.75rem;

  padding-left: 1.35rem;

}



.vm-legal-list li {

  margin-bottom: 0.5rem;

  line-height: 1.55;

}



.vm-legal-list li:last-child {

  margin-bottom: 0;

}



.vm-legal-bottom {

  display: flex;

  flex-direction: column;

  gap: 0.85rem;

  align-items: stretch;

  padding-top: 0.25rem;

}



.vm-legal-brand {

  text-align: center;

  font-size: 0.72rem;

  line-height: 1.45;

  opacity: 0.65;

  margin: 0;

  padding: 0 0.5rem;

}



.vm-legal-brand a,
.vm-legal-brand a:visited {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  cursor: pointer;
}

.vm-legal-brand a:hover,
.vm-legal-brand a:focus-visible {
  color: inherit;
  opacity: 0.85;
}

.vm-legal-page .vm-legal-section-body a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.vm-legal-page .vm-legal-section-body a:visited {
  color: inherit;
}

.vm-legal-page .vm-legal-section-body a:hover,
.vm-legal-page .vm-legal-section-body a:focus-visible {
  color: inherit;
  opacity: 0.85;
}



@media (min-width: 768px) {

  .vm-legal-wrap {

    padding: 1.5rem 1.5rem calc(2.25rem + env(safe-area-inset-bottom, 0px));

  }



  .vm-legal-page-title {

    font-size: 1.35rem;

  }



  .vm-legal-page .vm-legal-card .vm-legal-card-body,

  .vm-legal-page .vm-legal-card .card-body.vm-legal-card-body {

    padding: 1.85rem 2.1rem 2rem;

  }



  .vm-legal-section-body {

    font-size: 0.88rem;

  }

}

