/* P567: template PDF dedicato per dichiarazione AI Act, separato dal layout pubblico. */
.ai-act-print-document { display: none; }

@media print {
  @page { size: A4; margin: 0; }

  html, body {
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #0b2f33 !important;
    overflow: visible !important;
  }

  body * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body > :not(.ai-act-print-document),
  .home-topbar, .home-footer, .site-footer, .footer,
  .praisi-shell, .praisi-shell-sidebar, .praisi-shell-topbar,
  .cmp, .cmp-root, .cookie-banner, .consent-banner, .praisi-consent,
  .praisi-compliance-radar, .compliance-radar,
  [id*="cmp" i], [class*="cmp" i],
  [id*="cookie" i], [class*="cookie" i],
  [id*="badge" i], [class*="badge" i],
  [id*="radar" i], [class*="radar" i],
  iframe, script, noscript {
    display: none !important;
    visibility: hidden !important;
  }

  .ai-act-print-document,
  .ai-act-print-document * { visibility: visible !important; }

  .ai-act-print-document {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: #183437 !important;
  }

  .ai-print-page {
    position: relative !important;
    display: block !important;
    width: 210mm !important;
    min-height: 297mm !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 22mm 20mm 24mm !important;
    page-break-after: always !important;
    break-after: page !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border-top: 14mm solid #074f57 !important;
  }

  .ai-print-page:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  .ai-print-letterhead {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 0 8mm !important;
    padding: 0 !important;
  }

  .ai-print-logo {
    display: block !important;
    width: 58mm !important;
    max-width: 58mm !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .ai-print-rule {
    width: 100% !important;
    height: 0 !important;
    border-top: 0.35mm solid #d8dedb !important;
    margin: 6mm 0 8mm !important;
  }

  .ai-print-kicker {
    margin: 0 0 5mm !important;
    font-size: 10pt !important;
    line-height: 1.25 !important;
    color: #5e6e70 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
  }

  .ai-print-page h1 {
    margin: 0 0 4mm !important;
    padding: 0 !important;
    max-width: 155mm !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 28pt !important;
    line-height: 1.08 !important;
    color: #062f34 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    break-inside: avoid !important;
  }

  .ai-print-date {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
    color: #56686a !important;
  }

  .ai-print-page-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8mm !important;
    margin: 0 0 10mm !important;
    padding: 0 0 5mm !important;
    border-bottom: 0.35mm solid #d8dedb !important;
    color: #5a696b !important;
    font-size: 9pt !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  .ai-print-logo-small {
    display: block !important;
    width: 32mm !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .ai-print-section {
    display: block !important;
    margin: 0 0 9mm !important;
    padding: 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .ai-print-section h2 {
    display: block !important;
    margin: 0 0 3mm !important;
    padding: 0 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 16pt !important;
    line-height: 1.18 !important;
    color: #062f34 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }

  .ai-print-section p,
  .ai-print-section li {
    margin: 0 0 3mm !important;
    padding: 0 !important;
    max-width: 165mm !important;
    font-size: 10.5pt !important;
    line-height: 1.55 !important;
    color: #273f42 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .ai-print-section ul {
    margin: 0 0 0 5mm !important;
    padding: 0 !important;
    list-style-position: outside !important;
  }

  .ai-print-section li {
    display: list-item !important;
    padding-left: 1.5mm !important;
  }

  .ai-print-section li::marker { color: #0a6b70 !important; }

  .ai-print-footer {
    position: absolute !important;
    left: 20mm !important;
    right: 20mm !important;
    bottom: 10mm !important;
    display: block !important;
    margin: 0 !important;
    padding-top: 3mm !important;
    border-top: 0.25mm solid #d8dedb !important;
    color: #6b7778 !important;
    font-size: 8pt !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }
}
