/* A schermo l'area di stampa e' nascosta (tranne nella pagina di anteprima). */
#area-stampa { display: none; }
body.anteprima #area-stampa { display: block; }
body.anteprima .foglio { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.18); margin: 1rem auto; }

@page { size: A4 portrait; margin: 0; }

@media print {
  html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body > *:not(#area-stampa) { display: none !important; }
  #area-stampa { display: block !important; }
  body.anteprima .foglio { box-shadow: none; margin: 0; }
}

/* Stile della ricevuta (valido a schermo per l'anteprima e in stampa) */
#area-stampa, #area-stampa * {
  box-sizing: border-box;
  color: #0e0e0e;
  font-family: "Jost", "Segoe UI", Arial, sans-serif;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}

/* 2 x 148mm = 296mm < 297mm: nessuna pagina extra */
.foglio { width: 210mm; height: 296mm; overflow: hidden; page-break-after: avoid; break-after: avoid; }

.ricevuta {
  width: 210mm; height: 148mm; overflow: hidden;
  padding: 8mm 12mm 7mm; font-size: 9pt; line-height: 1.3;
  display: flex; flex-direction: column; gap: 1.6mm;
  page-break-inside: avoid; break-inside: avoid;
}
.ricevuta:first-child { border-bottom: 0.3mm dashed #888; } /* linea di taglio */

/* Testata */
.rc-top { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 2.5mm; border-bottom: 0.5mm solid #0e0e0e; }
.rc-marchio { font-size: 15pt; font-weight: 600; letter-spacing: 0.9pt; text-transform: uppercase; line-height: 1; white-space: nowrap; }
.rc-marchio .e { color: #ec048d !important; text-transform: none; font-weight: 500; margin: 0 0.6pt; }
.rc-pv { font-size: 8pt; color: #555 !important; margin-top: 1.3mm; letter-spacing: 0.3pt; }
.rc-titolo { text-align: right; }
.rc-titolo .t { font-size: 12pt; font-weight: 500; letter-spacing: 2.2pt; text-transform: uppercase; }
.rc-copia { display: inline-block; margin-top: 1.3mm; font-size: 7.5pt; font-weight: 600; letter-spacing: 1.2pt; text-transform: uppercase; border: 0.3mm solid #0e0e0e; padding: 0.6mm 2.2mm; }
.ristampa { display: inline-block; margin-left: 1.5mm; font-size: 7.5pt; font-weight: 600; letter-spacing: 1.2pt; color: #fff !important; background: #0e0e0e !important; padding: 0.9mm 2.2mm; }

/* Griglia dati: etichetta piccola sopra, valore sotto */
.rc-dati { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4mm 5mm; padding: 1.5mm 0; border-bottom: 0.2mm solid #ccc; }
.rc-dati.tre { grid-template-columns: 2fr 1fr 1fr; }
.rc-et { display: block; font-size: 6.5pt; font-weight: 500; letter-spacing: 0.9pt; text-transform: uppercase; color: #666 !important; }
.rc-v { display: block; font-size: 9.5pt; min-height: 4mm; }

.rc-riga { display: flex; flex-wrap: wrap; gap: 1mm 6mm; align-items: baseline; padding: 1.2mm 0; border-bottom: 0.2mm solid #ccc; }
.rc-riga > .rc-et { display: inline-block; min-width: 31mm; }
.opz { white-space: nowrap; margin-right: 2mm; }
.chk { font-size: 10.5pt; }

/* Importo in evidenza */
.rc-importo { display: flex; align-items: stretch; border: 0.4mm solid #0e0e0e; }
.rc-importo .cifre-box { padding: 1.6mm 4mm; border-right: 0.4mm solid #0e0e0e; min-width: 48mm; }
.rc-importo .rc-cifre { font-size: 15pt; font-weight: 600; letter-spacing: 0.3pt; }
.rc-importo .lettere-box { padding: 1.6mm 4mm; flex: 1; }
.rc-importo .rc-lettere { font-style: italic; font-size: 9.5pt; }

.rc-fin { display: grid; grid-template-columns: auto repeat(4, 1fr); gap: 1mm 5mm; align-items: end; background: #f3f3f3 !important; padding: 1.6mm 3mm; border-left: 0.8mm solid #0e0e0e; }
.rc-fin .tit { font-size: 7.5pt; font-weight: 600; letter-spacing: 1.2pt; text-transform: uppercase; align-self: center; }

.rc-firme { display: flex; justify-content: space-between; gap: 20mm; margin-top: auto; }
.firma { flex: 1; border-top: 0.3mm solid #0e0e0e; padding-top: 1mm; text-align: center; height: 12mm; }
