/* Local tourism composition; shared Trade components keep their existing owner. */
.public-site .tourism-local { padding-block: var(--space-3); }
.tourism-local__header { display: grid; gap: var(--space-1); }
.tourism-local__header :is(h1, p) { margin: 0; }
.public-site .tourism-local__header h1 { font-size: clamp(2rem, 4vw, 3rem); }
.tourism-local__notice { padding-block: var(--space-1); font-size: .8125rem; }
.tourism-local__nav.trade-scope-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tourism-local [hidden] { display: none !important; }
.tourism-local .trade-section { grid-template-columns: minmax(0,1fr); }
.tourism-local .trade-ranking-controls { grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
.tourism-local__compare { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .9rem; min-width: 0; max-width: 100%; }
.tourism-local__compare select { font: inherit; padding: .5rem; color: var(--color-text); background: var(--color-surface); border: 1px solid var(--color-border); min-width: 0; max-width: 100%; }
.tourism-local small { display: block; color: var(--color-text-muted); }
.tourism-local__legend-label { font-weight: inherit; }
.tourism-local__chart.editorial-chart { --trade-export: var(--color-primary); --trade-import: var(--color-accent); container-type: inline-size; margin: 0; padding: var(--space-2) 0; border: 0; background: transparent; color: var(--color-text-muted); }
.tourism-local__chart .trade-history-compact__years { font-size: .75rem; }
.tourism-local__chart .trade-history-compact__y { font-size: .75rem; }
@container (max-width: 28rem) {
  .tourism-local__chart .trade-history-compact__years { min-height: 2.5rem; }
  .tourism-local__chart .trade-history-compact__tick--alternate { padding-top: 1.25rem; }
}
.tourism-local .trade-table-scroll--fit td { white-space: normal; font-variant-numeric: tabular-nums; }
.tourism-local .trade-table-scroll--fit th { white-space: normal; }
.tourism-local .trade-table-scroll--fit table { font-size: .9rem; }
.tourism-local__show-all { justify-self: start; }
@media (min-width: 64rem) { .tourism-local .trade-kpi-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
.tourism-local__kpis--three .trade-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 40rem) { .tourism-local__kpis--three .trade-kpi-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 40rem) { .tourism-local .trade-ranking-controls { grid-template-columns: minmax(0,1fr); } .tourism-local .trade-table-scroll--fit table { font-size: .8125rem; } }

.tourism-local { display: grid; gap: var(--space-3); padding-bottom: var(--space-5); }
.tourism-local__filters label { display: grid; gap: .35rem; min-width: 0; }
.tourism-local__filters select { width: 100%; min-width: 0; font: inherit; padding: .6rem; border: 1px solid var(--color-border); border-radius: .4rem; background: var(--color-surface); color: var(--color-text); }
.tourism-local__filters button { align-self: end; }
.tourism-local__muted { color: var(--color-text-muted); }
.tourism-local__current { color: var(--color-primary); font-weight: 700; }
.tourism-local__prior { color: var(--color-accent); font-weight: 700; }
.tourism-local__chart-table summary { cursor: pointer; padding-block: .75rem; }
.tourism-local table caption { text-align: left; padding-block: .75rem; }
@media (min-width: 64rem) { .tourism-local .tourism-local__filters { grid-template-columns: minmax(0,2fr) minmax(0,1fr) auto auto; } }
@media (max-width: 18rem) { .tourism-local__chart { display: none; } }

.tourism-local > .trade-scope-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }

.tourism-local__composition { display: grid; gap: var(--space-1); }
.tourism-local__composition :is(h3, p) { margin: 0; }
.tourism-local__composition-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem 1.25rem; padding-block: var(--space-1); border-top: 1px solid var(--color-border); font-variant-numeric: tabular-nums; }
.tourism-local__composition-row > strong { flex-basis: 100%; }
.tourism-local__composition-row > small { flex-basis: 100%; }
/* Size columns to their words and figures; the existing region scrolls on very narrow screens. */
.tourism-local .tourism-local__province-detail { table-layout: auto; width: 100%; min-width: 0; }
.tourism-local__province-detail :is(th, td) { overflow-wrap: normal; word-break: normal; }
@media (max-width: 40rem) { .tourism-local .tourism-local__province-detail :is(th, td) { padding-inline: .35rem; } }
/* Selected nationality row (airport block): tint plus an inline-start marker, existing tokens only. */
.tourism-local tr[aria-current="true"] > * { background: var(--color-surface-soft); }
.tourism-local tr[aria-current="true"] > th { box-shadow: inset 3px 0 0 var(--color-primary); }
.tourism-local__rank { white-space: nowrap; }
.tourism-airport { display: grid; gap: var(--space-3); }
