/* Country and region hubs (pages/market.php). Tables, cards and sources reuse .pd-* and .rd-next-* from theme.css. */
.hub-cols { margin-top: 20px; }
.hub-who { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.hub-who a { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 16px 18px; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius-lg); color: var(--text); transition: border-color .15s; }
.hub-who a:hover, .hub-who a:focus-visible { border-color: var(--teal); color: var(--text); }
.hub-who a:focus-visible, .hub-cat summary:focus-visible, .hub-table a:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.hub-who strong { font-size: 1.6rem; font-weight: 300; color: var(--teal); line-height: 1.1; font-variant-numeric: tabular-nums; }
.hub-who-unit { font-size: .78rem; color: var(--text-muted); }
.hub-who-name { font-size: .84rem; color: var(--text); margin-top: 4px; }
.hub-who-world { font-size: .76rem; color: var(--text-muted); margin-top: auto; padding-top: 6px; }
.hub-who-table { min-width: 640px; }
.hub-who-table th[scope="row"] { min-width: 200px; }
.hub-who-table th small, .hub-who-table td small { color: var(--text-muted); font-size: .72rem; }
.hub-who-table td small { display: block; }
.hub-cat { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 4px 18px; margin-bottom: 10px; }
.hub-cat summary { cursor: pointer; padding: 12px 0; display: flex; align-items: baseline; gap: 10px; list-style: none; }
.hub-cat summary::-webkit-details-marker { display: none; }
.hub-cat summary::after { content: '\f078'; font-family: 'Font Awesome 6 Free'; font-weight: 900; margin-left: auto; font-size: .78rem; color: var(--teal); transition: transform .2s ease; }
.hub-cat[open] summary::after { transform: rotate(180deg); }
.hub-cat summary strong { font-weight: 600; color: var(--navy); }
.hub-cat summary span { font-size: .8rem; color: var(--text-muted); }
.hub-cat[open] { padding-bottom: 12px; }
.hub-table { min-width: 560px; }
.hub-table th[scope="row"] a { color: var(--text); }
.hub-table th[scope="row"] a:hover { color: var(--teal); }
.hub-table td { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .hub-cat summary::after, .hub-who a { transition: none; } }
html[data-theme="dark"] .hub-who a, html[data-theme="dark"] .hub-cat { background: #0F1A2B; }
html[data-theme="dark"] .hub-cat summary strong { color: var(--text); }
/* Market statistics: quick answers */
.hub-cat > p { margin: 0 0 12px; color: var(--text-muted); line-height: 1.6; font-size: .92rem; }
.hub-table td a { color: var(--teal); font-weight: 600; white-space: nowrap; }
.hub-table td a i { margin-left: 4px; font-size: .74rem; }
.growth-name .flag, .hub-table .flag { margin-right: 6px; vertical-align: -2px; }
/* Top-10 lists */
.top-table .top-rank { width: 36px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.top-grid td { text-align: left; }
.top-grid .muted { color: var(--text-muted); }
.cat-list .hub-top-link { display: inline-block; margin-top: 4px; font-size: .78rem; font-weight: 600; color: var(--teal); }
/* Compare pages */
.cmp-verdict { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: var(--radius-lg); padding: 18px 22px; margin-bottom: 22px; }
.cmp-verdict p { margin: 0 0 6px; line-height: 1.6; color: var(--text); }
.cmp-verdict p:last-child { margin-bottom: 0; }
.cmp-table { min-width: 520px; background: #fff; }
.cmp-table th, .cmp-table td { padding: 10px 12px; }
.cmp-table thead th { font-size: .9rem; color: var(--navy); font-weight: 600; }
.cmp-table th[scope="row"] small, .cmp-table td small { color: var(--text-muted); font-size: .74rem; }
.cmp-table td { font-variant-numeric: tabular-nums; }
.cmp-table td.cmp-win { color: var(--teal); font-weight: 700; }
.cmp-table td a { color: var(--teal); font-weight: 600; }
.cmp-years { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 6px; height: 200px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.cmp-year { display: flex; flex-direction: column-reverse; gap: 6px; min-width: 0; }
.cmp-y { font-size: .68rem; color: var(--text-muted); text-align: center; }
.cmp-bars { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 3px; }
.cmp-bars i { display: block; width: 40%; max-width: 18px; border-radius: 4px 4px 1px 1px; min-height: 2px; }
.cmp-a { background: var(--teal); }
.cmp-b { background: #E5AF3F; }
.cmp-legend { font-size: .8rem; color: var(--text-muted); margin: 8px 0 0; }
.cmp-key { display: inline-block; width: 10px; height: 10px; border-radius: 3px; vertical-align: -1px; margin: 0 4px 0 10px; }
.cmp-key:first-child { margin-left: 0; }
html[data-theme="dark"] .cmp-verdict, html[data-theme="dark"] .cmp-table, html[data-theme="dark"] .cmp-years { background: #0F1A2B; }
html[data-theme="dark"] .cmp-table thead th { color: var(--text); }
