/* ===== PRINT STYLES ===== */
@page {
  margin: 1.2cm 1.5cm;
  size: A4;
}

@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Reset body */
  html, body {
    overflow: visible !important;
    background: white;
    font-size: 10pt;
    font-family: 'Inter', sans-serif;
  }

  /* Navbar — minimal */
  .navbar {
    position: static !important;
    box-shadow: none;
    border-bottom: 1.5px solid #4D3194;
    padding: 8px 0;
    margin-bottom: 10px;
    background: white !important;
    backdrop-filter: none !important;
  }

  .nav-actions { display: none !important; }

  /* Hero — compact */
  .hero {
    padding: 12px 0;
    background: none !important;
  }

  .hero h1 { font-size: 18pt; margin-bottom: 6px; }
  .hero p  { font-size: 9pt; }
  .badge   { font-size: 8pt; margin-bottom: 8px; }

  /* Catalog container — tight */
  .catalog-container {
    padding: 0;
    gap: 0;
    display: block;
  }

  /* Category sections — keep title with content */
  .category-section {
    display: block;
    margin-bottom: 12pt;
    gap: 0;
  }

  .category-title {
    font-size: 13pt;
    margin-bottom: 8pt;
    page-break-after: avoid;
    break-after: avoid;
  }

  .subgroup {
    margin-bottom: 8pt;
  }

  .subgroup-title {
    font-size: 10pt;
    margin-bottom: 6pt;
    page-break-after: avoid;
    break-after: avoid;
  }

  /* Product grid — 3 columns, no stretching */
  .product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8pt;
    break-inside: auto;
    page-break-inside: auto;
  }

  /* Product cards — keep each card together, allow grid to break */
  .product-card {
    border: 1px solid #d0d0d0;
    box-shadow: none !important;
    border-radius: 8px;
    page-break-inside: avoid;
    break-inside: avoid;
    overflow: visible;
    display: block;
  }

  .product-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  /* Image — compact */
  .product-image-container {
    height: 110px !important;
    padding: 8px;
    background-color: #f8f8f8 !important;
  }

  .product-image {
    max-height: 94px;
    object-fit: contain;
  }

  /* Info */
  .product-info {
    padding: 8px 10px;
  }

  .card-tag {
    font-size: 6.5pt;
    padding: 2px 6px;
    margin-bottom: 4px;
  }

  .product-name {
    font-size: 8.5pt;
    margin-bottom: 6px;
  }

  /* Variant rows — compact */
  .variants-list { gap: 4px; }

  .variant-row {
    padding: 4px 0;
    gap: 3px;
  }

  .vr-label { font-size: 7.5pt; }

  .vr-prices { gap: 3px; }

  .vr-tag {
    font-size: 7pt;
    padding: 2px 6px;
  }

  /* Zoom button — hide in print */
  .zoom-btn { display: none !important; }

  /* Lightbox — hide */
  #lightbox { display: none !important; }

  /* Footer — hide */
  .footer { display: none !important; }
}
