/* === PRINT STYLES ===
   Loaded with media="print" on the <link> tag.
   Designed for A4 output, targeting ~2 pages for 41 perks.
*/

/* === HIDE INTERACTIVE ELEMENTS === */
.no-print,
.toolbar,
.perk-card__apply,
.empty-state,
.footer-source {
  display: none !important;
}

/* === SHOW PRINT-ONLY ELEMENTS === */
.print-meta,
.print-only {
  display: block !important;
}

/* === PAGE SETUP === */
@page {
  size: A4;
  margin: 1.2cm 1.2cm 1.5cm 1.2cm;
}

@page :first {
  margin-top: 0.8cm;
}

/* === BASE PRINT TYPOGRAPHY === */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 8.5pt;
  line-height: 1.3;
  color: #000;
  background: #fff;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* === CONTAINER === */
.container {
  max-width: none;
  padding: 0;
}

/* === HEADER FOR PRINT === */
.site-header {
  background: none;
  border-bottom: 1.5pt solid #000;
  padding: 0 0 8pt 0;
  margin-bottom: 12pt;
}

.header-content {
  text-align: center;
}

.site-title {
  font-size: 20pt;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 2pt;
}

.site-subtitle {
  font-size: 9pt;
  color: #444;
  margin-bottom: 2pt;
}

.print-meta {
  font-size: 7.5pt;
  color: #666;
  text-align: center;
  margin-top: 4pt;
}

/* === CATEGORY SECTIONS === */
.perks-container {
  padding: 0;
}

.category-section {
  margin-bottom: 10pt;
  break-inside: auto;
}

.category-heading {
  font-size: 10.5pt;
  font-weight: 700;
  color: #000;
  margin-bottom: 5pt;
  padding-bottom: 2pt;
  border-bottom: 1pt solid #ccc;
  break-after: avoid;
  page-break-after: avoid;
}

.category-heading[data-cat="cloud"] { border-bottom-color: #0071e3; }
.category-heading[data-cat="ai"] { border-bottom-color: #9b59b6; }
.category-heading[data-cat="analytics"] { border-bottom-color: #e67e22; }
.category-heading[data-cat="devtools"] { border-bottom-color: #1abc9c; }
.category-heading[data-cat="database"] { border-bottom-color: #27ae60; }
.category-heading[data-cat="communication"] { border-bottom-color: #3498db; }
.category-heading[data-cat="design"] { border-bottom-color: #e74c3c; }
.category-heading[data-cat="financial"] { border-bottom-color: #2c3e50; }
.category-heading[data-cat="other"] { border-bottom-color: #888; }

.category-count {
  font-size: 7pt;
  background: #eee;
}

/* === CARD GRID FOR PRINT === */
.category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5pt;
}

/* === CARD FOR PRINT === */
.perk-card {
  border: 0.5pt solid #d0d0d0;
  border-radius: 3pt;
  padding: 5pt 7pt;
  break-inside: avoid;
  page-break-inside: avoid;
  background: none;
  box-shadow: none;
  transform: none;
}

.perk-card:hover {
  box-shadow: none;
  transform: none;
}

.perk-card__company {
  font-size: 6pt;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #777;
  margin-bottom: 1pt;
}

.perk-card__program {
  font-size: 8pt;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 2pt;
}

.perk-card__program a,
.perk-card__program-link {
  color: #000 !important;
  text-decoration: none !important;
}

.perk-card__value {
  font-size: 9.5pt;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 2pt;
}

.perk-card__description {
  font-size: 7pt;
  color: #444;
  line-height: 1.25;
  margin-bottom: 2pt;
}

.perk-card__requirements {
  font-size: 6.5pt;
  color: #666;
  line-height: 1.2;
  padding: 1.5pt 3pt;
  background: #f0f0f0;
  border-radius: 1.5pt;
  margin-bottom: 0;
}

/* Show apply URLs in print */
.perk-card__program-link::after {
  content: none; /* Don't show long URLs - keeps cards compact */
}

/* === FOOTER FOR PRINT === */
.site-footer {
  margin-top: 10pt;
  padding-top: 6pt;
  border-top: 0.5pt solid #ccc;
}

.footer-updated {
  font-size: 7pt;
  color: #666;
  text-align: center;
}

.footer-print {
  font-size: 7pt;
  color: #666;
  text-align: center;
  margin-top: 2pt;
}

.footer-copyright {
  font-size: 7pt;
  color: #666;
  text-align: center;
  margin-top: 3pt;
}

.footer-copyright a {
  color: #444;
  text-decoration: none;
}

/* === LINK STYLING === */
a {
  color: #000;
  text-decoration: none;
}

/* === WIDOWS & ORPHANS === */
.category-section {
  widows: 2;
  orphans: 2;
}
