/* Country profiles (/country-analysis), 18 Oct 2026: the page on the
   grapher model of /displacement and the funding pages. Built on
   migration_funding.css (mf-), funding_pages.css (fp-) and
   prism_grapher.css (pg-, prism-); what those do not cover is here,
   prefixed ca-. White cards on a cool slate ground, PRISM blue for chrome. */

/* the country picker under the page head */
.ca-wrap .ca-pick { padding: 18px 22px; }
.ca-wrap .ca-pick .fp-pick { margin: 0; }
.ca-wrap .ca-pick .fp-pick label { flex: 1 1 260px; }
.ca-wrap .ca-pick select { appearance: auto; }

/* empty and loading states; Try Again after a request failed */
.ca-wrap .ca-retry { display: inline-flex; align-items: center; min-height: 32px; margin: 0 0 0 4px; padding: 4px 12px; border: 1px solid #1e40af; border-radius: 6px;
  background: #fff; color: #1e40af; font: 600 13px/1.2 'Inter', sans-serif; cursor: pointer; vertical-align: baseline; }
.ca-wrap .ca-retry:hover { background: #E6ECF7; }
.ca-wrap .ca-retry:focus-visible { outline: 2px solid #1e40af; outline-offset: 2px; }
.ca-wrap .ca-empty .mf-ico { width: 34px; height: 34px; color: #1e40af; margin: 0 auto 10px; display: block; }

/* page head: the actions sit beside the title on a wide screen; the
   citable page button carries the hidden attribute until a country with a
   briefing page is chosen (.mf-btn's display would outrank it) */
.ca-wrap .mf-head h1 { overflow-wrap: anywhere; }
.ca-wrap .mf-btn[hidden], .ca-wrap .ca-sub[hidden] { display: none; }
.ca-wrap .mf-head .mf-dek:empty { display: none; }

/* section tabs: white, sticky under the site header, a blue rule under the
   current tab (the strip of the funding pages); no will-change, which left
   the previous tab painted as current after a click */
.ca-wrap .ca-tabs { position: sticky; top: var(--site-nav-h, 0px); z-index: 30; display: flex; gap: 2px; margin: 0 0 22px; padding: 0 8px;
  background: #fff; border: 1px solid rgba(11, 27, 51, 0.14); border-radius: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ca-wrap .ca-tabs::-webkit-scrollbar { display: none; }
.ca-wrap .ca-tab { display: inline-flex; align-items: center; min-height: 48px; padding: 14px 12px 11px; border: 0; border-bottom: 3px solid transparent; border-radius: 0;
  background: none; box-shadow: none; white-space: nowrap; cursor: pointer; font: 600 14px/1.2 'Inter', sans-serif; color: #4A5972; }
.ca-wrap .ca-tab:hover { color: #0B1B33; background: none; }
.ca-wrap .ca-tab.is-active { color: #1e40af; border-bottom-color: #1e40af; background: none; box-shadow: none; }
.ca-wrap .ca-tab:focus-visible { outline: 2px solid #1e40af; outline-offset: -2px; }
.ca-wrap .ca-tab i { display: none; }

/* groups of cards under a section label; a group hides when its cards do */
.ca-wrap .ca-group[hidden] { display: none; }
.ca-wrap .ca-group > .mf-sec:first-child { margin-top: 8px; }
.ca-wrap .mf-grid2.is-single { grid-template-columns: minmax(0, 1fr); }
.ca-wrap .mf-grid2[hidden] { display: none; }
.ca-wrap .mf-card[hidden] { display: none; }

/* stat tiles: the column count follows the tile count (set by the script) */
.ca-wrap .ca-stats { grid-template-columns: repeat(var(--ca-cols, 4), minmax(0, 1fr)); margin: 0 0 4px; }
.ca-wrap .ca-stats .mf-stat b.is-text { font-size: 17px; line-height: 1.3; }

/* a sub-heading inside a card (the share of the latest year under a line chart) */
.ca-wrap .ca-sub { margin: 18px 0 4px; font: 600 11px/1.3 'Inter', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; color: #4A5972; }
.ca-wrap .ca-note { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: #4A5972; }

/* filters above the records table: a period select and the cause chips */
.ca-wrap .ca-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 12px; }
.ca-wrap .ca-filters label { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 500; color: #4A5972; min-width: 0; max-width: 100%; }
.ca-wrap .ca-filters select { min-height: 38px; padding: 6px 28px 6px 10px; border: 1px solid rgba(11, 27, 51, 0.22); border-radius: 6px; background: #fff;
  font: 500 13.5px/1.2 'Inter', sans-serif; color: #0B1B33; min-width: 0; max-width: 100%; }
.ca-wrap .ca-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ca-wrap .ca-chips button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 10px; border: 1px solid rgba(11, 27, 51, 0.14); border-radius: 6px;
  background: #fff; font: 500 13px/1.1 'Inter', sans-serif; color: #14294A; cursor: pointer; white-space: nowrap; }
.ca-wrap .ca-chips button i { display: block; width: 10px; height: 10px; border-radius: 2px; flex: none; }
.ca-wrap .ca-chips button[aria-pressed="true"] { background: #E6ECF7; border-color: #1e40af; color: #1e40af; font-weight: 600; }
.ca-wrap .ca-chips button:focus-visible { outline: 2px solid #1e40af; outline-offset: 2px; }

/* a line shown in a table cell on a phone only (the records' period) */
.ca-wrap .mf-tbl .ca-sm { display: none; }

/* the development baseline and migration signals lists inside a card */
.ca-wrap .mf-card .dev-foot { font-family: 'Inter', sans-serif; font-size: 12px; letter-spacing: 0; }

@media (max-width: 768px) {
  .ca-wrap .ca-pick { padding: 16px 14px; }
  .ca-wrap .ca-tabs { padding: 0 4px; margin-bottom: 18px; }
  .ca-wrap .ca-tab { padding: 13px 10px 10px; font-size: 13.5px; }
  /* the fade on the side with more tabs is a white overlay held at the
     strip's edges (sticky inside the scroller), so the bar itself stays
     opaque and nothing scrolling beneath it shows through */
  .ca-wrap .ca-tabs::before, .ca-wrap .ca-tabs::after { content: ''; position: sticky; flex: 0 0 32px; z-index: 1; pointer-events: none; opacity: 0; }
  .ca-wrap .ca-tabs::before { left: 0; margin-right: -32px; background: linear-gradient(to right, #fff 20%, rgba(255, 255, 255, 0)); }
  .ca-wrap .ca-tabs::after { right: 0; margin-left: -32px; background: linear-gradient(to left, #fff 20%, rgba(255, 255, 255, 0)); }
  .ca-wrap .ca-tabs.is-l::before, .ca-wrap .ca-tabs.is-r::after { opacity: 1; }
  .ca-wrap .ca-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ca-wrap .ca-stats .mf-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ca-wrap .mf-tbl .ca-sm { display: block; }

}
@media (max-width: 480px) {
  .ca-wrap .ca-stats .mf-stat b.is-text { font-size: 15px; }
  .ca-wrap .ca-filters label { width: 100%; }
  .ca-wrap .ca-filters select { flex: 1 1 auto; }
}

/* Snapshot, Food Security and Risk Trends (18 Oct 2026) */
.ca-wrap .prism-sum .mf-skel { display: block; }
.ca-wrap .mf-lede[hidden], .ca-wrap .mf-grapher[hidden], .ca-wrap .ca-none[hidden], .ca-wrap .mf-seg[hidden], .ca-wrap .ca-filters[hidden] { display: none; }
.ca-wrap .ca-none { margin: 0 0 22px; }
/* INFORM's dimensions: each dimension above its components */
.ca-wrap .fp-rank > .pg-pleg { margin: 0 0 10px; }
.ca-wrap .fp-rank .pg-cbar.ca-dim-p .pg-cbar-n { font-weight: 600; color: #0B1B33; }
.ca-wrap .fp-rank .pg-cbar.ca-dim-p:not(:first-child) { margin-top: 6px; padding-top: 9px; border-top: 1px solid rgba(11, 27, 51, 0.08); }
.ca-wrap .fp-rank .pg-cbar.ca-dim-c .pg-cbar-n { color: #4A5972; }
/* tables with a row per category */
.ca-wrap .mf-tbl tr.ca-grp th { background: #F4F6F8; font: 600 11px/1.3 'Inter', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; color: #4A5972; }
.ca-wrap .mf-tbl tbody th[scope="row"] { font-weight: 500; color: #0B1B33; }
/* the segmented control beside a card heading */
.ca-wrap .mf-card-h .mf-seg { margin: 0 0 8px; flex-wrap: wrap; }
@media (max-width: 480px) {
  .ca-wrap .mf-card-h .mf-seg { width: 100%; }
  .ca-wrap .mf-card-h .mf-seg button { flex: 1 1 0; }
}

/* Funding and Conflict & Protection (18 Oct 2026) */
/* the year control above the donors, CERF and plans cards: .fp-years
   carries display:flex, which outranks the hidden attribute */
.ca-wrap .fp-years[hidden], .ca-wrap .ca-group > .mf-sec[hidden] { display: none; }
.ca-wrap .ca-group > .fp-years { margin: 0 0 16px; }
/* two columns inside a card (aid worker security), one on a phone */
.ca-wrap .ca-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.ca-wrap .ca-split > * { min-width: 0; }
/* the provenance of a protection entry */
.ca-wrap .ca-tag { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 4px; vertical-align: 1px; background: #F4F6F8; color: #4A5972;
  font: 600 9.5px/1.4 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.06em; }
.ca-wrap .ca-tag.is-prism { background: #E6ECF7; color: #1e40af; }
.ca-wrap .mf-tbl td.ca-desc { min-width: 260px; max-width: 520px; overflow-wrap: anywhere; line-height: 1.5; }
.ca-wrap .mf-tbl .ca-desc-sm { line-height: 1.5; }
.ca-wrap .ca-tools { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.ca-wrap a.mf-csv { display: inline-flex; align-items: center; text-decoration: none; }
.ca-wrap #protectionRisks[aria-busy="true"] { opacity: 0.5; transition: opacity 0.15s; }
/* the coverage bar in the response plans table */
.ca-wrap .mf-tbl .mf-bar { justify-content: flex-end; }
@media (max-width: 768px) {
  .ca-wrap .ca-split { grid-template-columns: minmax(0, 1fr); }
  .ca-wrap .mf-card-h .mf-seg { width: 100%; }
  .ca-wrap .mf-card-h .mf-seg button { flex: 1 1 0; }
}
@media (max-width: 480px) {
  .ca-wrap .mf-ttools .ca-tools { width: 100%; }
  .ca-wrap .mf-ttools .ca-tools .mf-csv { flex: 1 1 auto; justify-content: center; }
}
/* ranked bars with long names (ACAPS's indicators, protection risks,
   donors): a wider name column, left-aligned; on a phone the name sits
   above its bar */
.ca-wrap .ca-wide .pg-cbar { grid-template-columns: minmax(150px, 40%) minmax(0, 1fr) auto; }
.ca-wrap .ca-wide .pg-cbar-n { text-align: left; }
@media (max-width: 480px) {
  .ca-wrap .ca-wide .pg-cbar { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; padding: 5px 0; }
  .ca-wrap .ca-wide .pg-cbar-n { grid-column: 1 / -1; }
}
.ca-wrap .mf-tbl td.ca-risk { min-width: 180px; max-width: 280px; }
@media (max-width: 768px) { .ca-wrap .mf-tbl td.ca-risk { max-width: none; } }

/* Climate, Updates and Insights (18 Oct 2026); the page's own rules that
   lived in the template's style block until then */
.ca-pane[hidden] { display: none; }

/* the development baseline and migration signals lists: one row per
   indicator or signal, with its year and a sparkline */
.dev-list { display: grid; gap: 0; }
.dev-row { display: grid; grid-template-columns: minmax(0, 1.4fr) auto 96px; align-items: center; gap: 14px; padding: 10px 0; border-top: 1px solid rgba(11, 27, 51, 0.14); }
.dev-row:first-child { border-top: none; }
.dev-name { font-size: 13px; color: #0B1B33; font-weight: 600; min-width: 0; }
.dev-name small { display: block; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: 0.05em; color: #6B7A93; margin-top: 2px; text-transform: uppercase; }
.dev-val { font-family: 'Source Serif 4', Georgia, serif; font-size: 20px; font-weight: 600; color: #0B1B33; text-align: right; white-space: nowrap; }
.dev-val small { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10.5px; font-weight: 400; color: #6B7A93; margin-left: 6px; }
.dev-val .rev { display: inline-block; margin-left: 6px; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 9.5px; color: #6B7A93; border: 1px solid rgba(11, 27, 51, 0.14); border-radius: 4px; padding: 1px 5px; vertical-align: middle; }
.dev-risk { display: inline-block; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 9.5px; font-weight: 700; letter-spacing: 0.04em; color: #1e40af; background: rgba(30, 64, 175, 0.08); border-radius: 3px; padding: 0 4px; text-transform: none; }
.dev-spark { width: 96px; height: 28px; display: block; }
.dev-spark polyline { fill: none; stroke: #1e40af; stroke-width: 1.6; stroke-linejoin: round; }
.dev-spark circle { fill: #1e40af; }
.dev-foot { font-size: 12px; color: #6B7A93; margin-top: 12px; }
.dev-foot a, .msig-head a { color: #1e40af; }
.msig-list { display: grid; gap: 0; }
.msig-row { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; padding: 11px 0; border-top: 1px solid rgba(11, 27, 51, 0.14); }
.msig-row:first-child { border-top: none; }
.msig-date { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; color: #6B7A93; padding-top: 2px; }
.msig-head { font-size: 14px; font-weight: 600; color: #0B1B33; line-height: 1.4; }
.msig-head a { color: inherit; text-decoration: none; border-bottom: 1px solid #93c5fd; }
.msig-tags { margin-top: 5px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.msig-code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; font-weight: 700; color: #1e40af; background: #eff6ff; padding: 2px 6px; border-radius: 4px; }
.msig-stage { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 9.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 2px 6px; border-radius: 4px; background: #f1f5f9; color: #475569; }
.msig-stage.proposed { background: #fef3c7; color: #92400e; } .msig-stage.adopted { background: #dbeafe; color: #1e40af; }
.msig-stage.implemented { background: #dcfce7; color: #15803d; } .msig-stage.ruled { background: #ede9fe; color: #6d28d9; }
.msig-stage.incident { background: #fee2e2; color: #b91c1c; }
.msig-meta { font-size: 11.5px; color: #4A5972; }
@media (max-width: 640px) { .dev-row { grid-template-columns: minmax(0, 1fr) auto; } .dev-spark { display: none; } }

/* Climate: the ENSO tendencies, the in-play tag, ASAP's comment */
.ca-wrap .ca-tends { display: grid; gap: 8px; margin: 0 0 6px; }
.ca-wrap .ca-tend { padding: 10px 12px; border: 1px solid rgba(11, 27, 51, 0.14); border-left: 3px solid #A7B1BF; border-radius: 6px; background: #fff; }
.ca-wrap .ca-tend.is-play { border-left-color: #1e40af; background: #F8FAFC; }
.ca-wrap .ca-tend-h { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 10px; margin: 0; font-size: 13.5px; color: #0B1B33; }
.ca-wrap .ca-tend-n { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: #24385C; }
.ca-wrap .ca-tag.is-play { background: #1e40af; color: #fff; }
.ca-wrap .ca-quote { margin: 14px 0 0; padding: 10px 12px; border-left: 3px solid rgba(11, 27, 51, 0.14); background: #F4F6F8; border-radius: 0 6px 6px 0; font-family: 'Source Serif 4', Georgia, serif; font-size: 14.5px; color: #14294A; }
.ca-wrap .ca-quote b { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; color: #4A5972; }
.ca-wrap .ca-quote[hidden] { display: none; }
.ca-wrap .ca-table { margin-top: 14px; }
.ca-wrap .fp-rank > .pg-pleg { flex-wrap: wrap; }

/* Updates: the year buttons and the ReliefWeb list */
.ca-wrap .ca-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ca-wrap .ca-pills:empty { display: none; }
.ca-wrap .cu-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 10px; border: 1px solid rgba(11, 27, 51, 0.14); border-radius: 6px; background: #fff;
  font: 500 13px/1.1 'Inter', sans-serif; color: #14294A; cursor: pointer; }
.ca-wrap .cu-pill:hover { border-color: #1e40af; color: #1e40af; }
.ca-wrap .cu-pill[aria-pressed="true"] { background: #E6ECF7; border-color: #1e40af; color: #1e40af; font-weight: 600; }
.ca-wrap .cu-pill:focus-visible { outline: 2px solid #1e40af; outline-offset: 2px; }
.ca-wrap .cu-pill-count { font: 500 11px/1 'JetBrains Mono', ui-monospace, monospace; color: #6B7A93; }
.ca-wrap .cu-list { border: 1px solid rgba(11, 27, 51, 0.08); border-radius: 6px; overflow: hidden; background: #fff; }
.ca-wrap .cu-month { margin: 0; padding: 8px 12px 6px; background: #F4F6F8; border-bottom: 1px solid rgba(11, 27, 51, 0.08);
  font: 500 10.5px/1.2 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.12em; text-transform: uppercase; color: #4A5972; }
.ca-wrap .cu-row { border-bottom: 1px solid rgba(11, 27, 51, 0.08); }
.ca-wrap .cu-row:last-child { border-bottom: none; }
.ca-wrap .cu-row-top { display: flex; align-items: stretch; }
.ca-wrap .cu-row-head { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 52px 20px minmax(0, 1fr) auto 12px; align-items: center; gap: 10px;
  padding: 9px 10px; border: 0; background: none; text-align: left; font: 400 13.5px/1.35 'Inter', sans-serif; color: #14294A; }
.ca-wrap button.cu-row-head { cursor: pointer; }
.ca-wrap button.cu-row-head:hover { background: #F8FAFC; }
.ca-wrap button.cu-row-head:focus-visible { outline: 2px solid #1e40af; outline-offset: -2px; }
.ca-wrap .cu-row-date { font: 500 11px/1.2 'JetBrains Mono', ui-monospace, monospace; color: #4A5972; white-space: nowrap; overflow: hidden; }
.ca-wrap .cu-row-fmt { display: inline-flex; color: #1e40af; }
.ca-wrap .cu-row-fmt .mf-ico { width: 18px; height: 18px; }
.ca-wrap .cu-row-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; color: #0B1B33; }
.ca-wrap .cu-row--open .cu-row-title { white-space: normal; font-weight: 600; }
.ca-wrap .cu-row-src { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: #4A5972; }
.ca-wrap .cu-row-chev { width: 7px; height: 7px; border-right: 1.5px solid #6B7A93; border-bottom: 1.5px solid #6B7A93; transform: rotate(45deg) translateY(-2px); transition: transform 0.15s; }
.ca-wrap .cu-row--open .cu-row-chev { transform: rotate(-135deg) translateY(-2px); border-color: #1e40af; }
.ca-wrap .cu-row-ext { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; color: #6B7A93; border-left: 1px solid rgba(11, 27, 51, 0.08); }
.ca-wrap .cu-row-ext:hover, .ca-wrap .cu-row-ext:focus-visible { color: #1e40af; background: #F8FAFC; }
.ca-wrap .cu-row-ext .mf-ico { width: 16px; height: 16px; }
.ca-wrap .cu-row-detail { display: none; padding: 0 12px 12px 92px; }
.ca-wrap .cu-row--open .cu-row-detail { display: block; }
.ca-wrap .cu-row-body { margin: 2px 0 0; font-size: 13px; line-height: 1.6; color: #24385C; }
.ca-wrap .cu-row-themes { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 5px; }
.ca-wrap .cu-theme { font-size: 11px; padding: 2px 7px; border-radius: 4px; background: #F4F6F8; color: #4A5972; }
.ca-wrap .cu-row-fmt-label { margin: 8px 0 0; font-size: 12px; color: #4A5972; }
.ca-wrap .cu-row-fmt-label a { color: #1e40af; }
.ca-wrap .cu-pager { flex-wrap: wrap; justify-content: flex-start; }
.ca-wrap .cu-pages { display: inline-flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ca-wrap .cu-pager button[aria-current="page"] { background: #1e40af; border-color: #1e40af; color: #fff; cursor: default; }
.ca-wrap .cu-pager-ellipsis { color: #6B7A93; padding: 0 2px; }
.ca-wrap .cu-pager-info { margin-left: auto; }

/* the situation summary above the list */
.ca-wrap .cs-loading { margin: 0 0 14px; }
.ca-wrap .cs-article { margin: 0 0 16px; padding: 16px 18px 14px; border: 1px solid rgba(11, 27, 51, 0.14); border-left: 3px solid #1e40af; border-radius: 6px; background: #fff; }
.ca-wrap .cs-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(11, 27, 51, 0.08); }
.ca-wrap .cs-kicker { margin: 0; font: 500 11px/1.4 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.14em; text-transform: uppercase; color: #1e40af; }
.ca-wrap .cs-kicker-sep { color: #A7B1BF; margin: 0 4px; }
.ca-wrap .cs-kicker-status { color: #4A5972; }
.ca-wrap .cs-collapse { min-height: 36px; padding: 6px 10px; border: 1px solid rgba(11, 27, 51, 0.14); border-radius: 6px; background: #fff; font: 500 12.5px/1 'Inter', sans-serif; color: #14294A; cursor: pointer; }
.ca-wrap .cs-collapse:hover { border-color: #1e40af; color: #1e40af; }
.ca-wrap .cs-body { font-family: 'Source Serif 4', Georgia, serif; font-size: 16.5px; line-height: 1.65; color: #14294A; }
.ca-wrap .cs-body p { margin: 0 0 12px; }
.ca-wrap .cs-body p:last-child { margin-bottom: 0; }
.ca-wrap .cs-body.cs-body--collapsed { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ca-wrap .cs-cite { font: 500 0.78em 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.06em; color: #6B7A93; white-space: nowrap; }
.ca-wrap .cs-cite::before { content: '['; } .ca-wrap .cs-cite::after { content: ']'; }
.ca-wrap .cs-byline { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(11, 27, 51, 0.08); font-size: 12.5px; line-height: 1.5; color: #4A5972; }
.ca-wrap .cs-byline strong { color: #14294A; font-weight: 600; }
.ca-wrap .cs-byline-caption { display: block; margin-top: 4px; font: 500 10.5px/1.3 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.1em; text-transform: uppercase; color: #6B7A93; }

/* Insights: one row per piece, its type a blue chip */
.ca-wrap .ca-ins { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.ca-wrap .ca-ins li { border-top: 1px solid rgba(11, 27, 51, 0.08); }
.ca-wrap .ca-ins li:first-child { border-top: none; }
.ca-wrap .ca-ins-a { display: flex; gap: 14px; padding: 12px 0; text-decoration: none; color: inherit; }
.ca-wrap .ca-ins-a:hover .ca-ins-t { color: #1e40af; text-decoration: underline; }
.ca-wrap .ca-ins-a:focus-visible { outline: 2px solid #1e40af; outline-offset: 2px; }
.ca-wrap .ca-ins-a img { width: 96px; height: 64px; object-fit: cover; border-radius: 6px; flex: none; background: #F4F6F8; }
.ca-wrap .ca-ins-b { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ca-wrap .ca-ins-m { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; color: #4A5972; }
.ca-wrap .ca-chip { display: inline-block; padding: 2px 7px; border-radius: 4px; background: #E6ECF7; color: #1e40af; font: 600 10.5px/1.4 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0.06em; text-transform: uppercase; }
.ca-wrap .ca-ins-t { font-family: 'Source Serif 4', Georgia, serif; font-size: 17px; line-height: 1.3; font-weight: 600; color: #0B1B33; }
.ca-wrap .ca-ins-s { font-size: 13.5px; line-height: 1.5; color: #24385C; }

@media (max-width: 768px) {
  .ca-wrap .cu-row-head { grid-template-columns: 48px 18px minmax(0, 1fr) 12px; gap: 8px; }
  .ca-wrap .cu-row-src { display: none; }
  .ca-wrap .cu-row-detail { padding-left: 12px; }
  .ca-wrap .cu-pager-info { margin-left: 0; width: 100%; }
  .ca-wrap .cs-body { font-size: 16px; }
}
@media (max-width: 480px) {
  .ca-wrap .cu-row-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .ca-wrap .ca-ins-a img { width: 72px; height: 48px; }
  .ca-wrap .ca-ins-t { font-size: 16px; }
}

/* the comparison list: a country without a PRISM profile is a plain entry */
.ca-wrap .pg-root .pg-row.ca-noprof { cursor: default; }
.ca-wrap .pg-root .pg-row.ca-noprof .pg-row-n { color: #64748b; }

/* print: the selected country's figures without the chrome */
@media print {
  body.mf-body { background: #fff; }
  .ca-wrap .ca-pick, .ca-wrap .ca-tabs, .ca-wrap .mf-actions, .ca-wrap #emptyState, .ca-wrap .mf-csv, .ca-wrap .mf-pager { display: none !important; }
  .ca-wrap .mf-card, .ca-wrap .mf-lede { break-inside: avoid; }
}

/* the area profile under the area map (static/js/country_areas.js): the
   selected area's three figures, each a bar against the country's highest
   and its rank (18 Oct 2026) */
.ca-wrap .ca-ap { margin: 0; padding: 14px 18px 16px; border-top: 1px solid rgba(11, 27, 51, 0.08); background: #F8FAFC; }
.ca-wrap .ca-ap[hidden] { display: none; }
.ca-wrap .ca-ap-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.ca-wrap .ca-ap-h b { font: 600 18px/1.25 'Source Serif 4', Georgia, serif; color: #0B1B33; }
.ca-wrap .ca-ap-x { border: 1px solid rgba(11, 27, 51, 0.14); background: #fff; border-radius: 6px; padding: 6px 10px; min-height: 34px; font: 500 12.5px/1 'Inter', sans-serif; color: #14294A; cursor: pointer; }
.ca-wrap .ca-ap-x:hover { border-color: #1e40af; color: #1e40af; }
.ca-wrap .ca-ap-r { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) minmax(0, 13rem); align-items: center; gap: 12px; padding: 6px 0; }
.ca-wrap .ca-ap-l { font-size: 13px; color: #4A5972; line-height: 1.3; }
.ca-wrap .ca-ap-t { position: relative; height: 10px; border-radius: 5px; background: #E6EAEF; overflow: hidden; }
.ca-wrap .ca-ap-t span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 5px; }
.ca-wrap .ca-ap-v { font: 600 13.5px/1.3 'Inter', sans-serif; color: #0B1B33; font-variant-numeric: tabular-nums; text-align: right; }
.ca-wrap .ca-ap-v small { display: block; font-weight: 500; font-size: 11.5px; color: #64748b; }
@media (max-width: 640px) {
  .ca-wrap .ca-ap { padding: 12px 14px 14px; }
  .ca-wrap .ca-ap-r { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'l v' 't t'; row-gap: 6px; }
  .ca-wrap .ca-ap-l { grid-area: l; }
  .ca-wrap .ca-ap-v { grid-area: v; }
  .ca-wrap .ca-ap-t { grid-area: t; }
}
