.travel-main { width: min(var(--width), calc(100% - 4rem)); margin-inline: auto; padding-block: 2rem; }
.travel-main:focus { outline: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.map-panel { position: relative; overflow: hidden; border: 1px solid #dfe5ec; border-radius: 6px; }
#travel-map { height: clamp(440px, calc(100dvh - 145px), 780px); background: #edf3f8; font: inherit; z-index: 0; }
.map-status { position: absolute; z-index: 500; left: 3.5rem; right: 1rem; top: 1rem; padding: .65rem .8rem; border: 1px solid #dfe5ec; border-radius: 4px; background: rgba(255,255,255,.97); color: var(--body); font-size: .875rem; }
.country-label { color: #556777; font-size: .75rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; text-shadow: 0 1px 2px #fff; pointer-events: none; }
.leaflet-container a { color: var(--accent); }
.leaflet-control-attribution { font-size: .75rem; }
@media (max-width: 760px) {
  .travel-main { width: calc(100% - 3rem); padding-block: 1.5rem; }
  #travel-map { height: max(440px, calc(100dvh - 150px)); }
}
@media (max-width: 420px) {
  .travel-main { width: calc(100% - 2rem); padding-block: 1rem; }
  #travel-map { height: max(400px, calc(100dvh - 165px)); }
  .map-status { left: 3rem; right: .65rem; }
}
@media print {
  .travel-main { width: 100%; padding: 0; }
  .leaflet-control-zoom { display: none; }
  #travel-map { height: 650px; }
}
