/* Product Formula Print Layout - Dynamic Scaling Table */

@media print {
  /* Hide everything first */
  body.printing-product-formula * {
    visibility: hidden;
  }
  
  /* Show only the section and its contents */
  body.printing-product-formula .section,
  body.printing-product-formula .section * {
    visibility: visible;
  }
  
  /* Position section for print */
  body.printing-product-formula .section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 20px;
  }
  
  /* Hide all non-essential elements */
  body.printing-product-formula form,
  body.printing-product-formula .form-group,
  body.printing-product-formula button,
  body.printing-product-formula .btn,
  body.printing-product-formula input,
  body.printing-product-formula select,
  body.printing-product-formula .grid,
  body.printing-product-formula .alert,
  body.printing-product-formula .card:not(.print-wrapper),
  body.printing-product-formula .flex:not(.print-header),
  body.printing-product-formula h3:not(.print-header h3),
  body.printing-product-formula h4:not(.print-header h4),
  body.printing-product-formula .bg-light,
  body.printing-product-formula .bg-info,
  body.printing-product-formula .bg-primary,
  body.printing-product-formula .bg-secondary,
  body.printing-product-formula .p-4,
  body.printing-product-formula .mt-6,
  body.printing-product-formula .mt-4:not(.print-wrapper) {
    display: none !important;
  }
  
  /* Remove all links and dates from print */
  body.printing-product-formula a,
  body.printing-product-formula .date,
  body.printing-product-formula .timestamp,
  body.printing-product-formula .url {
    display: none !important;
  }
  
  /* Disable link content generation */
  body.printing-product-formula a[href]:after {
    content: none !important;
    display: none !important;
  }
  
  /* Company header - simplified to show only product name */
  body.printing-product-formula .print-header {
    display: block !important;
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #000;
  }
  
  /* Hide logo and address */
  body.printing-product-formula .print-header img,
  body.printing-product-formula .print-header h1,
  body.printing-product-formula .print-header p:not(:last-child) {
    display: none !important;
  }
  
  /* Show only the product name */
  body.printing-product-formula .print-header p:last-child {
    font-size: 18px;
    margin: 0;
    color: black;
    font-weight: bold;
    display: block !important;
  }
  
  /* Enhanced table layout with bigger sizing */
  body.printing-product-formula .print-wrapper {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    margin: 20px 0;
    padding: 0;
    max-height: calc(100vh - 120px);
    overflow: hidden;
  }
  
  body.printing-product-formula .print-wrapper table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid black;
    background: white;
    table-layout: fixed;
  }
  
  /* Enhanced base styling with larger fonts */
  body.printing-product-formula .print-wrapper table th {
    background-color: #333;
    color: white;
    font-weight: bold;
    text-align: center;
    padding: 16px 10px;
    border: 1px solid black;
    font-size: 16px;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  body.printing-product-formula .print-wrapper table td {
    border: 1px solid black;
    padding: 14px 10px;
    font-size: 14px;
    vertical-align: middle;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  
  body.printing-product-formula .print-wrapper table tbody tr:nth-child(even) {
    background-color: #f5f5f5;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Dynamic scaling based on row count - all sizes increased */
  /* 6-10 rows: Medium scaling */
  body.printing-product-formula .print-wrapper table[data-row-count="6"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="7"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="8"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="9"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="10"] th {
    font-size: 14px;
    padding: 14px 8px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="6"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="7"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="8"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="9"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="10"] td {
    font-size: 13px;
    padding: 12px 8px;
  }
  
  /* 11-15 rows: Smaller scaling */
  body.printing-product-formula .print-wrapper table[data-row-count="11"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="12"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="13"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="14"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="15"] th {
    font-size: 13px;
    padding: 12px 6px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="11"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="12"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="13"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="14"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="15"] td {
    font-size: 12px;
    padding: 10px 6px;
  }
  
  /* 16-20 rows: Small scaling */
  body.printing-product-formula .print-wrapper table[data-row-count="16"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="17"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="18"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="19"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="20"] th {
    font-size: 12px;
    padding: 10px 5px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="16"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="17"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="18"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="19"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="20"] td {
    font-size: 11px;
    padding: 8px 5px;
  }
  
  /* 21+ rows: Very small scaling */
  body.printing-product-formula .print-wrapper table[data-row-count="21"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="22"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="23"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="24"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="25"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="26"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="27"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="28"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="29"] th,
  body.printing-product-formula .print-wrapper table[data-row-count="30"] th {
    font-size: 11px;
    padding: 8px 4px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="21"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="22"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="23"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="24"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="25"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="26"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="27"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="28"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="29"] td,
  body.printing-product-formula .print-wrapper table[data-row-count="30"] td {
    font-size: 11px;
    padding: 6px 4px;
  }
  
  /* For extremely large datasets (30+ rows), use minimal styling */
  body.printing-product-formula .print-wrapper table[data-row-count^="3"] th,
  body.printing-product-formula .print-wrapper table[data-row-count^="4"] th,
  body.printing-product-formula .print-wrapper table[data-row-count^="5"] th {
    font-size: 10px;
    padding: 6px 3px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count^="3"] td,
  body.printing-product-formula .print-wrapper table[data-row-count^="4"] td,
  body.printing-product-formula .print-wrapper table[data-row-count^="5"] td {
    font-size: 9px;
    padding: 4px 3px;
  }
  
  /* Hide actions column */
  body.printing-product-formula .print-wrapper table th:last-child,
  body.printing-product-formula .print-wrapper table td:last-child {
    display: none;
  }
  
  /* Hide input elements and show print values */
  body.printing-product-formula .print-wrapper table input,
  body.printing-product-formula .print-wrapper table button,
  body.printing-product-formula .print-wrapper .print-hide {
    display: none;
  }
  
  body.printing-product-formula .print-wrapper .print-show {
    display: inline;
  }
  
  /* Enhanced footer styling with larger fonts */
  body.printing-product-formula .print-wrapper table tfoot td {
    background-color: #e0e0e0;
    font-weight: bold;
    border: 2px solid black;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Scale footer based on overall table size - all sizes increased */
  body.printing-product-formula .print-wrapper table[data-row-count="1"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="2"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="3"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="4"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="5"] tfoot td {
    font-size: 15px;
    padding: 16px 12px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="6"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="7"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="8"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="9"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="10"] tfoot td {
    font-size: 14px;
    padding: 14px 10px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="11"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="12"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="13"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="14"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="15"] tfoot td {
    font-size: 13px;
    padding: 12px 8px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count="16"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="17"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="18"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="19"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count="20"] tfoot td {
    font-size: 12px;
    padding: 10px 6px;
  }
  
  body.printing-product-formula .print-wrapper table[data-row-count^="2"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count^="3"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count^="4"] tfoot td,
  body.printing-product-formula .print-wrapper table[data-row-count^="5"] tfoot td {
    font-size: 11px;
    padding: 8px 5px;
  }
  
  body.printing-product-formula .print-wrapper table tfoot td[colspan="3"] {
    text-align: right;
    font-weight: bold;
  }
  
  body.printing-product-formula .print-wrapper table tfoot td:nth-child(2) {
    text-align: right;
    font-weight: bold;
  }
  
  /* ENHANCED: Complete removal of all auto-generated browser content */
  @page {
    size: A4;
    margin: 15mm;
    /* Remove all headers and footers completely */
    @top-left { content: none !important; }
    @top-center { content: none !important; }
    @top-right { content: none !important; }
    @bottom-left { content: none !important; }
    @bottom-center { content: none !important; }
    @bottom-right { content: none !important; }
    @top-left-corner { content: none !important; }
    @top-right-corner { content: none !important; }
    @bottom-left-corner { content: none !important; }
    @bottom-right-corner { content: none !important; }
  }
  
  /* Enhanced: Remove ALL auto-generated content including browser links and dates */
  *:before, *:after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Enhanced: Hide all possible browser-generated elements */
  .url, 
  .page-number, 
  .header, 
  .footer, 
  .timestamp, 
  .date,
  .websim-link,
  .page-url,
  .print-date,
  .print-time,
  .document-url,
  .page-title {
    display: none !important;
    visibility: hidden !important;
    content: none !important;
  }
  
  /* Enhanced: Override browser default print styles */
  html {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Enhanced: Force hide any remaining auto-generated content */
  body::before,
  body::after,
  html::before,
  html::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Enhanced: Target specific browser print elements */
  @media print {
    /* Chrome/Safari specific */
    ::-webkit-header,
    ::-webkit-footer {
      display: none !important;
      visibility: hidden !important;
    }
    
    /* Firefox specific */
    @-moz-document url-prefix() {
      * {
        -moz-appearance: none !important;
      }
    }
    
    /* Edge/IE specific */
    *::-ms-backdrop {
      display: none !important;
    }
  }
  
  /* Enhanced: Remove any text content that might be auto-generated */
  body.printing-product-formula *[data-print-url],
  body.printing-product-formula *[data-print-date],
  body.printing-product-formula .print-url,
  body.printing-product-formula .print-date,
  body.printing-product-formula .auto-generated {
    content: "" !important;
    display: none !important;
    visibility: hidden !important;
  }
}