@media print {
    @page {
      size: 11in 17in landscape;
      margin: 0.5in;
    }
  
    html, body {
      width: 17in;
      height: 11in;
      margin: 0;
      padding: 0;
      overflow: hidden;
      max-height: 1000px;
      font-family: 'Montserrat', sans-serif;
    }
  
    .schedule-grid {
      page-break-inside: avoid;
    }
  
    .event-block {
      print-color-adjust: exact;
      -webkit-print-color-adjust: exact;
    }
  }

  .schedule-wrapper {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .schedule-wrapper,
.schedule-grid {
  max-height: 100%;
  overflow: hidden;
  page-break-inside: avoid;
  break-inside: avoid;
}
  
  body {
    font-family: 'Montserrat', sans-serif;
    margin: 1em;
  }
  
  h1 {
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.5em;
  }

  h1, .room-header, .time-header {
    font-weight: 600; /* Montserrat looks nice slightly heavier here */
  }  
  
  .schedule-grid {
    display: flex;
    border-top: 2px solid #333;
  }
  
  .time-column,
  .room-column {
    display: flex;
    flex-direction: column;
    position: relative;
  }
  
  .time-column {
    width: 80px;
    flex-shrink: 0;
  }
  
  .room-column {
    border-left: 1px solid #ccc;
    width: 150px;
    flex-grow: 1;
    position: relative;     /* ✅ THIS is critical */
    min-height: 750px;       /* Adjust depending on number of time slots */
  }
  
  .room-header,
  .time-header {
    font-weight: bold;
    background: #eee;
    padding: 5px;
    border-bottom: 1px solid #ccc;
    height: 19px;
    font-size: 0.9em;
    text-align: center;
  }

  .time-slot {
    height: 34px;           /* visual content height */
    padding: 2px 0;         /* 2px total */
    border-bottom: 1px solid #eee; /* 1px */
    box-sizing: border-box;
  }
  
  .event-block {
    position: absolute;
    left: 5px;
    right: 5px;
    background-color: #cce5ff;
    border-left: 4px solid #3399ff;
    padding:x 3px 5px;
    font-size: 0.75em;
    overflow: hidden;
    border-radius: 4px;
    box-sizing: border-box;
    z-index: 1;
  }

  .event-green {
    background-color: #cceccc;
    border-left: 4px solid #55aa55;
  }
  
  .event-yellow {
    background-color: #fff9c4;
    border-left: 4px solid #d4af37;
  }
  