/* Owner: nationalities. Base and state rules retain order; conditional blocks own responsiveness. */
.ap-nationalities { box-sizing: border-box; color: #04233a; background: #fff; font-family: inherit; border: 1px solid #b1bfca; border-radius: var(--ap-ui-radius,0px); padding: 16px; max-width: 100%; min-width: 0; }
.ap-nationalities * { box-sizing: border-box; }
.ap-nationalities h2 { font-size: var(--ap-ui-title-size); line-height: var(--ap-ui-title-line); margin: 0 0 12px; color: #04233a; overflow-wrap: anywhere; }
.ap-nationalities p { margin: 8px 0; line-height: 1.5; }
.ap-nationalities__meta,.ap-nationalities__note { color: #365568; font-size: .875rem; }
.ap-nationalities__list { list-style: none; margin: 12px 0; padding: 0; }
.ap-nationalities__country { padding: 14px 0; border-top: 1px solid #b1bfca; min-width: 0; }
.ap-nationalities__row { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ap-nationalities__code { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ap-nationalities__figures { text-align: right; flex-shrink: 0; line-height: 1.5; }
.ap-nationalities__figures span { display: block; font-size: .875rem; }
.ap-nationalities .ap-country-flag { width: 24px; height: 18px; object-fit: cover; vertical-align: middle; margin-right: 6px; }
.ap-nationalities__bar { height: 8px; background: #e8eef2; margin-top: 10px; border-radius: var(--ap-ui-radius,0px); overflow: hidden; }
.ap-nationalities__bar span { display: block; height: 100%; background: #04233a; }
.ap-nationalities [data-ap-nationality-other] .ap-nationalities__bar span { background: #365568; }
.ap-nationalities__details { border-top: 1px solid #b1bfca; padding-top: 12px; }
.ap-nationalities__details summary { cursor: pointer; font-weight: 700; }
.ap-nationalities__details a { color: #04233a; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ap-nationalities a:focus-visible,.ap-nationalities summary:focus-visible { outline: 3px solid #04233a; outline-offset: 4px; }
.ap-nationalities--compact .ap-nationalities__country { padding: 10px 0; }
@media(max-width:360px) {
  .ap-nationalities { padding: 12px; }
  .ap-nationalities__row { gap: 8px; }
  .ap-nationalities__figures { font-size: .875rem; }
  .ap-nationalities__code { font-size: .875rem; }
}

/* Compact country counts for ranking sidebars. */
.ap-nationalities--sidebar { container-type: inline-size; padding: 16px; border-color: #d0dce5; }
.ap-nationalities--sidebar h2 { margin: 0 0 18px; font-weight: 700; }
.ap-nationalities--sidebar .ap-nationalities__switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; min-inline-size: 0; margin: 0 0 8px; padding: 4px; border: 0; border-radius: 4px; background: #edf2f6; }
.ap-nationalities__switch label { position: relative; display: block; min-width: 0; margin: 0; padding: 0; cursor: pointer; }
.ap-nationalities__switch label>span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 4px; border-radius: 4px; font-size: 14px; font-weight: 700; line-height: 1.4; color: #405969; }
.ap-nationalities__switch input:checked+span { background: #f4c430; color: #04233a; }
.ap-nationalities__switch input:disabled+span { color: #526572; cursor: default; text-decoration: line-through; }
.ap-nationalities__switch :is(input,label,span) { outline: 0; box-shadow: none; }
.ap-nationalities__switch:not([data-input=pointer]) input:focus-visible+span { outline: 3px solid #245c82; outline-offset: 2px; }
.ap-nationalities__sr,.ap-nationalities__switch input[type=radio] { position: absolute; width: 1px; min-width: 0; height: 1px; min-height: 0; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ap-nationalities--sidebar .ap-nationalities__list { padding: 0; margin: 0; list-style: none; }
.ap-nationalities--sidebar .ap-nationalities__country { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #d0dce5; list-style: none; background: transparent; }
.ap-nationalities--sidebar .ap-nationalities__country::before,.ap-nationalities--sidebar .ap-nationalities__country::marker { content: none; }
.ap-nationalities--sidebar .ap-nationalities__country:last-child { border-bottom: 0; }
.ap-nationalities--sidebar .ap-nationalities__code { font-size: 15px; font-weight: 600; line-height: 1.4; }
.ap-nationalities--sidebar .ap-ranking-country { display: flex; align-items: center; gap: 8px; }
.ap-nationalities--sidebar .ap-country-flag { flex: none; margin: 0; object-fit: contain; }
.ap-nationalities--sidebar .ap-nationalities__figures { white-space: nowrap; line-height: 1.4; font-variant-numeric: tabular-nums; }
.ap-nationalities--sidebar .ap-nationalities__figures strong { font-size: 20px; font-weight: 700; }
.ap-nationalities--sidebar .ap-nationalities__figures small { font-size: 12px; color: #526572; }
.ap-nationalities--sidebar .ap-nationalities__category { margin: 16px 0 4px; font-size: 16px; }
.ap-nationalities--sidebar [hidden] { display: none!important; }
