/*
 * Shared Print-Stylesheet für alle HR-Onboarding Tools (v4 Design-System)
 * Warm Swiss minimalism · Gold accent · Sans-serif (DM Sans / Bricolage Grotesque)
 *
 * Verwendung: <link rel="stylesheet" href="/css/tool-print.css">
 * Pro Tool: print-header und print-footer werden via tool-print.js eingefügt.
 */

/* Print-Only Elemente standardmässig ausblenden */
.print-only { display: none; }

@media print {
  /* === Page Setup === */
  @page {
    size: A4;
    margin: 1.6cm 1.4cm 1.8cm 1.4cm;
  }

  /* === Reset (v4 Tokens) === */
  html, body {
    background: #fff !important;
    color: #1B1918 !important;
    font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 10pt;
    line-height: 1.5;
    letter-spacing: -0.005em;
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4, .ph-brand-name {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    letter-spacing: -0.015em;
    color: #1B1918 !important;
    font-weight: 600;
  }

  /* === Was nicht gedruckt wird === */
  header.site-header,
  footer.site-footer,
  nav.main-nav,
  nav.mobile-nav,
  .no-print,
  .calc-btn,
  .secondary-btn,
  .add-verh-btn,
  .v-remove,
  .toggle-row,
  .cta-block,
  .faq-section,
  .related-links,
  #copyLinkBtn,
  #printBtn,
  #copyLinkMsg { display: none !important; }

  /* Disclaimer im PDF behalten — kompakt, vor Footer */
  .legal-disclaimer {
    display: block !important;
    margin: 1cm 0 0.4cm !important;
    padding: 7pt 9pt !important;
    background: #FAFAF7 !important;
    border: 1px solid #EDEBE5 !important;
    border-left: 2pt solid #B8860B !important;
    border-radius: 3pt !important;
    font-size: 7.5pt !important;
    color: #4A4643 !important;
    line-height: 1.5 !important;
    page-break-inside: avoid;
  }
  .legal-disclaimer strong {
    color: #1B1918 !important;
    font-weight: 600 !important;
  }

  /* === Print-Only Elemente sichtbar machen === */
  .print-only { display: block !important; }

  /* === Branded Print Header === */
  .print-header {
    border-bottom: 1px solid #E6E3DC;
    padding-bottom: 0.45cm;
    margin-bottom: 0.7cm;
    display: flex !important;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1cm;
  }
  .print-header .ph-meta {
    text-align: right;
    font-size: 8.5pt;
    color: #7A756F;
    line-height: 1.5;
    font-feature-settings: "tnum";
  }
  .print-header .ph-meta strong {
    color: #1B1918;
    font-weight: 600;
  }
  .print-header .ph-meta a {
    color: #8B6914 !important;
    text-decoration: none !important;
  }

  /* === Branded Print Footer === */
  .print-footer {
    border-top: 1px solid #E6E3DC;
    padding-top: 0.35cm;
    margin-top: 1.2cm;
    font-size: 7.75pt;
    color: #7A756F;
    text-align: center;
    line-height: 1.55;
    letter-spacing: 0.005em;
  }
  .print-footer .pf-brand {
    color: #1B1918;
    font-weight: 600;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    letter-spacing: -0.01em;
  }
  .print-footer .pf-gold { color: #B8860B; }
  .print-footer a { color: #8B6914; text-decoration: none; }

  /* === Tool-Inhalt === */
  .tool-page { max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .tool-card {
    background: transparent !important;
    border: 1px solid #EDEBE5 !important;
    border-radius: 8pt !important;
    padding: 11pt 12pt !important;
    margin: 0 0 8pt 0 !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }
  .tool-hero {
    text-align: left !important;
    margin-bottom: 0.4cm !important;
  }
  .tool-hero h1 {
    font-size: 17pt !important;
    color: #1B1918 !important;
    margin: 0 0 4pt 0 !important;
    font-weight: 600;
    letter-spacing: -0.02em;
  }
  .tool-hero p {
    font-size: 9.75pt !important;
    color: #4A4643 !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .tool-meta-line { display: none !important; }

  /* Section-Titles innerhalb Tool-Cards */
  .section-title, .tool-card h2, .tool-card h3 {
    font-size: 10.5pt !important;
    font-weight: 600;
    color: #1B1918 !important;
    margin: 0 0 7pt 0 !important;
    padding-bottom: 5pt !important;
    border-bottom: 1px solid #EDEBE5 !important;
  }

  /* === Result-Card (prominent aber elegant) === */
  .result-card {
    background: #FCFBF9 !important;
    border: 1px solid #E6E3DC !important;
    border-left: 3px solid #B8860B !important;
    box-shadow: none !important;
  }
  .result-row {
    padding: 5pt 0 !important;
    border-bottom: 1px solid #F1EFE9 !important;
    display: flex;
    justify-content: space-between;
    gap: 12pt;
  }
  .result-row:last-child { border-bottom: none !important; }
  .result-label, .result-row > span:first-child {
    color: #4A4643 !important;
    font-size: 9.5pt !important;
  }
  .result-value, .result-row > span:last-child {
    color: #1B1918 !important;
    font-weight: 600 !important;
    font-feature-settings: "tnum" !important;
  }
  .result-row.highlight {
    font-size: 12pt !important;
    border-top: 1px solid #E6E3DC !important;
    padding-top: 7pt !important;
    margin-top: 4pt !important;
  }
  .result-row.highlight .result-value {
    color: #8B6914 !important;
    font-weight: 700 !important;
  }
  .result-status-badge {
    background: transparent !important;
    border: 1px solid currentColor !important;
    padding: 1pt 6pt !important;
    border-radius: 999px !important;
    font-size: 8.5pt !important;
    font-weight: 600;
  }

  /* === Tabellen (warm, subtle) === */
  table {
    font-size: 9pt;
    border-collapse: collapse;
    width: 100%;
    margin: 4pt 0;
    border: 1px solid #E6E3DC !important;
    border-radius: 4pt;
    overflow: hidden;
  }
  th {
    background: #F8F7F4 !important;
    color: #1B1918 !important;
    font-weight: 600 !important;
    text-align: left !important;
    border-bottom: 1px solid #E6E3DC !important;
    padding: 5pt 7pt !important;
    font-size: 8.75pt !important;
    letter-spacing: 0.02em;
  }
  td {
    border-bottom: 1px solid #F1EFE9 !important;
    border-right: none !important;
    border-left: none !important;
    padding: 4pt 7pt !important;
    color: #1B1918 !important;
    font-feature-settings: "tnum";
  }
  tr:last-child td { border-bottom: none !important; }
  tbody tr:nth-child(even) td { background: #FAFAF7 !important; }

  /* === Inputs als Text darstellen === */
  input, select, textarea {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    color: #1B1918 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    font-feature-settings: "tnum";
  }
  textarea { resize: none !important; }
  input[type="checkbox"] { display: inline-block !important; }
  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="date"]::-webkit-inner-spin-button,
  input[type="date"]::-webkit-clear-button {
    display: none !important;
    -webkit-appearance: none !important;
  }

  /* Labels */
  .field label, label {
    color: #4A4643 !important;
    font-weight: 500 !important;
    font-size: 8.75pt !important;
    letter-spacing: 0.01em;
  }

  /* Links */
  a { color: #1B1918 !important; text-decoration: none !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 7.5pt; color: #A9A39B; }

  /* === Explanation / Erklärungs-Block === */
  .explanation, .explanation-block {
    background: #F8F7F4 !important;
    border: none !important;
    border-left: 2px solid #B8860B !important;
    padding: 8pt 10pt !important;
    font-size: 9pt !important;
    color: #4A4643 !important;
    border-radius: 0 4pt 4pt 0 !important;
    page-break-inside: avoid;
    margin-top: 6pt !important;
  }
  .explanation strong, .explanation-block strong { color: #1B1918 !important; }

  /* Verhinderungs-Effekte (Sperrfristen-Tool) */
  .verh-effekt {
    font-size: 8.75pt !important;
    padding: 5pt 8pt !important;
    margin: 3pt 0 !important;
    background: #FCFBF9 !important;
    border: 1px solid #EDEBE5 !important;
    border-radius: 4pt !important;
  }

  /* Timeline ausblenden im Print */
  .timeline { display: none !important; }

  /* Skala-Info Boxen */
  .skala-info, .info-box, .hint-box {
    background: #F8F7F4 !important;
    border: 1px solid #EDEBE5 !important;
    color: #4A4643 !important;
    padding: 7pt 9pt !important;
    font-size: 8.75pt !important;
    border-radius: 4pt !important;
  }

  /* Hints unter Form-Feldern (im Print weglassen — Noise) */
  .hint, .field .hint { display: none !important; }

  /* Form-Card im Print kompakter (nur zur Referenz, was eingegeben wurde) */
  .form-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8pt 16pt !important;
  }
  .field { gap: 1pt !important; }
  .field label { margin-bottom: 0 !important; }

  /* Standard-Referenz-Tabellen optional ausblenden (Tool-Inhalte schon im Result) */
  .reference-table-print-hide { display: none !important; }

  /* Page-Break Hilfsklassen */
  .page-break-before { page-break-before: always; }
  .page-break-after { page-break-after: always; }
  .page-break-avoid { page-break-inside: avoid; }
}
