/* ─── Stampa A4 landscape — Inventario Matrice ───
   Servito statico da /public per evitare che Lightning CSS (Tailwind v4)
   strappi proprietà come `size` in @page e background in @media print. */

/* Default @page: solo A4, NESSUN orientamento forzato — Chromium (Chrome/Comet)
   nasconde il selettore portrait/landscape quando `size` specifica entrambi.
   Lasciando solo "A4" l'utente sceglie l'orientamento dal print dialog. */
@page {
  size: A4;
  margin: 5mm;
}

/* Named @page per la matrice inventario, che ha bisogno di landscape per
   contenere molte colonne taglia. Attivato con `page: inventario-landscape`
   sull'elemento root della pagina. */
@page inventario-landscape {
  size: A4 landscape;
  margin: 5mm;
}


@media print {
  html, body, .min-h-screen {
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
  }

  body {
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .matrice-scroll {
    overflow: visible !important;
  }

  .matrice-grid {
    min-width: 0 !important;
    width: 100% !important;
    grid-template-columns:
      minmax(105px, 145px)
      minmax(22px, 1fr)
      repeat(var(--taglie-count), 40px)
      52px
      !important;
  }

  .matrice-grid > div {
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  /* Cella nome colore: wrap su più righe per evitare overflow/scroll
     orizzontale quando il nome è lungo (es. "ROSSO MATTONE BORDEAUX") */
  .matrice-grid .matrice-cell-colore,
  .matrice-grid .matrice-cell-colore * {
    white-space: normal !important;
    overflow:    visible !important;
    word-break:  break-word;
  }
  .matrice-grid .matrice-cell-colore .text-sm:first-child,
  .matrice-grid .matrice-cell-colore .text-base {
    font-size:  8.5pt !important;
    line-height: 1.15 !important;
  }

  .matrice-blocco {
    break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 5mm;
    box-shadow: none !important;
  }

  .matrice-grid        { font-size: 11pt; line-height: 1.25; }
  .matrice-grid > div  { padding: 4px 6px !important; }

  /* Header meta articolo (marca / modello / cod / prezzo / pz) + breadcrumb.
     Classi stabili: l'header è ora avvolto da un wrapper sticky (.matrice-sticky-header)
     per restare visibile durante lo scroll a schermo; in stampa il wrapper torna
     statico e non deve introdurre spaziature proprie. */
  .matrice-sticky-header { position: static !important; }
  .matrice-header-meta { padding: 3px 6px !important; }
  .matrice-header-meta .text-base { font-size: 10.5pt !important; }
  .matrice-header-meta .text-sm   { font-size: 9pt !important; }
  .matrice-breadcrumb  { padding: 3px 6px !important; }

  .matrice-grid .w-11 { width: auto !important; }
  .matrice-grid .h-8  { height: auto !important; min-height: 26px !important; }

  .matrice-grid .text-base { font-size: 12pt !important; }
  .matrice-grid .text-sm   { font-size: 10pt !important; }

  .matrice-grid .sticky { position: static !important; }

  .matrice-blocco,
  .matrice-blocco * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Pagina matrice inventario: applica la @page named landscape così la
     stampa parte automaticamente orizzontale (molte colonne taglia). */
  .inventario-matrice-root {
    page: inventario-landscape;
  }

  /* ─── DDT detail print ────────────────────────────────────────────────── */

  /* Root del dettaglio DDT in stampa: layout pulito, orientamento libero
     (l'utente sceglie portrait/landscape dal print dialog). */
  .ddt-print-root {
    max-width: 100% !important;
    margin: 0 !important;
    gap: 2mm !important;
  }

  /* Header stampa: logo a sinistra, numero seriale + nota trasporto a destra */
  .ddt-print-header {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 2mm !important;
  }
  .ddt-print-logo img {
    height: 9mm;
    width: auto;
    display: block;
  }
  .ddt-print-numero {
    text-align: right;
  }
  .ddt-print-numero-id {
    font-size: 14pt;
    font-weight: bold;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.1;
  }
  .ddt-print-numero-nota {
    font-size: 8pt;
    color: #555;
    margin: 0.5mm 0 0;
    line-height: 1.1;
  }

  /* Niente ombre su nessuna card della stampa DDT (incluse quelle annidate) */
  .ddt-print-root,
  .ddt-print-root * {
    box-shadow: none !important;
  }

  /* ─── Mittente / Destinatario (PartyBox) ───────────────────────────────
     Compattati in stampa per occupare meno spazio verticale. */
  .ddt-print-parties {
    gap: 2mm !important;
  }
  .ddt-print-party {
    padding: 2px 8px !important;
    border-radius: 3px !important;
  }
  .ddt-print-party-label {
    font-size: 6pt !important;
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
  }
  .ddt-print-party-nome {
    font-size: 9.5pt !important;
    line-height: 1.1 !important;
    margin-top: 0 !important;
  }
  .ddt-print-party-riga {
    font-size: 7.5pt !important;
    line-height: 1.15 !important;
    margin-top: 0 !important;
  }

  /* ─── Testata DDT ───────────────────────────────────────────────────────
     Card "Testata": in stampa rimuoviamo l'header label (ridondante) e
     compattiamo padding/gap/font dei field. */
  .ddt-print-testata {
    border-radius: 3px !important;
  }
  .ddt-print-testata-header {
    display: none !important;
  }
  .ddt-print-testata-body {
    padding: 2px 8px !important;
    gap: 0.5mm 6mm !important;
    font-size: 7.5pt !important;
  }
  .ddt-print-testata-body > div > p:first-child {
    /* label field */
    font-size: 6pt !important;
    margin-bottom: 0 !important;
    line-height: 1.05 !important;
  }
  .ddt-print-testata-body > div > p:last-child {
    /* value field */
    font-size: 8pt !important;
    line-height: 1.1 !important;
    margin-top: 0 !important;
  }

  /* Matrice DDT in stampa: stesso layout dello schermo — Colore a sinistra,
     filler 1fr che spinge taglie+totale all'estrema destra, spacer 6px che
     stacca Tot dalle taglie. */
  .ddt-print-root .matrice-grid {
    grid-template-columns:
      minmax(120px, 160px)
      1fr
      repeat(var(--taglie-count), 31px)
      12px
      36px
      !important;
  }
  /* Filler + spacer Tot restano nel grid (border-b per linea continua),
     senza padding extra per non aumentare l'altezza riga. */
  .ddt-print-root .matrice-cell-filler,
  .ddt-print-root .matrice-cell-tot-spacer {
    padding: 0 !important;
  }

  /* Padding: verticale arioso, orizzontale stretto per ravvicinare le
     quantità tra colonne contigue. */
  .ddt-print-root .matrice-grid > div {
    padding: 5px 2px !important;
  }

  /* Prima colonna (header "Colore / Cod." e celle colore): padding-left
     maggiorato per staccare il testo dal bordo sinistro della card. */
  .ddt-print-root .matrice-grid > div:first-child,
  .ddt-print-root .matrice-grid .matrice-cell-colore {
    padding-left: 12px !important;
  }

  /* Header card articolo (marca / modello / cod / prezzo / totale pz): più
     spazio orizzontale e verticale rispetto al default inventario.
     Padding sinistro maggiorato per staccare il testo dal bordo card. */
  .ddt-print-root .matrice-blocco > div:first-child {
    padding: 6px 12px 6px 16px !important;
  }
  .ddt-print-root .matrice-blocco > div:first-child .text-base { font-size: 12pt !important; }
  .ddt-print-root .matrice-blocco > div:first-child .text-sm   { font-size: 10pt !important; }
  .ddt-print-root .matrice-blocco > div:first-child .text-xs   { font-size: 9pt !important; }

  /* Font matrice DDT: aumentati di 1pt. */
  .ddt-print-root .matrice-grid .text-base { font-size: 9pt !important; }
  .ddt-print-root .matrice-grid .text-sm   { font-size: 8pt !important; }
  .ddt-print-root .matrice-grid .text-xs   { font-size: 7.5pt !important; }
  .ddt-print-root .matrice-grid .h-9       { height: auto !important; min-height: 20px !important; }
  .ddt-print-root .matrice-grid .h-8       { height: auto !important; min-height: 18px !important; }

  /* Spazio fra blocchi articolo in stampa DDT */
  .ddt-print-root .matrice-blocco {
    margin-bottom: 3mm;
  }

  /* Firme conducente / destinatario in fondo alla pagina */
  .ddt-print-firme {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    gap: 20mm !important;
    margin-top: 12mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  /* DDT vuoto in stampa: niente firme (il modulo viene compilato a mano). */
  .ddt-print-root[data-empty="1"] .ddt-print-firme {
    display: none !important;
  }

  .ddt-print-firme .firma-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .ddt-print-firme .firma-line {
    display: block;
    width: 100%;
    border-top: 1px solid #555;
    margin-top: 14mm;
  }

  .ddt-print-firme .firma-label {
    font-size: 9pt;
    color: #444;
    letter-spacing: 0.04em;
  }
}
