/* Canada Holiday Tables – inherits theme fonts and colours */
.cht-wrap { max-width: 100%; overflow-x: auto; margin: 1em 0; }
.cht-table { width: 100%; border-collapse: collapse; }
.cht-table caption { text-align: left; font-weight: 600; padding: .4em 0; }
.cht-table th, .cht-table td { padding: .55em .7em; border-bottom: 1px solid rgba(0,0,0,.12); text-align: left; vertical-align: top; }
.cht-table thead th { background: rgba(0,0,0,.05); }
.cht-table tbody tr:hover { background: rgba(0,0,0,.025); }
.cht-table a { font-weight: 600; }
.cht-next { padding: .7em 1em; border-left: 4px solid #c8102e; background: rgba(200,16,46,.06); margin: 1em 0; }
.cht-next__when { font-weight: 700; }
.cht-next__status { opacity: .8; font-size: .92em; }
.cht-long { padding-left: 1.2em; }
.cht-long li { margin: .35em 0; }
.cht-provinces { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .5em; }
.cht-provinces li { padding: .5em .7em; border: 1px solid rgba(0,0,0,.12); border-radius: 6px; }
@media (max-width: 600px) {
  .cht-table thead { display: none; }
  .cht-table tr { display: block; border-bottom: 1px solid rgba(0,0,0,.15); padding: .4em 0; }
  .cht-table td { display: block; border: 0; padding: .2em .5em; }
  .cht-table td::before { content: attr(data-label) ": "; font-weight: 600; opacity: .7; }
}
.cht-banner { margin: 0 0 1.5em; }
.cht-banner img { width: 100%; height: auto; display: block; border-radius: 6px; }
.cht-faq__q { margin: 1.2em 0 .3em; }
.cht-faq__a { margin: 0 0 .8em; }
.cht-cal { margin: 1em 0; padding: .7em 1em; border: 1px solid rgba(0,0,0,.12); border-radius: 6px; }
.cht-cal a { display: inline-block; margin: .3em .9em .3em 0; font-weight: 600; }
