/**
 * ARTSCODE Fee Calculator - Print Stylesheet
 * Optimized for A4 Portrait Print & PDF Export
 */

@page {
  size: A4 portrait;
  margin: 15mm;
}

@media print {
  /* HIDE INTERACTIVE & NON-PRINTABLE ELEMENTS */
  .site-header,
  .mobile-drawer,
  .mobile-nav-toggle,
  .quick-preset-chips,
  .reset-price-link,
  .actions-card,
  .workflow-section,
  .terms-section,
  .toast-container,
  .btn-stepper,
  .quick-qty-pills,
  .slider-range,
  .footer-links-list,
  .hero-stats-row {
    display: none !important;
  }

  /* RESET BACKGROUND & FONTS */
  body {
    background: #FFFFFF !important;
    color: #000000 !important;
    font-size: 11pt !important;
    line-height: 1.4 !important;
  }

  .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .hero-section {
    background: none !important;
    border-bottom: 2px solid #000000 !important;
    padding: 0 0 10mm 0 !important;
    text-align: left !important;
  }

  .hero-inner {
    text-align: left !important;
    max-width: 100% !important;
  }

  .hero-badge {
    border: 1px solid #000 !important;
    color: #000 !important;
    background: none !important;
    padding: 2px 8px !important;
  }

  .hero-title {
    font-size: 18pt !important;
    color: #000000 !important;
    margin: 5mm 0 2mm 0 !important;
  }

  .hero-subtitle {
    font-size: 10pt !important;
    color: #333333 !important;
    margin-bottom: 0 !important;
  }

  /* MAIN CONTENT LAYOUT FOR PRINT */
  .app-section {
    padding: 5mm 0 !important;
  }

  .calculator-grid {
    display: block !important;
  }

  .app-card {
    border: 1px solid #CCCCCC !important;
    box-shadow: none !important;
    border-radius: 4px !important;
    padding: 4mm !important;
    margin-bottom: 5mm !important;
    page-break-inside: avoid;
  }

  .card-step-badge {
    background: #000000 !important;
    color: #FFFFFF !important;
  }

  .card-title {
    font-size: 12pt !important;
    color: #000000 !important;
  }

  /* FORM INPUTS IN PRINT: CLEAN DISPLAY */
  .form-control, .input-custom-percent, .input-qty {
    border: 1px solid #999999 !important;
    box-shadow: none !important;
    height: auto !important;
    padding: 4px 8px !important;
    font-size: 11pt !important;
    color: #000000 !important;
    background: #FAFAFA !important;
  }

  /* ESTIMATE CARD FOR PRINT */
  .estimate-card {
    background: #FFFFFF !important;
    border: 2px solid #000000 !important;
    color: #000000 !important;
    box-shadow: none !important;
    padding: 6mm !important;
    margin-bottom: 5mm !important;
    page-break-inside: avoid;
  }

  .estimate-card::before {
    display: none !important;
  }

  .est-title {
    color: #000000 !important;
    font-size: 12pt !important;
  }

  .est-header-tag {
    color: #000000 !important;
    font-weight: bold !important;
  }

  .est-amount-display {
    color: #047857 !important;
    font-size: 24pt !important;
    text-shadow: none !important;
    margin: 3mm 0 !important;
  }

  .est-subtext {
    color: #555555 !important;
    font-size: 9pt !important;
  }

  .est-progress-container {
    display: none !important;
  }

  .est-breakdown {
    border-top: 1px solid #CCCCCC !important;
    margin-top: 4mm !important;
    padding-top: 4mm !important;
  }

  .breakdown-label {
    color: #444444 !important;
  }

  .breakdown-value {
    color: #000000 !important;
  }

  .breakdown-row.highlight-net .breakdown-value {
    color: #000000 !important;
    font-weight: bold !important;
  }

  /* MONTHLY CARD FOR PRINT */
  .monthly-card {
    border: 1px solid #CCCCCC !important;
    box-shadow: none !important;
    padding: 5mm !important;
    page-break-inside: avoid;
  }

  .monthly-result-box {
    background: #F0FDF4 !important;
    border: 1px solid #86EFAC !important;
    color: #000000 !important;
    padding: 4mm !important;
  }

  .monthly-result-amount {
    color: #047857 !important;
    font-size: 18pt !important;
  }

  /* FOOTER FOR PRINT */
  .site-footer {
    background: #FFFFFF !important;
    color: #555555 !important;
    border-top: 1px solid #CCCCCC !important;
    padding: 5mm 0 0 0 !important;
    font-size: 9pt !important;
    page-break-inside: avoid;
  }

  .footer-top {
    display: block !important;
    padding-bottom: 3mm !important;
    border-bottom: none !important;
  }

  .footer-brand-title {
    color: #000000 !important;
    font-size: 11pt !important;
  }

  .footer-host-badge {
    border: 1px solid #999999 !important;
    color: #000000 !important;
    background: none !important;
    display: inline-block !important;
    padding: 1px 6px !important;
  }

  .footer-disclaimer-box {
    background: #F9F9F9 !important;
    color: #444444 !important;
    border: 1px solid #DDDDDD !important;
    padding: 3mm !important;
    margin-top: 3mm !important;
  }

  .footer-bottom {
    padding-top: 3mm !important;
    color: #666666 !important;
  }
}
