.fi { border-radius: 2px; box-shadow: 0 0 1px rgba(0, 0, 0, .4); }
.country-link { color: inherit; }
.country-link:hover { background: var(--bs-tertiary-bg); }
tr.past td { opacity: .5; }
.description { max-width: 70rem; }
details > summary { cursor: pointer; }

/* Country description: two lines, click to expand */
details.description summary { list-style: none; cursor: pointer; }
details.description summary::-webkit-details-marker { display: none; }
details.description:not([open]) .description-text {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
details.description summary::after { content: "Show more ▾"; display: block; font-size: .875em; color: var(--bs-link-color); }
details.description[open] summary::after { content: "Show less ▴"; }

/* Year calendar */
.cal { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 2px; text-align: center; font-size: .85rem; }
.cal th { font-weight: 500; color: var(--bs-secondary-color); font-size: .75rem; }
.cal td { padding: .2rem 0; border-radius: .3rem; }
.cal td.weekend { color: var(--bs-secondary-color); }
.cal td.school { background: var(--bs-info-bg-subtle); color: var(--bs-info-text-emphasis); }
.cal td.observance { box-shadow: inset 0 0 0 2px var(--bs-secondary); }
.cal td.public { background: var(--bs-primary); color: #fff; font-weight: 600; }
.cal td.public.school { box-shadow: inset 0 -4px 0 var(--bs-info); }
.cal td.today { outline: 2px solid var(--bs-warning); outline-offset: -1px; font-weight: 700; }
.cal td[title] { cursor: help; }
.cal-list li { line-height: 1.35; margin-bottom: .15rem; }
.swatch { display: inline-block; width: .8em; height: .8em; border-radius: .2em; margin-right: .35em; vertical-align: -.05em; }
.swatch.public { background: var(--bs-primary); }
.swatch.school { background: var(--bs-info-bg-subtle); border: 1px solid var(--bs-info); }
.swatch.observance { box-shadow: inset 0 0 0 2px var(--bs-secondary); }
.swatch.today-swatch { outline: 2px solid var(--bs-warning); outline-offset: -2px; }
