.interactive-map {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 18px;
  border: 1px solid var(--line, #d8e4e0);
  background: #e6ede8;
}
.interactive-map-height-360 .interactive-map-canvas { height: 360px; }
.interactive-map-height-460 .interactive-map-canvas { height: 460px; }
.interactive-map-height-560 .interactive-map-canvas { height: 560px; }
.interactive-map-canvas { width: 100%; max-width: 100%; z-index: 0; }
/* Mapa musí vyplnit celý vyhrazený prostor i při změně šířky stránky. */
.interactive-map .leaflet-container { width: 100%; background: #e6ede8; }
.interactive-map .leaflet-tile { max-width: none !important; max-height: none !important; }
.interactive-map-status {
  position: absolute;
  z-index: 500;
  inset: auto 16px 45px 16px;
  max-width: 440px;
  margin: 0 auto;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .94);
  color: #20423d;
  font-size: .9rem;
  text-align: center;
  box-shadow: 0 4px 24px rgba(12, 41, 35, .09);
}
.interactive-map-status[hidden] { display: none !important; }
.interactive-map .leaflet-control-attribution {
  margin: 0 7px 7px 0 !important;
  padding: 3px 7px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .91);
  font-size: 10px;
}
.interactive-map .leaflet-control-attribution a { color: #1b5149; }
.interactive-map .leaflet-control-zoom a { color: #19483e; }
.interactive-map-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}
.interactive-map-place { display: grid; gap: 3px; min-width: 170px; }
.interactive-map-place strong { color: var(--ink, #173e39); font-size: 1.05rem; }
.interactive-map-place span { color: var(--muted, #67736f); font-size: .94rem; }
.interactive-map-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.interactive-map-actions .button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; text-align: center; }
.interactive-map-button-outline { color: #184740; background: #fff; border: 1px solid #bdcec7; }
.interactive-map-button-outline:hover { background: #eaf3ee; color: #184740; }
@media (max-width: 640px) {
  .interactive-map { border-radius: 13px; }
  .interactive-map-height-360 .interactive-map-canvas { height: 320px; }
  .interactive-map-height-460 .interactive-map-canvas { height: 380px; }
  .interactive-map-height-560 .interactive-map-canvas { height: 460px; }
  .interactive-map-foot { align-items: stretch; flex-direction: column; gap: 14px; }
  .interactive-map-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .interactive-map-actions .button { width: 100%; }
}
