/* The homepage keeps its original two-column hero. Only the filter bar sits under the map. */
.europe-map-toolbar {
  container-type:inline-size;
  box-sizing:border-box;width:100%;min-width:0;
  border:1px solid #35506d;border-radius:10px;background:#102644;color:#e0e9f5;
  scroll-margin-top:12px;
}
.europe-map-toolbar #layers {
  display:flex;flex-wrap:wrap;gap:5px;padding:7px;
}
.europe-map-toolbar .country-layer {
  box-sizing:border-box;flex:1 1 calc((100% - 10px) / 3);
  display:grid;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;align-content:center;
  justify-content:stretch;gap:2px 5px;min-width:0;min-height:44px;padding:5px 7px;
  border:1px solid #456184;border-radius:7px;background:#142c4d;color:#e0e9f5;text-align:start;
  font:550 13px/1.25 'Noto Sans',system-ui,sans-serif;cursor:pointer;
}
.europe-map-toolbar .country-layer>span { min-width:0;overflow-wrap:anywhere; }
.europe-map-toolbar .country-layer svg { width:15px;height:15px;stroke:var(--layer-colour); }
.europe-map-toolbar .country-layer:hover { background:#1e385a;border-color:var(--layer-colour); }
.europe-map-toolbar .country-layer[aria-pressed=true] {
  color:#fff;font-weight:700;border-color:var(--layer-colour);
  background:color-mix(in srgb,var(--layer-colour) 17%,#102644);box-shadow:inset 0 -2px var(--layer-colour);
}
.europe-map-toolbar .category-total {
  grid-column:3;align-self:start;background:#0c2038;color:#eaf1f8;padding:1px 5px;border-radius:4px;
  text-align:center;font:650 11px/1.4 'Noto Sans',sans-serif;font-variant-numeric:tabular-nums;
}
.europe-map-toolbar .filter-coverage {
  grid-column:1/-1;min-width:0;color:#c3d3e6;font:500 11px/1.4 'Noto Sans',sans-serif;
  display:flex;flex-wrap:wrap;align-content:start;column-gap:.35em;
  /* Keep countries visible. The complete city count fits on this line or wraps out of view. */
  max-block-size:1lh;overflow:hidden;font-variant-numeric:tabular-nums;
}
.europe-map-toolbar .filter-coverage>span { flex:none;white-space:nowrap; }
.europe-map-toolbar #treatment-control {
  display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:7px 8px 8px;border-top:1px solid #314961;
}
.europe-map-toolbar .choice-label { font:600 12px/1.4 'Noto Sans',sans-serif;color:#dae6f1; }
.europe-map-toolbar .choice-list { display:flex;flex:1 1 205px;flex-wrap:wrap;gap:4px;min-width:0; }
.europe-map-toolbar .choice-list button {
  padding:4px 7px;min-height:30px;max-width:100%;overflow-wrap:anywhere;
  border:1px solid #35506d;border-radius:6px;background:transparent;color:#d9e5ef;cursor:pointer;
  font:500 12px/1.3 'Noto Sans',sans-serif;text-align:start;
}
.europe-map-toolbar .choice-list button[aria-pressed=true] { color:#c6f9ec;background:#204547;border-color:#77b5a7;font-weight:700; }
.europe-map-toolbar .choice-list button:hover { border-color:#85baad; }
.europe-map-toolbar button:focus-visible { outline:2px solid #9beae5;outline-offset:2px; }
.eu-layer-info { margin:0;font:400 13px/1.4 'Noto Sans',system-ui,sans-serif;color:#bdcce1; }
@container (max-width: 460px) {
  .europe-map-toolbar .country-layer { flex-basis:calc((100% - 5px) / 2); }
}
