/* Country / disease explorer (built by scripts/build_epi.py) */
.epi-wrap { max-width: 64rem; margin: 0 auto; padding: 1rem 1rem 3rem; }
.epi-wrap h2 { font-family: Lexend, Inter, sans-serif; font-size: 1.35rem; font-weight: 600; color: #102a43; margin: 2rem 0 .6rem; border-bottom: 2px solid #d9e2ec; padding-bottom: .3rem; }
.epi-wrap h3 { font-family: Lexend, Inter, sans-serif; font-size: 1.05rem; font-weight: 600; color: #102a43; margin: 1.2rem 0 .3rem; }
.epi-wrap p { margin: .5rem 0; }
.epi-wrap ul, .epi-wrap ol { list-style: disc; padding-left: 1.4rem; margin: .5rem 0 .9rem; }
.epi-wrap ol { list-style: decimal; }
.epi-wrap a { color: #1d4f7a; text-decoration: underline; text-underline-offset: .15em; }
.epi-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: .7rem; margin: .8rem 0 1.2rem; }
.epi-tile { background: #fff; border: 1px solid #d9e2ec; border-radius: 12px; padding: .7rem .9rem; }
.epi-tile .n { font-family: Lexend, Inter, sans-serif; font-size: 1.6rem; font-weight: 600; color: #102a43; line-height: 1.1; }
.epi-tile .l { font-size: .8rem; color: #475569; }
.epi-tile .y { font-size: .72rem; color: #475569; }
.epi-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #d9e2ec; border-radius: 10px; }
table.epi { border-collapse: collapse; width: 100%; font-size: .9rem; }
table.epi th { text-align: left; background: #f0f4f8; color: #102a43; font-weight: 600; padding: .55rem .6rem; border-bottom: 1px solid #d9e2ec; position: sticky; top: 0; }
table.epi td { padding: .5rem .6rem; border-top: 1px solid #eef2f7; vertical-align: middle; }
table.epi td.num, table.epi th.num { text-align: right; font-variant-numeric: tabular-nums; }
table.epi tr:hover td { background: #f8fafc; }
table.epi .sub { display: block; font-size: .75rem; color: #475569; }
.spark { vertical-align: middle; }
.spark-none { font-size: .75rem; color: #64748b; }
.epi-filters { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .5rem 0 1rem; }
.epi-filters input, .epi-filters select { font: inherit; min-height: 42px; padding: .4rem .6rem; border: 1px solid #9fb3c8; border-radius: 8px; background: #fff; }
.epi-filters input { flex: 1 1 14rem; }
.epi-note { background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; padding: .7rem .9rem; font-size: .9rem; color: #78350f; }
.epi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: .8rem; }
.epi-card { display: block; background: #fff; border: 1px solid #d9e2ec; border-radius: 12px; padding: .9rem 1rem; color: #1b2a3a; text-decoration: none !important; }
.epi-card:hover { border-color: #102a43; }
.epi-card strong { display: block; color: #102a43; font-family: Lexend, Inter, sans-serif; }
.epi-card span { font-size: .85rem; color: #475569; }
details.epi-details { background: #fff; border: 1px solid #d9e2ec; border-radius: 10px; padding: .4rem .9rem; margin: .5rem 0; }
details.epi-details summary { cursor: pointer; font-weight: 600; color: #1d4f7a; min-height: 40px; display: flex; align-items: center; }
table.epi th { white-space: nowrap; }
th[aria-sort] button { background: none; border: 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: .15em; }
.epi-region { display: inline-block; font-size: .75rem; color: #334e68; background: #f0f4f8; border-radius: 999px; padding: .05rem .5rem; }
@media (max-width: 640px) { .epi-wrap { padding: .75rem .75rem 3rem; } table.epi { font-size: .82rem; } }
