@font-face {
  font-family: 'Teko';
  font-style: normal;
  font-weight: 500 700;
  font-display: block;
  src: url('/shared/fonts/teko-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: block;
  src: url('/shared/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.font-teko { 
  font-family: 'Teko', Impact, 'Arial Narrow', sans-serif; 
}

body { 
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
}

/* Print / PDF Export Styles */
@media print {
  /* Hide hero section, sidebars, FAQ, filters */
  #hero-configurator,
  #faq,
  footer,
  .print-hidden,
  .md\:col-span-4 /* left panel container */ {
    display: none !important;
  }

  /* Make sure schedule panel takes full width */
  .md\:col-span-8 {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    grid-column: span 12 / span 12 !important;
  }

  /* Reset body and containers */
  body {
    background: white !important;
    color: black !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  main {
    padding: 0 !important;
  }

  /* Force the desktop table view, hide mobile view */
  #scheduleCardsMobile { display: none !important; }
  .hidden.md\:block { display: block !important; }
  
  /* Remove scrolling container max-height */
  .max-h-\\[680px\\] {
    max-height: none !important;
    overflow: visible !important;
  }

  table { width: 100% !important; border-collapse: collapse; page-break-inside: auto; }
  tr { page-break-inside: avoid; page-break-after: auto; }
  thead { display: table-header-group; }
  tfoot { display: table-footer-group; }
  
  th, td {
    padding: 6px 4px !important;
    border-bottom: 1px solid #ddd !important;
    font-size: 10pt;
    color: black !important;
  }

  /* Keep background colors on badges */
  th, .bg-slate-100, .bg-red-50, .bg-emerald-50, .bg-blue-50, .bg-teamPrimary, .bg-slate-800 {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
