.firma-table {
  width: 100%;
  max-width: 860px;
  font-family: Helvetica, sans-serif;
  color: #656567;
  box-shadow: 0 0 10px #AAAAAA;
  border: 1px solid #E3E3E3;
  border-collapse: collapse;
}

/* Riga superiore: verde + foto agente */
.firma-top { /* nessuna altezza fissa, si adatta al contenuto */ }

.firma-left {
  width: 60%;
  background: #C1DB8C;
  padding: 5px;
  text-align: left;
}

.firma-left img,
.firma-left td img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Foto agente a destra, stesso verde, nome sotto */
.firma-center {
  width: 40%;
  background: #C1DB8C;
  text-align: left;
  padding-right: 5px;
  padding-bottom: 10px;
}

.firma-center img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0;
}

.firma-center span {
  display: block;
  margin-top: -14px;  /* valore che hai trovato corretto */
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

/* Blocco sotto centrato */
.firma-right-container {
  width: 60%;
  margin: 0 auto;
  background: #FFFFFF;
  padding: 10px;
  text-align: center;
}

.firma-right-container a {
  color: #135528;
  text-decoration: none;
}

.social-table td {
  padding: 5px;
}

/* QR in basso a sinistra, dimensione controllata */
.firma-qr-bottom img {
  width: 90px;      /* dimensione “umana” */
  max-width: 100%;
  height: auto;
}

/* Mobile */
@media (max-width: 768px) {
  .firma-left { width: 60%; }
  .firma-center { width: 40%; }

  .firma-left img { max-width: 100%; height: auto; }
  .firma-center img { max-width: 100%; height: auto; }

  .firma-center span { font-size: 16px; }

  .firma-right-container {
    width: 90%;
    padding: 5px;
    font-size: 14px;
  }

  .firma-qr-bottom img {
    width: 70px;  /* un filo più piccolo su smartphone */
  }
}