/* FCOS Print Stylesheet */

@page {
  size: A4;
  margin: 2cm;
}

/* Base reset */
*,
*::before,
*::after {
  background: white !important;
  color: #000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-radius: 0 !important;
  background-image: none !important;
}

body {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12pt;
  line-height: 1.5;
  color: #000;
}

/* Hide non-content elements */
nav, .nav, .navbar, .sidebar, .side-nav,
.toast, .modal, .modal-overlay,
.chat-bubble, .chat-widget,
footer .social, footer .social-links,
.hamburger, .menu-toggle,
button:not(.btn-print),
.btn:not(.btn-print),
.no-print,
.theme-toggle,
.scroll-top {
  display: none !important;
}

/* Show main content */
main, .main-content, .container, article {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: Georgia, "Times New Roman", serif;
  page-break-after: avoid;
}

h1 { page-break-before: always; }
h1:first-of-type { page-break-before: avoid; }

p, li, blockquote {
  orphans: 3;
  widows: 3;
}

/* Links show URL */
a[href^="http"]::after {
  content: " (" attr(href) ")";
  font-size: 0.85em;
  font-style: italic;
  word-break: break-all;
}

a[href^="#"]::after,
a[href^="javascript"]::after {
  content: "";
}

/* Images */
img {
  max-width: 60% !important;
  height: auto !important;
  filter: grayscale(100%);
  page-break-inside: avoid;
}

/* Cards and sections */
.card, .pricing-card, .feature-card, .testimonial-card, section {
  page-break-inside: avoid;
  border: 1px solid #ccc !important;
  padding: 0.5cm !important;
  margin-bottom: 0.5cm !important;
}

/* Invoice-specific */
.invoice-table, .line-items {
  width: 100% !important;
}

.invoice-table table,
.line-items table,
table {
  border-collapse: collapse !important;
  width: 100% !important;
}

.invoice-table th, .invoice-table td,
.line-items th, .line-items td,
table th, table td {
  border: 1px solid #333 !important;
  padding: 6pt 8pt !important;
  text-align: left;
}

table th {
  font-weight: bold;
  border-bottom-width: 2px !important;
}

.invoice-logo, .logo-area {
  max-width: 150px !important;
  margin-bottom: 0.5cm;
}

/* Contract-specific */
.signature-area, .signature-block {
  display: block !important;
  border-top: 1px solid #000 !important;
  margin-top: 1cm;
  padding-top: 0.5cm;
  min-height: 2cm;
}

.terms, .terms-section {
  font-size: 10pt;
  line-height: 1.6;
}

/* Remove decorative elements */
.gradient, .blob, .pattern-bg, .decoration,
.animate-fade-up, .animate-slide-in {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

hr {
  border: none !important;
  border-top: 1px solid #000 !important;
}
