.schedule-description { margin: 22px 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.schedule-print-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 20px; border: 1px solid #85749c; border-radius: 4px; background: transparent; color: var(--paper); font: 500 14px/1.4 var(--body); cursor: pointer; }
.schedule-print-button:hover { background: #c4a1f61a; border-color: var(--orange); }
.schedule-print-button:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.no-js .schedule-print-button { display: none; }
.schedule-print { display: none; }

@media print {
  @page { size: portrait; margin: 12mm; }
  html:has(.schedule-print), body:has(.schedule-print) { margin: 0 !important; padding: 0 !important; background: #fff !important; color: #111 !important; }
  body:has(.schedule-print) > :not(main),
  body:has(.schedule-print) main > :not(.schedule-section):not(.bond-home-content),
  .bond-home-content > :not(.schedule-section),
  .schedule-section > :not(.schedule-print) { display: none !important; }
  body:has(.schedule-print) :is(main, .bond-home-content, .schedule-section) { display: block !important; width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: #fff !important; overflow: visible !important; }
  .schedule-print[hidden] { display: block !important; color: #111; font: 10pt/1.35 Arial, sans-serif; }
  .schedule-print-header { padding: 0 0 14pt; margin: 0 0 14pt; border-bottom: 2pt solid #222; break-after: avoid; }
  .schedule-print .schedule-print-brand { margin: 0 0 6pt; font: 700 10pt/1.3 Arial, sans-serif; letter-spacing: 1.2pt; text-transform: uppercase; }
  .schedule-print .schedule-print-title { max-width: none; margin: 0; font: 700 23pt/1.15 Arial, sans-serif; letter-spacing: -.5pt; text-wrap: initial; }
  .schedule-print-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 0 0 16pt; font: inherit; }
  .schedule-print-table caption { text-align: left; padding: 0 0 7pt; color: #111; font: 700 13pt/1.3 Arial, sans-serif; break-after: avoid; }
  .schedule-print-table thead { display: table-header-group; }
  .schedule-print-table tr { break-inside: avoid; }
  .schedule-print-table th, .schedule-print-table td { border: 0; border-bottom: .5pt solid #ccc; padding: 6pt 5pt; text-align: left; vertical-align: top; overflow-wrap: break-word; }
  .schedule-print-table thead th { padding-top: 0; padding-bottom: 5pt; border-bottom: 1pt solid #555; font: 700 8pt/1.3 Arial, sans-serif; letter-spacing: .3pt; text-transform: uppercase; }
  .schedule-print-table tbody th { font-weight: 400; white-space: nowrap; }
  .schedule-print-table .print-date { width: 17%; }
  .schedule-print-table .print-type { width: 14%; }
  .schedule-print-table .print-event { width: 37%; }
  .schedule-print-table .print-details { width: 32%; }
  .schedule-print-table .print-weekday { margin-left: 5pt; color: #555; font-size: 8pt; }
  .schedule-print-table .print-event-type { font-size: 9pt; }
  .schedule-print-table .print-meet > :nth-child(3) { font-weight: 700; }
  .schedule-print-footer { padding-top: 2pt; color: #444; font: 9pt/1.3 Arial, sans-serif; }
}
