/* Strumenti gratuiti pubblici (calcolatore del ravvedimento, 15/10/2026). */
.strumento { max-width: 1120px; margin: 0 auto; padding: 32px 24px 64px; }
.strumento h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.15; margin: 0 0 24px; }
.strumento-griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.strumento-dati, .strumento-esito, .strumento-scarica { background: var(--bianco, #fff); border: 1px solid var(--linea); border-radius: var(--ui-raggio, 12px); padding: 24px; }
.strumento-dati { display: grid; gap: 16px; }
.strumento-dati label, .strumento-scarica label { display: grid; gap: 6px; font-weight: 600; }
.strumento-dati :is(input, select), .strumento-scarica input[type=email] { min-height: 48px; font-size: 16px; width: 100%; min-width: 0; box-sizing: border-box; }
.strumento-coppia > label { min-width: 0; }
.strumento-coppia { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.strumento-vuoto { color: var(--ui-testo-tenue, #667085); margin: 0; }
.strumento-totale { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 16px; }
.strumento-totale b { font-size: 32px; }
.strumento-voci { margin: 0 0 16px; display: grid; gap: 8px; }
.strumento-voci div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--linea); padding-bottom: 8px; }
.strumento-voci dd { margin: 0; font-weight: 600; text-align: right; }
.strumento-f24 { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.strumento-f24 :is(th, td) { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--linea); }
.strumento-f24 td:last-child, .strumento-f24 th:last-child { text-align: right; }
.strumento-blocco p { margin: 0 0 8px; }
.strumento-destra { display: grid; gap: 24px; min-width: 0; }
.strumento-scarica { display: grid; gap: 12px; }
.strumento-scarica h2 { margin: 0; }
.strumento-scarica p { margin: 0; }
.strumento-consenso { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; line-height: 1.45; font-size: 14px; }
.strumento-scarica .strumento-consenso span { display: block; line-height: 1.45 !important; margin: 0; padding: 0; }
.strumento-consenso input { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 1px 0 0; }
@media (max-width: 760px) {
  .strumento { padding: 20px 16px 48px; }
  .strumento-griglia, .strumento-coppia { grid-template-columns: 1fr; }
  .strumento-dati, .strumento-esito, .strumento-scarica { border: 0; padding: 0; background: none; }
  .strumento .btn-pieno { width: 100%; }
}
