/* 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; }
@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; }
/* Province links: compact pills, one line on desktop, wraps on phones */
.cht-provinces { list-style: none !important; margin: 1em 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 6px; }
.cht-provinces li { list-style: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.cht-provinces li::before, .cht-provinces li::marker { content: none !important; display: none !important; }
.cht-provinces a, .cht-provinces .cht-off { display: inline-block; padding: 4px 10px; border: 1px solid rgba(0,0,0,.18); border-radius: 999px; font-size: 14px; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.cht-provinces a:hover, .cht-provinces a:focus { background: rgba(0,0,0,.06); }
.cht-provinces .cht-off { opacity: .45; cursor: default; }
.cht-provinces--codes .cht-name { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cht-provinces--names .cht-code { display: none; }
@media (max-width: 600px) {
  .cht-provinces { gap: 8px; }
  .cht-provinces a, .cht-provinces .cht-off { padding: 8px 12px; font-size: 15px; } /* bigger tap targets */
}
